All of lore.kernel.org
 help / color / mirror / Atom feed
From: Max Krasnyansky <maxk@qualcomm.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: virtualization@lists.linux-foundation.org,
	Brian Braunstein <linuxkernel@bristyle.com>,
	Shaun Jackman <sjackman@gmail.com>,
	netdev@vger.kernel.org, Rusty Russell <rusty@rustcorp.com.au>
Subject: Re: Multicast and receive filtering in TUN/TAP
Date: Thu, 10 Jul 2008 09:57:56 -0700	[thread overview]
Message-ID: <48763F94.7050507@qualcomm.com> (raw)
In-Reply-To: <200807101029.17121.borntraeger@de.ibm.com>

Christian Borntraeger wrote:
> Am Donnerstag, 10. Juli 2008 schrieb Max Krasnyansky:
> [...]
>> The second question is do you guys think that QEMU/KVM/LGUEST/etc would 
>> benefit if receive filtering was done by the host OS. Here is a specific 
>> example of what I'm talking about.
>> We can do what qemu/hw/e1000.c:receive_filter() does in the _host_ 
>> context (that function currently runs in the guest context). By looking 
>> at libvirt, typical QEMU based setup is that you have a single bridge 
>> and all the TAPs from different VMs are hooked up to that bridge. What 
>> that means is that if one VM is getting MC traffic or when the bridge 
>> sees MACADDR that is not in its tables the packets get delivered to all 
>> the VMs. ie We have to wake all of the up only to so that they could 
>> drop that packet. Instead, we could setup filters in the host's side of 
>> the TAP device.
>> Does that sound like something useful for QEMU/KVM ?
>> If yes we can talk about the API. If not then I'll just nuke it.
> 
> Max,
> 
> I know that on s390 the shared OSA network card have multicast filter 
> capabilities. So I guess it is worthwile for a virtualization environments 
> with lots of guests. I also think, that this kind of filtering should be 
> straightforward to implement with the qemu e1000 code. Qemu already knows the 
> multicast addresses.
Sure. It's straightforward to do inside QEMU, and it's already doing it.
The question is should we do it in the host context instead and avoid some
wakeups.

> Thing is, we are heading towards virtio. 
Even for Windows ?

> Unfortunately, virtio_net currently  does not offer a method to register multicast addresses.
I haven't looked at the virtio stuff much, I was assuming that the host side
of it is still the TUN driver. Is it not ?

Max

  reply	other threads:[~2008-07-10 16:57 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-09 22:58 Multicast and receive filtering in TUN/TAP Max Krasnyansky
2008-07-10  8:29 ` Christian Borntraeger
2008-07-10 16:57   ` Max Krasnyansky [this message]
2008-07-10 20:23     ` Christian Borntraeger
2008-07-10 20:23     ` Christian Borntraeger
2008-07-11  2:20       ` Max Krasnyansky
2008-07-11  2:20       ` Max Krasnyansky
2008-07-11  7:01         ` Rusty Russell
2008-07-11  8:01           ` Max Krasnyansky
2008-07-11  8:01           ` Max Krasnyansky
2008-07-10 16:57   ` Max Krasnyansky
2008-07-10  8:29 ` Christian Borntraeger
2008-07-10 21:38 ` Shaun Jackman
2008-07-10 21:38 ` Shaun Jackman
2008-07-11  2:32   ` Brian Braunstein
2008-07-11  3:05     ` Max Krasnyansky
2008-07-11  3:05     ` Max Krasnyansky
2008-07-11  3:01   ` Max Krasnyansky
2008-07-11  3:01   ` Max Krasnyansky
  -- strict thread matches above, loose matches on Subject: below --
2008-07-09 22:58 Max Krasnyansky

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=48763F94.7050507@qualcomm.com \
    --to=maxk@qualcomm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=linuxkernel@bristyle.com \
    --cc=netdev@vger.kernel.org \
    --cc=rusty@rustcorp.com.au \
    --cc=sjackman@gmail.com \
    --cc=virtualization@lists.linux-foundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.