Message ID | 1739286398-61972-1-git-send-email-caowenbo@mucse.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B85D5461F9; Tue, 11 Feb 2025 16:07:00 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 80223402EA; Tue, 11 Feb 2025 16:07:00 +0100 (CET) Received: from localhost.localdomain (unknown [103.233.162.252]) by mails.dpdk.org (Postfix) with ESMTP id F2102402B9 for <dev@dpdk.org>; Tue, 11 Feb 2025 16:06:57 +0100 (CET) Received: by localhost.localdomain (Postfix, from userid 0) id 1DA25A3A59; Tue, 11 Feb 2025 23:06:41 +0800 (CST) From: Wenbo Cao <caowenbo@mucse.com> To: thomas@monjalon.net Cc: stephen@networkplumber.org, dev@dpdk.org, ferruh.yigit@amd.com, andrew.rybchenko@oktetlabs.ru, yaojun@mucse.com, Wenbo Cao <caowenbo@mucse.com> Subject: [PATCH v10 00/28] [v10]drivers/net Add Support mucse N10 Pmd Driver Date: Tue, 11 Feb 2025 23:06:10 +0800 Message-Id: <1739286398-61972-1-git-send-email-caowenbo@mucse.com> X-Mailer: git-send-email 1.8.3.1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org |
Series |
drivers/net Add Support mucse N10 Pmd Driver
|
|
Message
11
Feb. 11, 2025, 3:06 p.m. UTC
For This patchset just to support the basic chip init work and user can just found the eth_dev, but can't control more. For Now just support 2*10g nic,the chip can support 2*10g,4*10g,4*1g,8*1g,8*10g. The Feature rx side can support rx-cksum-offload,rss,vlan-filter flow_clow,uncast_filter,mcast_filter,1588,Jumbo-frame The Feature tx side can support tx-cksum-offload,tso,vxlan-tso flow director base on ntuple pattern of tcp/udp/ip/ eth_hdr->type for sriov is also support. Because of the chip design defect, for multiple-port mode one pci-bdf will have multiple-port (max can have four ports) so this code must be care of one bdf init multiple-port. v10: * fixed mingw windows meson issue * rnp not support windows for now. * change ffs use osdep rte_fls_u32 v9: * fixed commit log format check by devtools. * fixed code compile issue. v8: * fixed codespell issue. * fixed MAINTAINERS file v7: * add support nic basic feature such as rss vlan strip/filter, * mtu-change recv/send scater-recv/mutltiple-send. * fixed code rationality, advised by Ferruh Yigit. v6: * fixed the doc(rst) format problem advise by Thomas Monjalon v5: * fixed the symbol name require by the style documentation v4: * one patch has been forgot to upload :( v3: * fixed http://dpdk.org/patch/129830 FreeBSD 13 compile Issue * change iobar type to void suggest by Stephen Hemminger * add KMOD_DEP support for vfio-pci * change run-cmd argument parse check for invalid extra_args v2: * fixed MAINTAIN maillist fullname format * fixed driver/net/meson the order issue of new driver to driver list * improve virtual point function usage suggest by Stephen Hemminger Wenbo Cao (28): net/rnp: add skeleton net/rnp: add ethdev probe and remove net/rnp: add log net/rnp: support mailbox basic operate net/rnp: add device init and uninit net/rnp: add get device information operation net/rnp: add support MAC promisc mode net/rnp: add queue setup and release operations net/rnp: add queue stop and start operations net/rnp: add support device start stop operations net/rnp: add RSS support operations net/rnp: add support link update operations net/rnp: add support link setup operations net/rnp: add Rx burst simple support net/rnp: add Tx burst simple support net/rnp: add MTU set operation net/rnp: add Rx scatter segment version net/rnp: add Tx multiple segment version net/rnp: add support basic stats operation net/rnp: add support xstats operation net/rnp: add unicast MAC filter operation net/rnp: add supported packet types net/rnp: add support Rx checksum offload net/rnp: add support Tx TSO offload net/rnp: support VLAN offloads net/rnp: add support VLAN filters operations net/rnp: add queue info operation net/rnp: support Rx/Tx burst mode info .mailmap | 1 + MAINTAINERS | 6 + doc/guides/nics/features/rnp.ini | 33 + doc/guides/nics/index.rst | 1 + doc/guides/nics/rnp.rst | 101 ++ drivers/net/meson.build | 1 + drivers/net/rnp/base/meson.build | 28 + drivers/net/rnp/base/rnp_bdq_if.c | 398 ++++++ drivers/net/rnp/base/rnp_bdq_if.h | 154 +++ drivers/net/rnp/base/rnp_bitrev.h | 64 + drivers/net/rnp/base/rnp_common.c | 103 ++ drivers/net/rnp/base/rnp_common.h | 17 + drivers/net/rnp/base/rnp_crc32.c | 37 + drivers/net/rnp/base/rnp_crc32.h | 10 + drivers/net/rnp/base/rnp_dma_regs.h | 68 + drivers/net/rnp/base/rnp_eth_regs.h | 90 ++ drivers/net/rnp/base/rnp_fw_cmd.c | 162 +++ drivers/net/rnp/base/rnp_fw_cmd.h | 358 ++++++ drivers/net/rnp/base/rnp_hw.h | 136 ++ drivers/net/rnp/base/rnp_mac.c | 366 ++++++ drivers/net/rnp/base/rnp_mac.h | 34 + drivers/net/rnp/base/rnp_mac_regs.h | 207 +++ drivers/net/rnp/base/rnp_mbx.c | 512 ++++++++ drivers/net/rnp/base/rnp_mbx.h | 58 + drivers/net/rnp/base/rnp_mbx_fw.c | 499 ++++++++ drivers/net/rnp/base/rnp_mbx_fw.h | 24 + drivers/net/rnp/base/rnp_osdep.h | 175 +++ drivers/net/rnp/meson.build | 27 + drivers/net/rnp/rnp.h | 258 ++++ drivers/net/rnp/rnp_ethdev.c | 1845 +++++++++++++++++++++++++++ drivers/net/rnp/rnp_link.c | 439 +++++++ drivers/net/rnp/rnp_link.h | 38 + drivers/net/rnp/rnp_logs.h | 36 + drivers/net/rnp/rnp_rss.c | 367 ++++++ drivers/net/rnp/rnp_rss.h | 43 + drivers/net/rnp/rnp_rxtx.c | 1820 ++++++++++++++++++++++++++ drivers/net/rnp/rnp_rxtx.h | 162 +++ 37 files changed, 8678 insertions(+) create mode 100644 doc/guides/nics/features/rnp.ini create mode 100644 doc/guides/nics/rnp.rst create mode 100644 drivers/net/rnp/base/meson.build create mode 100644 drivers/net/rnp/base/rnp_bdq_if.c create mode 100644 drivers/net/rnp/base/rnp_bdq_if.h create mode 100644 drivers/net/rnp/base/rnp_bitrev.h create mode 100644 drivers/net/rnp/base/rnp_common.c create mode 100644 drivers/net/rnp/base/rnp_common.h create mode 100644 drivers/net/rnp/base/rnp_crc32.c create mode 100644 drivers/net/rnp/base/rnp_crc32.h create mode 100644 drivers/net/rnp/base/rnp_dma_regs.h create mode 100644 drivers/net/rnp/base/rnp_eth_regs.h create mode 100644 drivers/net/rnp/base/rnp_fw_cmd.c create mode 100644 drivers/net/rnp/base/rnp_fw_cmd.h create mode 100644 drivers/net/rnp/base/rnp_hw.h create mode 100644 drivers/net/rnp/base/rnp_mac.c create mode 100644 drivers/net/rnp/base/rnp_mac.h create mode 100644 drivers/net/rnp/base/rnp_mac_regs.h create mode 100644 drivers/net/rnp/base/rnp_mbx.c create mode 100644 drivers/net/rnp/base/rnp_mbx.h create mode 100644 drivers/net/rnp/base/rnp_mbx_fw.c create mode 100644 drivers/net/rnp/base/rnp_mbx_fw.h create mode 100644 drivers/net/rnp/base/rnp_osdep.h create mode 100644 drivers/net/rnp/meson.build create mode 100644 drivers/net/rnp/rnp.h create mode 100644 drivers/net/rnp/rnp_ethdev.c create mode 100644 drivers/net/rnp/rnp_link.c create mode 100644 drivers/net/rnp/rnp_link.h create mode 100644 drivers/net/rnp/rnp_logs.h create mode 100644 drivers/net/rnp/rnp_rss.c create mode 100644 drivers/net/rnp/rnp_rss.h create mode 100644 drivers/net/rnp/rnp_rxtx.c create mode 100644 drivers/net/rnp/rnp_rxtx.h
Comments
On Tue, 11 Feb 2025 23:06:10 +0800 Wenbo Cao <caowenbo@mucse.com> wrote: > For This patchset just to support the basic chip init work > and user can just found the eth_dev, but can't control more. > For Now just support 2*10g nic,the chip can support > 2*10g,4*10g,4*1g,8*1g,8*10g. > The Feature rx side can support rx-cksum-offload,rss,vlan-filter > flow_clow,uncast_filter,mcast_filter,1588,Jumbo-frame > The Feature tx side can support tx-cksum-offload,tso,vxlan-tso > flow director base on ntuple pattern of tcp/udp/ip/ eth_hdr->type > for sriov is also support. > > Because of the chip design defect, for multiple-port mode > one pci-bdf will have multiple-port (max can have four ports) > so this code must be care of one bdf init multiple-port. > > v10: > * fixed mingw windows meson issue > * rnp not support windows for now. > * change ffs use osdep rte_fls_u32 > > v9: > * fixed commit log format check by devtools. > * fixed code compile issue. > > v8: > * fixed codespell issue. > * fixed MAINTAINERS file > > v7: > * add support nic basic feature such as rss vlan strip/filter, > * mtu-change recv/send scater-recv/mutltiple-send. > * fixed code rationality, advised by Ferruh Yigit. > v6: > * fixed the doc(rst) format problem advise by Thomas Monjalon > > v5: > * fixed the symbol name require by the style documentation > > v4: > * one patch has been forgot to upload :( > > v3: > * fixed http://dpdk.org/patch/129830 FreeBSD 13 compile Issue > * change iobar type to void suggest by Stephen Hemminger > * add KMOD_DEP support for vfio-pci > * change run-cmd argument parse check for invalid extra_args > > v2: > * fixed MAINTAIN maillist fullname format > * fixed driver/net/meson the order issue of new driver to driver list > * improve virtual point function usage suggest by Stephen Hemminger > > Wenbo Cao (28): > net/rnp: add skeleton > net/rnp: add ethdev probe and remove > net/rnp: add log > net/rnp: support mailbox basic operate > net/rnp: add device init and uninit > net/rnp: add get device information operation > net/rnp: add support MAC promisc mode > net/rnp: add queue setup and release operations > net/rnp: add queue stop and start operations > net/rnp: add support device start stop operations > net/rnp: add RSS support operations > net/rnp: add support link update operations > net/rnp: add support link setup operations > net/rnp: add Rx burst simple support > net/rnp: add Tx burst simple support > net/rnp: add MTU set operation > net/rnp: add Rx scatter segment version > net/rnp: add Tx multiple segment version > net/rnp: add support basic stats operation > net/rnp: add support xstats operation > net/rnp: add unicast MAC filter operation > net/rnp: add supported packet types > net/rnp: add support Rx checksum offload > net/rnp: add support Tx TSO offload > net/rnp: support VLAN offloads > net/rnp: add support VLAN filters operations > net/rnp: add queue info operation > net/rnp: support Rx/Tx burst mode info > > .mailmap | 1 + > MAINTAINERS | 6 + > doc/guides/nics/features/rnp.ini | 33 + > doc/guides/nics/index.rst | 1 + > doc/guides/nics/rnp.rst | 101 ++ > drivers/net/meson.build | 1 + > drivers/net/rnp/base/meson.build | 28 + > drivers/net/rnp/base/rnp_bdq_if.c | 398 ++++++ > drivers/net/rnp/base/rnp_bdq_if.h | 154 +++ > drivers/net/rnp/base/rnp_bitrev.h | 64 + > drivers/net/rnp/base/rnp_common.c | 103 ++ > drivers/net/rnp/base/rnp_common.h | 17 + > drivers/net/rnp/base/rnp_crc32.c | 37 + > drivers/net/rnp/base/rnp_crc32.h | 10 + > drivers/net/rnp/base/rnp_dma_regs.h | 68 + > drivers/net/rnp/base/rnp_eth_regs.h | 90 ++ > drivers/net/rnp/base/rnp_fw_cmd.c | 162 +++ > drivers/net/rnp/base/rnp_fw_cmd.h | 358 ++++++ > drivers/net/rnp/base/rnp_hw.h | 136 ++ > drivers/net/rnp/base/rnp_mac.c | 366 ++++++ > drivers/net/rnp/base/rnp_mac.h | 34 + > drivers/net/rnp/base/rnp_mac_regs.h | 207 +++ > drivers/net/rnp/base/rnp_mbx.c | 512 ++++++++ > drivers/net/rnp/base/rnp_mbx.h | 58 + > drivers/net/rnp/base/rnp_mbx_fw.c | 499 ++++++++ > drivers/net/rnp/base/rnp_mbx_fw.h | 24 + > drivers/net/rnp/base/rnp_osdep.h | 175 +++ > drivers/net/rnp/meson.build | 27 + > drivers/net/rnp/rnp.h | 258 ++++ > drivers/net/rnp/rnp_ethdev.c | 1845 +++++++++++++++++++++++++++ > drivers/net/rnp/rnp_link.c | 439 +++++++ > drivers/net/rnp/rnp_link.h | 38 + > drivers/net/rnp/rnp_logs.h | 36 + > drivers/net/rnp/rnp_rss.c | 367 ++++++ > drivers/net/rnp/rnp_rss.h | 43 + > drivers/net/rnp/rnp_rxtx.c | 1820 ++++++++++++++++++++++++++ > drivers/net/rnp/rnp_rxtx.h | 162 +++ > 37 files changed, 8678 insertions(+) > create mode 100644 doc/guides/nics/features/rnp.ini > create mode 100644 doc/guides/nics/rnp.rst > create mode 100644 drivers/net/rnp/base/meson.build > create mode 100644 drivers/net/rnp/base/rnp_bdq_if.c > create mode 100644 drivers/net/rnp/base/rnp_bdq_if.h > create mode 100644 drivers/net/rnp/base/rnp_bitrev.h > create mode 100644 drivers/net/rnp/base/rnp_common.c > create mode 100644 drivers/net/rnp/base/rnp_common.h > create mode 100644 drivers/net/rnp/base/rnp_crc32.c > create mode 100644 drivers/net/rnp/base/rnp_crc32.h > create mode 100644 drivers/net/rnp/base/rnp_dma_regs.h > create mode 100644 drivers/net/rnp/base/rnp_eth_regs.h > create mode 100644 drivers/net/rnp/base/rnp_fw_cmd.c > create mode 100644 drivers/net/rnp/base/rnp_fw_cmd.h > create mode 100644 drivers/net/rnp/base/rnp_hw.h > create mode 100644 drivers/net/rnp/base/rnp_mac.c > create mode 100644 drivers/net/rnp/base/rnp_mac.h > create mode 100644 drivers/net/rnp/base/rnp_mac_regs.h > create mode 100644 drivers/net/rnp/base/rnp_mbx.c > create mode 100644 drivers/net/rnp/base/rnp_mbx.h > create mode 100644 drivers/net/rnp/base/rnp_mbx_fw.c > create mode 100644 drivers/net/rnp/base/rnp_mbx_fw.h > create mode 100644 drivers/net/rnp/base/rnp_osdep.h > create mode 100644 drivers/net/rnp/meson.build > create mode 100644 drivers/net/rnp/rnp.h > create mode 100644 drivers/net/rnp/rnp_ethdev.c > create mode 100644 drivers/net/rnp/rnp_link.c > create mode 100644 drivers/net/rnp/rnp_link.h > create mode 100644 drivers/net/rnp/rnp_logs.h > create mode 100644 drivers/net/rnp/rnp_rss.c > create mode 100644 drivers/net/rnp/rnp_rss.h > create mode 100644 drivers/net/rnp/rnp_rxtx.c > create mode 100644 drivers/net/rnp/rnp_rxtx.h Review checklist for rnp v9 patches Mark items with: ✔ passed ✘ Failed Basic hygiene ✘ Look at CI results in patchwork; notify submitter if any failures ✔ Merge cleanly with git am; look for missing newline at EOF etc ✘ Run checkpatches; warnings are ok, but look more carefully. Lots of warnings from base code (allowed but not preferred). The osdep code should be using rte_common.h WARNING:PREFER_DEFINED_ATTRIBUTE_MACRO: Prefer __packed over __attribute__((packed)) #999: FILE: drivers/net/rnp/base/rnp_osdep.h:49: +#define _PACKED_ALIGN4 __attribute__((packed, aligned(4))) Warning in drivers/net/rnp/base/rnp_osdep.h: Using compiler attribute directly Warning in drivers/net/rnp/base/rnp_hw.h: Do not use variadic argument pack in macros Warning in drivers/net/rnp/rnp_ethdev.c: Using __builtin helpers, prefer EAL macros Warning in drivers/net/rnp/rnp_ethdev.c: Using rte_atomicNN_xxx WARNING:MULTILINE_DEREFERENCE: Avoid multiple line dereference - prefer 'rte_eth_devices[rxq->attr.port_id].data->rx_mbuf_alloc_failed' #63: FILE: drivers/net/rnp/rnp_rxtx.c:854: + rte_eth_devices[rxq->attr.port_id].data-> + rx_mbuf_alloc_failed++; Warning in drivers/net/rnp/base/rnp_mac.c: Writing to stdout or stderr ✔ Run check-git-log ✔ Run check-symbol-maps.sh ✔ Run check-doc-vs-code ✔ Run check-spdk-tag Builds ✔ Normal Gcc build ✔ Use latest experimental Gcc 15 to catch new warnings ✔ Clang build using current version (clang-19) ✔ Doc build ✔ Build for 32 bit x86 ✔ Debug build ✔ Enable asserts Test meson builds Experimental builds: ✔ Enable address sanitizer ✘ Enable extra warnings (edit meson.build) for -Wvla, -Wformat-truncation, -Waddress-of-packed-member ../drivers/net/rnp/base/rnp_mbx_fw.c: In function ‘rnp_fw_init’: ../drivers/net/rnp/base/rnp_mbx_fw.c:196:40: warning: ‘%s’ directive output may be truncated writing up to 63 bytes into a region of size 18 [-Wformat-truncation=] 196 | "fw_req_cookie_%s", | ^~ ../drivers/net/rnp/base/rnp_mbx_fw.c:195:9: note: ‘snprintf’ output between 15 and 78 bytes into a destination of size 32 195 | snprintf(fw_info->cookie_name, RTE_MEMZONE_NAMESIZE, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 196 | "fw_req_cookie_%s", | ~~~~~~~~~~~~~~~~~~~ 197 | hw->device_name); Look for anti-patterns: ✘ Driver must not disable warnings with compiler flags or pragma's ✔ Driver must not use thread and signal ✘ Apply coccinelle scripts; look that for example null free checks ✘ Review use of memcpy/rte_memcpy ✔ Review use of malloc ✔ Review use of memset ✔ Review locking Unnecessary locking in base code??
On Tue, 11 Feb 2025 23:06:10 +0800 Wenbo Cao <caowenbo@mucse.com> wrote: > For This patchset just to support the basic chip init work > and user can just found the eth_dev, but can't control more. > For Now just support 2*10g nic,the chip can support > 2*10g,4*10g,4*1g,8*1g,8*10g. > The Feature rx side can support rx-cksum-offload,rss,vlan-filter > flow_clow,uncast_filter,mcast_filter,1588,Jumbo-frame > The Feature tx side can support tx-cksum-offload,tso,vxlan-tso > flow director base on ntuple pattern of tcp/udp/ip/ eth_hdr->type > for sriov is also support. > > Because of the chip design defect, for multiple-port mode > one pci-bdf will have multiple-port (max can have four ports) > so this code must be care of one bdf init multiple-port. > > v10: > * fixed mingw windows meson issue > * rnp not support windows for now. > * change ffs use osdep rte_fls_u32 > > v9: > * fixed commit log format check by devtools. > * fixed code compile issue. > > v8: > * fixed codespell issue. > * fixed MAINTAINERS file > > v7: > * add support nic basic feature such as rss vlan strip/filter, > * mtu-change recv/send scater-recv/mutltiple-send. > * fixed code rationality, advised by Ferruh Yigit. > v6: > * fixed the doc(rst) format problem advise by Thomas Monjalon > > v5: > * fixed the symbol name require by the style documentation > > v4: > * one patch has been forgot to upload :( > > v3: > * fixed http://dpdk.org/patch/129830 FreeBSD 13 compile Issue > * change iobar type to void suggest by Stephen Hemminger > * add KMOD_DEP support for vfio-pci > * change run-cmd argument parse check for invalid extra_args > > v2: > * fixed MAINTAIN maillist fullname format > * fixed driver/net/meson the order issue of new driver to driver list > * improve virtual point function usage suggest by Stephen Hemminger > > Wenbo Cao (28): > net/rnp: add skeleton > net/rnp: add ethdev probe and remove > net/rnp: add log > net/rnp: support mailbox basic operate > net/rnp: add device init and uninit > net/rnp: add get device information operation > net/rnp: add support MAC promisc mode > net/rnp: add queue setup and release operations > net/rnp: add queue stop and start operations > net/rnp: add support device start stop operations > net/rnp: add RSS support operations > net/rnp: add support link update operations > net/rnp: add support link setup operations > net/rnp: add Rx burst simple support > net/rnp: add Tx burst simple support > net/rnp: add MTU set operation > net/rnp: add Rx scatter segment version > net/rnp: add Tx multiple segment version > net/rnp: add support basic stats operation > net/rnp: add support xstats operation > net/rnp: add unicast MAC filter operation > net/rnp: add supported packet types > net/rnp: add support Rx checksum offload > net/rnp: add support Tx TSO offload > net/rnp: support VLAN offloads > net/rnp: add support VLAN filters operations > net/rnp: add queue info operation > net/rnp: support Rx/Tx burst mode info > > .mailmap | 1 + > MAINTAINERS | 6 + > doc/guides/nics/features/rnp.ini | 33 + > doc/guides/nics/index.rst | 1 + > doc/guides/nics/rnp.rst | 101 ++ > drivers/net/meson.build | 1 + > drivers/net/rnp/base/meson.build | 28 + > drivers/net/rnp/base/rnp_bdq_if.c | 398 ++++++ > drivers/net/rnp/base/rnp_bdq_if.h | 154 +++ > drivers/net/rnp/base/rnp_bitrev.h | 64 + > drivers/net/rnp/base/rnp_common.c | 103 ++ > drivers/net/rnp/base/rnp_common.h | 17 + > drivers/net/rnp/base/rnp_crc32.c | 37 + > drivers/net/rnp/base/rnp_crc32.h | 10 + > drivers/net/rnp/base/rnp_dma_regs.h | 68 + > drivers/net/rnp/base/rnp_eth_regs.h | 90 ++ > drivers/net/rnp/base/rnp_fw_cmd.c | 162 +++ > drivers/net/rnp/base/rnp_fw_cmd.h | 358 ++++++ > drivers/net/rnp/base/rnp_hw.h | 136 ++ > drivers/net/rnp/base/rnp_mac.c | 366 ++++++ > drivers/net/rnp/base/rnp_mac.h | 34 + > drivers/net/rnp/base/rnp_mac_regs.h | 207 +++ > drivers/net/rnp/base/rnp_mbx.c | 512 ++++++++ > drivers/net/rnp/base/rnp_mbx.h | 58 + > drivers/net/rnp/base/rnp_mbx_fw.c | 499 ++++++++ > drivers/net/rnp/base/rnp_mbx_fw.h | 24 + > drivers/net/rnp/base/rnp_osdep.h | 175 +++ > drivers/net/rnp/meson.build | 27 + > drivers/net/rnp/rnp.h | 258 ++++ > drivers/net/rnp/rnp_ethdev.c | 1845 +++++++++++++++++++++++++++ > drivers/net/rnp/rnp_link.c | 439 +++++++ > drivers/net/rnp/rnp_link.h | 38 + > drivers/net/rnp/rnp_logs.h | 36 + > drivers/net/rnp/rnp_rss.c | 367 ++++++ > drivers/net/rnp/rnp_rss.h | 43 + > drivers/net/rnp/rnp_rxtx.c | 1820 ++++++++++++++++++++++++++ > drivers/net/rnp/rnp_rxtx.h | 162 +++ > 37 files changed, 8678 insertions(+) > create mode 100644 doc/guides/nics/features/rnp.ini > create mode 100644 doc/guides/nics/rnp.rst > create mode 100644 drivers/net/rnp/base/meson.build > create mode 100644 drivers/net/rnp/base/rnp_bdq_if.c > create mode 100644 drivers/net/rnp/base/rnp_bdq_if.h > create mode 100644 drivers/net/rnp/base/rnp_bitrev.h > create mode 100644 drivers/net/rnp/base/rnp_common.c > create mode 100644 drivers/net/rnp/base/rnp_common.h > create mode 100644 drivers/net/rnp/base/rnp_crc32.c > create mode 100644 drivers/net/rnp/base/rnp_crc32.h > create mode 100644 drivers/net/rnp/base/rnp_dma_regs.h > create mode 100644 drivers/net/rnp/base/rnp_eth_regs.h > create mode 100644 drivers/net/rnp/base/rnp_fw_cmd.c > create mode 100644 drivers/net/rnp/base/rnp_fw_cmd.h > create mode 100644 drivers/net/rnp/base/rnp_hw.h > create mode 100644 drivers/net/rnp/base/rnp_mac.c > create mode 100644 drivers/net/rnp/base/rnp_mac.h > create mode 100644 drivers/net/rnp/base/rnp_mac_regs.h > create mode 100644 drivers/net/rnp/base/rnp_mbx.c > create mode 100644 drivers/net/rnp/base/rnp_mbx.h > create mode 100644 drivers/net/rnp/base/rnp_mbx_fw.c > create mode 100644 drivers/net/rnp/base/rnp_mbx_fw.h > create mode 100644 drivers/net/rnp/base/rnp_osdep.h > create mode 100644 drivers/net/rnp/meson.build > create mode 100644 drivers/net/rnp/rnp.h > create mode 100644 drivers/net/rnp/rnp_ethdev.c > create mode 100644 drivers/net/rnp/rnp_link.c > create mode 100644 drivers/net/rnp/rnp_link.h > create mode 100644 drivers/net/rnp/rnp_logs.h > create mode 100644 drivers/net/rnp/rnp_rss.c > create mode 100644 drivers/net/rnp/rnp_rss.h > create mode 100644 drivers/net/rnp/rnp_rxtx.c > create mode 100644 drivers/net/rnp/rnp_rxtx.h > Also the script devtools/test-meson-builds.sh that runs through different build options, eventually fails at: User defined options buildtype : debugoptimized check_includes : true cpu_instruction_set : nehalem default_library : shared enable_deprecated_libs: * examples : all libdir : lib werror : true Found ninja-1.12.1 at /usr/bin/ninja ninja: Entering directory `./build-x86-generic' [1751/6916] Compiling C object drivers/libtmp_rte_net_rnp.a.p/net_rnp_rnp_ethdev.c.o FAILED: drivers/libtmp_rte_net_rnp.a.p/net_rnp_rnp_ethdev.c.o cc -Idrivers/libtmp_rte_net_rnp.a.p -Idrivers -I../drivers -Idrivers/net/rnp -I../drivers/net/rnp -Idrivers/net/rnp/base -I../drivers/net/rnp/base -Ilib/ethdev -I../lib/ethdev -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include -I../kernel/linux -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/meter -I../lib/meter -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -Ilib/pci -I../lib/pci -Idrivers/bus/vdev -I../drivers/bus/vdev -I/usr/include/x86_64-linux-gnu -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O2 -g -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=nehalem -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-address-of-packed-member -DRTE_LOG_DEFAULT_LOGTYPE=pmd.net.rnp -MD -MQ drivers/libtmp_rte_net_rnp.a.p/net_rnp_rnp_ethdev.c.o -MF drivers/libtmp_rte_net_rnp.a.p/net_rnp_rnp_ethdev.c.o.d -o drivers/libtmp_rte_net_rnp.a.p/net_rnp_rnp_ethdev.c.o -c ../drivers/net/rnp/rnp_ethdev.c In file included from ../lib/eal/x86/include/rte_atomic.h:11, from ../lib/eal/include/generic/rte_pause.h:19, from ../lib/eal/x86/include/rte_pause.h:8, from ../lib/eal/include/generic/rte_rwlock.h:31, from ../lib/eal/x86/include/rte_rwlock.h:8, from ../lib/eal/include/rte_eal_memconfig.h:10, from ../lib/eal/include/rte_memory.h:21, from ../lib/eal/include/rte_malloc.h:16, from ../lib/ethdev/ethdev_pci.h:9, from ../drivers/net/rnp/rnp_ethdev.c:5: In function ‘_mm_loadu_si128’, inlined from ‘rte_mov16’ at ../lib/eal/x86/include/rte_memcpy.h:113:9, inlined from ‘rte_mov32’ at ../lib/eal/x86/include/rte_memcpy.h:131:2, inlined from ‘rte_mov64’ at ../lib/eal/x86/include/rte_memcpy.h:149:2, inlined from ‘rte_mov128’ at ../lib/eal/x86/include/rte_memcpy.h:161:2, inlined from ‘rte_memcpy_generic’ at ../lib/eal/x86/include/rte_memcpy.h:615:4, inlined from ‘rte_memcpy’ at ../lib/eal/x86/include/rte_memcpy.h:757:10, inlined from ‘rnp_mbx_fw_reply_handler’ at ../drivers/net/rnp/rnp_ethdev.c:75:3, inlined from ‘rnp_process_fw_msg’ at ../drivers/net/rnp/rnp_ethdev.c:113:4, inlined from ‘rnp_dev_interrupt_handler’ at ../drivers/net/rnp/rnp_ethdev.c:130:2, inlined from ‘rnp_dev_interrupt_handler’ at ../drivers/net/rnp/rnp_ethdev.c:123:13: /usr/lib/gcc/x86_64-linux-gnu/14/include/emmintrin.h:706:10: error: array subscript 16 is outside array bounds of ‘uint32_t[64]’ {aka ‘unsigned int[64]’} [-Werror=array-bounds=] 706 | return *__P; | ^~~~ ../drivers/net/rnp/rnp_ethdev.c: In function ‘rnp_dev_interrupt_handler’: ../drivers/net/rnp/rnp_ethdev.c:103:18: note: at offset 256 into object ‘msgbuf’ of size 256 103 | uint32_t msgbuf[64]; | ^~~~~~ cc1: all warnings being treated as errors [1772/6916] Compiling C object lib/librte_pipeline.a.p/pipeline_rte_table_action.c.o ninja: build stopped: subcommand failed.