When configuring an application that creates vlans by using vconfig add, I discovered that it was adding a vlan device to something that was already a vlan device. Effectively, what happened was:

# vconfig add bond0 168 
# vconfig add bond0.168 100 

The vlan100 interface was then attached to a bridge which connects to a KVM instance:

# brctl addbr br100
# brctl addif br100 vlan100

Here's what the bridges look like:

# brctl show
bridge name     bridge id            STP enabled     interfaces
br100           8000.02163e4fc8db    no              vlan100
virbr0          8000.000000000000    yes        

Oddly enough, everything seemed to work, I was able to ssh to my KVM instance.

What happens when you add a vlan-device to an interface that is already a vlan device? In particular, what VLAN tag do the ethernet frames have that go to the VM instance?

  • I take it that the bond0.168.100 device was renamed vlan100. At that point both vlan tags are removed by the kernel and the vm sees normal packets. The interesting thing is how you sent the frames to br100/vlan100. From the host? Does br100 have an ip address?
    – vasquez
    Feb 15 '12 at 21:12

When you add a VLAN to a device that is already a virtual VLAN interface you get a QinQ interface, this means that packets will eggress with dual VLAN taggs, or VLAN stacking.This is technically possible because a VLAN packet can transport another VLAN packet inside.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.