[PATCH net 0/5] Fixes for SJA1105 DSA FDB regressions

From: Vladimir Oltean
Date: Fri Sep 08 2023 - 09:34:15 EST


A report by Yanan Yang has prompted an investigation into the sja1105
driver's behavior w.r.t. multicast. The report states that when adding
multicast L2 addresses with "bridge mdb add", only the most recently
added address works - the others seem to be overwritten. This is solved
by patch 3/5 (with patch 2/5 as a dependency for it).

Patches 4/5 and 5/5 fix a series of race conditions introduced during
the same patch set as the bug above, namely this one:
https://patchwork.kernel.org/project/netdevbpf/cover/20211024171757.3753288-1-vladimir.oltean@xxxxxxx/

Finally, patch 1/5 fixes an issue found ever since the introduction of
multicast forwarding offload in sja1105, which is that the multicast
addresses are visible (with the "self" flag) in "bridge fdb show".

Vladimir Oltean (5):
net: dsa: sja1105: hide all multicast addresses from "bridge fdb show"
net: dsa: sja1105: propagate exact error code from
sja1105_dynamic_config_poll_valid()
net: dsa: sja1105: fix multicast forwarding working only for last
added mdb entry
net: dsa: sja1105: serialize sja1105_port_mcast_flood() with other FDB
accesses
net: dsa: sja1105: block FDB accesses that are concurrent with a
switch reset

drivers/net/dsa/sja1105/sja1105.h | 2 +
.../net/dsa/sja1105/sja1105_dynamic_config.c | 93 +++++++++----------
drivers/net/dsa/sja1105/sja1105_main.c | 69 ++++++++++----
3 files changed, 97 insertions(+), 67 deletions(-)

--
2.34.1