From patchwork Mon Oct 3 12:39:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Monjalon X-Patchwork-Id: 117258 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: 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 03BA4A00C3; Mon, 3 Oct 2022 14:39:57 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 989A940DFB; Mon, 3 Oct 2022 14:39:57 +0200 (CEST) Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com [64.147.123.20]) by mails.dpdk.org (Postfix) with ESMTP id EB69440695 for ; Mon, 3 Oct 2022 14:39:55 +0200 (CEST) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 45A7032000D9; Mon, 3 Oct 2022 08:39:54 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Mon, 03 Oct 2022 08:39:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:cc:content-transfer-encoding:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to; s=fm2; t=1664800793; x=1664887193; bh=uN 6srcO7/Z2BARAidMdrFFuOZGPZukLz8GV5MQY89c8=; b=XOxlaXjansZHuEQAJi be81WTMKx+zUhk9Ku6me23OMH00QqJ/T/wOKNFAzdd3YphNVyW5zfth7PrZqZdrS IJrukRYGDdzjnIrr73fRU45cn9RSepuHlk+1uFq5HDoz0Gp+3W4WsvrYqBZV+pdy Tg9eypqlJvxQyqVWj0paUji8NKa4TDaFJyCg8UWppI8IeQQ+uaZgFj4XGXhpRJwF t3+adQ66lEUVgMrcdC0v2Tme+wQ7jJlgDcXWjDkanYrFPyvnAHrvrPrtWICXB8zG 2mi76eiIGBXPzOcacTajwxan9/MvfWfw5xubeg5G2vpAInKDfvO6B6vSYdettvM2 G4gA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; t=1664800793; x=1664887193; bh=uN6srcO7/Z2BA RAidMdrFFuOZGPZukLz8GV5MQY89c8=; b=sjw/o5BSwTjyr/HUJGfeYLd/bN2IO u4MSapL9IBXljJd3SuiDViNZ0A+a6Gs1h4NSv3wTEPNn55at+czrM/ILK5MDryKF Cb0RVo1asATTFUcS05aPEqhHsjAcDdzhTBKgBRK5DiU2XdrKXWhkwFKfiZDKg8vG DQ6tT+bn7f3lPzAPKfne9AcwktxeIxq8Py4MA4hda4Z+7FYzIbJ7YxYUR0iWWCN3 gRoQ12Wmkr2/W8c3Ki1QvGDlxg+21NdVPXdF4BJsxbjjgiAXoMbFkGxiqSrbPvlz qcf9Or+4mYzwKecmV+hMtoPz8DGELrRXcI/YQ6QnwugbvlWyUWH/9Gm+w== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrfeehledgheegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepvfhhohhm rghsucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenuc ggtffrrghtthgvrhhnpedvieeijeehgfehgfdvfeehhedtjefggffgueeiffffteeugfeg gfetffeigfdtfeenucffohhmrghinhepughpughkrdhorhhgpdhnvhhiughirgdrtghomh dpmhgvlhhlrghnohigrdgtohhmpdhgihhthhhusghushgvrhgtohhnthgvnhhtrdgtohhm pdhrvggrughmvgdrmhgunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrg hilhhfrhhomhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvth X-ME-Proxy: Feedback-ID: i47234305:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 3 Oct 2022 08:39:52 -0400 (EDT) From: Thomas Monjalon To: dev@dpdk.org Cc: mraz@nvidia.com, galco@nvidia.com, asafp@nvidia.com, rasland@nvidia.com, Matan Azrad , Elena Agostini , Viacheslav Ovsiienko , Ori Kam , Bruce Richardson Subject: [PATCH v2] replace Mellanox with NVIDIA Date: Mon, 3 Oct 2022 14:39:46 +0200 Message-Id: <20221003123946.3369087-1-thomas@monjalon.net> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220923091148.3963332-1-thomas@monjalon.net> References: <20220923091148.3963332-1-thomas@monjalon.net> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org NVIDIA acquired Mellanox Technologies in 2020. The DPDK documentation and code might still include instances of or references to Mellanox trademarks (like BlueField and ConnectX) that are now NVIDIA trademarks. The PCI IDs and copyrights are unchanged. Signed-off-by: Thomas Monjalon Signed-off-by: Thomas Monjalon Acked-by: Gal Cohen --- v2: - consistent naming of MLNX_OFED and MLNX_EN - more context for Linux prerequisites --- MAINTAINERS | 12 +++--- doc/guides/compressdevs/mlx5.rst | 13 ++++-- doc/guides/cryptodevs/mlx5.rst | 15 +++++-- doc/guides/gpus/cuda.rst | 4 +- doc/guides/howto/flow_bifurcation.rst | 6 +-- doc/guides/linux_gsg/linux_drivers.rst | 4 +- doc/guides/nics/mlx4.rst | 55 ++++++++++++++------------ doc/guides/nics/mlx5.rst | 30 ++++++++++---- doc/guides/platform/bluefield.rst | 27 ++++++------- doc/guides/platform/mlx5.rst | 53 ++++++++++++++----------- doc/guides/prog_guide/gpudev.rst | 2 +- doc/guides/regexdevs/mlx5.rst | 11 +++++- doc/guides/vdpadevs/mlx5.rst | 13 ++++-- meson_options.txt | 2 +- 14 files changed, 150 insertions(+), 97 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 51d77460ec..49778bdeb3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -815,7 +815,7 @@ F: drivers/net/octeon_ep/ F: doc/guides/nics/features/octeon_ep.ini F: doc/guides/nics/octeon_ep.rst -Mellanox mlx4 +NVIDIA mlx4 M: Matan Azrad M: Viacheslav Ovsiienko T: git://dpdk.org/next/dpdk-next-net-mlx @@ -823,7 +823,7 @@ F: drivers/net/mlx4/ F: doc/guides/nics/mlx4.rst F: doc/guides/nics/features/mlx4.ini -Mellanox mlx5 +NVIDIA mlx5 M: Matan Azrad M: Viacheslav Ovsiienko T: git://dpdk.org/next/dpdk-next-net-mlx @@ -1107,7 +1107,7 @@ F: drivers/crypto/nitrox/ F: doc/guides/cryptodevs/nitrox.rst F: doc/guides/cryptodevs/features/nitrox.ini -Mellanox mlx5 +NVIDIA mlx5 M: Matan Azrad F: drivers/crypto/mlx5/ F: doc/guides/cryptodevs/mlx5.rst @@ -1174,7 +1174,7 @@ F: drivers/compress/isal/ F: doc/guides/compressdevs/isal.rst F: doc/guides/compressdevs/features/isal.ini -Mellanox mlx5 +NVIDIA mlx5 M: Matan Azrad F: drivers/compress/mlx5/ @@ -1233,7 +1233,7 @@ F: drivers/regex/cn9k/ F: doc/guides/regexdevs/cn9k.rst F: doc/guides/regexdevs/features/cn9k.ini -Mellanox mlx5 +NVIDIA mlx5 M: Ori Kam F: drivers/regex/mlx5/ F: doc/guides/regexdevs/mlx5.rst @@ -1250,7 +1250,7 @@ F: drivers/vdpa/ifc/ F: doc/guides/vdpadevs/ifc.rst F: doc/guides/vdpadevs/features/ifcvf.ini -Mellanox mlx5 vDPA +NVIDIA mlx5 vDPA M: Matan Azrad M: Viacheslav Ovsiienko F: drivers/vdpa/mlx5/ diff --git a/doc/guides/compressdevs/mlx5.rst b/doc/guides/compressdevs/mlx5.rst index eca0f22efa..37839a59e3 100644 --- a/doc/guides/compressdevs/mlx5.rst +++ b/doc/guides/compressdevs/mlx5.rst @@ -3,8 +3,15 @@ .. include:: -MLX5 Compress Driver -==================== +NVIDIA MLX5 Compress Driver +=========================== + +.. note:: + + NVIDIA acquired Mellanox Technologies in 2020. + The DPDK documentation and code might still include instances + of or references to Mellanox trademarks (like BlueField and ConnectX) + that are now NVIDIA trademarks. The mlx5 compress driver library (**librte_compress_mlx5**) provides support for **NVIDIA BlueField-2** @@ -80,5 +87,5 @@ Supported NICs Prerequisites ------------- -- Mellanox OFED version: **5.2** +- NVIDIA MLNX_OFED version: **5.2** See :ref:`mlx5 common prerequisites ` for more details. diff --git a/doc/guides/cryptodevs/mlx5.rst b/doc/guides/cryptodevs/mlx5.rst index ef9668c27a..95fcc94fc9 100644 --- a/doc/guides/cryptodevs/mlx5.rst +++ b/doc/guides/cryptodevs/mlx5.rst @@ -3,8 +3,15 @@ .. include:: -MLX5 Crypto Driver -================== +NVIDIA MLX5 Crypto Driver +========================= + +.. note:: + + NVIDIA acquired Mellanox Technologies in 2020. + The DPDK documentation and code might still include instances + of or references to Mellanox trademarks (like BlueField and ConnectX) + that are now NVIDIA trademarks. The MLX5 crypto driver library (**librte_crypto_mlx5**) provides support for **NVIDIA ConnectX-6** @@ -165,7 +172,7 @@ FW Prerequisites Linux Prerequisites ~~~~~~~~~~~~~~~~~~~ -- Mellanox OFED version: **5.3**. +- NVIDIA MLNX_OFED version: **5.3**. - Compilation can be done also with rdma-core v15+. See :ref:`mlx5 common prerequisites ` for more details. @@ -173,5 +180,5 @@ Linux Prerequisites Windows Prerequisites ~~~~~~~~~~~~~~~~~~~~~ -- Mellanox WINOF-2 version: **2.60** or higher. +- NVIDIA WINOF-2 version: **2.60** or higher. See :ref:`mlx5 common prerequisites ` for more details. diff --git a/doc/guides/gpus/cuda.rst b/doc/guides/gpus/cuda.rst index 474de1cbeb..55fc7d1e86 100644 --- a/doc/guides/gpus/cuda.rst +++ b/doc/guides/gpus/cuda.rst @@ -156,13 +156,13 @@ Minimal requirements to enable the CUDA driver library are: - CUDA 11.4 Driver API or newer `GPUDirect RDMA Technology `_ -allows compatible network cards (e.g. Mellanox) to directly send and receive packets +allows compatible network cards (e.g. ConnectX) to directly send and receive packets using GPU memory instead of additional memory copies through the CPU system memory. To enable this technology, system requirements are: - `nvidia-peermem `_ module running on the system; -- Mellanox network card ConnectX-5 or newer (BlueField models included); +- NVIDIA network card ConnectX-5 or newer (BlueField models included); - DPDK mlx5 PMD enabled; - To reach the best performance, an additional PCIe switch between GPU and NIC is recommended. diff --git a/doc/guides/howto/flow_bifurcation.rst b/doc/guides/howto/flow_bifurcation.rst index 7ba66b9003..e6549ed99c 100644 --- a/doc/guides/howto/flow_bifurcation.rst +++ b/doc/guides/howto/flow_bifurcation.rst @@ -44,10 +44,10 @@ module. Flow Bifurcation Overview -Using Flow Bifurcation on Mellanox ConnectX -------------------------------------------- +Using Flow Bifurcation on NVIDIA ConnectX +----------------------------------------- -The Mellanox devices are :ref:`natively bifurcated `, +The NVIDIA devices are :ref:`natively bifurcated `, so there is no need to split into SR-IOV PF/VF in order to get the flow bifurcation mechanism. The full device is already shared with the kernel driver. diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst index 2e4c80ebd3..2f3f079aab 100644 --- a/doc/guides/linux_gsg/linux_drivers.rst +++ b/doc/guides/linux_gsg/linux_drivers.rst @@ -318,8 +318,8 @@ Such model has the following benefits: strictly what is received in DPDK. More about the bifurcated driver can be found in -`Mellanox Bifurcated DPDK PMD -`__. +NVIDIA `bifurcated PMD +`_ presentation. .. _uio: diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst index 66493a1157..924ce6f64b 100644 --- a/doc/guides/nics/mlx4.rst +++ b/doc/guides/nics/mlx4.rst @@ -2,17 +2,20 @@ Copyright 2012 6WIND S.A. Copyright 2015 Mellanox Technologies, Ltd -MLX4 poll mode driver library -============================= +NVIDIA MLX4 Ethernet Driver +=========================== + +.. note:: + + NVIDIA acquired Mellanox Technologies in 2020. + The DPDK documentation and code might still include instances + of or references to Mellanox trademarks (like BlueField and ConnectX) + that are now NVIDIA trademarks. The MLX4 poll mode driver library (**librte_net_mlx4**) implements support -for **Mellanox ConnectX-3** and **Mellanox ConnectX-3 Pro** 10/40 Gbps adapters +for **NVIDIA ConnectX-3** and **NVIDIA ConnectX-3 Pro** 10/40 Gbps adapters as well as their virtual functions (VF) in SR-IOV context. -Information and documentation about this family of adapters can be found on -the `Mellanox website `_. Help is also provided by -the `Mellanox community `_. - There is also a `section dedicated to this poll mode driver `_. @@ -20,7 +23,7 @@ There is also a `section dedicated to this poll mode driver Implementation details ---------------------- -Most Mellanox ConnectX-3 devices provide two ports but expose a single PCI +Most NVIDIA ConnectX-3 devices provide two ports but expose a single PCI bus address, thus unlike most drivers, librte_net_mlx4 registers itself as a PCI driver that allocates one Ethernet device per detected port. @@ -161,7 +164,7 @@ DPDK and must be installed separately: - **libmlx4** (provided by rdma-core package) - Low-level user space driver library for Mellanox ConnectX-3 devices, + Low-level user space driver library for NVIDIA ConnectX-3 devices, it is automatically loaded by libibverbs. This library basically implements send/receive calls to the hardware @@ -176,14 +179,14 @@ DPDK and must be installed separately: Unlike most other PMDs, these modules must remain loaded and bound to their devices: - - mlx4_core: hardware driver managing Mellanox ConnectX-3 devices. + - mlx4_core: hardware driver managing NVIDIA ConnectX-3 devices. - mlx4_en: Ethernet device driver that provides kernel network interfaces. - mlx4_ib: InfiniBand device driver. - ib_uverbs: user space driver for verbs (entry point for libibverbs). - **Firmware update** - Mellanox OFED releases include firmware updates for ConnectX-3 adapters. + NVIDIA MLNX_OFED releases include firmware updates for ConnectX-3 adapters. Because each release provides new features, these updates must be applied to match the kernel modules and libraries they come with. @@ -194,7 +197,7 @@ DPDK and must be installed separately: licensed. Depending on system constraints and user preferences either RDMA core library -with a recent enough Linux kernel release (recommended) or Mellanox OFED, +with a recent enough Linux kernel release (recommended) or NVIDIA MLNX_OFED, which provides compatibility with older releases. Current RDMA core package and Linux kernel (recommended) @@ -211,29 +214,29 @@ Current RDMA core package and Linux kernel (recommended) .. _`RDMA core installation documentation`: https://raw.githubusercontent.com/linux-rdma/rdma-core/master/README.md -.. _Mellanox_OFED_as_a_fallback: +.. _OFED_as_a_fallback: -Mellanox OFED as a fallback -~~~~~~~~~~~~~~~~~~~~~~~~~~~ +NVIDIA MLNX_OFED as a fallback +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- `Mellanox OFED`_ version: **4.4, 4.5, 4.6**. +- `NVIDIA MLNX_OFED`_ version: **4.4, 4.5, 4.6**. - firmware version: **2.42.5000** and above. -.. _`Mellanox OFED`: https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/ +.. _`NVIDIA MLNX_OFED`: https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/ .. note:: - Several versions of Mellanox OFED are available. Installing the version + Several versions of NVIDIA MLNX_OFED are available. Installing the version this DPDK release was developed and tested against is strongly recommended. Please check the `prerequisites`_. -Installing Mellanox OFED -^^^^^^^^^^^^^^^^^^^^^^^^ +Installing NVIDIA MLNX_OFED +^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1. Download latest Mellanox OFED. +1. Download latest NVIDIA MLNX_OFED. 2. Install the required libraries and kernel modules either by installing - only the required set, or by installing the entire Mellanox OFED: + only the required set, or by installing the entire NVIDIA MLNX_OFED: For bare metal use:: @@ -270,9 +273,9 @@ Quick Start Guide .. note:: - If using Mellanox OFED one can permanently set the port link + If using NVIDIA MLNX_OFED one can permanently set the port link to Ethernet using connectx_port_config tool provided by it. - :ref:`Mellanox_OFED_as_a_fallback`: + :ref:`OFED_as_a_fallback`: .. _QSG_2: @@ -352,7 +355,7 @@ Performance tuning Usage example ------------- -This section demonstrates how to launch **testpmd** with Mellanox ConnectX-3 +This section demonstrates how to launch **testpmd** with NVIDIA ConnectX-3 devices managed by librte_net_mlx4. #. Load the kernel modules:: @@ -400,7 +403,7 @@ devices managed by librte_net_mlx4. .. note:: - There are only two distinct PCI bus addresses because the Mellanox + There are only two distinct PCI bus addresses because the NVIDIA ConnectX-3 adapters installed on this system are dual port. #. Request huge pages:: diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index 8775777072..3d4ee31f8d 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -4,8 +4,15 @@ .. include:: -MLX5 Ethernet Poll Mode Driver -============================== +NVIDIA MLX5 Ethernet Driver +=========================== + +.. note:: + + NVIDIA acquired Mellanox Technologies in 2020. + The DPDK documentation and code might still include instances + of or references to Mellanox trademarks (like BlueField and ConnectX) + that are now NVIDIA trademarks. The mlx5 Ethernet poll mode driver library (**librte_net_mlx5**) provides support for **NVIDIA ConnectX-4**, **NVIDIA ConnectX-4 Lx** , **NVIDIA ConnectX-5**, @@ -29,7 +36,8 @@ This means legacy linux control tools (for example: ethtool, ifconfig and more) can operate on the same network interfaces that owned by the DPDK application. -See :doc:`../../platform/mlx5` guide for more design details. +See :doc:`../../platform/mlx5` guide for more design details, +including prerequisites installation. Features -------- @@ -511,7 +519,7 @@ Limitations - Bonding under socket direct mode - - Needs OFED 5.4+. + - Needs MLNX_OFED 5.4+. - Timestamps: @@ -541,7 +549,7 @@ Limitations - key - sequence - Matching on checksum and sequence needs OFED 5.6+. + Matching on checksum and sequence needs MLNX_OFED 5.6+. - The NIC egress flow rules on representor port are not supported. @@ -636,7 +644,7 @@ for an additional list of options shared with other mlx5 drivers. dropping a packet. Once the timer is expired, the delay drop will be deactivated for all the Rx queues with this feature enable. To re-activate it, a rearming is needed and it is part of the kernel driver starting from - OFED 5.5. + MLNX_OFED 5.5. To enable / disable the delay drop rearming, the private flag ``dropless_rq`` can be set and queried via ethtool: @@ -1277,6 +1285,14 @@ There are multiple Rx burst functions with different advantages and limitations. Supported hardware offloads --------------------------- +Below tables show offload support depending on hardware, firmware, +and Linux software support. + +The :ref:`Linux prerequisites ` +are Linux kernel and rdma-core libraries. +These dependencies are also packaged in MLNX_OFED or MLNX_EN, +shortened below as "OFED". + .. table:: Minimal SW/HW versions for queue offloads ============== ===== ===== ========= ===== ========== ============= @@ -1744,7 +1760,7 @@ Dependency on mstflint package In order to configure host shaper register, ``librte_net_mlx5`` depends on ``libmtcr_ul`` -which can be installed from OFED mstflint package. +which can be installed from MLNX_OFED mstflint package. Meson detects ``libmtcr_ul`` existence at configure stage. If the library is detected, the application must link with ``-lmtcr_ul``, as done by the pkg-config file libdpdk.pc. diff --git a/doc/guides/platform/bluefield.rst b/doc/guides/platform/bluefield.rst index 635e414600..3e3078c85e 100644 --- a/doc/guides/platform/bluefield.rst +++ b/doc/guides/platform/bluefield.rst @@ -1,24 +1,24 @@ .. SPDX-License-Identifier: BSD-3-Clause Copyright 2019 Mellanox Technologies, Ltd -Mellanox BlueField Board Support Package -======================================== +NVIDIA BlueField Board Support Package +====================================== -This document has information about steps to setup Mellanox BlueField platform -and common offload HW drivers of **Mellanox BlueField** family SoC. +.. note:: + NVIDIA acquired Mellanox Technologies in 2020. + The DPDK documentation and code might still include instances + of or references to Mellanox trademarks (like BlueField and ConnectX) + that are now NVIDIA trademarks. -Supported BlueField family SoCs -------------------------------- - -- `BlueField `_ +This document has information about steps to setup NVIDIA BlueField platform +and common offload HW drivers of **NVIDIA BlueField** family SoC. Supported BlueField Platforms ----------------------------- -- `BlueField-1 `_ -- `BlueField-2 `_ +- `BlueField 2 `_ Common Offload HW Drivers @@ -26,7 +26,7 @@ Common Offload HW Drivers 1. **NIC Driver** - See :doc:`../nics/mlx5` for Mellanox mlx5 NIC driver information. + See :doc:`../nics/mlx5` for NVIDIA mlx5 NIC driver information. 2. **Cryptodev Driver** @@ -44,8 +44,7 @@ Steps To Setup Platform Toolchains, OS and drivers can be downloaded and installed individually from the web, but it is recommended to follow instructions at: -- `Mellanox BlueField-1 Software Website `_ -- `Mellanox BlueField-2 Software Website `_ +- `NVIDIA BlueField Software Website `_ Compile DPDK @@ -57,7 +56,7 @@ an x86 based platform. Native Compilation ~~~~~~~~~~~~~~~~~~ -Refer to :doc:`../nics/mlx5` for prerequisites. Either Mellanox OFED/EN or +Refer to :doc:`../nics/mlx5` for prerequisites. Either NVIDIA MLNX_OFED/EN or rdma-core library with corresponding kernel drivers is required. .. code-block:: console diff --git a/doc/guides/platform/mlx5.rst b/doc/guides/platform/mlx5.rst index 38c1fdce4c..46b394c4ee 100644 --- a/doc/guides/platform/mlx5.rst +++ b/doc/guides/platform/mlx5.rst @@ -4,8 +4,15 @@ .. include:: -MLX5 Common Driver -================== +NVIDIA MLX5 Common Driver +========================= + +.. note:: + + NVIDIA acquired Mellanox Technologies in 2020. + The DPDK documentation and code might still include instances + of or references to Mellanox trademarks (like BlueField and ConnectX) + that are now NVIDIA trademarks. The mlx5 common driver library (**librte_common_mlx5**) provides support for **NVIDIA ConnectX-4**, **NVIDIA ConnectX-4 Lx**, **NVIDIA ConnectX-5**, @@ -16,8 +23,8 @@ The mlx5 common driver library (**librte_common_mlx5**) provides support for Information and documentation for these adapters can be found on the `NVIDIA website `_. Help is also provided by the -`Mellanox community `_. -In addition, there is a `web section dedicated to the Poll Mode Driver +`NVIDIA Networking forum `_. +In addition, there is a `web section dedicated to DPDK `_. @@ -107,7 +114,7 @@ The following dependencies are not part of DPDK and must be installed separately - **libmlx5** - Low-level user space driver library for Mellanox devices, + Low-level user space driver library for NVIDIA devices, it is automatically loaded by ``libibverbs``. This library basically implements send/receive calls to the hardware queues. @@ -121,20 +128,20 @@ The following dependencies are not part of DPDK and must be installed separately Unlike most other PMDs, these modules must remain loaded and bound to their devices: - - ``mlx5_core``: hardware driver managing Mellanox devices + - ``mlx5_core``: hardware driver managing NVIDIA devices and related Ethernet kernel network devices. - ``mlx5_ib``: InfiniBand device driver. - ``ib_uverbs``: user space driver for Verbs (entry point for ``libibverbs``). - **Firmware update** - Mellanox OFED/EN releases include firmware updates. + NVIDIA MLNX_OFED/EN releases include firmware updates. Because each release provides new features, these updates must be applied to match the kernel modules and libraries they come with. Libraries and kernel modules can be provided either by the Linux distribution, -or by installing Mellanox OFED/EN which provides compatibility with older kernels. +or by installing NVIDIA MLNX_OFED/EN which provides compatibility with older kernels. Upstream Dependencies @@ -159,15 +166,15 @@ It is possible to build rdma-core as static libraries starting with version 21:: ninja -Mellanox OFED/EN -^^^^^^^^^^^^^^^^ +NVIDIA MLNX_OFED/EN +^^^^^^^^^^^^^^^^^^^ The kernel modules and libraries are packaged with other tools -in Mellanox OFED or Mellanox EN. +in NVIDIA MLNX_OFED or NVIDIA MLNX_EN. The minimal supported versions are: -- Mellanox OFED version: **4.5** and above. -- Mellanox EN version: **4.5** and above. +- NVIDIA MLNX_OFED version: **4.5** and above. +- NVIDIA MLNX_EN version: **4.5** and above. - Firmware version: - ConnectX-4: **12.21.1000** and above. @@ -182,13 +189,13 @@ The minimal supported versions are: - BlueField-2: **24.28.1002** and above. The firmware, the libraries libibverbs, libmlx5, and mlnx-ofed-kernel modules -are packaged in `Mellanox OFED +are packaged in `NVIDIA MLNX_OFED `_. After downloading, it can be installed with this command:: ./mlnxofedinstall --dpdk -`Mellanox EN +`NVIDIA MLNX_EN `_ is a smaller package including what is needed for DPDK. After downloading, it can be installed with this command:: @@ -201,7 +208,7 @@ After installing, the firmware version can be checked:: .. note:: - Several versions of Mellanox OFED/EN are available. Installing the version + Several versions of NVIDIA MLNX_OFED/EN are available. Installing the version this DPDK release was developed and tested against is strongly recommended. Please check the "Tested Platforms" section in the :doc:`../../rel_notes/index`. @@ -291,8 +298,8 @@ Some runtime behaviours may be configured through environment variables. but it depends on CPU design. -Port Link with OFED/EN -^^^^^^^^^^^^^^^^^^^^^^ +Port Link with MLNX_OFED/EN +^^^^^^^^^^^^^^^^^^^^^^^^^^^ Ports links must be set to Ethernet:: @@ -315,8 +322,8 @@ If link type was changed, firmware must be reset as well:: .. _mlx5_vf: -SR-IOV Virtual Function with OFED/EN -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +SR-IOV Virtual Function with MLNX_OFED/EN +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SR-IOV must be enabled on the NIC. It can be checked in the following command:: @@ -344,8 +351,8 @@ Then the virtual functions can be instantiated:: .. _mlx5_sub_function: -Sub-Function with OFED/EN -^^^^^^^^^^^^^^^^^^^^^^^^^ +Sub-Function with MLNX_OFED/EN +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Sub-Function is a portion of the PCI device, it has its own dedicated queues. @@ -353,7 +360,7 @@ An SF shares PCI-level resources with other SFs and/or with its parent PCI funct 0. Requirement:: - OFED version >= 5.4-0.3.3.0 + MLNX_OFED version >= 5.4-0.3.3.0 1. Configure SF feature:: diff --git a/doc/guides/prog_guide/gpudev.rst b/doc/guides/prog_guide/gpudev.rst index 0ccf734dc0..c6ae7191c8 100644 --- a/doc/guides/prog_guide/gpudev.rst +++ b/doc/guides/prog_guide/gpudev.rst @@ -12,7 +12,7 @@ By means of the generic GPU interface provided by this library, it is possible to allocate a chunk of GPU memory and use it to create a DPDK mempool with external mbufs having the payload on the GPU memory, enabling any network interface card -(which support this feature like Mellanox NIC) +supporting this feature to directly transmit and receive packets using GPU memory. Additionally, this library provides a number of functions diff --git a/doc/guides/regexdevs/mlx5.rst b/doc/guides/regexdevs/mlx5.rst index a3f624331a..19af72bdc8 100644 --- a/doc/guides/regexdevs/mlx5.rst +++ b/doc/guides/regexdevs/mlx5.rst @@ -3,8 +3,15 @@ .. include:: -MLX5 RegEx Driver -================= +NVIDIA MLX5 RegEx Driver +======================== + +.. note:: + + NVIDIA acquired Mellanox Technologies in 2020. + The DPDK documentation and code might still include instances + of or references to Mellanox trademarks (like BlueField and ConnectX) + that are now NVIDIA trademarks. The mlx5 RegEx (Regular Expression) driver library (**librte_regex_mlx5**) provides support for **NVIDIA BlueField-2** diff --git a/doc/guides/vdpadevs/mlx5.rst b/doc/guides/vdpadevs/mlx5.rst index bf215604ca..9767fbe42d 100644 --- a/doc/guides/vdpadevs/mlx5.rst +++ b/doc/guides/vdpadevs/mlx5.rst @@ -3,8 +3,15 @@ .. include:: -MLX5 vDPA Driver -================ +NVIDIA MLX5 vDPA Driver +======================= + +.. note:: + + NVIDIA acquired Mellanox Technologies in 2020. + The DPDK documentation and code might still include instances + of or references to Mellanox trademarks (like BlueField and ConnectX) + that are now NVIDIA trademarks. The mlx5 vDPA (vhost data path acceleration) driver library (**librte_vdpa_mlx5**) provides support for **NVIDIA ConnectX-6**, @@ -36,7 +43,7 @@ Supported NICs Prerequisites ------------- -- Mellanox OFED version: **5.0** +- NVIDIA MLNX_OFED version: **5.0** See :ref:`mlx5 common prerequisites ` for more details. Run-time configuration diff --git a/meson_options.txt b/meson_options.txt index 7c220ad68d..8640f599ae 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -25,7 +25,7 @@ option('examples', type: 'string', value: '', description: option('flexran_sdk', type: 'string', value: '', description: 'Path to FlexRAN SDK optional Libraries for BBDEV device') option('ibverbs_link', type: 'combo', choices : ['static', 'shared', 'dlopen'], value: 'shared', description: - 'Linkage method (static/shared/dlopen) for Mellanox PMDs with ibverbs dependencies.') + 'Linkage method (static/shared/dlopen) for NVIDIA PMDs with ibverbs dependencies.') option('include_subdir_arch', type: 'string', value: '', description: 'subdirectory where to install arch-dependent headers') option('kernel_dir', type: 'string', value: '', description: