mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	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: b8f126a8d5 ("net-next: dsa: add dsa support for Mediatek MT7530 switch")
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
			
			
This commit is contained in:
		
							parent
							
								
									cfceccca01
								
							
						
					
					
						commit
						e94b590abf
					
				
					 2 changed files with 6 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -1006,6 +1006,10 @@ mt753x_trap_frames(struct mt7530_priv *priv)
 | 
			
		|||
	mt7530_rmw(priv, MT753X_BPC, MT753X_BPDU_PORT_FW_MASK,
 | 
			
		||||
		   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) */
 | 
			
		||||
	mt7530_rmw(priv, MT753X_RGAC2, MT753X_R0E_PORT_FW_MASK,
 | 
			
		||||
		   MT753X_R0E_PORT_FW(MT753X_BPDU_CPU_ONLY));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -66,6 +66,8 @@ enum mt753x_id {
 | 
			
		|||
/* Registers for BPDU and PAE frame control*/
 | 
			
		||||
#define MT753X_BPC			0x24
 | 
			
		||||
#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 */
 | 
			
		||||
#define MT753X_RGAC2			0x2c
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue