[PATCH net v5 4/6] net: dsa: mt7530: fix handling of LLDP frames

Frank Wunderlich frank-w at public-files.de
Thu Jun 15 22:44:32 PDT 2023


Am 16. Juni 2023 04:53:25 MESZ schrieb arinc9.unal at gmail.com:
>From: Arınç ÜNAL <arinc.unal at arinc9.com>
>
>LLDP frames are link-local frames, therefore they must be trapped to the
>CPU port. Currently, the MT753X switches treat LLDP frames as regular
>multicast frames, therefore flooding them to user ports. To fix this, set
>LLDP frames to be trapped to the CPU port(s).
>
>Fixes: b8f126a8d543 ("net-next: dsa: add dsa support for Mediatek MT7530 switch")
>Signed-off-by: Arınç ÜNAL <arinc.unal at arinc9.com>
>---
> drivers/net/dsa/mt7530.c | 8 ++++++++
> drivers/net/dsa/mt7530.h | 5 +++++
> 2 files changed, 13 insertions(+)
>
>diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c
>index 7b72cf3a0e30..c85876fd9107 100644
>--- a/drivers/net/dsa/mt7530.c
>+++ b/drivers/net/dsa/mt7530.c
>@@ -2266,6 +2266,10 @@ mt7530_setup(struct dsa_switch *ds)
> 	mt7530_rmw(priv, MT753X_BPC, MT753X_BPDU_PORT_FW_MASK,
> 		   MT753X_BPDU_CPU_ONLY);
> 
>+	/* Trap LLDP frames with :0E MAC DA to the CPU port */
>+	mt7530_rmw(priv, MT753X_RGAC2, MT753X_R0E_PORT_FW_MASK,
>+		   MT753X_R0E_PORT_FW(MT753X_BPDU_CPU_ONLY));
>+
> 	/* Enable and reset MIB counters */
> 	mt7530_mib_reset(ds);
> 
>@@ -2369,6 +2373,10 @@ mt7531_setup_common(struct dsa_switch *ds)
> 	mt7530_rmw(priv, MT753X_BPC, MT753X_BPDU_PORT_FW_MASK,
> 		   MT753X_BPDU_CPU_ONLY);
> 
>+	/* Trap LLDP frames with :0E MAC DA to the CPU port(s) */
>+	mt7530_rmw(priv, MT753X_RGAC2, MT753X_R0E_PORT_FW_MASK,
>+		   MT753X_R0E_PORT_FW(MT753X_BPDU_CPU_ONLY));
>+
> 	/* Enable and reset MIB counters */
> 	mt7530_mib_reset(ds);
> 


I though these 2 hunks should go into some common function as these are redundant or am i wrong?

Btw.thx for your work on this driver :)

regards Frank



More information about the linux-arm-kernel mailing list