Thread (5 messages) flat view 5 messages, 3 authors, 1d ago
WARM1d

Revision v1 of 2 in this series.

Revisions (2)
  1. v1 current
  2. v2 [diff vs current]

[PATCH net 0/2] net: dsa: mt7530: fix trapped frame forwarding and egress tagging

From: Tao <hidden>
Date: 2026-09-19 06:52:16

This patch series addresses two issues preventing trapped control frames
(such as STP BPDUs, 802.1X PAE, and LLDP) from properly reaching the CPU
host on MT7530-family switches, specifically when bridge VLAN filtering is
active and on Airoha EN7581 / AN7583 SoCs.

Patch 1 fixes the egress tagging mode for trapped link-local frames in
BPC, RGAC1, and RGAC2. commit 3ac85bcfd404 ("net: dsa: mt7530: preserve
VLAN tags on trapped link-local frames") used MT7530_VLAN_EG_DISABLED
to preserve tags, but in hardware this disables the per-packet override
and causes trapped frames to follow the CPU port's active VLAN table
(VAWD2) rule. Under bridge VLAN filtering, this causes incoming untagged
BPDUs to be egressed with a VLAN tag, breaking userspace STP daemons
(such as ustpd) and the kernel bridge. MT7530_VLAN_EG_CONSISTENT
correctly preserves wire state (untagged frames stay untagged, tagged
frames stay tagged).

Patch 2 fixes hardware CPU port forwarding on EN7581 and AN7583 switches.
Setting MT7531_CFC (0x04) CPU_PMAP alone is insufficient on this IP; the
switch MAC forwarding control (MT753X_MFC, 0x10) must also have CPU_EN
and CPU_PORT configured for trapped frames to exit to the CPU conduit.

Tested on Gemtek W1700K (Airoha AN7581) with bridge VLAN filtering and
RSTP enabled, verifying that untagged BPDUs are correctly trapped,
delivered untagged to the CPU, and achieve STP convergence.

Tao (2):
  net: dsa: mt7530: use consistent egress tag for trapped link-local
    frames
  net: dsa: mt7530: trap frames to conduit in MFC on EN7581 and AN7583

 drivers/net/dsa/mt7530.c | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)


base-commit: e3bfd25626b44b6fa61a13c17178922171d519ce
-- 
2.55.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help