From: "Nicolas de Pesloüan" <nicolas.2p.debian@gmail.com>
To: "Michał Mirosław" <mirqus@gmail.com>
Cc: Jiri Pirko <jpirko@redhat.com>,
"Eric W. Biederman" <ebiederm@xmission.com>,
Jesse Gross <jesse@nicira.com>, Changli Gao <xiaosuo@gmail.com>,
David Miller <davem@davemloft.net>,
netdev@vger.kernel.org, shemminger@linux-foundation.org,
kaber@trash.net, fubar@us.ibm.com, eric.dumazet@gmail.com,
andy@greyhouse.net
Subject: Re: [patch net-next-2.6 v2] net: vlan: make non-hw-accel rx path similar to hw-accel
Date: Sun, 22 May 2011 11:10:22 +0200 [thread overview]
Message-ID: <4DD8D2FE.4080204@gmail.com> (raw)
In-Reply-To: <BANLkTi=B4c-A9ZC2apE+ZOQmgdzaJb0oEQ@mail.gmail.com>
Le 22/05/2011 10:52, Michał Mirosław a écrit :
> 2011/5/22 Nicolas de Pesloüan<nicolas.2p.debian@gmail.com>:
>> Le 22/05/2011 08:34, Eric W. Biederman a écrit :
>>>
>>> Jiri Pirko<jpirko@redhat.com> writes:
>>>
>>>> Sun, May 22, 2011 at 04:59:49AM CEST, nicolas.2p.debian@gmail.com wrote:
>>>>
>>>> <snip>
>>>>>
>>>>> And because some setups may still require the skb not to be untagged,
>>>>> may be we need the ability to re-tag the skb in some situations...
>>>>> When a protocol handler or rx_handler is explicitly registered on a
>>>>> net_device which expect to receive tagged skb, we should deliver
>>>>> tagged skb to it... Arguably, this may sound incredible for the
>>>>> general case, but may be required for not-so-special cases like
>>>>> bridge or protocol analyzer.
>>>>
>>>> Wait, what setups/code require the skb not to be untagged? If there's
>>>> such, it should be fixed.
>>>
>>> tcpdump on the non-vlan interface for one.
>> bridge is another. More precisely, there is a difference between the
>> following two setups:
>>
>> 1/ eth0 - eth0.100 - br0 - eth1.200 - eth1
>>
>> 2/ eth0 - br0 - eth1
>>
>> In case 1, it is normal and desirable for the bridge to see untagged skb.
>>
>> In case 2, it is desirable for the bridge to see untouched (possibly tagged)
>> skb. If current bridge implementation is able to handle skb from which we
>> removed a tag, in this situation, it means that bridge currently "fix
>> improper untagging" by itself, by forcing re-tagging on output. I think is
>> should not be the job of protocol handlers to fix this. Again, a generic
>> feature should to it when necessary.
>>
>> Think of the following setups:
>>
>> 3/ eth0 - br0 - eth1.200 - eth1.
>> 4/ eth0 - eth0.100 - br0 - eth1
>>
>> What if one expect this setup to add (3) or remove (4) one level of vlan
>> nesting? This is precisely what this setup suggest. How can we instruct the
>> bridge to do so? It is not the bridge responsibility to do any vlan
>> processing. bridge is expected to... bridge !
>
> I assumed that this untaging Jiri is implementing does not remove the
> tag. It moves the information from skb->data to skb->vlan_tci, but the
> information contained is not otherwise changing. All your examples
> should work regardless of where the tag is stored.
I assumed (but didn't tested) that this untagging also change the starting point of the payload of
the packet. So protocol handlers expecting to have the raw packet won't see the vlan header.
Nicolas.
next prev parent reply other threads:[~2011-05-22 9:10 UTC|newest]
Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-08 5:48 [patch net-next-2.6 v2] net: vlan: make non-hw-accel rx path similar to hw-accel Jiri Pirko
2011-04-12 21:16 ` David Miller
2011-05-21 1:11 ` Changli Gao
2011-05-21 7:29 ` Jiri Pirko
2011-05-21 10:43 ` Changli Gao
2011-05-21 13:17 ` Nicolas de Pesloüan
2011-05-21 17:54 ` Jesse Gross
2011-05-21 22:15 ` Stephen Hemminger
2011-05-22 2:59 ` Nicolas de Pesloüan
2011-05-22 6:29 ` Jiri Pirko
2011-05-22 6:34 ` Eric W. Biederman
2011-05-22 8:34 ` Nicolas de Pesloüan
2011-05-22 8:52 ` Michał Mirosław
2011-05-22 9:10 ` Nicolas de Pesloüan [this message]
2011-05-22 9:20 ` Michał Mirosław
2011-05-22 9:36 ` Jiri Pirko
2011-05-22 9:53 ` Nicolas de Pesloüan
2011-05-22 10:04 ` Michał Mirosław
2011-05-22 16:11 ` Jesse Gross
2011-05-22 18:24 ` Eric W. Biederman
2011-05-22 19:33 ` Eric W. Biederman
2011-05-22 19:39 ` [PATCH 1/3] vlan: Do not support clearing VLAN_FLAG_REORDER_HDR Eric W. Biederman
2011-05-22 19:40 ` [PATCH 2/3] vlan: Always strip the vlan header in vlan_untag Eric W. Biederman
2011-05-22 19:42 ` [PATCH 3/3] vlan: Simplify the code now that VLAN_FLAG_REORDER_HDR is always set Eric W. Biederman
2011-06-09 10:59 ` Jiri Pirko
2011-06-12 6:17 ` Eric W. Biederman
2011-05-22 21:04 ` [PATCH 1/3] vlan: Do not support clearing VLAN_FLAG_REORDER_HDR Ben Greear
2011-05-22 22:38 ` Eric W. Biederman
2011-05-23 0:38 ` Changli Gao
2011-05-23 1:26 ` Changli Gao
2011-05-23 1:45 ` Eric W. Biederman
2011-05-23 2:14 ` Changli Gao
2011-05-23 9:41 ` Eric W. Biederman
2011-05-23 10:43 ` Jiri Pirko
2011-05-23 19:48 ` Nicolas de Pesloüan
2011-05-24 5:58 ` Jiri Pirko
2011-05-24 7:19 ` Nicolas de Pesloüan
2011-05-23 1:39 ` Eric W. Biederman
2011-05-23 6:01 ` Ben Greear
2011-05-23 9:00 ` Eric W. Biederman
2011-05-23 16:33 ` Ben Greear
2011-05-23 19:36 ` Nicolas de Pesloüan
2011-05-23 20:24 ` Ben Greear
2011-05-23 21:00 ` Stephen Hemminger
2011-05-23 21:20 ` David Miller
2011-05-23 22:05 ` Eric W. Biederman
2011-05-23 22:16 ` Stephen Hemminger
2011-05-23 22:48 ` Eric W. Biederman
2011-05-23 22:23 ` Ben Greear
2011-05-23 23:02 ` Eric W. Biederman
2011-05-24 4:20 ` Ben Greear
2011-05-24 7:11 ` Nicolas de Pesloüan
2011-05-24 7:44 ` Michał Mirosław
2011-05-24 15:17 ` Ben Greear
2011-05-24 5:19 ` David Miller
2011-05-24 7:56 ` Eric W. Biederman
2011-05-24 15:44 ` Ben Greear
2011-05-24 0:11 ` [PATCH] vlan: Fix the b0rked ingress VLAN_FLAG_REORDER_HDR check Eric W. Biederman
2011-05-24 4:54 ` David Miller
2011-05-24 6:18 ` Eric W. Biederman
2011-05-24 6:24 ` David Miller
2011-05-24 7:38 ` Eric W. Biederman
2011-06-02 3:59 ` David Miller
2011-06-02 13:03 ` [PATCH] vlan: Fix the ingress VLAN_FLAG_REORDER_HDR check v2 Eric W. Biederman
2011-06-02 13:15 ` Jiri Pirko
2011-06-02 14:54 ` Changli Gao
2011-06-02 15:26 ` Eric W. Biederman
2011-06-02 23:18 ` Changli Gao
2011-06-06 14:48 ` Jiri Pirko
2011-06-03 3:34 ` padmanabh ratnakar
2011-06-03 3:59 ` Changli Gao
2011-06-05 21:14 ` David Miller
2011-06-10 8:35 ` [PATCH v3] vlan: Fix the ingress VLAN_FLAG_REORDER_HDR check Jiri Pirko
2011-06-10 9:26 ` Changli Gao
2011-06-10 9:34 ` Jiri Pirko
2011-06-10 9:49 ` Changli Gao
2011-06-10 10:35 ` Jiri Pirko
2011-06-10 11:20 ` Changli Gao
2011-06-10 12:12 ` Jiri Pirko
2011-06-10 16:56 ` Jiri Pirko
2011-06-11 0:05 ` Changli Gao
2011-06-11 23:16 ` David Miller
2011-06-08 16:28 ` [PATCH] vlan: Fix the ingress VLAN_FLAG_REORDER_HDR check v2 Jiri Pirko
2011-06-08 23:08 ` Changli Gao
2011-06-09 6:01 ` Jiri Pirko
2011-06-09 11:00 ` [PATCH 1/3] vlan: Do not support clearing VLAN_FLAG_REORDER_HDR Jiri Pirko
2011-05-22 8:38 ` [patch net-next-2.6 v2] net: vlan: make non-hw-accel rx path similar to hw-accel Changli Gao
2011-05-22 9:37 ` Jiri Pirko
2011-05-22 10:17 ` Changli Gao
2011-05-22 10:26 ` Eric W. Biederman
2011-05-22 10:40 ` Changli Gao
2011-05-22 13:16 ` Jiri Pirko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DD8D2FE.4080204@gmail.com \
--to=nicolas.2p.debian@gmail.com \
--cc=andy@greyhouse.net \
--cc=davem@davemloft.net \
--cc=ebiederm@xmission.com \
--cc=eric.dumazet@gmail.com \
--cc=fubar@us.ibm.com \
--cc=jesse@nicira.com \
--cc=jpirko@redhat.com \
--cc=kaber@trash.net \
--cc=mirqus@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=shemminger@linux-foundation.org \
--cc=xiaosuo@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).