As already pretested this patch I got from Dmitry now I successfully
tested it on Fedora 16 and Knoppix 6.7 (retested again successfully).
netio performance on localhost (ok):
Packet size 1k bytes: 33645 KByte/s Tx, 25279 KByte/s Rx.
Packet size 2k bytes: 45884 KByte/s Tx, 24854 KByte/s Rx.
Packet size 4k bytes: 80332 KByte/s Tx, 42068 KByte/s Rx.
Packet size 8k bytes: 117696 KByte/s Tx, 64489 KByte/s Rx.
Packet size 16k bytes: 150418 KByte/s Tx, 100288 KByte/s Rx.
Packet size 32k bytes: 182412 KByte/s Tx, 138779 KByte/s Rx.
Since hw passed also WHQL tests it is IHMO ready for commit :-)
Formal:
Tested-by: Gerhard Wiesinger <li...@wiesinger.com>
Ciao,
Gerhard
On 17.04.2012 14:32, Dmitry Fleytman wrote:
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