All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ido Schimmel <idosch@nvidia.com>
To: <netdev@vger.kernel.org>, <bridge@lists.linux-foundation.org>
Cc: <davem@davemloft.net>, <kuba@kernel.org>, <pabeni@redhat.com>,
	<edumazet@google.com>, <roopa@nvidia.com>, <razor@blackwall.org>,
	<petrm@nvidia.com>, Ido Schimmel <idosch@nvidia.com>
Subject: [PATCH net-next 0/9] Add MDB bulk deletion support
Date: Sun, 17 Dec 2023 10:32:35 +0200	[thread overview]
Message-ID: <20231217083244.4076193-1-idosch@nvidia.com> (raw)

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


             reply	other threads:[~2023-12-17  8:33 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-17  8:32 Ido Schimmel [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231217083244.4076193-1-idosch@nvidia.com \
    --to=idosch@nvidia.com \
    --cc=bridge@lists.linux-foundation.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=petrm@nvidia.com \
    --cc=razor@blackwall.org \
    --cc=roopa@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.