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

From: Nicolas de Pesloüan<[email-masked]>
Date: Mon, 23 May 2011 21:48:12 +0200

Le 23/05/2011 12:43, Jiri Pirko a écrit :
> Mon, May 23, 2011 at 11:41:22AM CEST, [email-masked] wrote:
>> 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.
>
> I do not think that is doable. Consider multi tagged packets. The place
> just after "another_round" takes care about that.
>
> Btw what's the rationale to move untag to earlier position?

Maybe simply because we try to mimic hw-accel, and hw-accel untagging definitely happens before we 
enter __netif_receive_skb and only happens once.

So having software untagging inside the __netif_receive_skb loop looks different.

	Nicolas.