> -----Original Message-----
> From: Akihiko Odaki <akihiko.od...@daynix.com>
> Sent: Thursday, 26 January 2023 12:32
> To: Sriram Yagnaraman <sriram.yagnara...@est.tech>; Jason Wang
> <jasow...@redhat.com>
> Cc: Dmitry Fleytman <dmitry.fleyt...@gmail.com>; Michael S. Tsirkin
> <m...@redhat.com>; Marcel Apfelbaum <marcel.apfelb...@gmail.com>;
> Alex Bennée <alex.ben...@linaro.org>; Philippe Mathieu-Daudé
> <phi...@linaro.org>; Thomas Huth <th...@redhat.com>; Wainer dos Santos
> Moschetta <waine...@redhat.com>; Beraldo Leal <bl...@redhat.com>;
> Cleber Rosa <cr...@redhat.com>; Laurent Vivier <lviv...@redhat.com>;
> Paolo Bonzini <pbonz...@redhat.com>; Alexander Bulekov <alx...@bu.edu>;
> Bandan Das <b...@redhat.com>; Stefan Hajnoczi <stefa...@redhat.com>;
> Darren Kenny <darren.ke...@oracle.com>; Qiuhao Li
> <qiuhao...@outlook.com>; qemu-devel@nongnu.org; qemu-
> p...@nongnu.org; de...@daynix.com; Yan Vugenfirer
> <yvuge...@redhat.com>; Yuri Benditovich <yuri.benditov...@daynix.com>
> Subject: Re: [PATCH v2 00/13] Introduce igb
> 
> 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.od...@daynix.com>; Jason Wang
> >> <jasow...@redhat.com>
> >> Cc: Dmitry Fleytman <dmitry.fleyt...@gmail.com>; Michael S. Tsirkin
> >> <m...@redhat.com>; Marcel Apfelbaum <marcel.apfelb...@gmail.com>;
> Alex
> >> Bennée <alex.ben...@linaro.org>; Philippe Mathieu-Daudé
> >> <phi...@linaro.org>; Thomas Huth <th...@redhat.com>; Wainer dos
> >> Santos Moschetta <waine...@redhat.com>; Beraldo Leal
> >> <bl...@redhat.com>; Cleber Rosa <cr...@redhat.com>; Laurent Vivier
> >> <lviv...@redhat.com>; Paolo Bonzini <pbonz...@redhat.com>; Alexander
> >> Bulekov <alx...@bu.edu>; Bandan Das <b...@redhat.com>; Stefan
> Hajnoczi
> >> <stefa...@redhat.com>; Darren Kenny <darren.ke...@oracle.com>;
> Qiuhao
> >> Li <qiuhao...@outlook.com>; qemu-devel@nongnu.org; qemu-
> >> p...@nongnu.org; de...@daynix.com; Yan Vugenfirer
> >> <yvuge...@redhat.com>; Yuri Benditovich <yuri.benditov...@daynix.com>
> >> Subject: RE: [PATCH v2 00/13] Introduce igb
> >>
> >>
> >>> -----Original Message-----
> >>> From: Akihiko Odaki <akihiko.od...@daynix.com>
> >>> Sent: Tuesday, 24 January 2023 05:54
> >>> To: Jason Wang <jasow...@redhat.com>; Sriram Yagnaraman
> >>> <sriram.yagnara...@est.tech>
> >>> Cc: Dmitry Fleytman <dmitry.fleyt...@gmail.com>; Michael S. Tsirkin
> >>> <m...@redhat.com>; Marcel Apfelbaum
> <marcel.apfelb...@gmail.com>;
> >> Alex
> >>> Bennée <alex.ben...@linaro.org>; Philippe Mathieu-Daudé
> >>> <phi...@linaro.org>; Thomas Huth <th...@redhat.com>; Wainer dos
> >> Santos
> >>> Moschetta <waine...@redhat.com>; Beraldo Leal <bl...@redhat.com>;
> >>> Cleber Rosa <cr...@redhat.com>; Laurent Vivier <lviv...@redhat.com>;
> >>> Paolo Bonzini <pbonz...@redhat.com>; Alexander Bulekov
> >>> <alx...@bu.edu>; Bandan Das <b...@redhat.com>; Stefan Hajnoczi
> >>> <stefa...@redhat.com>; Darren Kenny <darren.ke...@oracle.com>;
> >> Qiuhao
> >>> Li <qiuhao...@outlook.com>; qemu-devel@nongnu.org; qemu-
> >>> p...@nongnu.org; de...@daynix.com; Yan Vugenfirer
> >>> <yvuge...@redhat.com>; Yuri Benditovich
> >>> <yuri.benditov...@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.od...@daynix.com> wrote:
> >>>>>
> >>>>> Based-on: <20230114035919.35251-1-akihiko.od...@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.htm
> >>>>> l
> >>>>>
> >>>>> 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.

Ok, I just sent a patchset adding most of the features I listed above ([PATCH 
0/9] igb: add missing feature set).

> 
> 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.

LGTM, I have tested your changes and it works perfectly. Thank you.
Is it possible to squash your igb commits into one patch that I can give an ACK 
to?

> 
> 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