On 13/03/2023 16:53, Ido Schimmel wrote:
> Currently, the bridge driver registers handlers for MDB netlink
> messages, making it impossible for other drivers to implement MDB
> support.
>
> As a preparation for VXLAN MDB support, move the MDB handlers out of the
> bridge driver to the core rtnetlink code. The rtnetlink code will call
> into individual drivers by invoking their previously added MDB net
> device operations.
>
> Note that while the diffstat is large, the change is mechanical. It
> moves code out of the bridge driver to rtnetlink code. Also note that a
> similar change was made in 2012 with commit 77162022ab26 ("net: add
> generic PF_BRIDGE:RTM_ FDB hooks") that moved FDB handlers out of the
> bridge driver to the core rtnetlink code.
>
> Signed-off-by: Ido Schimmel <[email protected]>
> ---
>
> Notes:
> v1:
> * Use NL_ASSERT_DUMP_CTX_FITS().
> * memset the entire context when moving to the next device.
> * Reset sequence counters when moving to the next device.
> * Use NL_SET_ERR_MSG_ATTR() in rtnl_validate_mdb_entry().
>
> net/bridge/br_device.c | 6 +-
> net/bridge/br_mdb.c | 301 ++--------------------------------------
> net/bridge/br_netlink.c | 3 -
> net/bridge/br_private.h | 35 ++---
> net/core/rtnetlink.c | 217 +++++++++++++++++++++++++++++
> 5 files changed, 244 insertions(+), 318 deletions(-)
>
Reviewed-by: Nikolay Aleksandrov <[email protected]>