[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200923230821.s4v4xda732ah3cxy@skbuf>
Date: Thu, 24 Sep 2020 02:08:21 +0300
From: Vladimir Oltean <olteanv@...il.com>
To: Florian Fainelli <f.fainelli@...il.com>
Cc: Vladimir Oltean <vladimir.oltean@....com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
Andrew Lunn <andrew@...n.ch>,
Vivien Didelot <vivien.didelot@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
open list <linux-kernel@...r.kernel.org>,
"nikolay@...dia.com" <nikolay@...dia.com>
Subject: Re: [PATCH net-next v3 1/2] net: dsa: untag the bridge pvid from rx
skbs
On Wed, Sep 23, 2020 at 03:59:46PM -0700, Florian Fainelli wrote:
> 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.
Ok, my mistake. So what is the value of proto in vlan_proto_idx when it
fails? To me, the call path looks pretty pass-through for vlan_proto.
Powered by blists - more mailing lists