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:59:56 EST


On 9/23/20 3:58 PM, Vladimir Oltean wrote:
> On Wed, Sep 23, 2020 at 03:54:59PM -0700, Florian Fainelli wrote:
>> Not having much luck with using __vlan_find_dev_deep_rcu() for a reason
>> I don't understand we trip over the proto value being neither of the two
>> support Ethertype and hit the BUG().
>>
>> + upper_dev = __vlan_find_dev_deep_rcu(br, htons(proto), vid);
>> + if (upper_dev)
>> + return skb;
>>
>> Any ideas?
>
> Damn...
> Yes, of course, the skb->protocol is still ETH_P_XDSA which is where
> eth_type_trans() on the master left it.

proto was obtained from br_vlan_get_proto() a few lines above, and
br_vlan_get_proto() just returns br->vlan_proto which defaults to
htons(ETH_P_8021Q) from br_vlan_init().

This is not skb->protocol that we are looking at AFAICT.
--
Florian