[PATCH v2 0/4] virtio_net: Add MAC and VLAN filtering

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This series adds infrastructure for a new control virtqueue and
makes use of it to support set_rx_mode, unicast and multicast address
lists, and supporting a hypervisor based VLAN filter.  The goal is to
make the virtio-net device support more of the features of a physical
NIC and allow the hypervisor to discard packets we don't want.

This version incorporates suggestions from Rusty.  The MAC filter table
size is now managed by the hypervisor.  We treat it as inifinite and
rely on the hypervisor to fall back to promiscuous or all-multi mode
as their resources allow.  The point that made this finally sink in
as the right way to go was the idea of bonding directly to a NIC and
using this interface to manipulate a hardware filter (I hope someone
is working on that in QEMU/KVM).  I've also changed the send_command()
function to return bool.  I'm not completely sure it's everything
you're looking for Rusty, but it does seem cleaner.  Let me know if
this is closer to what you're thinking.  Thanks,

Alex

---

Alex Williamson (4):
      virtio_net: Add support for VLAN filtering in the hypervisor
      virtio_net: Add a MAC filter table
      virtio_net: Add a set_rx_mode interface
      virtio_net: Add a virtqueue for outbound control commands


 drivers/net/virtio_net.c   |  198 +++++++++++++++++++++++++++++++++++++++++++-
 include/linux/virtio_net.h |   61 ++++++++++++++
 2 files changed, 256 insertions(+), 3 deletions(-)

-- 
Alex Williamson
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux