This small series tries to make DSA behave a bit more sanely when bridged with "foreign" (non-DSA) interfaces. 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. It cannot rely on hardware address learning for that. Initial RFC was posted here: https://www.spinics.net/lists/netdev/msg698169.html Vladimir Oltean (6): net: bridge: notify switchdev of disappearance of old FDB entry upon migration 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 | 167 +++++++++++++++++++++------------ 5 files changed, 124 insertions(+), 62 deletions(-) -- 2.25.1