Author: bryanv
Date: Tue Jun 25 04:42:16 2013
New Revision: 252193
URL: http://svnweb.freebsd.org/changeset/base/252193

Log:
  MFC r251796
  
    Fix setting of the Rx filters
  
    QEMU 1.4 made the descriptor requirement stricter - the size of buffer
    descriptor must exactly match the number of MAC addresses provided.

Modified:
  stable/9/sys/dev/virtio/network/if_vtnet.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/dev/   (props changed)

Modified: stable/9/sys/dev/virtio/network/if_vtnet.c
==============================================================================
--- stable/9/sys/dev/virtio/network/if_vtnet.c  Tue Jun 25 03:57:27 2013        
(r252192)
+++ stable/9/sys/dev/virtio/network/if_vtnet.c  Tue Jun 25 04:42:16 2013        
(r252193)
@@ -2470,9 +2470,9 @@ vtnet_rx_filter_mac(struct vtnet_softc *
        sglist_init(&sg, 4, segs);
        error |= sglist_append(&sg, &hdr, sizeof(struct virtio_net_ctrl_hdr));
        error |= sglist_append(&sg, &filter->vmf_unicast,
-           sizeof(struct vtnet_mac_table));
+           sizeof(uint32_t) + filter->vmf_unicast.nentries * ETHER_ADDR_LEN);
        error |= sglist_append(&sg, &filter->vmf_multicast,
-           sizeof(struct vtnet_mac_table));
+           sizeof(uint32_t) + filter->vmf_multicast.nentries * ETHER_ADDR_LEN);
        error |= sglist_append(&sg, &ack, sizeof(uint8_t));
        KASSERT(error == 0 && sg.sg_nseg == 4,
            ("error adding MAC filtering message to sglist"));
_______________________________________________
svn-src-stable-9@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"

Reply via email to