mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-29 23:53:32 +00:00
net: dsa: mv88e6xxx: use port 802.1Q mode Secure
This commit changes the 802.1Q mode of each port from Disabled to Secure. This enables the VLAN support, by checking the VTU entries on ingress. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0d3b33e602
commit
8efdda4a1b
2 changed files with 12 additions and 7 deletions
|
@ -2005,13 +2005,11 @@ static int mv88e6xxx_setup_port(struct dsa_switch *ds, int port)
|
|||
goto abort;
|
||||
}
|
||||
|
||||
/* Port Control 2: don't force a good FCS, set the maximum
|
||||
* frame size to 10240 bytes, don't let the switch add or
|
||||
* strip 802.1q tags, don't discard tagged or untagged frames
|
||||
* on this port, do a destination address lookup on all
|
||||
* received packets as usual, disable ARP mirroring and don't
|
||||
* send a copy of all transmitted/received frames on this port
|
||||
* to the CPU.
|
||||
/* Port Control 2: don't force a good FCS, set the maximum frame size to
|
||||
* 10240 bytes, enable secure 802.1q tags, don't discard tagged or
|
||||
* untagged frames on this port, do a destination address lookup on all
|
||||
* received packets as usual, disable ARP mirroring and don't send a
|
||||
* copy of all transmitted/received frames on this port to the CPU.
|
||||
*/
|
||||
reg = 0;
|
||||
if (mv88e6xxx_6352_family(ds) || mv88e6xxx_6351_family(ds) ||
|
||||
|
@ -2033,6 +2031,8 @@ static int mv88e6xxx_setup_port(struct dsa_switch *ds, int port)
|
|||
reg |= PORT_CONTROL_2_FORWARD_UNKNOWN;
|
||||
}
|
||||
|
||||
reg |= PORT_CONTROL_2_8021Q_SECURE;
|
||||
|
||||
if (reg) {
|
||||
ret = _mv88e6xxx_reg_write(ds, REG_PORT(port),
|
||||
PORT_CONTROL_2, reg);
|
||||
|
|
|
@ -140,6 +140,11 @@
|
|||
#define PORT_CONTROL_2_JUMBO_1522 (0x00 << 12)
|
||||
#define PORT_CONTROL_2_JUMBO_2048 (0x01 << 12)
|
||||
#define PORT_CONTROL_2_JUMBO_10240 (0x02 << 12)
|
||||
#define PORT_CONTROL_2_8021Q_MASK (0x03 << 10)
|
||||
#define PORT_CONTROL_2_8021Q_DISABLED (0x00 << 10)
|
||||
#define PORT_CONTROL_2_8021Q_FALLBACK (0x01 << 10)
|
||||
#define PORT_CONTROL_2_8021Q_CHECK (0x02 << 10)
|
||||
#define PORT_CONTROL_2_8021Q_SECURE (0x03 << 10)
|
||||
#define PORT_CONTROL_2_DISCARD_TAGGED BIT(9)
|
||||
#define PORT_CONTROL_2_DISCARD_UNTAGGED BIT(8)
|
||||
#define PORT_CONTROL_2_MAP_DA BIT(7)
|
||||
|
|
Loading…
Reference in a new issue