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. Otherwise we may just document that one has to disable Duplicate Address Detection to get IPv6 working :/ Samuel