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