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

Alex Williamson
2009-01-29T23:05:02Z

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