generic: Convert incorrect generic/5.10 patches
[openwrt/staging/nbd.git] / target / linux / generic / hack-5.10 / 711-net-dsa-mv88e6xxx-disable-ATU-violation.patch
index e69113d3c1abb1ff1e4937a450d4282320395332..4fc6e355cb7cbad4916a449327dca278358403a8 100644 (file)
@@ -1,3 +1,32 @@
+From: DENG Qingfang <dqfext@gmail.com>
+Subject: DSA: roaming fix for Marvell mv88e6xxx
+
+Marvell mv88e6xxx switch series cannot perform MAC learning from
+CPU-injected (FROM_CPU) DSA frames, which results in 2 issues.
+- excessive flooding, due to the fact that DSA treats those addresses
+as unknown
+- the risk of stale routes, which can lead to temporary packet loss
+
+Backport those patch series from netdev mailing list, which solve these
+issues by adding and clearing static entries to the switch's FDB.
+
+Add a hack patch to set default VID to 1 in port_fdb_{add,del}. Otherwise
+the static entries will be added to the switch's private FDB if VLAN
+filtering disabled, which will not work.
+
+The switch may generate an "ATU violation" warning when a client moves
+from the CPU port to a switch port because the static ATU entry added by
+DSA core still points to the CPU port. DSA core will then clear the static
+entry so it is not fatal. Disable the warning so it will not confuse users.
+
+Link: https://lore.kernel.org/netdev/20210106095136.224739-1-olteanv@gmail.com/
+Link: https://lore.kernel.org/netdev/20210116012515.3152-1-tobias@waldekranz.com/
+Ref: https://gitlab.nic.cz/turris/turris-build/-/issues/165
+Submitted-by: DENG Qingfang <dqfext@gmail.com>
+---
+ drivers/net/dsa/mv88e6xxx/chip.c              | 3 +++
+ 3 files changed, 3 insertions(+)
+
 --- a/drivers/net/dsa/mv88e6xxx/chip.c
 +++ b/drivers/net/dsa/mv88e6xxx/chip.c
 @@ -2705,6 +2705,9 @@ static int mv88e6xxx_setup_port(struct m