• Use the control virtqueue to allow the guest to enable and manipulate
    a VLAN filter table.  This allows us to drop more packets the guest
    doesn't want to see.  We define a new VLAN class for the control
    virtqueue with commands ADD and DEL with usage defined in virtio-net.h.
    
    Signed-off-by: Alex Williamson <alex.williamson@hp.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6540 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »
  • Create a filter table and allow the guest to populate it with the
    MAC class control commands.  We manage the size and usage of the
    filter table including enabling promiscuous and all-multi modes
    as necessary.  The guest should therefore assume the table is
    infinite.  Eventually this might allow us to bind directly to a
    hardware NIC and manipulate a physical MAC filter.
    
    The specifics of the TABLE_SET command are documented in
    virtio-net.h.  Separate buffers in the same command are used
    for unicaste and multicast addresses for priority and
    sychronization.  With this we can export the VIRTIO_NET_F_CTRL_RX
    feature bit.
    
    Signed-off-by: Alex Williamson <alex.williamson@hp.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6539 c046a42c-6fe2-441c-8c8c-71466251a162
    aliguori authored
     
    Browse Code »