mbox series

[RFC,v2,net-next,00/17] RX filtering in DSA

Message ID 20210224114350.2791260-1-olteanv@gmail.com
Headers show
Series RX filtering in DSA | expand

Message

Vladimir Oltean Feb. 24, 2021, 11:43 a.m. UTC
From: Vladimir Oltean <vladimir.oltean@nxp.com>

This is my second stab at creating a list of unicast and multicast
addresses that the DSA CPU port must trap. I am reusing a lot of
Tobias's work which he submitted here:
https://patchwork.kernel.org/project/netdevbpf/cover/20210116012515.3152-1-tobias@waldekranz.com/

I did not yet have the guts to disable flooding towards the CPU port,
but if feedback for the approach taken here is positive, that will be
next.

Tobias Waldekranz (6):
  net: bridge: switchdev: refactor br_switchdev_fdb_notify
  net: bridge: switchdev: include local flag in FDB notifications
  net: bridge: switchdev: send FDB notifications for host addresses
  net: dsa: include bridge addresses which are local in the host fdb
    list
  net: dsa: sync static FDB entries on foreign interfaces to hardware
  net: dsa: mv88e6xxx: Request assisted learning on CPU port

Vladimir Oltean (11):
  net: dsa: reference count the host mdb addresses
  net: dsa: reference count the host fdb addresses
  net: dsa: install the host MDB and FDB entries in the master's RX
    filter
  net: dsa: install the port MAC addresses as host fdb entries
  net: bridge: implement unicast filtering for the bridge device
  net: dsa: add addresses obtained from RX filtering to host addresses
  net: dsa: include fdb entries pointing to bridge in the host fdb list
  net: dsa: replay port and host-joined mdb entries when joining the
    bridge
  net: dsa: replay port and local fdb entries when joining the bridge
  net: bridge: switchdev: let drivers inform which bridge ports are
    offloaded
  net: bridge: offloaded ports are always promiscuous

 drivers/net/dsa/mv88e6xxx/chip.c              |   1 +
 .../marvell/prestera/prestera_switchdev.c     |   4 +-
 .../mellanox/mlxsw/spectrum_switchdev.c       |   7 +-
 drivers/net/ethernet/mscc/ocelot_net.c        |  43 +-
 drivers/net/ethernet/rocker/rocker_main.c     |   4 +-
 drivers/net/ethernet/rocker/rocker_ofdpa.c    |   2 +
 drivers/net/ethernet/ti/am65-cpsw-nuss.c      |   2 +
 drivers/net/ethernet/ti/am65-cpsw-switchdev.c |   4 +-
 drivers/net/ethernet/ti/cpsw_new.c            |   1 +
 drivers/net/ethernet/ti/cpsw_switchdev.c      |   4 +-
 drivers/staging/fsl-dpaa2/ethsw/ethsw.c       |   6 +-
 include/linux/if_bridge.h                     |  18 +
 include/net/dsa.h                             |  35 ++
 include/net/switchdev.h                       |  19 +
 net/bridge/br.c                               |   8 +-
 net/bridge/br_device.c                        |  23 +-
 net/bridge/br_fdb.c                           |  57 +-
 net/bridge/br_if.c                            |  19 +-
 net/bridge/br_mdb.c                           | 117 ++++
 net/bridge/br_private.h                       |  14 +-
 net/bridge/br_switchdev.c                     |  74 +--
 net/dsa/dsa2.c                                |  30 +-
 net/dsa/dsa_priv.h                            |  23 +-
 net/dsa/port.c                                |  51 ++
 net/dsa/slave.c                               | 589 ++++++++++++++----
 net/dsa/switch.c                              | 123 +++-
 net/switchdev/switchdev.c                     |  18 +
 27 files changed, 1047 insertions(+), 249 deletions(-)