1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/ethernet/mscc
Vladimir Oltean acc64f52af net: mscc: ocelot: fix forwarding from BLOCKING ports remaining enabled
The blamed commit made the fatally incorrect assumption that ports which
aren't in the FORWARDING STP state should not have packets forwarded
towards them, and that is all that needs to be done.

However, that logic alone permits BLOCKING ports to forward to
FORWARDING ports, which of course allows packet storms to occur when
there is an L2 loop.

The ocelot_get_bridge_fwd_mask should not only ask "what can the bridge
do for you", but "what can you do for the bridge". This way, only
FORWARDING ports forward to the other FORWARDING ports from the same
bridging domain, and we are still compatible with the idea of multiple
bridges.

Fixes: df291e54cc ("net: ocelot: support multiple bridges")
Suggested-by: Colin Foster <colin.foster@in-advantage.com>
Reported-by: Colin Foster <colin.foster@in-advantage.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-09-23 13:15:31 +01:00
..
Kconfig net: mscc: ocelot: convert to phylink 2021-08-16 11:19:34 +01:00
Makefile net: mscc: ocelot: Add support for MRP 2021-02-16 14:47:46 -08:00
ocelot.c net: mscc: ocelot: fix forwarding from BLOCKING ports remaining enabled 2021-09-23 13:15:31 +01:00
ocelot.h net: mscc: ocelot: convert to phylink 2021-08-16 11:19:34 +01:00
ocelot_devlink.c net: update NXP copyright text 2021-09-17 13:52:17 +01:00
ocelot_flower.c flow_offload: reject configuration of packet-per-second policing in offload drivers 2021-03-13 14:18:09 -08:00
ocelot_io.c net: mscc: Fix non-GPL export of regmap APIs 2021-08-12 09:44:31 +01:00
ocelot_mrp.c net: update NXP copyright text 2021-09-17 13:52:17 +01:00
ocelot_net.c net: update NXP copyright text 2021-09-17 13:52:17 +01:00
ocelot_police.c net: mscc: ocelot: move net_device related functions to ocelot_net.c 2020-06-20 17:25:23 -07:00
ocelot_police.h net: mscc: ocelot: unexpose ocelot_vcap_policer_{add,del} 2020-06-20 17:25:23 -07:00
ocelot_ptp.c time64.h: Consolidated PSEC_PER_SEC definition 2021-04-06 16:32:17 -07:00
ocelot_qs.h
ocelot_rew.h
ocelot_vcap.c net: mscc: ocelot: Fix fall-through warnings for Clang 2021-03-10 12:45:15 -08:00
ocelot_vcap.h net: dsa: felix: perform switch setup for tag_8021q 2021-01-29 21:25:27 -08:00
ocelot_vsc7514.c net: mscc: ocelot: allow probing to continue with ports that fail to register 2021-08-20 14:36:42 +01:00