Hi there,
We experienced network problems (namely net packet storm), when using multiple NICs and
the same VLAN ID-s for different KVM guests. It turned out that we could workaround the
problem by simply assigning different VLAN ID-s to the different NICs. (Btw our case
looked similar to the one that was posted and discussed on the KVM mailing list. Also the
solution was picked from that discussion. See:
http://www.mail-archive.com/kvm@vger.kernel.org/msg24203.html, for details)
We could resolve the problem at the KVM layer, however we have to do it at the libvirt
layer, too. Running thru qemu_conf.c, and executing some unit tests with different type
of interfaces (eg. ethernet, bridge, network), it turned out, that libvirt reassigns
the same vlan ids to the guests starting from 0...
So far the only solution we could figure out is to use a wrapper script around the KVM
binary that replaces VLAN ID-s with unique ones. This one was picked up from a recent
discussion on the upcoming debug API
(
http://www.mail-archive.com/libvir-list@redhat.com/msg23140.html).
However the method was marked fragile in the list, due the evolving nature of the libvirt
API.
My questions:
- Did anyone experience similar problems, and come up with a clean solution? Specially
is there any better way to provide unique VLAN ID-s thru libvirt then the above
one?
As far as I see the upcoming -netdev option (introduced in QEMU 0.12) will solve the
question. However this was removed from libvirt, since the corresponding qemu monitor
command
is not yet developed:
- Do you have a target release for the -netdev option, or is it unknown (eg. dependent
on the yet unknown KVM/QEMU development schedule)?
Cheers,
Gyula
Ps.: our env: Debian GNU/Linux, libvirt, kvm, ebtables