From: Jiri Pirko <jpirko@redhat.com>
To: Andy Gospodarek <andy@greyhouse.net>
Cc: jesse@nicira.com, bridge@osdl.org
Subject: Re: [Bridge] 802.1q tagging broken when used with bridging in 2.6.38
Date: Tue, 29 Mar 2011 21:47:09 +0200 [thread overview]
Message-ID: <20110329194709.GC2781@psychotron.redhat.com> (raw)
In-Reply-To: <AANLkTiktA_41W2X+J0Z94B_gsDcrmO0i0YHVQFQSnxLJ@mail.gmail.com>
Tue, Mar 29, 2011 at 09:18:44PM CEST, andy@greyhouse.net wrote:
>On Tue, Mar 29, 2011 at 2:36 PM, Jiri Pirko <jpirko@redhat.com> wrote:
>> Tue, Mar 29, 2011 at 06:54:58PM CEST, andy@greyhouse.net wrote:
>>>On Mon, Mar 28, 2011 at 1:54 PM, igor serebryany <igor47@moomers.org> wrote:
>>>> it appears that 802.1q tagging is broken in 2.6.38 when combined with bridging.
>>>> here is how to reproduce the problem:
>>>>
>>>> i set up an interface for the machine running 2.6.38 on my cisco router, and
>>>> assign a subnet to that interface. i am using ping from the router to do the
>>>> testing. i am getting all the data here with 'tcpdump -e -n' from the machine.
>>>>
>>>> i ping the machine from the router, and i see properly-tagged ARP requests
>>>> coming in on eth0:
>>>>
>>>> 12:12:05.052465 00:11:20:dd:81:00 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q
>>>> (0x8100), length 64: vlan 234, p 0, ethertype ARP, Request who-has 10.0.0.206
>>>> tell 10.0.0.205, length 46
>>>>
>>>> i then create a vlan interface on the machine:
>>>>
>>>> vconfig add eth0 234
>>>> ifconfig eth0.234 up
>>>>
>>>> i tcpdump the newly-created interface, and i see the arp packets appearing on
>>>> it, now properly untagged
>>>>
>>>> 12:14:33.549939 00:11:20:dd:81:00 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806),
>>>> length 60: Request who-has 10.0.0.206 tell 10.0.0.205, length 46
>>>>
>>>> if i assign an ip to this interface, i can see pings being exchanged on eth0.234
>>>>
>>>> 12:17:12.681079 00:11:20:dd:81:00 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806),
>>>> length 60: Request who-has 10.0.0.206 tell 10.0.0.205, length 46
>>>> 12:17:12.681090 00:30:48:fd:98:d8 > 00:11:20:dd:81:00, ethertype ARP (0x0806),
>>>> length 42: Reply 10.0.0.206 is-at 00:30:48:fd:98:d8, length 28
>>>> 12:17:14.682076 00:11:20:dd:81:00 > 00:30:48:fd:98:d8, ethertype IPv4 (0x0800),
>>>> length 114: 10.0.0.205 > 10.0.0.206: ICMP echo request, id 24, seq 1, length 80
>>>> 12:17:14.682088 00:30:48:fd:98:d8 > 00:11:20:dd:81:00, ethertype IPv4 (0x0800),
>>>> length 114: 10.0.0.206 > 10.0.0.205: ICMP echo reply, id 24, seq 1, length 80
>>>>
>>>> now, i want to assign eth0 to a bridge
>>>>
>>>> brctl addbr xenbr0
>>>> ifconfig xenbr0 up
>>>> brctl addif xenbr0 eth0
>>>>
>>>> i now attempt to ping the machine again. watching tcpdump on eth0.234, i don't
>>>> see any of my packets anymore!
>>>>
>>>> instead, if i watch xenbr0 with tcpdump, i can see the tagged packets being
>>>> dumped straight into xenbr0, without the vlan tags stripped out!
>>
>> Yep, that seems expected. rx_handler for bridge is earlier in rx path
>> than vlan processing. This is was not changed in 2.6.38. This is with us
>> for a long time. I plan to refuse this topo in future (not sure yet
>> thought)
>>
>
>I have no idea what version Igor was using before. Even if Igor's
>upgrade as not from 2.6.37, this sounds like a regression.
Well, one commit I'm thinking of which might cause this "regression"
(athought I do not see that as one) is this:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3701e51382a026cba10c60b03efabe534fba4ca4
cc'ing Jesse.
Anyway. I think that on non-hw-accel vlans this is the same all the
time as it is now.
Jirka
next prev parent reply other threads:[~2011-03-29 19:47 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-28 17:54 [Bridge] 802.1q tagging broken when used with bridging in 2.6.38 igor serebryany
2011-03-29 16:54 ` Andy Gospodarek
2011-03-29 18:36 ` Jiri Pirko
2011-03-29 19:18 ` Andy Gospodarek
2011-03-29 19:47 ` Jiri Pirko [this message]
2011-03-29 19:54 ` Andy Gospodarek
2011-03-30 12:46 ` Sergey Vlasov
2011-04-02 1:05 ` Jesse Gross
2011-03-30 16:37 ` Igor Serebryany
2011-03-30 14:46 ` Benny Amorsen
2011-03-30 16:25 ` Igor Serebryany
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=20110329194709.GC2781@psychotron.redhat.com \
--to=jpirko@redhat.com \
--cc=andy@greyhouse.net \
--cc=bridge@osdl.org \
--cc=jesse@nicira.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