[PATCH v4 01/16] net/nbl: add doc and minimum nbl build framework
Dimon Zhao
dimon.zhao at nebula-matrix.com
Wed Aug 13 08:43:55 CEST 2025
add minimum PMD code, doc and build infrastructure for nbl driver.
Signed-off-by: Dimon Zhao <dimon.zhao at nebula-matrix.com>
---
.mailmap | 4 ++
MAINTAINERS | 9 ++++
doc/guides/nics/features/nbl.ini | 9 ++++
doc/guides/nics/index.rst | 1 +
doc/guides/nics/nbl.rst | 87 ++++++++++++++++++++++++++++++++
drivers/net/meson.build | 1 +
drivers/net/nbl/meson.build | 11 ++++
drivers/net/nbl/nbl_ethdev.c | 3 ++
8 files changed, 125 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_ethdev.c
diff --git a/.mailmap b/.mailmap
index 293ec12da0..c9dc467182 100644
--- a/.mailmap
+++ b/.mailmap
@@ -375,6 +375,7 @@ Diana Wang <na.wang at corigine.com>
Didier Pallard <didier.pallard at 6wind.com>
Dilshod Urazov <dilshod.urazov at oktetlabs.ru>
Dima Ruinskiy <dima.ruinskiy at intel.com>
+Dimon Zhao <dimon.zhao at nebula-matrix.com>
Ding Zhi <zhi.ding at 6wind.com>
Diogo Behrens <diogo.behrens at huawei.com>
Dirk-Holger Lenz <dirk.lenz at ng4t.com>
@@ -857,6 +858,7 @@ Kumar Amber <kumar.amber at intel.com>
Kumara Parameshwaran <kumaraparamesh92 at gmail.com> <kparameshwar at vmware.com>
Kumar Sanghvi <kumaras at chelsio.com>
Kyle Larose <klarose at sandvine.com>
+Kyo Liu <kyo.liu at nebula-matrix.com>
Lance Richardson <lance.richardson at broadcom.com>
Laszlo Ersek <lersek at redhat.com>
Laura Stroe <laura.stroe at intel.com>
@@ -871,6 +873,7 @@ Lei Gong <arei.gonglei at huawei.com>
Lei Ji <jilei8 at huawei.com>
Lei Yao <lei.a.yao at intel.com>
Leonid Myravjev <myravjev at amicon.ru>
+Leon Yu <leon.yu at nebula-matrix.com>
Leo Xu <yongquanx at nvidia.com>
Leszek Zygo <leszek.zygo at intel.com>
Levend Sayar <levendsayar at gmail.com>
@@ -1389,6 +1392,7 @@ Saikrishna Edupuganti <saikrishna.edupuganti at intel.com>
Saleh Alsouqi <salehals at nvidia.com> <salehals at mellanox.com>
Salem Sol <salems at nvidia.com>
Sam Andrew <samandrew at microsoft.com>
+Sam Chen <sam.chen at nebula-matrix.com>
Sameh Gobriel <sameh.gobriel at intel.com>
Sam Grove <sam.grove at sifive.com>
Samik Gupta <samik.gupta at broadcom.com>
diff --git a/MAINTAINERS b/MAINTAINERS
index 7aca98c537..edc93cdda0 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1009,6 +1009,15 @@ F: drivers/net/rnp/
F: doc/guides/nics/rnp.rst
F: doc/guides/nics/features/rnp.ini
+Nebulamatrix nbl
+M: Dimon Zhao <dimon.zhao at nebula-matrix.com>
+M: Kyo Liu<kyo.liu at nebula-matrix.com>
+M: Leon Yu <leon.yu at nebula-matrix.com>
+M: Sam Chen <sam.chen at nebula-matrix.com>
+F: drivers/net/nbl
+F: doc/guides/nics/nbl.rst
+F: doc/guides/nics/features/nbl.ini
+
Realtek r8169
M: Howard Wang <howard_wang at realsil.com.cn>
M: Chunhao Lin <hau at realtek.com>
diff --git a/doc/guides/nics/features/nbl.ini b/doc/guides/nics/features/nbl.ini
new file mode 100644
index 0000000000..6daabe6ed3
--- /dev/null
+++ b/doc/guides/nics/features/nbl.ini
@@ -0,0 +1,9 @@
+;
+; Supported features of the 'nbl' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Linux = Y
+ARMv8 = Y
+x86-64 = Y
diff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst
index 57d161c526..84d4ece101 100644
--- a/doc/guides/nics/index.rst
+++ b/doc/guides/nics/index.rst
@@ -50,6 +50,7 @@ Network Interface Controller Drivers
mvneta
mvpp2
netvsc
+ nbl
nfb
nfp
ngbe
diff --git a/doc/guides/nics/nbl.rst b/doc/guides/nics/nbl.rst
new file mode 100644
index 0000000000..94431be859
--- /dev/null
+++ b/doc/guides/nics/nbl.rst
@@ -0,0 +1,87 @@
+.. SPDX-License-Identifier: BSD-3-Clause
+ Copyright 2025 Nebulamatrix Technology Co., Ltd
+
+NBL Poll Mode Driver
+====================
+
+The NBL PMD (**librte_net_nbl**) provides poll mode driver support for
+10/25/50/100/200 Gbps Nebulamatrix Series Network Adapters.
+
+
+Features
+--------
+
+Features of the NBL PMD are:
+
+- Multiple queues for TX and RX
+- Receiver Side Scaling (RSS)
+- Jumbo frames
+
+
+Supported NICs
+--------------
+
+The following Nebulamatrix device models are supported by the same nbl driver:
+
+ - S1205CQ-A00CHT
+ - S1105AS-A00CHT
+ - S1055AS-A00CHT
+ - S1052AS-A00CHT
+ - S1051AS-A00CHT
+ - S1045XS-A00CHT
+ - S1205CQ-A00CSP
+ - S1055AS-A00CSP
+ - S1052AS-A00CSP
+
+
+Linux Prerequisites
+~~~~~~~~~~~~~~~~~~~
+
+This driver relies on kernel drivers for resources allocations and initialization.
+The following dependencies are not part of DPDK and must be installed separately:
+
+- **Kernel modules**
+
+ They provide low level device drivers that manage actual hardware initialization
+ and resources sharing with user-space processes.
+
+ Unlike most other PMDs, these modules must remain loaded and bound to
+ their devices:
+
+ - ``nbl_core``: hardware driver managing Ethernet kernel network devices.
+
+Because the nbl_core kernel driver code has not been upstreamed to the Linux kernel community, it cannot be provided by standard Linux distributions.
+However, the nbl_core kernel driver has been upstreamed to the openEuler and Anolis communities. You can obtain the nbl_core code from the following links:
+
+openEuler community:
+https://gitee.com/openeuler/kernel/pulls/11667
+
+Anolis community:
+https://gitee.com/anolis/cloud-kernel/pulls/5185
+https://gitee.com/anolis/cloud-kernel/pulls/5059
+
+Alternatively, you can contact us to obtain the nbl_core code and installation package.
+
+
+Prerequisites
+-------------
+
+- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>`
+ to setup the basic DPDK environment.
+
+- Learn about `Nebulamatrix Series NICs
+ <https://www.nebula-matrix.com/main>`_.
+
+
+Multiple Processes
+~~~~~~~~~~~~~~~~~~
+
+The NBL PMD does not support Multiple Processes.
+
+
+Limitations or Known Issues
+---------------------------
+
+32-bit architectures are not supported.
+
+Windows and BSD are not supported yet.
diff --git a/drivers/net/meson.build b/drivers/net/meson.build
index 61f8cddb30..517e78d18b 100644
--- a/drivers/net/meson.build
+++ b/drivers/net/meson.build
@@ -40,6 +40,7 @@ drivers = [
'mlx5',
'mvneta',
'mvpp2',
+ 'nbl',
'netvsc',
'nfb',
'nfp',
diff --git a/drivers/net/nbl/meson.build b/drivers/net/nbl/meson.build
new file mode 100644
index 0000000000..68c045a48c
--- /dev/null
+++ b/drivers/net/nbl/meson.build
@@ -0,0 +1,11 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2025 NebulaMatrix Technology Co., Ltd.
+
+if not is_linux or not dpdk_conf.get('RTE_ARCH_64')
+ build = false
+ reason = 'only supported on 64bit Linux'
+endif
+
+sources = files(
+ 'nbl_ethdev.c',
+)
diff --git a/drivers/net/nbl/nbl_ethdev.c b/drivers/net/nbl/nbl_ethdev.c
new file mode 100644
index 0000000000..3ad8e4033a
--- /dev/null
+++ b/drivers/net/nbl/nbl_ethdev.c
@@ -0,0 +1,3 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright 2025 Nebulamatrix Technology Co., Ltd.
+ */
--
2.34.1
More information about the dev
mailing list