[ovs-discuss] Problem using virtualbox with open vswitch with VLAN

Thomas F Herbert thomasfherbert at gmail.com
Thu Mar 5 16:37:08 UTC 2015


On 3/5/15 11:08 AM, Ben Pfaff wrote:
> It looks like there's an off-by-four (!) error in the Ethernet packet,
> with the Ethernet
> addresses being shifted four bytes.  It seems unlikely that this would
> be an Open
> vSwitch bug, since Open vSwitch works correctly with VLANs on tons of drivers
> and environments.  I don't know whether it would be a virtualbox problem or a
> problem with the driver on the host or guest kernel side, or even
> somewhere else.
This probably has nothing to do with Open vSwitch. You may also want to 
check your versions of tcpdump and libpcap. Some older versions don't 
report vlan tags properly on certain kernel versions and certain 
Ethernet IF's. Googling will show quite a bit of discussion about this.
>
> On Thu, Mar 5, 2015 at 12:53 AM, Ming-Ching Tiew <mctiew at yahoo.com> wrote:
>> I got additional info now.
>>
>> It's seems there is a corruption of data when packets are read on the guest
>> 1 when reading the vlan-tagged data. I did a tcpdump on guest 1 when guest2
>> tries to ping to guest 1, one can see that mac address of guest2 ( the
>> initiator of arp request ) is wrong, and it also goes to the wrong
>> destination mac address :-
>>
>> 08:19:28.469448 2f:33:81:00:00:64 > ff:ff:08:00:27:cc, ethertype ARP
>> (0x0806), length 60: Request who-has 192.168.100.2 tell 192.168.100.3,
>> length 46
>> 08:19:29.464121 2f:33:81:00:00:64 > ff:ff:08:00:27:cc, ethertype ARP
>> (0x0806), length 60: Request who-has 192.168.100.2 tell 192.168.100.3,
>> length 46
>> 08:19:30.463983 2f:33:81:00:00:64 > ff:ff:08:00:27:cc, ethertype ARP
>> (0x0806), length 60: Request who-has 192.168.100.2 tell 192.168.100.3,
>> length 46
>> 08:19:31.470218 2f:33:81:00:00:64 > ff:ff:08:00:27:cc, ethertype ARP
>> (0x0806), length 60: Request who-has 192.168.100.2 tell 192.168.100.3,
>> length 46
>> 08:19:32.463634 2f:33:81:00:00:64 > ff:ff:08:00:27:cc, ethertype ARP
>> (0x0806), length 60: Request who-has 192.168.100.2 tell 192.168.100.3,
>> length 46
>> 08:19:33.463215 2f:33:81:00:00:64 > ff:ff:08:00:27:cc, ethertype ARP
>> (0x0806), length 60: Request who-has 192.168.100.2 tell 192.168.100.3,
>> length 46
>>
>> The arp requestor's mac address ( guest 2 ) which is supposed to be
>> (08:00:27:cc:3f:33 ) has become 2f:33:81:00:00:64, and the arp requests have
>> sent to ff:ff:08:00:27:cc which is supposed to be ( ff:ff:ff:ff:ff:ff ).
>>
>> Furthermore it's supposed to be a ethertype 8021q traffic, but the tcpdump
>> is not seeing it as such !
>>
>> Total corruption !!! No wonder cannot ping.
>>
>> Earlier I said the the host was able to ping to guest1 via the VLAN 100 but
>> that's about all that it can do. Only ping is successful, other
>> communications failed. When I try to do a ssh session over it from guest 1
>> to the host, it could not be established. Communication over the untagged
>> data is still successful.
>>
>> Looks like I am stepping into a can of worms with regards to the support of
>> VLAN tagged traffic with the use of open vswitch with virtualbox ! ;)
>>
>>
>>
>>
>>
>> ________________________________
>> From: Ben Pfaff <blp at nicira.com>
>> To: Ming-Ching Tiew <mctiew at yahoo.com>
>> Cc: "discuss at openvswitch.org" <discuss at openvswitch.org>
>> Sent: Thursday, March 5, 2015 2:03 PM
>> Subject: Re: [ovs-discuss] Problem using virtualbox with open vswitch with
>> VLAN
>>
>> On Thu, Mar 05, 2015 at 01:23:58AM +0000, Ming-Ching Tiew wrote:
>>> Thanks for the info !
>>> After reading the doc, I believe my settings should be like this :-
>>> port vnet0: vlan_mode=trunk, and trunk setting should be either empty or a
>>> list including vlan id's including 0 and 100 ( I want both the eth0 and
>>> eth0.100 to work ).
>>> port br0: same as port vnet0.
>>> port vlan10: vlan_mode should be access, and tag is 100. Trunk should not
>>> be set.
>>> So it is still not working in virtualbox but it's working in qemu.
>>> Do you think it's a bug with virtualbox ?
>> I don't know.  I don't feel confident that we're communicating well, so
>> I hesitate to blame some other program.
>>
>>
>>
>>
>>> Btw, I could not find a command which list the configured
>>> vlan_mode. 'ovs-vsctl show' does not list the vlan_mode.
>>
>> "ovs-vsctl list port" will do it.
>>
>>
>>
>
>


-- 
Thomas F. Herbert




More information about the discuss mailing list