From 26590b5200bb1d6bdfa931f8615339d049d13881 Mon Sep 17 00:00:00 2001 From: Jiawen Wu Date: Thu, 8 Jul 2021 17:32:21 +0800 Subject: [PATCH] net/ngbe: add build and doc infrastructure Adding bare minimum PMD library and doc build infrastructure and claim the maintainership for ngbe PMD. Signed-off-by: Jiawen Wu --- MAINTAINERS | 6 +++++ doc/guides/nics/features/ngbe.ini | 10 +++++++++ doc/guides/nics/index.rst | 1 + doc/guides/nics/ngbe.rst | 31 ++++++++++++++++++++++++++ doc/guides/rel_notes/release_21_08.rst | 5 +++++ drivers/net/meson.build | 1 + drivers/net/ngbe/meson.build | 12 ++++++++++ drivers/net/ngbe/ngbe_ethdev.c | 30 +++++++++++++++++++++++++ drivers/net/ngbe/version.map | 3 +++ 9 files changed, 99 insertions(+) create mode 100644 doc/guides/nics/features/ngbe.ini create mode 100644 doc/guides/nics/ngbe.rst create mode 100644 drivers/net/ngbe/meson.build create mode 100644 drivers/net/ngbe/ngbe_ethdev.c create mode 100644 drivers/net/ngbe/version.map diff --git a/MAINTAINERS b/MAINTAINERS index f4dc2d7ab5..af2a91d7c4 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -903,6 +903,12 @@ F: drivers/net/sfc/ F: doc/guides/nics/sfc_efx.rst F: doc/guides/nics/features/sfc.ini +Wangxun ngbe +M: Jiawen Wu +F: drivers/net/ngbe/ +F: doc/guides/nics/ngbe.rst +F: doc/guides/nics/features/ngbe.ini + Wangxun txgbe M: Jiawen Wu M: Jian Wang diff --git a/doc/guides/nics/features/ngbe.ini b/doc/guides/nics/features/ngbe.ini new file mode 100644 index 0000000000..a7a524defc --- /dev/null +++ b/doc/guides/nics/features/ngbe.ini @@ -0,0 +1,10 @@ +; +; Supported features of the 'ngbe' network poll mode driver. +; +; Refer to default.ini for the full list of available PMD features. +; +[Features] +Linux = Y +ARMv8 = Y +x86-32 = Y +x86-64 = Y diff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst index c1a04d9541..784d5d39f6 100644 --- a/doc/guides/nics/index.rst +++ b/doc/guides/nics/index.rst @@ -48,6 +48,7 @@ Network Interface Controller Drivers netvsc nfb nfp + ngbe null octeontx octeontx2 diff --git a/doc/guides/nics/ngbe.rst b/doc/guides/nics/ngbe.rst new file mode 100644 index 0000000000..be50218cbb --- /dev/null +++ b/doc/guides/nics/ngbe.rst @@ -0,0 +1,31 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2018-2021 Beijing WangXun Technology Co., Ltd. + +NGBE Poll Mode Driver +===================== + +The NGBE PMD (librte_pmd_ngbe) provides poll mode driver support +for Wangxun 1 Gigabit Ethernet NICs. + + +Prerequisites +------------- + +- Learning about Wangxun 1 Gigabit Ethernet NICs using + ``_. + +- Follow the DPDK :ref:`Getting Started Guide for Linux ` to setup the basic DPDK environment. + + +Driver compilation and testing +------------------------------ + +Refer to the document :ref:`compiling and testing a PMD for a NIC ` +for details. + + +Limitations or Known issues +--------------------------- + +Build with ICC is not supported yet. +Power8, ARMv7 and BSD are not supported yet. diff --git a/doc/guides/rel_notes/release_21_08.rst b/doc/guides/rel_notes/release_21_08.rst index 6a902ef9ac..efcb0f3584 100644 --- a/doc/guides/rel_notes/release_21_08.rst +++ b/doc/guides/rel_notes/release_21_08.rst @@ -89,6 +89,11 @@ New Features * Added support for meter hierarchy. * Added devargs options ``allow_duplicate_pattern``. +* **Added Wangxun ngbe PMD.** + + Added a new PMD driver for Wangxun 1 Gigabit Ethernet NICs. + See the :doc:`../nics/ngbe` for more details. + * **Added support for Marvell CNXK crypto driver.** * Added cnxk crypto PMD which provides support for an integrated diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 4e9fa98a4d..bcf488f203 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -41,6 +41,7 @@ drivers = [ 'netvsc', 'nfb', 'nfp', + 'ngbe', 'null', 'octeontx', 'octeontx2', diff --git a/drivers/net/ngbe/meson.build b/drivers/net/ngbe/meson.build new file mode 100644 index 0000000000..d5022a2813 --- /dev/null +++ b/drivers/net/ngbe/meson.build @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018-2021 Beijing WangXun Technology Co., Ltd. + +if is_windows + build = false + reason = 'not supported on Windows' + subdir_done() +endif + +sources = files( + 'ngbe_ethdev.c', +) diff --git a/drivers/net/ngbe/ngbe_ethdev.c b/drivers/net/ngbe/ngbe_ethdev.c new file mode 100644 index 0000000000..eef9b9b1ff --- /dev/null +++ b/drivers/net/ngbe/ngbe_ethdev.c @@ -0,0 +1,30 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2018-2021 Beijing WangXun Technology Co., Ltd. + * Copyright(c) 2010-2017 Intel Corporation + */ + +#include +#include +#include + +static int +eth_ngbe_pci_probe(struct rte_pci_driver *pci_drv, + struct rte_pci_device *pci_dev) +{ + RTE_SET_USED(pci_drv); + RTE_SET_USED(pci_dev); + return -EINVAL; +} + +static int eth_ngbe_pci_remove(struct rte_pci_device *pci_dev) +{ + RTE_SET_USED(pci_dev); + return -EINVAL; +} + +static struct rte_pci_driver rte_ngbe_pmd = { + .probe = eth_ngbe_pci_probe, + .remove = eth_ngbe_pci_remove, +}; + +RTE_PMD_REGISTER_PCI(net_ngbe, rte_ngbe_pmd); diff --git a/drivers/net/ngbe/version.map b/drivers/net/ngbe/version.map new file mode 100644 index 0000000000..4a76d1d52d --- /dev/null +++ b/drivers/net/ngbe/version.map @@ -0,0 +1,3 @@ +DPDK_21 { + local: *; +}; -- 2.20.1