From: Vladimir Oltean <vladimir.oltean@xxxxxxx> This series tries to make DSA behave a bit more sanely when bridged with "foreign" (non-DSA) interfaces and source address learning is not supported on the hardware CPU port (which would make things work more seamlessly without software intervention). When a station A connected to a DSA switch port needs to talk to another station B connected to a non-DSA port through the Linux bridge, DSA must explicitly add a route for station B towards its CPU port. Initial RFC was posted here: https://patchwork.ozlabs.org/project/netdev/cover/20201108131953.2462644-1-olteanv@xxxxxxxxx/ v2 was posted here: https://patchwork.kernel.org/project/netdevbpf/cover/20201213024018.772586-1-vladimir.oltean@xxxxxxx/ v3 was posted here: https://patchwork.kernel.org/project/netdevbpf/cover/20201213140710.1198050-1-vladimir.oltean@xxxxxxx/ This is a resend of the previous v3 with some added Reviewed-by tags. Vladimir Oltean (7): net: bridge: notify switchdev of disappearance of old FDB entry upon migration net: dsa: be louder when a non-legacy FDB operation fails net: dsa: don't use switchdev_notifier_fdb_info in dsa_switchdev_event_work net: dsa: move switchdev event implementation under the same switch/case statement net: dsa: exit early in dsa_slave_switchdev_event if we can't program the FDB net: dsa: listen for SWITCHDEV_{FDB,DEL}_ADD_TO_DEVICE on foreign bridge neighbors net: dsa: ocelot: request DSA to fix up lack of address learning on CPU port drivers/net/dsa/ocelot/felix.c | 1 + include/net/dsa.h | 5 + net/bridge/br_fdb.c | 1 + net/dsa/dsa_priv.h | 12 +++ net/dsa/slave.c | 174 +++++++++++++++++++++------------ 5 files changed, 130 insertions(+), 63 deletions(-) -- 2.25.1