I've been using 802.1q tagging on Linux for quite a while. More
recently, I've had Xen hypervisors bridging VLANs to Xen guests. From
the hypervisor's perspective, there's a bridge for each VLAN. The
clients' virtual interfaces are bound to specific bridges, and the
clients' eth0 interfaces are "connected" to the proper VLANs.
All this works well.
I tried an experiment yesterday. I built a new bridge on the hypervisor,
and connected it to a couple of guests' eth1 interfaces.
On the guests, I:
/sbin/vconfig add eth1 100
/sbin/ip link set eth1.100 up
/sbin/ip addr add 192.168.100.20/24 broadcast + dev eth1.100
(the other guest used 192.168.100.21).
The guests were able to communicate.
However, when I put an IP on that bridge on the hypervisor directly:
/sbin/ip addr add 192.168.100.22/24 broadcast + dev xenbrroutertest
the hypervisor was able to communicate to the two eth1 interfaces on
the guests. I didn't expect that. Because the hypervisor is not
applying 802.1q tagging to frames on bridge xenbrroutertest while the
guests - presumably - are applying 802.1q tagging to their eth1 interfaces
which are connected to that bridge, I expected the hypervisor and the guests
to be mutually invisible.
Clearly I'm missing something, but I don't know what.
Can anyone enlighten me? Thanks...
- Andrew
|