Re: [PATCH RFT] net: dsa: Allow configuring CPU port VLANs

From: Ilias Apalodimas
Date: Mon Jun 25 2018 - 05:17:23 EST


On Mon, Jun 25, 2018 at 12:13:10PM +0300, Petr Machata wrote:
> Florian Fainelli <f.fainelli@xxxxxxxxx> writes:
>
> > if (netif_is_bridge_master(vlan->obj.orig_dev))
> > - return -EOPNOTSUPP;
> > + info.port = dp->cpu_dp->index;
>
> The condition above will trigger also when a VLAN is added on a member
> port, and there's no other port with that VLAN. In that case the VLAN
> comes without the BRIDGE_VLAN_INFO_BRENTRY flag. In mlxsw we have this
> to get the bridge VLANs:
>
> if (netif_is_bridge_master(orig_dev)) {
> [...]
> if ((vlan->flags & BRIDGE_VLAN_INFO_BRENTRY) &&
> [...]
>
> This doesn't appear to be done in DSA unless I'm missing something.
Petr's right. This will trigger for VLANs added on 'not cpu ports' if the VLAN
is not already a member.

This command has BRIDGE_VLAN_INFO_BRENTRY set:
bridge vlan add dev br0 vid 100 pvid untagged self
I had the same issue on my CPSW RFC and solved it
exactly the same was as Petr suggested.

>
> Thanks,
> Petr

Regards
Ilias