[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH v8 0/8] Introduce igb
From: |
Sriram Yagnaraman |
Subject: |
RE: [PATCH v8 0/8] Introduce igb |
Date: |
Mon, 6 Feb 2023 16:29:19 +0000 |
> -----Original Message-----
> From: Akihiko Odaki <akihiko.odaki@daynix.com>
> Sent: Saturday, 4 February 2023 05:36
> Cc: Jason Wang <jasowang@redhat.com>; Dmitry Fleytman
> <dmitry.fleytman@gmail.com>; Michael S . Tsirkin <mst@redhat.com>;
> Marcel Apfelbaum <marcel.apfelbaum@gmail.com>; Alex Bennée
> <alex.bennee@linaro.org>; Philippe Mathieu-Daudé <philmd@linaro.org>;
> Thomas Huth <thuth@redhat.com>; Wainer dos Santos Moschetta
> <wainersm@redhat.com>; Beraldo Leal <bleal@redhat.com>; Cleber Rosa
> <crosa@redhat.com>; Laurent Vivier <lvivier@redhat.com>; Paolo Bonzini
> <pbonzini@redhat.com>; Alexander Bulekov <alxndr@bu.edu>; Bandan Das
> <bsd@redhat.com>; Stefan Hajnoczi <stefanha@redhat.com>; Darren Kenny
> <darren.kenny@oracle.com>; Qiuhao Li <Qiuhao.Li@outlook.com>; qemu-
> devel@nongnu.org; qemu-ppc@nongnu.org; devel@daynix.com; Yan
> Vugenfirer <yvugenfi@redhat.com>; Yuri Benditovich
> <yuri.benditovich@daynix.com>; Sriram Yagnaraman
> <sriram.yagnaraman@est.tech>; Gal Hammer <gal.hammer@sap.com>;
> Akihiko Odaki <akihiko.odaki@daynix.com>
> Subject: [PATCH v8 0/8] Introduce igb
>
> Based-on: <20230201033539.30049-1-akihiko.odaki@daynix.com>
> ([PATCH v5 00/29] e1000x cleanups (preliminary for IGB))
>
> igb is a family of Intel's gigabit ethernet controllers. This series
> implements
> 82576 emulation in particular. You can see the last patch for the
> documentation.
>
> Note that there is another effort to bring 82576 emulation. This series was
> developed independently by Sriram Yagnaraman.
> https://lists.gnu.org/archive/html/qemu-devel/2022-12/msg04670.html
>
> V7 -> V8:
> - Removed obsolete patch
> "hw/net/net_tx_pkt: Introduce net_tx_pkt_get_eth_hdr" (Cédric Le Goater)
>
> V6 -> V7:
> - Reordered statements in igb_receive_internal() so that checksum will be
> calculated only once and it will be more close to e1000e_receive_internal().
>
> V5 -> V6:
> - Rebased.
> - Renamed "test" to "packet" in tests/qtest/e1000e-test.c.
> - Fixed Rx logic so that a Rx pool without enough space won't prevent other
> pools from receiving, based on Sriram Yagnaraman's work.
>
> V4 -> V5:
> - Rebased.
> - Squashed patches to copy from e1000e code and modify it.
> - Listed the implemented features.
> - Added a check for interrupts availablity on PF.
> - Fixed the declaration of igb_receive_internal(). (Sriram Yagnaraman)
>
> V3 -> V4:
> - Rebased.
> - Corrected PCIDevice specified for DMA.
>
> V2 -> V3:
> - Rebased.
> - Fixed PCIDevice reference in hw/net/igbvf.c.
> - Fixed TX packet switching when VM loopback is enabled.
> - Fixed VMDq enablement check.
> - Fixed RX descriptor length parser.
> - Fixed the definitions of RQDPC readers.
> - Implemented VLAN VM filter.
> - Implemented VT_CTL.Def_PL.
> - Implemented the combination of VMDq and RSS.
> - Noted that igb is tested with Windows HLK.
>
> V1 -> V2:
> - Spun off e1000e general improvements to a distinct series.
> - Restored vnet_hdr offload as there seems nothing preventing from that.
>
> Akihiko Odaki (8):
> pcie: Introduce pcie_sriov_num_vfs
> e1000: Split header files
> Intrdocue igb device emulation
> tests/qtest/e1000e-test: Fabricate ethernet header
> tests/qtest/libqos/e1000e: Export macreg functions
> igb: Introduce qtest for igb device
> tests/avocado: Add igb test
> docs/system/devices/igb: Add igb documentation
>
> MAINTAINERS | 9 +
> docs/system/device-emulation.rst | 1 +
> docs/system/devices/igb.rst | 71 +
> hw/net/Kconfig | 5 +
> hw/net/e1000.c | 1 +
> hw/net/e1000_common.h | 102 +
> hw/net/e1000_regs.h | 927 +---
> hw/net/e1000e.c | 3 +-
> hw/net/e1000e_core.c | 1 +
> hw/net/e1000x_common.c | 1 +
> hw/net/e1000x_common.h | 74 -
> hw/net/e1000x_regs.h | 940 ++++
> hw/net/igb.c | 612 +++
> hw/net/igb_common.h | 146 +
> hw/net/igb_core.c | 4043 +++++++++++++++++
> hw/net/igb_core.h | 144 +
> hw/net/igb_regs.h | 648 +++
> hw/net/igbvf.c | 327 ++
> hw/net/meson.build | 2 +
> hw/net/trace-events | 32 +
> hw/pci/pcie_sriov.c | 5 +
> include/hw/pci/pcie_sriov.h | 3 +
> .../org.centos/stream/8/x86_64/test-avocado | 1 +
> tests/avocado/igb.py | 38 +
> tests/qtest/e1000e-test.c | 25 +-
> tests/qtest/fuzz/generic_fuzz_configs.h | 5 +
> tests/qtest/igb-test.c | 243 +
> tests/qtest/libqos/e1000e.c | 12 -
> tests/qtest/libqos/e1000e.h | 14 +
> tests/qtest/libqos/igb.c | 185 +
> tests/qtest/libqos/meson.build | 1 +
> tests/qtest/meson.build | 1 +
> 32 files changed, 7600 insertions(+), 1022 deletions(-) create mode 100644
> docs/system/devices/igb.rst create mode 100644 hw/net/e1000_common.h
> create mode 100644 hw/net/e1000x_regs.h create mode 100644
> hw/net/igb.c create mode 100644 hw/net/igb_common.h create mode
> 100644 hw/net/igb_core.c create mode 100644 hw/net/igb_core.h create
> mode 100644 hw/net/igb_regs.h create mode 100644 hw/net/igbvf.c create
> mode 100644 tests/avocado/igb.py create mode 100644 tests/qtest/igb-
> test.c create mode 100644 tests/qtest/libqos/igb.c
Tested the series with Linux kernel v6.1 igb/igbvf drivers, looks great to me.
Reviewed-by: Sriram Yagnaraman <sriram.yagnaraman@est.tech>
Tested-by: Sriram Yagnaraman <sriram.yagnaraman@est.tech>
>
> --
> 2.39.1
- [PATCH v8 5/8] tests/qtest/libqos/e1000e: Export macreg functions, (continued)
- [PATCH v8 5/8] tests/qtest/libqos/e1000e: Export macreg functions, Akihiko Odaki, 2023/02/03
- [PATCH v8 6/8] igb: Introduce qtest for igb device, Akihiko Odaki, 2023/02/03
- [PATCH v8 7/8] tests/avocado: Add igb test, Akihiko Odaki, 2023/02/03
- [PATCH v8 8/8] docs/system/devices/igb: Add igb documentation, Akihiko Odaki, 2023/02/03
- Re: [PATCH v8 0/8] Introduce igb, Akihiko Odaki, 2023/02/06
- Re: [PATCH v8 0/8] Introduce igb, Cédric Le Goater, 2023/02/06
- RE: [PATCH v8 0/8] Introduce igb,
Sriram Yagnaraman <=