qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Gerhard Wiesinger
Subject: Re: [Qemu-devel] [PATCH 0/7 V6] VMXNET3 paravirtual NIC device implementation
Date: Wed, 18 Apr 2012 08:00:05 +0200
User-agent: Mozilla/5.0 (Windows NT 6.0; WOW64; rv:11.0) Gecko/20120327 Thunderbird/11.0.1

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 <address@hidden>

Ciao,
Gerhard

On 17.04.2012 14:32, Dmitry Fleytman wrote:
From: Dmitry Fleytman<address@hidden>

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<address@hidden>

    Implemented suggestions by Anthony Liguori

      Reported-by: Anthony Liguori<address@hidden>

    Fixed incorrect checksum caclulation for some packets in SW offloads mode

      Reported-by: Gerhard Wiesinger<address@hidden>

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<address@hidden>

    Patches regrouped as suggested by Paolo Bonzini

      Reported-by: Paolo Bonzini<address@hidden>

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<address@hidden>

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

      Reported-by: Anthony Liguori<address@hidden>

    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<address@hidden>

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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]