Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

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
                                                     vnet0
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?

share|improve this question
    
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

1 Answer 1

up vote 1 down vote accepted

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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