linux/drivers/net/dsa
Vladimir Oltean 183be6f967 net: dsa: felix: send VLANs on CPU port as egress-tagged
As explained in other commits before (b9cd75e668 and 87b0f983f6),
ocelot switches have a single egress-untagged VLAN per port, and the
driver would deny adding a second one while an egress-untagged VLAN
already exists.

But on the CPU port (where the VLAN configuration is implicit, because
there is no net device for the bridge to control), the DSA core attempts
to add a VLAN using the same flags as were used for the front-panel
port. This would make adding any untagged VLAN fail due to the CPU port
rejecting the configuration:

bridge vlan add dev swp0 vid 100 pvid untagged
[ 1865.854253] mscc_felix 0000:00:00.5: Port already has a native VLAN: 1
[ 1865.860824] mscc_felix 0000:00:00.5: Failed to add VLAN 100 to port 5: -16

(note that port 5 is the CPU port and not the front-panel swp0).

So this hardware will send all VLANs as tagged towards the CPU.

Fixes: 5605194877 ("net: dsa: ocelot: add driver for Felix switch family")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-05-27 11:40:38 -07:00
..
b53 net: Fix return value about devm_platform_ioremap_resource() 2020-05-23 16:28:25 -07:00
microchip
mv88e6xxx net: Make PTP-specific drivers depend on PTP_1588_CLOCK 2020-05-01 15:27:51 -07:00
ocelot net: dsa: felix: send VLANs on CPU port as egress-tagged 2020-05-27 11:40:38 -07:00
qca
sja1105 net: dsa: sja1105: the PTP_CLK extts input reacts on both edges 2020-05-06 15:03:14 -07:00
bcm_sf2_cfp.c
bcm_sf2_regs.h
bcm_sf2.c
bcm_sf2.h
dsa_loop_bdinfo.c
dsa_loop.c net: dsa: loop: Add module soft dependency 2020-05-10 11:24:20 -07:00
dsa_loop.h
Kconfig
lan9303_i2c.c
lan9303_mdio.c
lan9303-core.c
lan9303.h
lantiq_gswip.c
lantiq_pce.h
Makefile
mt7530.c net: dsa: mt7530: fix roaming from DSA user ports 2020-05-16 13:49:28 -07:00
mt7530.h net: dsa: mt7530: fix roaming from DSA user ports 2020-05-16 13:49:28 -07:00
mv88e6060.c
mv88e6060.h
qca8k.c
qca8k.h
realtek-smi-core.c
realtek-smi-core.h
rtl8366.c
rtl8366rb.c
vitesse-vsc73xx-core.c
vitesse-vsc73xx-platform.c
vitesse-vsc73xx-spi.c
vitesse-vsc73xx.h