qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jamie Lokier <jamie@shareable.org>
To: qemu-devel@nongnu.org
Cc: chris@linuxinfotag.de
Subject: Re: [Qemu-devel] Solution for qemu mcast / ipv6?
Date: Tue, 10 Mar 2009 23:55:47 +0000	[thread overview]
Message-ID: <20090310235547.GE27500@shareable.org> (raw)
In-Reply-To: <200903102316.14749.paul@codesourcery.com>

Paul Brook wrote:
> > > The bug is in the the mcast socket code. You need to fix that to stop
> > > looping back all the packets.
> >
> > Do you mean the mcast socket code in qemu or the way IP_MULTICAST_LOOP
> > works in the linux kernel?
> 
> I don't know. Hacking the generic vlan code is definitely the wrong solution 
> though.

I suspect there's no suitable kernel option, and this is for all
hosts, not just Linux.

One solution is filtering in the userspace code which talks to the
socket.

Filtering by MAC address is wrong as Paul has explained.

So the filtering which comes to mind is (a) keep _strong_ checksums of
all recently sent packets, (b) discard any received packets which
match a recently sent one, and (c) make sure to remove any checksum
when it matches in (b), because it's legitimate for the _same_ packet
to arrive from another host soon after, and that should not be
filtered.

Alternatively, presuming the idea is to tunnel raw ethernet packets
into a multicast IP packet, change the tunnelled format slightly to
include a unique sender identifier, and filter on that.  That's
unambiguous.

-- Jamie

      reply	other threads:[~2009-03-10 23:55 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-10 15:50 [Qemu-devel] Solution for qemu mcast / ipv6? Christian Perle
2009-03-10 16:11 ` Paul Brook
2009-03-10 20:30   ` Christian Perle
2009-03-10 23:16     ` Paul Brook
2009-03-10 23:55       ` Jamie Lokier [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090310235547.GE27500@shareable.org \
    --to=jamie@shareable.org \
    --cc=chris@linuxinfotag.de \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).