From: Dmitry Fleytman <dmi...@daynix.com> 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 V6: Fixed most of problems pointed out by Michael S. Tsirkin The only issue still open is creation of shared place with generic network structures and functions. Currently all generic network code introduced by VMXNET3 resides in vmxnet_utils.c/h files. It could be moved to some shared location however we believe it is a matter of separate refactoring as there are a lot of copy-pasted definitions in almost every device and code cleanup efforts requred in order to create truly shared codebase. Reported-by: Michael S. Tsirkin <m...@redhat.com> Implemented suggestions by Anthony Liguori Reported-by: Anthony Liguori <aligu...@us.ibm.com> Fixed incorrect checksum caclulation for some packets in SW offloads mode Reported-by: Gerhard Wiesinger <li...@wiesinger.com> Changes in V5: MSI-X save/load implemented in the device instead of pci bus as suggested by Michael S. Tsirkin Reported-by: Michael S. Tsirkin <m...@redhat.com> Patches regrouped as suggested by Paolo Bonzini Reported-by: Paolo Bonzini <pbonz...@redhat.com> 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 (7): Adding missing flag VIRTIO_NET_HDR_F_DATA_VALID from Linux kernel source tree 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 Adding utility function iov_rebuild() for smart iovec copy Header with various utility functions shared by VMWARE SCSI and network devices Various utility functions used by VMWARE network devices Packet abstraction used by VMWARE network devices VMXNET3 paravirtualized device implementation Device "vmxnet3" added. Makefile.objs | 1 + default-configs/pci.mak | 1 + hw/pci.h | 1 + hw/virtio-net.h | 13 +- hw/vmware_utils.h | 126 +++ hw/vmxnet3.c | 2435 +++++++++++++++++++++++++++++++++++++++++++++++ hw/vmxnet3.h | 762 +++++++++++++++ hw/vmxnet_debug.h | 121 +++ hw/vmxnet_pkt.c | 776 +++++++++++++++ hw/vmxnet_pkt.h | 311 ++++++ hw/vmxnet_utils.c | 219 +++++ hw/vmxnet_utils.h | 341 +++++++ iov.c | 53 + iov.h | 6 + net/checksum.c | 13 +- net/checksum.h | 14 +- 16 files changed, 5180 insertions(+), 13 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