qemu-ppc
[Top][All Lists]
Advanced

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

Re: [PATCH v9 0/9] Introduce igb


From: Jason Wang
Subject: Re: [PATCH v9 0/9] Introduce igb
Date: Tue, 7 Mar 2023 16:20:48 +0800

On Thu, Feb 23, 2023 at 6:51 PM Akihiko Odaki <akihiko.odaki@daynix.com> wrote:
>
> Based-on: <20230223102018.141748-1-akihiko.odaki@daynix.com>
> ([PATCH v6 00/34] 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

I've queued this series with some fixes about the compiler warnings
about the end of statement just after "default:"

It mainly the user of

commit 5bf7f8430247e7bff7e2010de25556aeb6adb548
Author: Akihiko Odaki <akihiko.odaki@daynix.com>
Date:   Thu Feb 23 19:50:49 2023 +0900

    net/eth: Introduce EthL4HdrProto

That changes virtio-net, e1000e, and igb. Please check the changes and
post patches on top if I was wrong.

diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c
index 239875dd89..4d9679ca0b 100644
--- a/hw/net/e1000e_core.c
+++ b/hw/net/e1000e_core.c
@@ -1275,6 +1275,7 @@ e1000e_build_rx_metadata(E1000ECore *core,
             break;

         default:
+            break;
         }
     } else {
         trace_e1000e_rx_metadata_l4_cso_disabled();
diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c
index d779c3dc14..a7c7bfdc75 100644
--- a/hw/net/igb_core.c
+++ b/hw/net/igb_core.c
@@ -1239,6 +1239,7 @@ igb_build_rx_metadata(IGBCore *core,
             break;

         default:
+            goto func_exit;
         }
     } else {
         trace_e1000e_rx_metadata_l4_cso_disabled();
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 4b1d387356..3524f02f2e 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -1751,6 +1751,7 @@ static uint8_t virtio_net_get_hash_type(bool hasip4,
             break;

         default:
+            break;
         }

         if (types & VIRTIO_NET_RSS_HASH_TYPE_IPv4) {
@@ -1777,6 +1778,7 @@ static uint8_t virtio_net_get_hash_type(bool hasip4,
             break;

         default:
+            break;
         }

         if (types & VIRTIO_NET_RSS_HASH_TYPE_IP_EX) {


>
> - V8 -> V9:
> - Rebased.
> - Added patch "net/eth: Introduce EthL4HdrProto". This is not strictly 
> necessary
>   yet but I'm still adding it because it will be necessary soon and it touches
>   some code common for igb and e1000e.
> - Replaced Linux internal types in hw/net/igb_regs.h with standard ones.
>
> 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 (9):
>   net/eth: Introduce EthL4HdrProto
>   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                           |  954 +---
>  hw/net/e1000e.c                               |    3 +-
>  hw/net/e1000e_core.c                          |   60 +-
>  hw/net/e1000x_common.c                        |    1 +
>  hw/net/e1000x_common.h                        |   74 -
>  hw/net/e1000x_regs.h                          |  967 ++++
>  hw/net/igb.c                                  |  615 +++
>  hw/net/igb_common.h                           |  146 +
>  hw/net/igb_core.c                             | 4076 +++++++++++++++++
>  hw/net/igb_core.h                             |  146 +
>  hw/net/igb_regs.h                             |  648 +++
>  hw/net/igbvf.c                                |  327 ++
>  hw/net/meson.build                            |    2 +
>  hw/net/net_rx_pkt.c                           |   48 +-
>  hw/net/net_rx_pkt.h                           |    5 +-
>  hw/net/trace-events                           |   40 +-
>  hw/net/virtio-net.c                           |   67 +-
>  hw/net/vmxnet3.c                              |   22 +-
>  hw/pci/pcie_sriov.c                           |    5 +
>  include/hw/pci/pcie_sriov.h                   |    3 +
>  include/net/eth.h                             |    8 +-
>  net/eth.c                                     |   26 +-
>  .../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 +
>  38 files changed, 7809 insertions(+), 1148 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.1
>




reply via email to

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