This set of patches implements VMWare VMXNET3 paravirtual NIC device. The device supports of all the device features including offload capabilties, VLANs and etc. The device is tested on different OSes: Fedora 15 Ubuntu 10.4 Centos 6.2 Windows 2008R2 Windows 2008 64bit Windows 2008 32bit Windows 2003 64bit Windows 2003 32bit
Changes in V4: Fixed a few problems uncovered by NETIO test suit Assertion on failure to initialize MSI/MSI-X replaced with warning message and fallback to Legacy/MSI respectively Reported-by: Gerhard Wiesinger <li...@wiesinger.com> Various coding style adjustments and patch split-up as suggested by Anthony Liguori Reported-by: Anthony Liguori <aligu...@us.ibm.com> Live migration support added Changes in V3: Fixed crash when net device that is used as network fronted has no virtio HDR support. Task offloads emulation for cases when net device that is used as network fronted has no virtio HDR support. Reported-by: Gerhard Wiesinger <li...@wiesinger.com> Changes in V2: License text changed accoring to community suggestions Standard license header from GPLv2+ - licensed QEMU files used Dmitry Fleytman (9): Adding missing flag VIRTIO_NET_HDR_F_DATA_VALID from Linux kernel source tre Reformatting comments according to checkpatch.pl requirements Adding utility function net_checksum_add_cont() that allows checksum calculation of scattered data with odd chunk sizes Adding utility function iov_net_csum_add() for iovec checksum calculation MSI-X state save/load invocations moved to PCI Device save/load callbacks to avoid code duplication in MSI-X-enabled devices that support live migration Header with various utility functions shared by VMWARE SCSI and network devi Various utility functions used by VMWARE network devices Packet abstraction used by VMWARE network devices VMXNET3 paravirtual device implementation VMXNET3 paravirtualized device integration. Interface type "vmxnet3" added. Makefile.objs | 1 + default-configs/pci.mak | 1 + hw/pci.c | 7 + hw/pci.h | 1 + hw/virtio-net.h | 13 +- hw/virtio-pci.c | 2 - hw/vmware_utils.h | 122 +++ hw/vmxnet3.c | 2435 +++++++++++++++++++++++++++++++++++++++++++++++ hw/vmxnet3.h | 757 +++++++++++++++ hw/vmxnet_debug.h | 121 +++ hw/vmxnet_pkt.c | 1243 ++++++++++++++++++++++++ hw/vmxnet_pkt.h | 479 ++++++++++ hw/vmxnet_utils.c | 165 ++++ hw/vmxnet_utils.h | 320 +++++++ iov.c | 29 + iov.h | 3 + net.c | 2 +- net/checksum.c | 13 +- net/checksum.h | 14 +- 19 files changed, 5712 insertions(+), 16 deletions(-) create mode 100644 hw/vmware_utils.h create mode 100644 hw/vmxnet3.c create mode 100644 hw/vmxnet3.h create mode 100644 hw/vmxnet_debug.h create mode 100644 hw/vmxnet_pkt.c create mode 100644 hw/vmxnet_pkt.h create mode 100644 hw/vmxnet_utils.c create mode 100644 hw/vmxnet_utils.h -- 1.7.7.6