On Sun, Mar 10, 2013 at 09:01:52PM +0100, Samuel Thibault wrote: > Stefan Hajnoczi, le Wed 06 Mar 2013 13:29:37 +0100, a écrit : > > > What do people think about it? > > > > We should fix the layer that introduces the problem. Therefore I think > > the fix needs to be net/socket.c. > > > > Unfortunately net/socket.c does not have the concept of a link-layer > > address, so we cannot easily filter out multicast packets coming from > > our NIC's address. > > > > Are you aware of a way to filter out just the packets sent by *this* > > process? > > So in the end I couldn't find any way (even Linuxish) to distinguish > packets coming from self or from other qemus running on the same host, > event with recvmsg etc. > > So, it seems if we want to fix the issue we'll have to filter by source > MAC address. Since the guest can actually change its own MACs, we'd > have to learn them on the fly. We can also implement some aging on the > entries in case the user migrates a MAC from a VM to another.
Yes, the guest may use multiple MACs at the same time (e.g. nested virtualization). > Otherwise we may just document that one has to disable Duplicate Address > Detection to get IPv6 working :/ Seems like this might be the only way for now. Stefan