On Mon, 16 Jun 2025 20:23:37 -0700 "dimon.zhao" <dimon.z...@nebula-matrix.com> wrote:
> Features: > --------- > - MTU update > - promisc mode set > - xstats > - Basic stats > > Support NICs: > ------------- > - S1205CQ-A00CHT > - S1105AS-A00CHT > - S1055AS-A00CHT > - S1052AS-A00CHT > - S1051AS-A00CHT > - S1045XS-A00CHT > - S1205CQ-A00CSP > - S1055AS-A00CSP > - S1052AS-A00CSP > > Dimon Zhao (16): > net/nbl: add doc and minimum nbl build framework > net/nbl: add simple probe/remove and log module > net/nbl: add PHY layer definitions and implementation > net/nbl: add Channel layer definitions and implementation > net/nbl: add Resource layer definitions and implementation > net/nbl: add Dispatch layer definitions and implementation > net/nbl: add Dev layer definitions and implementation > net/nbl: add complete device init and uninit functionality > net/nbl: add UIO and VFIO mode for nbl > net/nbl: add nbl coexistence mode for nbl > net/nbl: add nbl ethdev configuration > net/nbl: add nbl device rxtx queue setup and release ops > net/nbl: add nbl device start and stop ops > net/nbl: add nbl device Tx and Rx burst > net/nbl: add nbl device xstats and stats > net/nbl: nbl device support set MTU and promisc > > .mailmap | 5 + > MAINTAINERS | 9 + > doc/guides/nics/features/nbl.ini | 9 + > doc/guides/nics/index.rst | 1 + > doc/guides/nics/nbl.rst | 42 + > drivers/net/meson.build | 1 + > drivers/net/nbl/meson.build | 26 + > drivers/net/nbl/nbl_common/nbl_common.c | 47 + > drivers/net/nbl/nbl_common/nbl_common.h | 10 + > drivers/net/nbl/nbl_common/nbl_thread.c | 88 ++ > drivers/net/nbl/nbl_common/nbl_userdev.c | 743 ++++++++++ > drivers/net/nbl/nbl_common/nbl_userdev.h | 21 + > drivers/net/nbl/nbl_core.c | 100 ++ > drivers/net/nbl/nbl_core.h | 98 ++ > drivers/net/nbl/nbl_dev/nbl_dev.c | 1007 ++++++++++++++ > drivers/net/nbl/nbl_dev/nbl_dev.h | 65 + > drivers/net/nbl/nbl_dispatch.c | 1227 +++++++++++++++++ > drivers/net/nbl/nbl_dispatch.h | 31 + > drivers/net/nbl/nbl_ethdev.c | 161 +++ > drivers/net/nbl/nbl_ethdev.h | 32 + > drivers/net/nbl/nbl_hw/nbl_channel.c | 853 ++++++++++++ > drivers/net/nbl/nbl_hw/nbl_channel.h | 127 ++ > .../nbl_hw_leonis/nbl_phy_leonis_snic.c | 230 +++ > .../nbl_hw_leonis/nbl_phy_leonis_snic.h | 53 + > .../nbl/nbl_hw/nbl_hw_leonis/nbl_res_leonis.c | 253 ++++ > .../nbl/nbl_hw/nbl_hw_leonis/nbl_res_leonis.h | 10 + > drivers/net/nbl/nbl_hw/nbl_phy.h | 28 + > drivers/net/nbl/nbl_hw/nbl_resource.c | 5 + > drivers/net/nbl/nbl_hw/nbl_resource.h | 153 ++ > drivers/net/nbl/nbl_hw/nbl_txrx.c | 907 ++++++++++++ > drivers/net/nbl/nbl_hw/nbl_txrx.h | 136 ++ > drivers/net/nbl/nbl_hw/nbl_txrx_ops.h | 91 ++ > drivers/net/nbl/nbl_include/nbl_def_channel.h | 434 ++++++ > drivers/net/nbl/nbl_include/nbl_def_common.h | 128 ++ > drivers/net/nbl/nbl_include/nbl_def_dev.h | 107 ++ > .../net/nbl/nbl_include/nbl_def_dispatch.h | 95 ++ > drivers/net/nbl/nbl_include/nbl_def_phy.h | 35 + > .../net/nbl/nbl_include/nbl_def_resource.h | 87 ++ > drivers/net/nbl/nbl_include/nbl_include.h | 203 +++ > drivers/net/nbl/nbl_include/nbl_logs.h | 25 + > .../net/nbl/nbl_include/nbl_product_base.h | 37 + > 41 files changed, 7720 insertions(+) > create mode 100644 doc/guides/nics/features/nbl.ini > create mode 100644 doc/guides/nics/nbl.rst > create mode 100644 drivers/net/nbl/meson.build > create mode 100644 drivers/net/nbl/nbl_common/nbl_common.c > create mode 100644 drivers/net/nbl/nbl_common/nbl_common.h > create mode 100644 drivers/net/nbl/nbl_common/nbl_thread.c > create mode 100644 drivers/net/nbl/nbl_common/nbl_userdev.c > create mode 100644 drivers/net/nbl/nbl_common/nbl_userdev.h > create mode 100644 drivers/net/nbl/nbl_core.c > create mode 100644 drivers/net/nbl/nbl_core.h > create mode 100644 drivers/net/nbl/nbl_dev/nbl_dev.c > create mode 100644 drivers/net/nbl/nbl_dev/nbl_dev.h > create mode 100644 drivers/net/nbl/nbl_dispatch.c > create mode 100644 drivers/net/nbl/nbl_dispatch.h > create mode 100644 drivers/net/nbl/nbl_ethdev.c > create mode 100644 drivers/net/nbl/nbl_ethdev.h > create mode 100644 drivers/net/nbl/nbl_hw/nbl_channel.c > create mode 100644 drivers/net/nbl/nbl_hw/nbl_channel.h > create mode 100644 drivers/net/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis_snic.c > create mode 100644 drivers/net/nbl/nbl_hw/nbl_hw_leonis/nbl_phy_leonis_snic.h > create mode 100644 drivers/net/nbl/nbl_hw/nbl_hw_leonis/nbl_res_leonis.c > create mode 100644 drivers/net/nbl/nbl_hw/nbl_hw_leonis/nbl_res_leonis.h > create mode 100644 drivers/net/nbl/nbl_hw/nbl_phy.h > create mode 100644 drivers/net/nbl/nbl_hw/nbl_resource.c > create mode 100644 drivers/net/nbl/nbl_hw/nbl_resource.h > create mode 100644 drivers/net/nbl/nbl_hw/nbl_txrx.c > create mode 100644 drivers/net/nbl/nbl_hw/nbl_txrx.h > create mode 100644 drivers/net/nbl/nbl_hw/nbl_txrx_ops.h > create mode 100644 drivers/net/nbl/nbl_include/nbl_def_channel.h > create mode 100644 drivers/net/nbl/nbl_include/nbl_def_common.h > create mode 100644 drivers/net/nbl/nbl_include/nbl_def_dev.h > create mode 100644 drivers/net/nbl/nbl_include/nbl_def_dispatch.h > create mode 100644 drivers/net/nbl/nbl_include/nbl_def_phy.h > create mode 100644 drivers/net/nbl/nbl_include/nbl_def_resource.h > create mode 100644 drivers/net/nbl/nbl_include/nbl_include.h > create mode 100644 drivers/net/nbl/nbl_include/nbl_logs.h > create mode 100644 drivers/net/nbl/nbl_include/nbl_product_base.h > Looks like missing RTE_ATOMIC() on nbl_dma_memzone_id. Please fix and send v3 #################################################################################### #### [Begin job log] "ubuntu-22.04-clang-stdatomic" at step Build and test #################################################################################### [1210/3613] Compiling C object drivers/libtmp_rte_net_mlx5.a.p/net_mlx5_hws_mlx5dr_crc32.c.o [1211/3613] Compiling C object drivers/libtmp_rte_net_mlx5.a.p/net_mlx5_hws_mlx5dr_definer.c.o [1212/3613] Compiling C object drivers/libtmp_rte_net_mlx5.a.p/net_mlx5_hws_mlx5dr_bwc.c.o [1213/3613] Compiling C object drivers/libtmp_rte_net_nbl.a.p/net_nbl_nbl_ethdev.c.o [1214/3613] Compiling C object drivers/libtmp_rte_net_nbl.a.p/net_nbl_nbl_core.c.o [1215/3613] Compiling C object drivers/libtmp_rte_net_nbl.a.p/net_nbl_nbl_common_nbl_common.c.o FAILED: drivers/libtmp_rte_net_nbl.a.p/net_nbl_nbl_common_nbl_common.c.o ccache clang -Idrivers/libtmp_rte_net_nbl.a.p -Idrivers -I../drivers -Idrivers/net/nbl -I../drivers/net/nbl -I../drivers/net/nbl/nbl_include -I../drivers/net/nbl/nbl_hw -I../drivers/net/nbl/nbl_common -Ilib/ethdev -I../lib/ethdev -Ilib/eal/common -I../lib/eal/common -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 -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 -Xclang -fcolor-diagnostics -pipe -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-missing-field-initializers -D_GNU_SOURCE -fPIC -march=corei7 -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-address-of-packed-member -DRTE_LOG_DEFAULT_LOGTYPE=pmd.net.nbl -DRTE_ANNOTATE_LOCKS -Wthread-safety -MD -MQ drivers/libtmp_rte_net_nbl.a.p/net_nbl_nbl_common_nbl_common.c.o -MF drivers/libtmp_rte_net_nbl.a.p/net_nbl_nbl_common_nbl_common.c.o.d -o drivers/libtmp_rte_net_nbl.a.p/net_nbl_nbl_common_nbl_common.c.o -c ../drivers/net/nbl/nbl_common/nbl_common.c ../drivers/net/nbl/nbl_common/nbl_common.c:23:3: error: address argument to atomic operation must be a pointer to _Atomic type ('uint64_t *' (aka 'unsigned long *') invalid) rte_atomic_fetch_add_explicit(&nbl_dma_memzone_id, 1, rte_memory_order_relaxed)); ^ ~~~~~~~~~~~~~~~~~~~ ../lib/eal/include/rte_stdatomic.h:88:2: note: expanded from macro 'rte_atomic_fetch_add_explicit' atomic_fetch_add_explicit(ptr, val, memorder) ^ ~~~ /usr/lib/llvm-14/lib/clang/14.0.0/include/stdatomic.h:142:35: note: expanded from macro 'atomic_fetch_add_explicit' #define atomic_fetch_add_explicit __c11_atomic_fetch_add ^ 1 error generated. [1216/3613] Compiling C object drivers/libtmp_rte_net_nbl.a.p/net_nbl_nbl_common_nbl_thread.c.o [1217/3613] Compiling C object drivers/libtmp_rte_net_nbl.a.p/net_nbl_nbl_dispatch.c.o [1218/3613] Compiling C object drivers/libtmp_rte_net_mlx5.a.p/net_mlx5_mlx5_tx_empw.c.o [1219/3613] Compiling C object drivers/libtmp_rte_net_mlx5.a.p/net_mlx5_mlx5_tx_txpp.c.o [1220/3613] Compiling C object drivers/libtmp_rte_net_mlx5.a.p/net_mlx5_mlx5_tx_nompw.c.o