linux/drivers/net/dsa
Edoardo Pinci 88c71cc0ad net: dsa: mxl862xx: enable assisted learning on CPU port
The MxL862xx driver enables FDB isolation but does not enable assisted
learning on the CPU port. Consequently, MAC addresses learned through a
physical switch port are not updated in hardware when the corresponding
station moves to a foreign bridge port, such as a Wi-Fi interface.

The stale hardware FDB entry continues directing return traffic toward
the original physical port. Traffic entering that same port is then
filtered instead of being forwarded to the CPU and software bridge. This
causes downstream unicast traffic, including DHCP OFFER and ACK packets,
to disappear after a client roams to a local wireless interface. The
client eventually considers the connection unusable and disconnects.

Enable assisted CPU-port learning so DSA installs foreign bridge FDB
entries on the CPU port. This keeps the hardware FDB synchronized with
the software bridge and allows return traffic to reach locally attached
Wi-Fi clients after roaming.

Tested on a BPI R4 PRO with a MxL862xx switch and a BE14000 WiFi interface.
- Without patch, wired uplink on lan6 port (mxl path)
  Wifi clients connect but roam away not getting DHCP offers
- Without patch, wired uplink on wan port (no mxl path)
  Wifi clients connect and roam successfully
- With this patch, uplink on lan6 (mxl path)
  Wifi clients connect and roam successfully

Fixes: 340bdf9846 ("net: dsa: mxl862xx: implement bridge offloading")
Signed-off-by: Edoardo Pinci <epinci@outlook.com>
Link: https://patch.msgid.link/DU0P251MB069949C6DEB4D1D51F31FE87C4A02@DU0P251MB0699.EURP251.PROD.OUTLOOK.COM
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-08-27 11:41:25 -07:00
..
b53 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-08-18 10:42:41 -07:00
hirschmann net: dsa: hellcreek: avoid devlink resource IDs collision with PARENT_TOP 2026-06-15 12:41:40 -07:00
lantiq
microchip net: dsa: microchip: add two-steps PTP support for KSZ8463 2026-07-31 16:29:56 -07:00
mv88e6xxx net: dsa: mv88e6xxx: Fix PCS link check on CMODE read error 2026-08-17 16:44:42 -07:00
mxl862xx net: dsa: mxl862xx: enable assisted learning on CPU port 2026-08-27 11:41:25 -07:00
netc net: dsa: netc: implement dynamic FDB entry ageing 2026-06-15 14:32:06 -07:00
ocelot Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
qca net: dsa: qca8k: fall back to ethernet-ports node name for LEDs 2026-07-02 11:48:25 +02:00
realtek Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-08-18 10:42:41 -07:00
sja1105 net: dsa: sja1105: round up PTP perout pin duration 2026-06-23 14:42:38 -07:00
xrs700x net: dsa: Use named initializers for struct i2c_device_id 2026-05-20 19:01:25 -07:00
bcm_sf2_cfp.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
bcm_sf2_regs.h
bcm_sf2.c net: dsa: bcm_sf2: fix missing clk_disable_unprepare() in error paths 2026-03-19 09:26:40 -07:00
bcm_sf2.h
dsa_loop.c net: dsa: dsa_loop: avoid devlink resource IDs collision with PARENT_TOP 2026-06-15 12:41:40 -07:00
Kconfig net: dsa: initial support for MT7628 embedded switch 2026-08-18 15:50:13 +02:00
ks8995.c
lan9303_i2c.c net: dsa: Use named initializers for struct i2c_device_id 2026-05-20 19:01:25 -07:00
lan9303_mdio.c
lan9303-core.c
lan9303.h
Makefile net: dsa: initial support for MT7628 embedded switch 2026-08-18 15:50:13 +02:00
mt7530-mdio.c net: dsa: mt7530: check bus->read() errors in the MDIO regmap backend 2026-07-29 17:30:14 -07:00
mt7530-mmio.c net: dsa: mt7530: add EN7528 support 2026-07-22 14:04:59 -07:00
mt7530.c net: dsa: mt7530: serialize the regmap IRQ chip like every other user 2026-08-07 16:39:02 -07:00
mt7530.h net: dsa: mt7530: add EN7528 support 2026-07-22 14:04:59 -07:00
mt7628.c net: dsa: initial support for MT7628 embedded switch 2026-08-18 15:50:13 +02:00
mv88e6060.c
mv88e6060.h
rzn1_a5psw.c
rzn1_a5psw.h
vitesse-vsc73xx-core.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
vitesse-vsc73xx-platform.c
vitesse-vsc73xx-spi.c
vitesse-vsc73xx.h
yt921x.c net: dsa: yt921x: Add ACL support 2026-06-10 08:26:05 -07:00
yt921x.h net: dsa: yt921x: Fix external port detection 2026-07-21 11:21:37 -07:00