Commit e94b590a authored by Arınç ÜNAL's avatar Arınç ÜNAL Committed by David S. Miller
Browse files

net: dsa: mt7530: fix handling of 802.1X PAE frames



802.1X PAE frames are link-local frames, therefore they must be trapped to
the CPU port. Currently, the MT753X switches treat 802.1X PAE frames as
regular multicast frames, therefore flooding them to user ports. To fix
this, set 802.1X PAE frames to be trapped to the CPU port(s).

Fixes: b8f126a8 ("net-next: dsa: add dsa support for Mediatek MT7530 switch")
Signed-off-by: default avatarArınç ÜNAL <arinc.unal@arinc9.com>
Reviewed-by: default avatarVladimir Oltean <olteanv@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent cfceccca
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -1006,6 +1006,10 @@ mt753x_trap_frames(struct mt7530_priv *priv)
	mt7530_rmw(priv, MT753X_BPC, MT753X_BPDU_PORT_FW_MASK,
	mt7530_rmw(priv, MT753X_BPC, MT753X_BPDU_PORT_FW_MASK,
		   MT753X_BPDU_CPU_ONLY);
		   MT753X_BPDU_CPU_ONLY);


	/* Trap 802.1X PAE frames to the CPU port(s) */
	mt7530_rmw(priv, MT753X_BPC, MT753X_PAE_PORT_FW_MASK,
		   MT753X_PAE_PORT_FW(MT753X_BPDU_CPU_ONLY));

	/* Trap LLDP frames with :0E MAC DA to the CPU port(s) */
	/* Trap LLDP frames with :0E MAC DA to the CPU port(s) */
	mt7530_rmw(priv, MT753X_RGAC2, MT753X_R0E_PORT_FW_MASK,
	mt7530_rmw(priv, MT753X_RGAC2, MT753X_R0E_PORT_FW_MASK,
		   MT753X_R0E_PORT_FW(MT753X_BPDU_CPU_ONLY));
		   MT753X_R0E_PORT_FW(MT753X_BPDU_CPU_ONLY));
+2 −0
Original line number Original line Diff line number Diff line
@@ -66,6 +66,8 @@ enum mt753x_id {
/* Registers for BPDU and PAE frame control*/
/* Registers for BPDU and PAE frame control*/
#define MT753X_BPC			0x24
#define MT753X_BPC			0x24
#define  MT753X_BPDU_PORT_FW_MASK	GENMASK(2, 0)
#define  MT753X_BPDU_PORT_FW_MASK	GENMASK(2, 0)
#define  MT753X_PAE_PORT_FW_MASK	GENMASK(18, 16)
#define  MT753X_PAE_PORT_FW(x)		FIELD_PREP(MT753X_PAE_PORT_FW_MASK, x)


/* Register for :03 and :0E MAC DA frame control */
/* Register for :03 and :0E MAC DA frame control */
#define MT753X_RGAC2			0x2c
#define MT753X_RGAC2			0x2c