Add basic PMD library and doc build infrastructure Update maintainers file to claim responsibility. Signed-off-by: Wenbo Cao Reviewed-by: Thomas Monjalon --- .mailmap | 1 + MAINTAINERS | 6 + doc/guides/nics/features/rnp.ini | 8 + doc/guides/nics/img/mucse_nic_port.svg | 4023 ++++++++++++++++++++++++ doc/guides/nics/index.rst | 1 + doc/guides/nics/rnp.rst | 39 + doc/guides/rel_notes/release_25_03.rst | 5 + drivers/net/meson.build | 1 + drivers/net/rnp/meson.build | 18 + drivers/net/rnp/rnp_ethdev.c | 3 + 10 files changed, 4105 insertions(+) create mode 100644 doc/guides/nics/features/rnp.ini create mode 100644 doc/guides/nics/img/mucse_nic_port.svg create mode 100644 doc/guides/nics/rnp.rst create mode 100644 drivers/net/rnp/meson.build create mode 100644 drivers/net/rnp/rnp_ethdev.c diff --git a/.mailmap b/.mailmap index a03d3cfb59..b83da324f2 100644 --- a/.mailmap +++ b/.mailmap @@ -1667,6 +1667,7 @@ Wei Xie Weiyuan Li Wei Zhao Wen Chiu +Wenbo Cao Wen-Chi Yang Wenfeng Liu Wenjie Li diff --git a/MAINTAINERS b/MAINTAINERS index 312e6fcee5..8df854f61c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1011,6 +1011,12 @@ F: drivers/net/r8169/ F: doc/guides/nics/r8169.rst F: doc/guides/nics/features/r8169.ini +Mucse rnp +M: Wenbo Cao +F: drivers/net/rnp +F: doc/guides/nics/rnp.rst +F: doc/guides/nics/features/rnp.ini + Solarflare sfc_efx M: Andrew Rybchenko F: drivers/common/sfc_efx/ diff --git a/doc/guides/nics/features/rnp.ini b/doc/guides/nics/features/rnp.ini new file mode 100644 index 0000000000..2ad04ee330 --- /dev/null +++ b/doc/guides/nics/features/rnp.ini @@ -0,0 +1,8 @@ +; +; Supported features of the 'rnp' network poll mode driver. +; +; Refer to default.ini for the full list of available PMD features. +; +[Features] +Linux = Y +x86-64 = Y diff --git a/doc/guides/nics/img/mucse_nic_port.svg b/doc/guides/nics/img/mucse_nic_port.svg new file mode 100644 index 0000000000..52fb0cc521 --- /dev/null +++ b/doc/guides/nics/img/mucse_nic_port.svg @@ -0,0 +1,4023 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Extend Mac VLAN/Unicast/Multicast Promisc Mode Ctrl + Promisc Mode Ctrl Promisc Mode Ctrl + + + + + OS PCIE (PF0) + + + + + MAC 0 + + + + + MAC 1 + + + + + MAC 2 + + + + + MAC 3 + + + + + PORT 0 + + + + + PORT 1 + + + + + PORT 2 + + + + + PORT 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Extend Mac VLAN/Unicast/Multicast + Promisc Mode Ctrl + Promisc Mode Ctrl Promisc Mode Ctrl + + + + + OS PCIE (PF1) + + + + + + + + + MAC 4 + + + + + MAC 5 + + + + + + + MAC 6 + + + + + MAC 7 + + + + + + + PORT 4 + + + + + PORT 5 + + + + + + + PORT 6 + + + + + PORT 7 + + + + + + + + + + + + + + + + + diff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst index 10a2eca3b0..618c52d618 100644 --- a/doc/guides/nics/index.rst +++ b/doc/guides/nics/index.rst @@ -61,6 +61,7 @@ Network Interface Controller Drivers pfe qede r8169 + rnp sfc_efx softnic tap diff --git a/doc/guides/nics/rnp.rst b/doc/guides/nics/rnp.rst new file mode 100644 index 0000000000..b76c60349c --- /dev/null +++ b/doc/guides/nics/rnp.rst @@ -0,0 +1,39 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2023 Mucse IC Design Ltd. + +RNP Poll Mode driver +==================== + +The RNP ETHDEV PMD (**librte_net_rnp**) provides poll mode ethdev driver +support for the inbuilt network device found in the **Mucse RNP** + +More information can be found at `Mucse, Official Website `_. + +Supported Chipsets and NICs +--------------------------- + +- MUCSE Ethernet Controller N10 Series for 10GbE or 40GbE (Dual-port) + +Chip Basic Overview +------------------- +N10 has two functions, each function support muiple ports(1 to 8),which not same as normal pcie network card(one pf for each port). + +.. _figure_mucse_nic: + +.. figure:: img/mucse_nic_port.* + + rnp mucse nic port. + +Prerequisites and Pre-conditions +-------------------------------- +- Prepare the system as recommended by DPDK suite. + +- Bind the intended N10 device to ``igb_uio`` or ``vfio-pci`` module. + +Now DPDK system is ready to detect n10 port. + + +Limitations or Known issues +--------------------------- + +X86-32, BSD, Armv7, RISC-V, Windows, are not supported yet. diff --git a/doc/guides/rel_notes/release_25_03.rst b/doc/guides/rel_notes/release_25_03.rst index ca67c17c5c..9f1a826585 100644 --- a/doc/guides/rel_notes/release_25_03.rst +++ b/doc/guides/rel_notes/release_25_03.rst @@ -151,6 +151,11 @@ New Features See the :doc:`../compressdevs/zsda` guide for more details on the new driver. +* **Added Mucse rnp net driver.** + + Added a new network PMD which supports Mucse 10 Gigabit Ethernet NICs. + See the :doc:`../nics/rnp` for more details. + Removed Items ------------- diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 460eb69e5b..61f8cddb30 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -53,6 +53,7 @@ drivers = [ 'qede', 'r8169', 'ring', + 'rnp', 'sfc', 'softnic', 'tap', diff --git a/drivers/net/rnp/meson.build b/drivers/net/rnp/meson.build new file mode 100644 index 0000000000..a52b85c48f --- /dev/null +++ b/drivers/net/rnp/meson.build @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(C) 2023 Mucse IC Design Ltd. +# +if not is_linux + build = false + reason = 'only supported on Linux' + subdir_done() +endif + +if arch_subdir == 'riscv' + build = false + reason = 'not supported on RISC-V' + subdir_done() +endif + +sources = files( + 'rnp_ethdev.c', +) diff --git a/drivers/net/rnp/rnp_ethdev.c b/drivers/net/rnp/rnp_ethdev.c new file mode 100644 index 0000000000..9ce3c0b497 --- /dev/null +++ b/drivers/net/rnp/rnp_ethdev.c @@ -0,0 +1,3 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(C) 2023 Mucse IC Design Ltd. + */ -- 2.25.1