On 5/27/2020 9:48 AM, Vladimir Oltean wrote:
> From: Vladimir Oltean <[email protected]>
>
> As explained in other commits before (b9cd75e66895 and 87b0f983f66f),
> 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: 56051948773e ("net: dsa: ocelot: add driver for Felix switch family")
> Signed-off-by: Vladimir Oltean <[email protected]>
Reviewed-by: Florian Fainelli <[email protected]>
--
Florian