Subject: Re: [PATCH 1/3] vlan: Do not support clearing VLAN_FLAG_REORDER_HDR

From: [email-masked] (Eric W. Biederman)
Date: Mon, 23 May 2011 02:41:22 -0700

Changli Gao <[email-masked]> writes:

> On Mon, May 23, 2011 at 9:45 AM, Eric W. Biederman
> <[email-masked]> wrote:
>>> In another side, is there a specification which defines the
>>> hw-accel-vlan-rx?
>>
>> I don't know.
>>
>> I have just been trying to clean up the mess since some of the
>> hw-accel-vlan code broke my use case, by delivering packets with
>> priority but no vlan (aka vlan 0 packets) twice to my pf_packet sockets.
>>
>
> OK. But if we have decided to simulate the hw-accel-vlan-rx, I think
> we'd better adjust the place where we put the emulation code. The very
> beginnings of netif_rx() and neif_receive_skb() are better. Then rps
> can support vlan packets without any change.

That sounds nice. Patches are welcome.

In principle it should be doable with some code motion.  I don't think
moving vlan_untag earlier constitutes a bug fix.

In my investigation earlier I found a non-trivial number of paths into
__netif_receive_skb.  So it was not clear to me in the slightest how to
move the check earlier without modifying every networking driver and a
few other pieces of code.

Why should receive packet steering be affected by vlan tags at all?

Eric