qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v2 00/13] Introduce igb


From: Akihiko Odaki
Subject: Re: [PATCH v2 00/13] Introduce igb
Date: Thu, 26 Jan 2023 20:31:32 +0900
User-agent: Mozilla/5.0 (X11; Linux aarch64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1

On 2023/01/26 18:34, Sriram Yagnaraman wrote:

-----Original Message-----
From: Sriram Yagnaraman
Sent: Tuesday, 24 January 2023 09:54
To: Akihiko Odaki <akihiko.odaki@daynix.com>; Jason Wang
<jasowang@redhat.com>
Cc: 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>
Subject: RE: [PATCH v2 00/13] Introduce igb


-----Original Message-----
From: Akihiko Odaki <akihiko.odaki@daynix.com>
Sent: Tuesday, 24 January 2023 05:54
To: Jason Wang <jasowang@redhat.com>; Sriram Yagnaraman
<sriram.yagnaraman@est.tech>
Cc: 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>
Subject: Re: [PATCH v2 00/13] Introduce igb

On 2023/01/16 17:01, Jason Wang wrote:
On Sat, Jan 14, 2023 at 12:10 PM Akihiko Odaki
<akihiko.odaki@daynix.com> wrote:

Based-on: <20230114035919.35251-1-akihiko.odaki@daynix.com>
([PATCH 00/19] 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

It is possible to merge the work from Sriram Yagnaraman and to
cherry-pick useful changes from this series later.

I think there are several different ways to get the changes into the
mainline.
I'm open to any options.

I can only do reviews for the general networking part but not the
82576 specific part. It would be better if either of the series can
get some ACKs from some ones that they are familiar with 82576, then
I can try to merge.

Thanks

I have just sent v3 to the list.

Sriram Yagnaraman, who wrote another series for 82576, is the only
person I know who is familiar with the device.

Sriram, can you take a look at v3 I have just sent?

I am at best a good interpreter of the 82576 datasheet. I will review your
changes get back here.

I have reviewed and tested your changes and it looks great to me in general.
I would like to note some features that I would like to add on top of your 
patch, if you have not worked on these already :)
- PFRSTD (PF reset done)
- SRRCTL (Rx desc buf size)
- RLPML (oversized packet handling)
- MAC/VLAN anti-spoof checks
- VMOLR_STRVLAN and RPLOLR_STRVLAN (VLAN stripping for VFs)
- VMVIR (VLAN insertion for VFs)
- VF reset
- VFTE, VFRE, VFLRE
- VF stats
- Set EITR initial value

Since this is a new device and there are no existing users, is it possible to 
get the change into baseline first and fix missing features and bugs soon after?

Thanks for reviewing,

I have just submitted v4. The difference from v3 is only that igb now correctly specifies VFs associated with queues for DMA.

RX descriptor buffer size in SRRCTL is respected since v3. I think the other features are missing. I am not planning to implement them either, but I'm considering to test the code with DPDK and I may add features it requires.

I also want to get this series into the mainline before adding new features as it is already so big, but please tell me if you noticed bugs, especially ones which can be fixed without adding more code.

Regards,
Akihiko Odaki




Regards,
Akihiko Odaki



V1 -> V2:
- Spun off e1000e general improvements to a distinct series.
- Restored vnet_hdr offload as there seems nothing preventing from that.

Akihiko Odaki (13):
    hw/net/net_tx_pkt: Introduce net_tx_pkt_get_eth_hdr
    pcie: Introduce pcie_sriov_num_vfs
    e1000: Split header files
    igb: Copy e1000e code
    igb: Rename identifiers
    igb: Build igb
    igb: Transform to 82576 implementation
    tests/qtest/e1000e-test: Fabricate ethernet header
    tests/qtest/libqos/e1000e: Export macreg functions
    tests/qtest/libqos/igb: Copy e1000e code
    tests/qtest/libqos/igb: Transform to igb tests
    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                   |   70 +
   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                                  |  615 +++
   hw/net/igb_common.h                           |  144 +
   hw/net/igb_core.c                             | 3946 +++++++++++++++++
   hw/net/igb_core.h                             |  147 +
   hw/net/igb_regs.h                             |  624 +++
   hw/net/igbvf.c                                |  327 ++
   hw/net/meson.build                            |    2 +
   hw/net/net_tx_pkt.c                           |    6 +
   hw/net/net_tx_pkt.h                           |    8 +
   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                     |   17 +-
   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 +
   34 files changed, 7492 insertions(+), 1018 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

--
2.39.0





reply via email to

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