Message ID | 20231009100618.2911374-1-amcohen@nvidia.com |
---|---|
Headers | show |
Series | Extend VXLAN driver to support FDB flushing | expand |
On 10/9/23 13:06, Amit Cohen wrote: > The merge commit 92716869375b ("Merge branch 'br-flush-filtering'") added > support for FDB flushing in bridge driver. Extend VXLAN driver to support > FDB flushing also. Add support for filtering by fields which are relevant > for VXLAN FDBs: > * Source VNI > * Nexthop ID > * 'router' flag > * Destination VNI > * Destination Port > * Destination IP > > Without this set, flush for VXLAN device fails: > $ bridge fdb flush dev vx10 > RTNETLINK answers: Operation not supported > > With this set, such flush works with the relevant arguments, for example: > $ bridge fdb flush dev vx10 vni 5000 dst 193.2.2.1 > < flush all vx10 entries with VNI 5000 and destination IP 193.2.2.1> > > Some preparations are required, handle them before adding flushing support > in VXLAN driver. See more details in commit messages. > > Patch set overview: > Patch #1 prepares flush policy to be used by VXLAN driver > Patches #2-#3 are preparations in VXLAN driver > Patch #4 adds an initial support for flushing in VXLAN driver > Patches #5-#9 add support for filtering by several attributes > Patch #10 adds a test for FDB flush with VXLAN > Patch #11 extends the test to check FDB flush with bridge > > Amit Cohen (11): > net: Handle bulk delete policy in bridge driver > vxlan: vxlan_core: Make vxlan_flush() more generic for future use > vxlan: vxlan_core: Do not skip default entry in vxlan_flush() by > default > vxlan: vxlan_core: Add support for FDB flush > vxlan: vxlan_core: Support FDB flushing by source VNI > vxlan: vxlan_core: Support FDB flushing by nexthop ID > vxlan: vxlan_core: Support FDB flushing by destination VNI > vxlan: vxlan_core: Support FDB flushing by destination port > vxlan: vxlan_core: Support FDB flushing by destination IP > selftests: Add test cases for FDB flush with VXLAN device > selftests: fdb_flush: Add test cases for FDB flush with bridge device > > drivers/net/vxlan/vxlan_core.c | 207 +++++- > include/linux/netdevice.h | 8 +- > net/bridge/br_fdb.c | 29 +- > net/bridge/br_private.h | 3 +- > net/core/rtnetlink.c | 27 +- > tools/testing/selftests/net/Makefile | 1 + > tools/testing/selftests/net/fdb_flush.sh | 812 +++++++++++++++++++++++ > 7 files changed, 1049 insertions(+), 38 deletions(-) > create mode 100755 tools/testing/selftests/net/fdb_flush.sh > Nice use of the flush api. :) The set looks good to me. For the set: Acked-by: Nikolay Aleksandrov <razor@blackwall.org>