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

Reply via email to