aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain
diff options
context:
space:
mode:
authorBjørn Mork <bjorn@mork.no>2022-03-05 10:36:07 +0100
committerStijn Tintel <stijn@linux-ipv6.be>2022-03-06 22:01:04 +0200
commit0890fb2df4d89f8792c00859d68641f50df2b4f2 (patch)
tree39f4fc6986370da4debcd426cda312e212e39fde /toolchain
parentf7f9e6bd20bbdca6f136d469d1712e6b124635b4 (diff)
downloadupstream-0890fb2df4d89f8792c00859d68641f50df2b4f2.tar.gz
upstream-0890fb2df4d89f8792c00859d68641f50df2b4f2.tar.bz2
upstream-0890fb2df4d89f8792c00859d68641f50df2b4f2.zip
realtek: net: dsa: configure better brport flags when ports leave the bridge
Ensures that the DSA driver sets exactly the same default flags as the bridge when a port joins or leaves. Without this we end up with a confusing flag mismatch, where DSA and bridge ports use different sets of flags. This is critical as the "learning" mismatch will be harmful to the network, causing all traffic to be flooded on all ports. The original commit was buggy, trying to set the flags one-by-one in a loop. This was not supported by the API and the end result was that all but the last flag were cleared. This bug was implicitly fixed upstream by commit e18f4c18ab5b ("net: switchdev: pass flags and mask to both {PRE_,}BRIDGE_FLAGS attributes"). This is a minimum temporary stop measure fix for the critical lack of "learning" only. The major API change associated with a full v5.12+ backport is neither required nor wanted. A simpler fix, moving the call to dsa_port_bridge_flags() out of the loop, has therefore been merged into this modified backport. Fixes: afa3ab54c03d ("realtek: Backport bridge configuration for DSA") Signed-off-by: Bjørn Mork <bjorn@mork.no> Acked-by: Daniel Golle <daniel@makrotopia.org> Tested-by: Stijn Tintel <stijn@linux-ipv6.be> [fix typos in commit message] Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Diffstat (limited to 'toolchain')
0 files changed, 0 insertions, 0 deletions