Fix a problem where dhclient(8) utility tries to initilaize an fxp(4) forever because the driver resets the controller chip twice upon initialization. [EN-13:01] Fix a problem where frames sent to additional MAC addresses are not forwarded to the vtnet(4) interface. [EN-13:02]
16 lines
873 B
Diff
16 lines
873 B
Diff
Index: sys/dev/virtio/network/if_vtnet.c
|
|
===================================================================
|
|
--- sys/dev/virtio/network/if_vtnet.c (revision 252193)
|
|
+++ sys/dev/virtio/network/if_vtnet.c (revision 252194)
|
|
@@ -2470,9 +2470,9 @@ vtnet_rx_filter_mac(struct vtnet_softc *sc)
|
|
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"));
|