net packet storms with multiple NICs

Michael Tokarev
2009-10-23T16:25:36Z

Hello.

I vaguely remember something like this has been reported and/or
discussed already, but I can't find anything related. I'm also
not sure if it's kvm-specific or exists in qemu too.

I want some clarification wrt vlan= parameter in -net definition.

What started this all is a problem report I had with kvm package.
It turns out that the OP had 2 network adaptors defined for one
of his guests, and right when his guest started getting an IP
address over DHCP for one of them, the network saw huge packet
storm consisting of DHCP and ARP packets.

I immediately reproduced the problem locally. It turns out that
kvm reflects packets coming from one guest NIC on another guest
NIC, and since both are connected to the same bridge we're getting
endless packet storm. To a level when kvm process becomes 100%
busy and does not respond to anything but `kill -9'.

The problem is easily solvable by specifying explicit different
vlan indexes for different pairs of host/guest -net components.

I've two questions:

o what's the intended usage of all-vlan-equal case, when kvm (or qemu)
reflects packets from one interface to another? It's what bridge
in linux is for, I think.

o why different -net guest -net host pairs are not getting different
vlan= indexes by default, to stop the above-mentioned packet
storms right away? I think it's a wise default to assign different
pairs to different vlans, by counting -net host and -net guest
sequences.

Thanks!

/mjt