From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44143) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZrJXP-00036h-49 for qemu-devel@nongnu.org; Wed, 28 Oct 2015 01:44:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZrJXL-00054d-42 for qemu-devel@nongnu.org; Wed, 28 Oct 2015 01:44:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45547) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZrJXK-00054X-Sq for qemu-devel@nongnu.org; Wed, 28 Oct 2015 01:44:39 -0400 References: <1445792408-28571-1-git-send-email-leonid.bloch@ravellosystems.com> From: Jason Wang Message-ID: <563060C1.7030209@redhat.com> Date: Wed, 28 Oct 2015 13:44:33 +0800 MIME-Version: 1.0 In-Reply-To: <1445792408-28571-1-git-send-email-leonid.bloch@ravellosystems.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC PATCH 0/5] Introduce Intel 82574 GbE Controller Emulation (e1000e) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Leonid Bloch , qemu-devel@nongnu.org Cc: Dmitry Fleytman , Leonid Bloch , Shmulik Ladkani On 10/26/2015 01:00 AM, Leonid Bloch wrote: > 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. Thanks for the series. Will go through this in next few days. Since 2.5 is in soft freeze, this looks a 2.6 material. > > Dmitry Fleytman (5): > 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 | 2 + > default-configs/pci.mak | 1 + > hw/net/Makefile.objs | 5 +- > hw/net/e1000_regs.h | 201 ++++- > hw/net/e1000e.c | 531 ++++++++++++ > hw/net/e1000e_core.c | 2081 +++++++++++++++++++++++++++++++++++++++++++++++ > hw/net/e1000e_core.h | 181 +++++ > hw/net/net_rx_pkt.c | 273 +++++++ > hw/net/net_rx_pkt.h | 241 ++++++ > hw/net/net_tx_pkt.c | 606 ++++++++++++++ > 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 ---- > include/net/eth.h | 90 +- > include/net/net.h | 5 + > net/eth.c | 152 +++- > tests/Makefile | 4 +- > trace-events | 68 ++ > 21 files changed, 4597 insertions(+), 1191 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 >