All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Wang <jasowang@redhat.com>
To: Leonid Bloch <leonid.bloch@ravellosystems.com>, qemu-devel@nongnu.org
Cc: Dmitry Fleytman <dmitry@daynix.com>,
	Leonid Bloch <leonid@daynix.com>,
	Shmulik Ladkani <shmulik.ladkani@ravellosystems.com>,
	"Michael S. Tsirkin" <mst@redhat.com>
Subject: Re: [Qemu-devel] [RFC PATCH v2 00/10] Introduce Intel 82574 GbE Controller Emulation (e1000e)
Date: Tue, 19 Jan 2016 11:48:37 +0800	[thread overview]
Message-ID: <569DB215.9040101@redhat.com> (raw)
In-Reply-To: <1453138550-1096-1-git-send-email-leonid.bloch@ravellosystems.com>



On 01/19/2016 01:35 AM, Leonid Bloch wrote:
> Hello All,
>
> This series is the latest code of the e1000e device emulation being developed.
>
> Changes since v1:
>
> 1. Added support for all the device features:
>   - Interrupt moderation.
>   - RSS.
>   - Multiqueue.
> 2. Simulated exact PCI/PCIe configuration space layout.
> 3. Made fixes needed to pass Microsoft's HW certification tests (HCK).
>
> This series is still an RFC, because the following tasks are not done yet:
>
> 1. See which code can be shared between this device and the existing e1000 device.
> 2. Rebase patches to the latest master (current base is v2.3.0).
>
> Please share your thoughts,
> Thanks, Dmitry.

Hi:

Do you have a public git tree for easier reviewing?

Thanks

>
> ===================
>
> Hello qemu-devel,
>
> This patch series is an RFC for the new networking device emulation
> we're developing for QEMU.
>
> This new device emulates the Intel 82574 GbE Controller and works
> with unmodified Intel e1000e drivers from the Linux/Windows kernels.
>
> The status of the current series is "Functional Device Ready, work
> on Extended Features in Progress".
>
> More precisely, these patches represent a functional device, which
> is recognized by the standard Intel drivers, and is able to transfer
> TX/RX packets with CSO/TSO offloads, according to the spec.
>
> Extended features not supported yet (work in progress):
>   1. TX/RX Interrupt moderation mechanisms
>   2. RSS
>   3. Full-featured multi-queue (use of multiqueued network backend)
>
> Also, there will be some code refactoring and performance
> optimization efforts.
>
> This series was tested on Linux (Fedora 22) and Windows (2012R2)
> guests, using Iperf, with TX/RX and TCP/UDP streams, and various
> packet sizes.
>
> More thorough testing, including data streams with different MTU
> sizes, and Microsoft Certification (HLK) tests, are pending missing
> features' development.
>
> See commit messages (esp. "net: Introduce e1000e device emulation")
> for more information about the development approaches and the
> architecture options chosen for this device.
>
> This series is based upon v2.3.0 tag of the upstream QEMU repository,
> and it will be rebased to latest before the final submission.
>
> Please share your thoughts - any feedback is highly welcomed :)
>
> Best Regards,
> Dmitry Fleytman.
>
> Dmitry Fleytman (10):
>   msix: make msix_clr_pending() visible for clients
>   pci: Introduce function for PCI PM capability creation
>   pcie: Add support for PCIe CAP v1
>   pcie: Introduce function for DSN capability creation
>   net: Introduce Toeplitz hash calculator
>   net: Add macros for ETH address tracing
>   net_pkt: Name vmxnet3 packet abstractions more generic
>   net_pkt: Extend packet abstraction as requied by e1000e functionality
>   e1000_regs: Add definitions for Intel 82574-specific bits
>   net: Introduce e1000e device emulation
>
>  MAINTAINERS                |   14 +
>  default-configs/pci.mak    |    1 +
>  hw/net/Makefile.objs       |    5 +-
>  hw/net/e1000_regs.h        |  353 ++++-
>  hw/net/e1000e.c            |  700 +++++++++
>  hw/net/e1000e_core.c       | 3453 ++++++++++++++++++++++++++++++++++++++++++++
>  hw/net/e1000e_core.h       |  230 +++
>  hw/net/net_rx_pkt.c        |  536 +++++++
>  hw/net/net_rx_pkt.h        |  353 +++++
>  hw/net/net_tx_pkt.c        |  627 ++++++++
>  hw/net/net_tx_pkt.h        |  191 +++
>  hw/net/vmxnet3.c           |   80 +-
>  hw/net/vmxnet_rx_pkt.c     |  187 ---
>  hw/net/vmxnet_rx_pkt.h     |  174 ---
>  hw/net/vmxnet_tx_pkt.c     |  567 --------
>  hw/net/vmxnet_tx_pkt.h     |  148 --
>  hw/pci/msix.c              |    2 +-
>  hw/pci/pci.c               |   21 +
>  hw/pci/pcie.c              |   96 +-
>  include/hw/pci/msix.h      |    1 +
>  include/hw/pci/pci.h       |    2 +
>  include/hw/pci/pci_regs.h  |    4 +
>  include/hw/pci/pcie.h      |    5 +
>  include/hw/pci/pcie_regs.h |    8 +-
>  include/net/checksum.h     |   49 +-
>  include/net/eth.h          |  161 ++-
>  include/net/net.h          |    5 +
>  net/checksum.c             |    7 +-
>  net/eth.c                  |  410 +++++-
>  tests/Makefile             |    4 +-
>  trace-events               |  195 +++
>  31 files changed, 7350 insertions(+), 1239 deletions(-)
>  create mode 100644 hw/net/e1000e.c
>  create mode 100644 hw/net/e1000e_core.c
>  create mode 100644 hw/net/e1000e_core.h
>  create mode 100644 hw/net/net_rx_pkt.c
>  create mode 100644 hw/net/net_rx_pkt.h
>  create mode 100644 hw/net/net_tx_pkt.c
>  create mode 100644 hw/net/net_tx_pkt.h
>  delete mode 100644 hw/net/vmxnet_rx_pkt.c
>  delete mode 100644 hw/net/vmxnet_rx_pkt.h
>  delete mode 100644 hw/net/vmxnet_tx_pkt.c
>  delete mode 100644 hw/net/vmxnet_tx_pkt.h
>

  parent reply	other threads:[~2016-01-19  3:48 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-18 17:35 [Qemu-devel] [RFC PATCH v2 00/10] Introduce Intel 82574 GbE Controller Emulation (e1000e) Leonid Bloch
2016-01-18 17:35 ` [Qemu-devel] [RFC PATCH v2 01/10] msix: make msix_clr_pending() visible for clients Leonid Bloch
2016-01-18 17:35 ` [Qemu-devel] [RFC PATCH v2 02/10] pci: Introduce function for PCI PM capability creation Leonid Bloch
2016-01-19 10:36   ` Marcel Apfelbaum
2016-01-19 13:45     ` Dmitry Fleytman
2016-01-18 17:35 ` [Qemu-devel] [RFC PATCH v2 03/10] pcie: Add support for PCIe CAP v1 Leonid Bloch
2016-01-18 17:35 ` [Qemu-devel] [RFC PATCH v2 04/10] pcie: Introduce function for DSN capability creation Leonid Bloch
2016-01-19 14:26   ` Marcel Apfelbaum
2016-01-19 15:02     ` Shmulik Ladkani
2016-01-19 15:06     ` Dmitry Fleytman
2016-01-18 17:35 ` [Qemu-devel] [RFC PATCH v2 05/10] net: Introduce Toeplitz hash calculator Leonid Bloch
2016-01-18 17:35 ` [Qemu-devel] [RFC PATCH v2 06/10] net: Add macros for ETH address tracing Leonid Bloch
2016-01-18 17:35 ` [Qemu-devel] [RFC PATCH v2 07/10] net_pkt: Name vmxnet3 packet abstractions more generic Leonid Bloch
2016-01-18 17:35 ` [Qemu-devel] [RFC PATCH v2 08/10] net_pkt: Extend packet abstraction as requied by e1000e functionality Leonid Bloch
2016-01-18 17:35 ` [Qemu-devel] [RFC PATCH v2 09/10] e1000_regs: Add definitions for Intel 82574-specific bits Leonid Bloch
2016-01-18 17:35 ` [Qemu-devel] [RFC PATCH v2 10/10] net: Introduce e1000e device emulation Leonid Bloch
2016-01-19  3:48 ` Jason Wang [this message]
2016-01-19  8:25   ` [Qemu-devel] [RFC PATCH v2 00/10] Introduce Intel 82574 GbE Controller Emulation (e1000e) Dmitry Fleytman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=569DB215.9040101@redhat.com \
    --to=jasowang@redhat.com \
    --cc=dmitry@daynix.com \
    --cc=leonid.bloch@ravellosystems.com \
    --cc=leonid@daynix.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=shmulik.ladkani@ravellosystems.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.