Re: [PATCH net-next v3 1/2] net: dsa: untag the bridge pvid from rx skbs

From: Florian Fainelli
Date: Wed Sep 23 2020 - 18:08:53 EST


On 9/23/20 3:06 PM, Florian Fainelli wrote:
> On 9/23/20 3:01 PM, Vladimir Oltean wrote:
>> On Wed, Sep 23, 2020 at 02:51:09PM -0700, Florian Fainelli wrote:
>>> Speaking of that part of the code, I was also wondering whether you
>>> wanted this to be netdev_for_each_upper_dev_rcu(br, upper_dev, iter) and
>>> catch a bridge device upper as opposed to a switch port upper? Either
>>> way is fine and there are possibly use cases for either.
>>
>> So, yeah, both use cases are valid, and I did in fact mean uppers of the
>> bridge, but now that you're raising the point, do we actually support
>> properly the use case with an 8021q upper of a bridged port? My
>> understanding is that this VLAN-tagged traffic should not be switched on
>> RX. So without some ACL rule on ingress that the driver must install, I
>> don't see how that can work properly.
>
> Is not this a problem only if the DSA master does VLAN receive filtering
> though? In a bridge with vlan_filtering=0 the switch port is supposed to
> accept any VLAN tagged frames because it does not do ingress VLAN ID
> checking.
>
> Prior to your patch, I would always install a br0.1 upper to pop the
> default_pvid and that would work fine because the underlying DSA master
> does not do VLAN filtering.

This is kind of a bad example, because the switch port has been added to
the default_pvid VLAN entry, but I believe the rest to be correct though.
--
Florian