netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/9] Add MDB bulk deletion support
@ 2023-12-17  8:32 Ido Schimmel
  2023-12-17  8:32 ` [PATCH net-next 1/9] bridge: add MDB state mask uAPI attribute Ido Schimmel
                   ` (9 more replies)
  0 siblings, 10 replies; 23+ messages in thread
From: Ido Schimmel @ 2023-12-17  8:32 UTC (permalink / raw)
  To: netdev, bridge
  Cc: davem, kuba, pabeni, edumazet, roopa, razor, petrm, Ido Schimmel

This patchset adds MDB bulk deletion support, allowing user space to
request the deletion of matching entries instead of dumping the entire
MDB and issuing a separate deletion request for each matching entry.
Support is added in both the bridge and VXLAN drivers in a similar
fashion to the existing FDB bulk deletion support.

The parameters according to which bulk deletion can be performed are
similar to the FDB ones, namely: Destination port, VLAN ID, state (e.g.,
"permanent"), routing protocol, source / destination VNI, destination IP
and UDP port. Flushing based on flags (e.g., "offload", "fast_leave",
"added_by_star_ex", "blocked") is not currently supported, but can be
added in the future, if a use case arises.

Patch #1 adds a new uAPI attribute to allow specifying the state mask
according to which bulk deletion will be performed, if any.

Patch #2 adds a new policy according to which bulk deletion requests
(with 'NLM_F_BULK' flag set) will be parsed.

Patches #3-#4 add a new NDO for MDB bulk deletion and invoke it from the
rtnetlink code when a bulk deletion request is made.

Patches #5-#6 implement the MDB bulk deletion NDO in the bridge and
VXLAN drivers, respectively.

Patch #7 allows user space to issue MDB bulk deletion requests by no
longer rejecting the 'NLM_F_BULK' flag when it is set in 'RTM_DELMDB'
requests.

Patches #8-#9 add selftests for both drivers, for both good and bad
flows.

iproute2 changes can be found here [1].

https://github.com/idosch/iproute2/tree/submit/mdb_flush_v1

Ido Schimmel (9):
  bridge: add MDB state mask uAPI attribute
  rtnetlink: bridge: Use a different policy for MDB bulk delete
  net: Add MDB bulk deletion device operation
  rtnetlink: bridge: Invoke MDB bulk deletion when needed
  bridge: mdb: Add MDB bulk deletion support
  vxlan: mdb: Add MDB bulk deletion support
  rtnetlink: bridge: Enable MDB bulk deletion
  selftests: bridge_mdb: Add MDB bulk deletion test
  selftests: vxlan_mdb: Add MDB bulk deletion test

 drivers/net/vxlan/vxlan_core.c                |   1 +
 drivers/net/vxlan/vxlan_mdb.c                 | 174 ++++++++++++---
 drivers/net/vxlan/vxlan_private.h             |   2 +
 include/linux/netdevice.h                     |   6 +
 include/uapi/linux/if_bridge.h                |   1 +
 net/bridge/br_device.c                        |   1 +
 net/bridge/br_mdb.c                           | 133 ++++++++++++
 net/bridge/br_private.h                       |   8 +
 net/core/rtnetlink.c                          |  62 +++++-
 .../selftests/net/forwarding/bridge_mdb.sh    | 191 ++++++++++++++++-
 tools/testing/selftests/net/test_vxlan_mdb.sh | 201 +++++++++++++++++-
 11 files changed, 749 insertions(+), 31 deletions(-)

-- 
2.40.1


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2024-02-19 18:25 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-17  8:32 [PATCH net-next 0/9] Add MDB bulk deletion support Ido Schimmel
2023-12-17  8:32 ` [PATCH net-next 1/9] bridge: add MDB state mask uAPI attribute Ido Schimmel
2023-12-18 10:07   ` Nikolay Aleksandrov
2023-12-17  8:32 ` [PATCH net-next 2/9] rtnetlink: bridge: Use a different policy for MDB bulk delete Ido Schimmel
2023-12-18 10:08   ` Nikolay Aleksandrov
2023-12-17  8:32 ` [PATCH net-next 3/9] net: Add MDB bulk deletion device operation Ido Schimmel
2023-12-18 10:08   ` Nikolay Aleksandrov
2023-12-17  8:32 ` [PATCH net-next 4/9] rtnetlink: bridge: Invoke MDB bulk deletion when needed Ido Schimmel
2023-12-18 10:09   ` Nikolay Aleksandrov
2023-12-17  8:32 ` [PATCH net-next 5/9] bridge: mdb: Add MDB bulk deletion support Ido Schimmel
2023-12-18 10:11   ` Nikolay Aleksandrov
2023-12-17  8:32 ` [PATCH net-next 6/9] vxlan: " Ido Schimmel
2023-12-18 10:24   ` Nikolay Aleksandrov
2023-12-17  8:32 ` [PATCH net-next 7/9] rtnetlink: bridge: Enable MDB bulk deletion Ido Schimmel
2023-12-18 10:25   ` Nikolay Aleksandrov
2023-12-17  8:32 ` [PATCH net-next 8/9] selftests: bridge_mdb: Add MDB bulk deletion test Ido Schimmel
2023-12-18  8:22   ` Hangbin Liu
2023-12-18 10:25   ` Nikolay Aleksandrov
2023-12-17  8:32 ` [PATCH net-next 9/9] selftests: vxlan_mdb: " Ido Schimmel
2023-12-18 10:25   ` Nikolay Aleksandrov
2024-02-19  5:54   ` Yujie Liu
2024-02-19 18:25     ` Ido Schimmel
2023-12-20 11:30 ` [PATCH net-next 0/9] Add MDB bulk deletion support patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).