• Florian Fainelli's avatar
    net: dsa: b53: Fix VLAN usage and how we treat CPU port · e47112d9
    Florian Fainelli authored
    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: a2482d2c ("net: dsa: b53: Plug in VLAN support")
    Reported-by: default avatarHartmut Knaack <knaack.h@gmx.de>
    Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e47112d9
b53_common.c 46.5 KB