VirtualBox

Opened 15 years ago

Closed 15 years ago

#3215 closed defect (fixed)

upgrade 2.1.0 to 2.1.2 breaks tap interfaces => Fixed in SVN

Reported by: Ronald Baljeu Owned by:
Component: network/hostif Version: VirtualBox 2.1.2
Keywords: tap interface Cc:
Guest type: other Host type: Linux

Description

After upgrading from 2.1.0 to 2.1.2 a setup using host interface networking on tap interfaces with proxy-arp and routing (see the article at http://www.savvyadmin.com/virtualbox-host-interface-networking-with-nat/) fails: guests can no longer ping each other. Outgoing traffic (leaving the linux host) works ok. Could this be related with the bugfix for bug #3056?

Attachments (2)

diff (1.0 KB ) - added by James R. Leu 15 years ago.
fix (860 bytes ) - added by James R. Leu 15 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 by Aleksey Ilyushin, 15 years ago

May be I am missing something in the description, but why do you need such an elaborate setup when simple attaching to one of host's interfaces would do? The restriction the author mentions in the article no longer applies since 2.1.0. It is perfectly possible to attach many VMs to the same interface on the host.

in reply to:  1 comment:2 by Ronald Baljeu, 15 years ago

You're right. I was under the impression that this host interface being shared should be a physical interface like eth0, which would not allow us to do NAT at the same time. Now, however, I realize that you can share a tap interface as well.

I just need one tap interface for NAT'ing on the host, and this tap interface can be shared among multiple guests. Brilliant! Much cleaner. And it works, without proxy-arp!

Thanks and sorry for wasting your time!

comment:3 by James R. Leu, 15 years ago

I am seeing the same issue. I am unable to move packets (ie ping) between guests when using tap interfaces. I've tried routing via the host and bridging on the host. Neither work for 2.1.2, whereas both worked with 2.1.0. I'm attaching the diff I used that allows me to send packets between guests on the same host when using tap interfaces.

by James R. Leu, 15 years ago

Attachment: diff added

comment:4 by James R. Leu, 15 years ago

Not knowing much about the history of the change that appears to break this, I implemented a fix on top of the 2.1.2 code. I've assumed the constant VBOXNETFLT_CB_TAG is just an arbitrary number and that the goal of vboxNetFltLinuxSkBufIsOur is to make sure that packets sent out a virtual interface do not come back in the same interface. To that end I've modified VBOXNETFLT_CB_TAG to include the lower 16 bits of the ifindex for the device on which this packet will be sent. I believe at the point that vboxNetFltLinuxSkBufIsOur is called the dev on the skb is still the rx interface, so this should accomplish the desired effect.

.... or this is all crap and there is a much better fix. Either way, I hope others find this useful and do not end up wasting time second guessing their setup due to this issue .... like I did.

by James R. Leu, 15 years ago

Attachment: fix added

comment:5 by Aleksey Ilyushin, 15 years ago

Summary: upgrade 2.1.0 to 2.1.2 breaks tap interfacesupgrade 2.1.0 to 2.1.2 breaks tap interfaces => Fixed in SVN

jleu,

Thank you for finding and fixing the problem. The reason it worked in 2.1.0 is that the tag was located at the beginning of CB structure so it was getting over-written by Linux protocol stack code. Your fix will be included into the next release.

comment:6 by Frank Mehnert, 15 years ago

Resolution: fixed
Status: newclosed

Fixed in 2.1.4.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use