mbox series

[net-next,v2,0/9] bridge: mcast: Preparations for EVPN extensions

Message ID 20221206105809.363767-1-idosch@nvidia.com (mailing list archive)
Headers show
Series bridge: mcast: Preparations for EVPN extensions | expand

Message

Ido Schimmel Dec. 6, 2022, 10:58 a.m. UTC
This patchset was split from [1] and includes non-functional changes
aimed at making it easier to add additional netlink attributes later on.
Future extensions are available here [2].

The idea behind these patches is to create an MDB configuration
structure into which netlink messages are parsed into. The structure is
then passed in the entry creation / deletion call chain instead of
passing the netlink attributes themselves. The same pattern is used by
other rtnetlink objects such as routes and nexthops.

I initially tried to extend the current code, but it proved to be too
difficult, which is why I decided to refactor it to the extensible and
familiar pattern used by other rtnetlink objects.

Tested using existing selftests and using a new selftest that will be
submitted together with the planned extensions.

v2:
* Patch #1: Remove 'skb' argument from br_mdb_config_init().
* Patch #1: Mark 'nlh' argument as 'const'.
* Patch #4: Pass 'cfg' as 'const'.
* Patch #5: Pass 'cfg' as 'const'.
* Patch #9: New patch.

[1] https://lore.kernel.org/netdev/20221018120420.561846-1-idosch@nvidia.com/
[2] https://github.com/idosch/linux/commits/submit/mdb_v1

Ido Schimmel (9):
  bridge: mcast: Centralize netlink attribute parsing
  bridge: mcast: Remove redundant checks
  bridge: mcast: Use MDB configuration structure where possible
  bridge: mcast: Propagate MDB configuration structure further
  bridge: mcast: Use MDB group key from configuration structure
  bridge: mcast: Remove br_mdb_parse()
  bridge: mcast: Move checks out of critical section
  bridge: mcast: Remove redundant function arguments
  bridge: mcast: Constify 'group' argument in
    br_multicast_new_port_group()

 net/bridge/br_mdb.c       | 312 ++++++++++++++++++--------------------
 net/bridge/br_multicast.c |   2 +-
 net/bridge/br_private.h   |  10 +-
 3 files changed, 159 insertions(+), 165 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Dec. 8, 2022, 4:10 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by Jakub Kicinski <kuba@kernel.org>:

On Tue,  6 Dec 2022 12:58:00 +0200 you wrote:
> This patchset was split from [1] and includes non-functional changes
> aimed at making it easier to add additional netlink attributes later on.
> Future extensions are available here [2].
> 
> The idea behind these patches is to create an MDB configuration
> structure into which netlink messages are parsed into. The structure is
> then passed in the entry creation / deletion call chain instead of
> passing the netlink attributes themselves. The same pattern is used by
> other rtnetlink objects such as routes and nexthops.
> 
> [...]

Here is the summary with links:
  - [net-next,v2,1/9] bridge: mcast: Centralize netlink attribute parsing
    https://git.kernel.org/netdev/net-next/c/cb453926865e
  - [net-next,v2,2/9] bridge: mcast: Remove redundant checks
    https://git.kernel.org/netdev/net-next/c/386611681524
  - [net-next,v2,3/9] bridge: mcast: Use MDB configuration structure where possible
    https://git.kernel.org/netdev/net-next/c/f2b5aac68117
  - [net-next,v2,4/9] bridge: mcast: Propagate MDB configuration structure further
    https://git.kernel.org/netdev/net-next/c/8bd9c08e3241
  - [net-next,v2,5/9] bridge: mcast: Use MDB group key from configuration structure
    https://git.kernel.org/netdev/net-next/c/9f52a5142979
  - [net-next,v2,6/9] bridge: mcast: Remove br_mdb_parse()
    https://git.kernel.org/netdev/net-next/c/3ee5662345f2
  - [net-next,v2,7/9] bridge: mcast: Move checks out of critical section
    https://git.kernel.org/netdev/net-next/c/4c1ebc6c1f21
  - [net-next,v2,8/9] bridge: mcast: Remove redundant function arguments
    https://git.kernel.org/netdev/net-next/c/090149eaf391
  - [net-next,v2,9/9] bridge: mcast: Constify 'group' argument in br_multicast_new_port_group()
    https://git.kernel.org/netdev/net-next/c/f86c3e2c1b5e

You are awesome, thank you!