Netdev List
 help / color / mirror / Atom feed
* [PATCH] net: dsa: mxl862xx: enable assisted learning on CPU port
@ 2026-08-20 13:45 Edoardo Pinci
  2026-08-22 20:57 ` Jakub Kicinski
  0 siblings, 1 reply; 2+ messages in thread
From: Edoardo Pinci @ 2026-08-20 13:45 UTC (permalink / raw)
  To: netdev; +Cc: Daniel Golle, Edoardo Pinci

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: 340bdf984613c4a9241d678915e513824f5a9b19 ("net: dsa: mxl862xx: implement bridge offloading")
Signed-off-by: Edoardo Pinci <epinci@outlook.com>

--- a/drivers/net/dsa/mxl862xx/mxl862xx.c
+++ b/drivers/net/dsa/mxl862xx/mxl862xx.c
@@ -4571,6 +4571,7 @@ static int mxl862xx_probe(struct mdio_de
 	ds->ops = &mxl862xx_switch_ops;
 	ds->phylink_mac_ops = &mxl862xx_phylink_mac_ops;
 	ds->num_ports = MXL862XX_MAX_PORTS;
+	ds->assisted_learning_on_cpu_port = true;
 	ds->fdb_isolation = true;
 	ds->max_num_bridges = MXL862XX_MAX_BRIDGES;
 	ds->num_lag_ids = MXL862XX_MAX_LAG_IDS;
--
2.46.0

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] net: dsa: mxl862xx: enable assisted learning on CPU port
  2026-08-20 13:45 [PATCH] net: dsa: mxl862xx: enable assisted learning on CPU port Edoardo Pinci
@ 2026-08-22 20:57 ` Jakub Kicinski
  0 siblings, 0 replies; 2+ messages in thread
From: Jakub Kicinski @ 2026-08-22 20:57 UTC (permalink / raw)
  To: Edoardo Pinci; +Cc: netdev, Daniel Golle

On Thu, 20 Aug 2026 15:45:54 +0200 Edoardo Pinci wrote:
> 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.

Does not apply, please rebase & repost:

Applying: net: dsa: mxl862xx: enable assisted learning on CPU port
error: patch failed: drivers/net/dsa/mxl862xx/mxl862xx.c:4571
error: drivers/net/dsa/mxl862xx/mxl862xx.c: patch does not apply
Patch failed at 0001 net: dsa: mxl862xx: enable assisted learning on CPU port

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-08-22 20:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-20 13:45 [PATCH] net: dsa: mxl862xx: enable assisted learning on CPU port Edoardo Pinci
2026-08-22 20:57 ` Jakub Kicinski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox