[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89iKD1H9idd-TpHQ-KS7vYHnz+6VhymrgD2cuGAUHgp2Zpg@mail.gmail.com>
Date: Tue, 4 Aug 2020 07:54:18 -0700
From: Eric Dumazet <edumazet@...gle.com>
To: Vladimir Oltean <olteanv@...il.com>
Cc: "Gaube, Marvin (THSE-TL1)" <Marvin.Gaube@...at.de>,
Florian Fainelli <f.fainelli@...il.com>,
Woojung Huh <woojung.huh@...rochip.com>,
Microchip Linux Driver Support <UNGLinuxDriver@...rochip.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: PROBLEM: (DSA/Microchip): 802.1Q-Header lost on KSZ9477-DSA
ingress without bridge
On Tue, Aug 4, 2020 at 7:27 AM Vladimir Oltean <olteanv@...il.com> wrote:
>
> On Tue, Aug 04, 2020 at 02:14:33PM +0000, Gaube, Marvin (THSE-TL1) wrote:
> > Hello,
> > I looked into it deeper, the driver does rxvlan offloading.
> > By disabling it manually trough ethtool, the behavior becomes as
> > expected.
> >
> > I've taken "net: dsa: sja1105: disable rxvlan offload for the DSA
> > master" from
> > (https://lore.kernel.org/netdev/20200512234921.25460-1-olteanv@gmail.com/)
> > and also applied it to the KSZ9477-Driver, which fixes the problem.
> > It's probably a workaround, but fixes the VLAN behavior for now. I
> > would suggest also applying "ds->disable_master_rxvlan = true;" to
> > KSZ9477 after the mentioned patch is merged.
> >
> > Best Regards
> > Marvin Gaube
> >
>
> And I wanted to suggest that, but it seemed too freaky to be what's
> going on.... But since ksz9477 uses a tail tag, it makes perfect sense.
>
> My patch is in limbo because Eric, who started zeroing the skb offloaded
> VLAN data in the first place, hasn't said anything.
I said nothing because I was not aware you were expecting something
special from me ;)
I receive hundreds of emails per day.
My 2013 commit was a bug fix, and hinted that in the future (eg in
net-next tree) the stop-the-bleed could be refined.
+ /* Note: we might in the future use prio bits
+ * and set skb->priority like in vlan_do_receive()
+ * For the time being, just ignore Priority Code Point
+ */
+ skb->vlan_tci = 0;
If you believe this can be done, this is great.
Powered by blists - more mailing lists