Re: Combining bridging, 802.1q, and tap

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 15, 2009 at 09:08:02PM -0500, Chris Adams wrote:
> Once upon a time, Garry Dolley <gdolley@xxxxxxxxxxxxxxx> said:
> > On Wed, Apr 15, 2009 at 07:53:04PM -0500, Chris Adams wrote:
> > > If I run tcpdump in the VM and ping from the VM, I see:
> > > 
> > > 19:02:04.443160 00:04:61:4a:ee:27 > Broadcast, ethertype ARP (0x0806), length 42: arp who-has 172.24.54.14 tell 172.24.54.207
> > > 
> > > 
> > > I swear I saw tagged packets within the VM earlier. :-(
> > 
> > Are you running tcpdump in the VM on eth2?
> 
> Yes.
> 
> > If so, you won't see tagged packets on eth2.
> 
> Huh, I didn't realize that.  I set up a different test, and you are
> right (confusing, but correct).
> 
> However, if I (in the host) tcpdump tap2 or br2, the packets are
> untagged there as well.  So, either:
> 
> - they are not being tagged in the VM

Possibly.  But your setup looks correct.

> - qemu-kvm is stripping the tag

Doubt it.

> - the tap interface is stripping the tag

My tap's pass tags w/o trouble, so it's probably not that.

> > > Okay, if I watch eth2 and eth2.20 with the same tcpdump command as
> > > above, I see incoming packets correctly.  On eth2, I see the tag, and
> > > then they show up on eth2.20 without the tag.  It appears to only be a
> > > problem with outbound packets not getting tagged (I see the same
> > > untagged packets in the host with a tcpdump on tap2).
> > 
> > Are you sure you see the tag on eth2?  I woulda killed to see the
> > tag on the physical int when doing my setup a few weeks ago.
> 
> I only see it on traffic from the LAN, but yes, I do see it there.
> 
> > I wonder if VLAN hardware acceleration has anything to do with it.
> 
> Is that something that can be turned on/off within the VM?

No, it is a hardware NIC issue.  I heard you need to recompile the
driver to turn it off (almost all NICs these days do hardware VLAN
acceleration).

> > Can you show a tcpdump on the host when pinging from inside the VM?
> 
> # tcpdump -s0 -e -n -i tap2
> 20:55:30.927645 00:04:61:4a:ee:27 > Broadcast, ethertype ARP (0x0806), length 42: arp who-has 172.24.54.13 tell 172.24.54.207
> 
> # tcpdump -s0 -e -n -i br2
> 20:56:11.474010 00:04:61:4a:ee:27 > Broadcast, ethertype ARP (0x0806), length 42: arp who-has 172.24.54.13 tell 172.24.54.207
> 
> 
> Aha!  Apparently, there's a fourth option to the above possible sources
> of the problem:
> 
> - the 8139 driver (either in the VM kernel or qemu-kvm) is stripping the
>   tag
> 
> I switched qemu-kvm to emulate an Intel i82557b (using e100 driver in
> the VM), and it all works!

Ah!!  Yup, I forgot that all my *BSD VMs use the e1000 driver, not
the default 8139.  I've heard the rtl8139 hardware is bad / broken, so
emulating broken hardware in turn is broken ;)

> Thanks for letting me know it _should_ work and helping me think through
> it.

Not a problem.

-- 
Garry Dolley
ARP Networks, Inc. | http://www.arpnetworks.com | (818) 206-0181
Data center, VPS, and IP Transit solutions
Member Los Angeles County REACT, Unit 336 | WQGK336
Blog http://scie.nti.st
--
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux