[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 0/5] Introduce Intel 82574 GbE Controller Em
From: |
Dmitry Fleytman |
Subject: |
Re: [Qemu-devel] [RFC PATCH 0/5] Introduce Intel 82574 GbE Controller Emulation (e1000e) |
Date: |
Wed, 28 Oct 2015 08:11:15 +0200 |
> On 28 Oct 2015, at 07:44 AM, Jason Wang <address@hidden> wrote:
>
>
>
> 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.
Thanks, Jason.
>
>>
>> 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
>>
>
- [Qemu-devel] [RFC PATCH 0/5] Introduce Intel 82574 GbE Controller Emulation (e1000e), Leonid Bloch, 2015/10/25
- [Qemu-devel] [RFC PATCH 1/5] net: Add macros for ETH address tracing, Leonid Bloch, 2015/10/25
- [Qemu-devel] [RFC PATCH 4/5] e1000_regs: Add definitions for Intel 82574-specific bits, Leonid Bloch, 2015/10/25
- [Qemu-devel] [RFC PATCH 3/5] net_pkt: Extend packet abstraction as requied by e1000e functionality, Leonid Bloch, 2015/10/25
- [Qemu-devel] [RFC PATCH 2/5] net_pkt: Name vmxnet3 packet abstractions more generic, Leonid Bloch, 2015/10/25
- [Qemu-devel] [RFC PATCH 5/5] net: Introduce e1000e device emulation, Leonid Bloch, 2015/10/25
- Re: [Qemu-devel] [RFC PATCH 0/5] Introduce Intel 82574 GbE Controller Emulation (e1000e), Jason Wang, 2015/10/28