Re: [Qemu-devel] [PATCH 0/7 V6] VMXNET3 paravirtual NIC device implementation

2012-04-18 Thread Gerhard Wiesinger
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 Fleytmandmi...@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. Tsirkinm...@redhat.com

Implemented suggestions by Anthony Liguori

  Reported-by: Anthony Liguorialigu...@us.ibm.com

Fixed incorrect checksum caclulation for some packets in SW offloads mode

  Reported-by: Gerhard Wiesingerli...@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. Tsirkinm...@redhat.com

Patches regrouped as suggested by Paolo Bonzini

  Reported-by: Paolo Bonzinipbonz...@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 Wiesingerli...@wiesinger.com

Various coding style adjustments and patch split-up as suggested by Anthony
Liguori

  Reported-by: Anthony Liguorialigu...@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 Wiesingerli...@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






[Qemu-devel] [PATCH 0/7 V6] VMXNET3 paravirtual NIC device implementation

2012-04-17 Thread Dmitry Fleytman
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