qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Alex Williamson <alex.williamson@hp.com>
To: qemu-devel@nongnu.org
Cc: alex.williamson@hp.com, kvm@vger.kernel.org
Subject: [Qemu-devel] [PATCH 0/4] qemu: TAP filtering support
Date: Tue, 10 Feb 2009 14:28:41 -0700	[thread overview]
Message-ID: <20090210212841.9760.96780.stgit@kvm.aw> (raw)

This series adds infrastructure and support for using the filtering
support built into recent Linux kernels.  The tap device currently
provides a small array for exact MAC address matches, plus a hash
for inexact multicast addresses.  By programing this filter, we can
reduce the number of extraneous packets qemu needs to handle.

I've restricted the configuration where this can be used to only
the case of having two devices on a qemu vlan.  In this case, we
have a clear consumer/produce model for the backend NIC to request
filtering from the TAP source.  To handle hotplug, I've added
notifiers that allow vlan clients to be notified when someone gets
added or removed so they can return to a non-filtered (of self-
filtered) mode.

This series also includes code for both virtio-net and e1000 to
make use of the filtering.  The tap devices provides a new
rxfilter=off option to disable exporting this new feature to
the backends.  The primary reason for this is that the current
Linux tun driver has a bug that if the exact match array
overflows, there's a possiblity of dropping unicast packets.
There are currently 8 exact matches, so the guest needs to be
trying to filter more than 8 to hit this bug.  I've already
submitted a patch for 2.6.29 and stable to fix this.

Please comment, thanks,

Alex

---

Alex Williamson (4):
      qemu:e1000: Add support for qemu_vlan_rxfilter
      qemu:virtio-net: Add support for qemu_vlan_rxfilter
      qemu:net: Add TAP support for RX filtering on Linux
      qemu:net: Add infrastructure for setting an RX filter through the vlan


 hw/e1000.c      |   60 +++++++++++++++++++++++++++++++++
 hw/virtio-net.c |   56 ++++++++++++++++++++++++++++++-
 net.c           |   99 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 net.h           |   14 ++++++++
 qemu-doc.texi   |    6 ++-
 vl.c            |    3 +-
 6 files changed, 226 insertions(+), 12 deletions(-)

-- 
Alex Williamson

             reply	other threads:[~2009-02-10 21:31 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-10 21:28 Alex Williamson [this message]
2009-02-10 21:28 ` [Qemu-devel] [PATCH 1/4] qemu:net: Add infrastructure for setting an RX filter through the vlan Alex Williamson
2009-02-10 21:28 ` [Qemu-devel] [PATCH 2/4] qemu:net: Add TAP support for RX filtering on Linux Alex Williamson
2009-02-10 21:28 ` [Qemu-devel] [PATCH 3/4] qemu:virtio-net: Add support for qemu_vlan_rxfilter Alex Williamson
2009-02-12 16:26   ` Paul Brook
2009-02-12 16:36     ` Alex Williamson
2009-02-12 17:05       ` Paul Brook
2009-02-12 18:21         ` Alex Williamson
2009-02-12 20:26           ` Jamie Lokier
2009-02-13 12:40           ` Paul Brook
2009-02-13 16:00             ` Jamie Lokier
2009-02-13 16:17               ` Paul Brook
2009-02-13 16:46                 ` Jamie Lokier
2009-02-13 17:04                   ` Paul Brook
2009-02-13 20:38                     ` Jamie Lokier
2009-02-15 16:25                       ` Paul Brook
2009-02-10 21:29 ` [Qemu-devel] [PATCH 4/4] qemu:e1000: " Alex Williamson
2009-02-11 15:11   ` [Qemu-devel] " Alex Williamson
2009-02-11 17:11   ` [Qemu-devel] " Alex Williamson
2009-02-11 19:31 ` [Qemu-devel] Re: [PATCH 0/4] qemu: TAP filtering support Mark McLoughlin
2009-02-11 19:43   ` Anthony Liguori
2009-02-11 19:51   ` Alex Williamson
2009-02-11 20:19     ` Mark McLoughlin
2009-02-11 20:37       ` Alex Williamson
2009-02-12 19:57         ` Jamie Lokier

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=20090210212841.9760.96780.stgit@kvm.aw \
    --to=alex.williamson@hp.com \
    --cc=kvm@vger.kernel.org \
    --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).