linux/drivers/net/dsa
Florian Fainelli e47112d9d6 net: dsa: b53: Fix VLAN usage and how we treat CPU port
We currently have a fundamental problem in how we treat the CPU port and
its VLAN membership. As soon as a second VLAN is configured to be
untagged, the CPU automatically becomes untagged for that VLAN as well,
and yet, we don't gracefully make sure that the CPU becomes tagged in
the other VLANs it could be a member of. This results in only one VLAN
being effectively usable from the CPU's perspective.

Instead of having some pretty complex logic which tries to maintain the
CPU port's default VLAN and its untagged properties, just do something
very simple which consists in neither altering the CPU port's PVID
settings, nor its untagged settings:

- whenever a VLAN is added, the CPU is automatically a member of this
  VLAN group, as a tagged member
- PVID settings for downstream ports do not alter the CPU port's PVID
  since it now is part of all VLANs in the system

This means that a typical example where e.g: LAN ports are in VLAN1, and
WAN port is in VLAN2, now require having two VLAN interfaces for the
host to properly terminate and send traffic from/to.

Fixes: Fixes: a2482d2ce3 ("net: dsa: b53: Plug in VLAN support")
Reported-by: Hartmut Knaack <knaack.h@gmx.de>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-11-16 23:25:29 -05:00
..
b53 net: dsa: b53: Fix VLAN usage and how we treat CPU port 2016-11-16 23:25:29 -05:00
mv88e6xxx net: dsa: mv88e6xxx: add eeprom ops 2016-09-30 01:26:00 -04:00
bcm_sf2_regs.h net: dsa: bcm_sf2: Remove duplicate code 2016-08-26 13:15:48 -07:00
bcm_sf2.c net: dsa: bcm_sf2: Do not rely on kexec_in_progress 2016-10-22 16:17:53 -04:00
bcm_sf2.h net: dsa: bcm_sf2: Get VLAN_PORT_MASK from b53_device 2016-09-11 19:37:02 -07:00
Kconfig net-next: dsa: add new driver for qca8xxx family 2016-09-16 04:31:51 -04:00
Makefile net-next: dsa: add new driver for qca8xxx family 2016-09-16 04:31:51 -04:00
mv88e6060.c net: dsa: remove ds_to_priv 2016-09-01 22:51:12 -07:00
mv88e6060.h net: dsa: Keep the mii bus and address in the private structure 2016-04-13 18:15:23 -04:00
qca8k.c net: dsa: qca8k: use mdio_module_driver to simplify the code 2016-09-22 03:17:34 -04:00
qca8k.h net-next: dsa: add new driver for qca8xxx family 2016-09-16 04:31:51 -04:00