replace Mellanox with NVIDIA
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 <thomas@monjalon.net> Acked-by: Gal Cohen <galco@nvidia.com>
This commit is contained in:
parent
96798dcfc2
commit
0f91f952be
12
MAINTAINERS
12
MAINTAINERS
@ -815,7 +815,7 @@ F: drivers/net/octeon_ep/
|
|||||||
F: doc/guides/nics/features/octeon_ep.ini
|
F: doc/guides/nics/features/octeon_ep.ini
|
||||||
F: doc/guides/nics/octeon_ep.rst
|
F: doc/guides/nics/octeon_ep.rst
|
||||||
|
|
||||||
Mellanox mlx4
|
NVIDIA mlx4
|
||||||
M: Matan Azrad <matan@nvidia.com>
|
M: Matan Azrad <matan@nvidia.com>
|
||||||
M: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
|
M: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
|
||||||
T: git://dpdk.org/next/dpdk-next-net-mlx
|
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/mlx4.rst
|
||||||
F: doc/guides/nics/features/mlx4.ini
|
F: doc/guides/nics/features/mlx4.ini
|
||||||
|
|
||||||
Mellanox mlx5
|
NVIDIA mlx5
|
||||||
M: Matan Azrad <matan@nvidia.com>
|
M: Matan Azrad <matan@nvidia.com>
|
||||||
M: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
|
M: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
|
||||||
T: git://dpdk.org/next/dpdk-next-net-mlx
|
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/nitrox.rst
|
||||||
F: doc/guides/cryptodevs/features/nitrox.ini
|
F: doc/guides/cryptodevs/features/nitrox.ini
|
||||||
|
|
||||||
Mellanox mlx5
|
NVIDIA mlx5
|
||||||
M: Matan Azrad <matan@nvidia.com>
|
M: Matan Azrad <matan@nvidia.com>
|
||||||
F: drivers/crypto/mlx5/
|
F: drivers/crypto/mlx5/
|
||||||
F: doc/guides/cryptodevs/mlx5.rst
|
F: doc/guides/cryptodevs/mlx5.rst
|
||||||
@ -1174,7 +1174,7 @@ F: drivers/compress/isal/
|
|||||||
F: doc/guides/compressdevs/isal.rst
|
F: doc/guides/compressdevs/isal.rst
|
||||||
F: doc/guides/compressdevs/features/isal.ini
|
F: doc/guides/compressdevs/features/isal.ini
|
||||||
|
|
||||||
Mellanox mlx5
|
NVIDIA mlx5
|
||||||
M: Matan Azrad <matan@nvidia.com>
|
M: Matan Azrad <matan@nvidia.com>
|
||||||
F: drivers/compress/mlx5/
|
F: drivers/compress/mlx5/
|
||||||
|
|
||||||
@ -1233,7 +1233,7 @@ F: drivers/regex/cn9k/
|
|||||||
F: doc/guides/regexdevs/cn9k.rst
|
F: doc/guides/regexdevs/cn9k.rst
|
||||||
F: doc/guides/regexdevs/features/cn9k.ini
|
F: doc/guides/regexdevs/features/cn9k.ini
|
||||||
|
|
||||||
Mellanox mlx5
|
NVIDIA mlx5
|
||||||
M: Ori Kam <orika@nvidia.com>
|
M: Ori Kam <orika@nvidia.com>
|
||||||
F: drivers/regex/mlx5/
|
F: drivers/regex/mlx5/
|
||||||
F: doc/guides/regexdevs/mlx5.rst
|
F: doc/guides/regexdevs/mlx5.rst
|
||||||
@ -1250,7 +1250,7 @@ F: drivers/vdpa/ifc/
|
|||||||
F: doc/guides/vdpadevs/ifc.rst
|
F: doc/guides/vdpadevs/ifc.rst
|
||||||
F: doc/guides/vdpadevs/features/ifcvf.ini
|
F: doc/guides/vdpadevs/features/ifcvf.ini
|
||||||
|
|
||||||
Mellanox mlx5 vDPA
|
NVIDIA mlx5 vDPA
|
||||||
M: Matan Azrad <matan@nvidia.com>
|
M: Matan Azrad <matan@nvidia.com>
|
||||||
M: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
|
M: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
|
||||||
F: drivers/vdpa/mlx5/
|
F: drivers/vdpa/mlx5/
|
||||||
|
@ -3,8 +3,15 @@
|
|||||||
|
|
||||||
.. include:: <isonum.txt>
|
.. include:: <isonum.txt>
|
||||||
|
|
||||||
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
|
The mlx5 compress driver library
|
||||||
(**librte_compress_mlx5**) provides support for **NVIDIA BlueField-2**
|
(**librte_compress_mlx5**) provides support for **NVIDIA BlueField-2**
|
||||||
@ -80,5 +87,5 @@ Supported NICs
|
|||||||
Prerequisites
|
Prerequisites
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
- Mellanox OFED version: **5.2**
|
- NVIDIA MLNX_OFED version: **5.2**
|
||||||
See :ref:`mlx5 common prerequisites <mlx5_linux_prerequisites>` for more details.
|
See :ref:`mlx5 common prerequisites <mlx5_linux_prerequisites>` for more details.
|
||||||
|
@ -3,8 +3,15 @@
|
|||||||
|
|
||||||
.. include:: <isonum.txt>
|
.. include:: <isonum.txt>
|
||||||
|
|
||||||
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
|
The MLX5 crypto driver library
|
||||||
(**librte_crypto_mlx5**) provides support for **NVIDIA ConnectX-6**
|
(**librte_crypto_mlx5**) provides support for **NVIDIA ConnectX-6**
|
||||||
@ -165,7 +172,7 @@ FW Prerequisites
|
|||||||
Linux Prerequisites
|
Linux Prerequisites
|
||||||
~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
- Mellanox OFED version: **5.3**.
|
- NVIDIA MLNX_OFED version: **5.3**.
|
||||||
- Compilation can be done also with rdma-core v15+.
|
- Compilation can be done also with rdma-core v15+.
|
||||||
|
|
||||||
See :ref:`mlx5 common prerequisites <mlx5_linux_prerequisites>` for more details.
|
See :ref:`mlx5 common prerequisites <mlx5_linux_prerequisites>` for more details.
|
||||||
@ -173,5 +180,5 @@ Linux Prerequisites
|
|||||||
Windows Prerequisites
|
Windows Prerequisites
|
||||||
~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
- Mellanox WINOF-2 version: **2.60** or higher.
|
- NVIDIA WINOF-2 version: **2.60** or higher.
|
||||||
See :ref:`mlx5 common prerequisites <mlx5_windows_prerequisites>` for more details.
|
See :ref:`mlx5 common prerequisites <mlx5_windows_prerequisites>` for more details.
|
||||||
|
@ -156,13 +156,13 @@ Minimal requirements to enable the CUDA driver library are:
|
|||||||
- CUDA 11.4 Driver API or newer
|
- CUDA 11.4 Driver API or newer
|
||||||
|
|
||||||
`GPUDirect RDMA Technology <https://docs.nvidia.com/cuda/gpudirect-rdma/index.html>`_
|
`GPUDirect RDMA Technology <https://docs.nvidia.com/cuda/gpudirect-rdma/index.html>`_
|
||||||
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.
|
using GPU memory instead of additional memory copies through the CPU system memory.
|
||||||
To enable this technology, system requirements are:
|
To enable this technology, system requirements are:
|
||||||
|
|
||||||
- `nvidia-peermem <https://docs.nvidia.com/cuda/gpudirect-rdma/index.html#nvidia-peermem>`_
|
- `nvidia-peermem <https://docs.nvidia.com/cuda/gpudirect-rdma/index.html#nvidia-peermem>`_
|
||||||
module running on the system;
|
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;
|
- DPDK mlx5 PMD enabled;
|
||||||
- To reach the best performance, an additional PCIe switch between GPU and NIC is recommended.
|
- To reach the best performance, an additional PCIe switch between GPU and NIC is recommended.
|
||||||
|
|
||||||
|
@ -44,10 +44,10 @@ module.
|
|||||||
Flow Bifurcation Overview
|
Flow Bifurcation Overview
|
||||||
|
|
||||||
|
|
||||||
Using Flow Bifurcation on Mellanox ConnectX
|
Using Flow Bifurcation on NVIDIA ConnectX
|
||||||
-------------------------------------------
|
-----------------------------------------
|
||||||
|
|
||||||
The Mellanox devices are :ref:`natively bifurcated <bifurcated_driver>`,
|
The NVIDIA devices are :ref:`natively bifurcated <bifurcated_driver>`,
|
||||||
so there is no need to split into SR-IOV PF/VF
|
so there is no need to split into SR-IOV PF/VF
|
||||||
in order to get the flow bifurcation mechanism.
|
in order to get the flow bifurcation mechanism.
|
||||||
The full device is already shared with the kernel driver.
|
The full device is already shared with the kernel driver.
|
||||||
|
@ -318,8 +318,8 @@ Such model has the following benefits:
|
|||||||
strictly what is received in DPDK.
|
strictly what is received in DPDK.
|
||||||
|
|
||||||
More about the bifurcated driver can be found in
|
More about the bifurcated driver can be found in
|
||||||
`Mellanox Bifurcated DPDK PMD
|
NVIDIA `bifurcated PMD
|
||||||
<https://www.dpdk.org/wp-content/uploads/sites/35/2016/10/Day02-Session04-RonyEfraim-Userspace2016.pdf>`__.
|
<https://www.dpdk.org/wp-content/uploads/sites/35/2016/10/Day02-Session04-RonyEfraim-Userspace2016.pdf>`_ presentation.
|
||||||
|
|
||||||
.. _uio:
|
.. _uio:
|
||||||
|
|
||||||
|
@ -2,17 +2,20 @@
|
|||||||
Copyright 2012 6WIND S.A.
|
Copyright 2012 6WIND S.A.
|
||||||
Copyright 2015 Mellanox Technologies, Ltd
|
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
|
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.
|
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 <http://www.mellanox.com>`_. Help is also provided by
|
|
||||||
the `Mellanox community <http://community.mellanox.com/welcome>`_.
|
|
||||||
|
|
||||||
There is also a `section dedicated to this poll mode driver
|
There is also a `section dedicated to this poll mode driver
|
||||||
<https://developer.nvidia.com/networking/dpdk>`_.
|
<https://developer.nvidia.com/networking/dpdk>`_.
|
||||||
|
|
||||||
@ -20,7 +23,7 @@ There is also a `section dedicated to this poll mode driver
|
|||||||
Implementation details
|
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
|
bus address, thus unlike most drivers, librte_net_mlx4 registers itself as a
|
||||||
PCI driver that allocates one Ethernet device per detected port.
|
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)
|
- **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.
|
it is automatically loaded by libibverbs.
|
||||||
|
|
||||||
This library basically implements send/receive calls to the hardware
|
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
|
Unlike most other PMDs, these modules must remain loaded and bound to
|
||||||
their devices:
|
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_en: Ethernet device driver that provides kernel network interfaces.
|
||||||
- mlx4_ib: InfiniBand device driver.
|
- mlx4_ib: InfiniBand device driver.
|
||||||
- ib_uverbs: user space driver for verbs (entry point for libibverbs).
|
- ib_uverbs: user space driver for verbs (entry point for libibverbs).
|
||||||
|
|
||||||
- **Firmware update**
|
- **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
|
Because each release provides new features, these updates must be applied to
|
||||||
match the kernel modules and libraries they come with.
|
match the kernel modules and libraries they come with.
|
||||||
@ -194,7 +197,7 @@ DPDK and must be installed separately:
|
|||||||
licensed.
|
licensed.
|
||||||
|
|
||||||
Depending on system constraints and user preferences either RDMA core library
|
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.
|
which provides compatibility with older releases.
|
||||||
|
|
||||||
Current RDMA core package and Linux kernel (recommended)
|
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
|
.. _`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.
|
- 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::
|
.. 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
|
this DPDK release was developed and tested against is strongly
|
||||||
recommended. Please check the `prerequisites`_.
|
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
|
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::
|
For bare metal use::
|
||||||
|
|
||||||
@ -270,9 +273,9 @@ Quick Start Guide
|
|||||||
|
|
||||||
.. note::
|
.. 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.
|
to Ethernet using connectx_port_config tool provided by it.
|
||||||
:ref:`Mellanox_OFED_as_a_fallback`:
|
:ref:`OFED_as_a_fallback`:
|
||||||
|
|
||||||
.. _QSG_2:
|
.. _QSG_2:
|
||||||
|
|
||||||
@ -352,7 +355,7 @@ Performance tuning
|
|||||||
Usage example
|
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.
|
devices managed by librte_net_mlx4.
|
||||||
|
|
||||||
#. Load the kernel modules::
|
#. Load the kernel modules::
|
||||||
@ -400,7 +403,7 @@ devices managed by librte_net_mlx4.
|
|||||||
|
|
||||||
.. note::
|
.. 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.
|
ConnectX-3 adapters installed on this system are dual port.
|
||||||
|
|
||||||
#. Request huge pages::
|
#. Request huge pages::
|
||||||
|
@ -4,8 +4,15 @@
|
|||||||
|
|
||||||
.. include:: <isonum.txt>
|
.. include:: <isonum.txt>
|
||||||
|
|
||||||
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
|
The mlx5 Ethernet poll mode driver library (**librte_net_mlx5**) provides support
|
||||||
for **NVIDIA ConnectX-4**, **NVIDIA ConnectX-4 Lx** , **NVIDIA ConnectX-5**,
|
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
|
more) can operate on the same network interfaces that owned by the DPDK
|
||||||
application.
|
application.
|
||||||
|
|
||||||
See :doc:`../../platform/mlx5` guide for more design details.
|
See :doc:`../../platform/mlx5` guide for more design details,
|
||||||
|
including prerequisites installation.
|
||||||
|
|
||||||
Features
|
Features
|
||||||
--------
|
--------
|
||||||
@ -511,7 +519,7 @@ Limitations
|
|||||||
|
|
||||||
- Bonding under socket direct mode
|
- Bonding under socket direct mode
|
||||||
|
|
||||||
- Needs OFED 5.4+.
|
- Needs MLNX_OFED 5.4+.
|
||||||
|
|
||||||
- Timestamps:
|
- Timestamps:
|
||||||
|
|
||||||
@ -541,7 +549,7 @@ Limitations
|
|||||||
- key
|
- key
|
||||||
- sequence
|
- 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.
|
- 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
|
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
|
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
|
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``
|
To enable / disable the delay drop rearming, the private flag ``dropless_rq``
|
||||||
can be set and queried via ethtool:
|
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
|
Supported hardware offloads
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
|
Below tables show offload support depending on hardware, firmware,
|
||||||
|
and Linux software support.
|
||||||
|
|
||||||
|
The :ref:`Linux prerequisites <mlx5_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
|
.. table:: Minimal SW/HW versions for queue offloads
|
||||||
|
|
||||||
============== ===== ===== ========= ===== ========== =============
|
============== ===== ===== ========= ===== ========== =============
|
||||||
@ -1744,7 +1760,7 @@ Dependency on mstflint package
|
|||||||
|
|
||||||
In order to configure host shaper register,
|
In order to configure host shaper register,
|
||||||
``librte_net_mlx5`` depends on ``libmtcr_ul``
|
``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.
|
Meson detects ``libmtcr_ul`` existence at configure stage.
|
||||||
If the library is detected, the application must link with ``-lmtcr_ul``,
|
If the library is detected, the application must link with ``-lmtcr_ul``,
|
||||||
as done by the pkg-config file libdpdk.pc.
|
as done by the pkg-config file libdpdk.pc.
|
||||||
|
@ -1,24 +1,24 @@
|
|||||||
.. SPDX-License-Identifier: BSD-3-Clause
|
.. SPDX-License-Identifier: BSD-3-Clause
|
||||||
Copyright 2019 Mellanox Technologies, Ltd
|
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
|
.. note::
|
||||||
and common offload HW drivers of **Mellanox BlueField** family SoC.
|
|
||||||
|
|
||||||
|
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
|
This document has information about steps to setup NVIDIA BlueField platform
|
||||||
-------------------------------
|
and common offload HW drivers of **NVIDIA BlueField** family SoC.
|
||||||
|
|
||||||
- `BlueField <https://docs.mellanox.com/category/bluefieldsnic>`_
|
|
||||||
|
|
||||||
|
|
||||||
Supported BlueField Platforms
|
Supported BlueField Platforms
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
- `BlueField-1 <https://docs.mellanox.com/display/bluefieldsniceth/Introduction>`_
|
- `BlueField 2 <https://docs.nvidia.com/networking/display/BlueField2DPUENUG/Introduction>`_
|
||||||
- `BlueField-2 <https://docs.mellanox.com/display/BlueField2DPUENUG/Introduction>`_
|
|
||||||
|
|
||||||
|
|
||||||
Common Offload HW Drivers
|
Common Offload HW Drivers
|
||||||
@ -26,7 +26,7 @@ Common Offload HW Drivers
|
|||||||
|
|
||||||
1. **NIC Driver**
|
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**
|
2. **Cryptodev Driver**
|
||||||
|
|
||||||
@ -44,8 +44,7 @@ Steps To Setup Platform
|
|||||||
Toolchains, OS and drivers can be downloaded and installed individually
|
Toolchains, OS and drivers can be downloaded and installed individually
|
||||||
from the web, but it is recommended to follow instructions at:
|
from the web, but it is recommended to follow instructions at:
|
||||||
|
|
||||||
- `Mellanox BlueField-1 Software Website <https://docs.mellanox.com/display/BlueFieldSWv31011424/SmartNIC+Bring-Up+and+Driver+Installation>`_
|
- `NVIDIA BlueField Software Website <https://docs.nvidia.com/networking/category/dpuos>`_
|
||||||
- `Mellanox BlueField-2 Software Website <https://docs.mellanox.com/display/NVIDIABlueField2DPUQSG#NVIDIABlueField2DPUSoftwareQuickStartGuide-Post-installationProcedurePost-installationProcedure>`_
|
|
||||||
|
|
||||||
|
|
||||||
Compile DPDK
|
Compile DPDK
|
||||||
@ -57,7 +56,7 @@ an x86 based platform.
|
|||||||
Native Compilation
|
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.
|
rdma-core library with corresponding kernel drivers is required.
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
@ -4,8 +4,15 @@
|
|||||||
|
|
||||||
.. include:: <isonum.txt>
|
.. include:: <isonum.txt>
|
||||||
|
|
||||||
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
|
The mlx5 common driver library (**librte_common_mlx5**) provides support for
|
||||||
**NVIDIA ConnectX-4**, **NVIDIA ConnectX-4 Lx**, **NVIDIA ConnectX-5**,
|
**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
|
Information and documentation for these adapters can be found on the
|
||||||
`NVIDIA website <https://www.nvidia.com/en-us/networking/>`_.
|
`NVIDIA website <https://www.nvidia.com/en-us/networking/>`_.
|
||||||
Help is also provided by the
|
Help is also provided by the
|
||||||
`Mellanox community <http://community.mellanox.com/welcome>`_.
|
`NVIDIA Networking forum <https://forums.developer.nvidia.com/c/infrastructure/369/>`_.
|
||||||
In addition, there is a `web section dedicated to the Poll Mode Driver
|
In addition, there is a `web section dedicated to DPDK
|
||||||
<https://developer.nvidia.com/networking/dpdk>`_.
|
<https://developer.nvidia.com/networking/dpdk>`_.
|
||||||
|
|
||||||
|
|
||||||
@ -107,7 +114,7 @@ The following dependencies are not part of DPDK and must be installed separately
|
|||||||
|
|
||||||
- **libmlx5**
|
- **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``.
|
it is automatically loaded by ``libibverbs``.
|
||||||
|
|
||||||
This library basically implements send/receive calls to the hardware queues.
|
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
|
Unlike most other PMDs, these modules must remain loaded and bound to
|
||||||
their devices:
|
their devices:
|
||||||
|
|
||||||
- ``mlx5_core``: hardware driver managing Mellanox devices
|
- ``mlx5_core``: hardware driver managing NVIDIA devices
|
||||||
and related Ethernet kernel network devices.
|
and related Ethernet kernel network devices.
|
||||||
- ``mlx5_ib``: InfiniBand device driver.
|
- ``mlx5_ib``: InfiniBand device driver.
|
||||||
- ``ib_uverbs``: user space driver for Verbs (entry point for ``libibverbs``).
|
- ``ib_uverbs``: user space driver for Verbs (entry point for ``libibverbs``).
|
||||||
|
|
||||||
- **Firmware update**
|
- **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
|
Because each release provides new features, these updates must be applied to
|
||||||
match the kernel modules and libraries they come with.
|
match the kernel modules and libraries they come with.
|
||||||
|
|
||||||
Libraries and kernel modules can be provided either by the Linux distribution,
|
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
|
Upstream Dependencies
|
||||||
@ -159,15 +166,15 @@ It is possible to build rdma-core as static libraries starting with version 21::
|
|||||||
ninja
|
ninja
|
||||||
|
|
||||||
|
|
||||||
Mellanox OFED/EN
|
NVIDIA MLNX_OFED/EN
|
||||||
^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
The kernel modules and libraries are packaged with other tools
|
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:
|
The minimal supported versions are:
|
||||||
|
|
||||||
- Mellanox OFED version: **4.5** and above.
|
- NVIDIA MLNX_OFED version: **4.5** and above.
|
||||||
- Mellanox EN version: **4.5** and above.
|
- NVIDIA MLNX_EN version: **4.5** and above.
|
||||||
- Firmware version:
|
- Firmware version:
|
||||||
|
|
||||||
- ConnectX-4: **12.21.1000** and above.
|
- ConnectX-4: **12.21.1000** and above.
|
||||||
@ -182,13 +189,13 @@ The minimal supported versions are:
|
|||||||
- BlueField-2: **24.28.1002** and above.
|
- BlueField-2: **24.28.1002** and above.
|
||||||
|
|
||||||
The firmware, the libraries libibverbs, libmlx5, and mlnx-ofed-kernel modules
|
The firmware, the libraries libibverbs, libmlx5, and mlnx-ofed-kernel modules
|
||||||
are packaged in `Mellanox OFED
|
are packaged in `NVIDIA MLNX_OFED
|
||||||
<https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/>`_.
|
<https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/>`_.
|
||||||
After downloading, it can be installed with this command::
|
After downloading, it can be installed with this command::
|
||||||
|
|
||||||
./mlnxofedinstall --dpdk
|
./mlnxofedinstall --dpdk
|
||||||
|
|
||||||
`Mellanox EN
|
`NVIDIA MLNX_EN
|
||||||
<https://network.nvidia.com/products/ethernet-drivers/linux/mlnx_en/>`_
|
<https://network.nvidia.com/products/ethernet-drivers/linux/mlnx_en/>`_
|
||||||
is a smaller package including what is needed for DPDK.
|
is a smaller package including what is needed for DPDK.
|
||||||
After downloading, it can be installed with this command::
|
After downloading, it can be installed with this command::
|
||||||
@ -201,7 +208,7 @@ After installing, the firmware version can be checked::
|
|||||||
|
|
||||||
.. note::
|
.. 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.
|
this DPDK release was developed and tested against is strongly recommended.
|
||||||
Please check the "Tested Platforms" section in the :doc:`../../rel_notes/index`.
|
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.
|
but it depends on CPU design.
|
||||||
|
|
||||||
|
|
||||||
Port Link with OFED/EN
|
Port Link with MLNX_OFED/EN
|
||||||
^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Ports links must be set to Ethernet::
|
Ports links must be set to Ethernet::
|
||||||
|
|
||||||
@ -315,8 +322,8 @@ If link type was changed, firmware must be reset as well::
|
|||||||
|
|
||||||
.. _mlx5_vf:
|
.. _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.
|
SR-IOV must be enabled on the NIC.
|
||||||
It can be checked in the following command::
|
It can be checked in the following command::
|
||||||
@ -344,8 +351,8 @@ Then the virtual functions can be instantiated::
|
|||||||
|
|
||||||
.. _mlx5_sub_function:
|
.. _mlx5_sub_function:
|
||||||
|
|
||||||
Sub-Function with OFED/EN
|
Sub-Function with MLNX_OFED/EN
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Sub-Function is a portion of the PCI device,
|
Sub-Function is a portion of the PCI device,
|
||||||
it has its own dedicated queues.
|
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::
|
0. Requirement::
|
||||||
|
|
||||||
OFED version >= 5.4-0.3.3.0
|
MLNX_OFED version >= 5.4-0.3.3.0
|
||||||
|
|
||||||
1. Configure SF feature::
|
1. Configure SF feature::
|
||||||
|
|
||||||
|
@ -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
|
it is possible to allocate a chunk of GPU memory and use it
|
||||||
to create a DPDK mempool with external mbufs having the payload
|
to create a DPDK mempool with external mbufs having the payload
|
||||||
on the GPU memory, enabling any network interface card
|
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.
|
to directly transmit and receive packets using GPU memory.
|
||||||
|
|
||||||
Additionally, this library provides a number of functions
|
Additionally, this library provides a number of functions
|
||||||
|
@ -3,8 +3,15 @@
|
|||||||
|
|
||||||
.. include:: <isonum.txt>
|
.. include:: <isonum.txt>
|
||||||
|
|
||||||
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
|
The mlx5 RegEx (Regular Expression) driver library
|
||||||
(**librte_regex_mlx5**) provides support for **NVIDIA BlueField-2**
|
(**librte_regex_mlx5**) provides support for **NVIDIA BlueField-2**
|
||||||
|
@ -3,8 +3,15 @@
|
|||||||
|
|
||||||
.. include:: <isonum.txt>
|
.. include:: <isonum.txt>
|
||||||
|
|
||||||
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
|
The mlx5 vDPA (vhost data path acceleration) driver library
|
||||||
(**librte_vdpa_mlx5**) provides support for **NVIDIA ConnectX-6**,
|
(**librte_vdpa_mlx5**) provides support for **NVIDIA ConnectX-6**,
|
||||||
@ -36,7 +43,7 @@ Supported NICs
|
|||||||
Prerequisites
|
Prerequisites
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
- Mellanox OFED version: **5.0**
|
- NVIDIA MLNX_OFED version: **5.0**
|
||||||
See :ref:`mlx5 common prerequisites <mlx5_linux_prerequisites>` for more details.
|
See :ref:`mlx5 common prerequisites <mlx5_linux_prerequisites>` for more details.
|
||||||
|
|
||||||
Run-time configuration
|
Run-time configuration
|
||||||
|
@ -25,7 +25,7 @@ option('examples', type: 'string', value: '', description:
|
|||||||
option('flexran_sdk', type: 'string', value: '', description:
|
option('flexran_sdk', type: 'string', value: '', description:
|
||||||
'Path to FlexRAN SDK optional Libraries for BBDEV device')
|
'Path to FlexRAN SDK optional Libraries for BBDEV device')
|
||||||
option('ibverbs_link', type: 'combo', choices : ['static', 'shared', 'dlopen'], value: 'shared', description:
|
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:
|
option('include_subdir_arch', type: 'string', value: '', description:
|
||||||
'subdirectory where to install arch-dependent headers')
|
'subdirectory where to install arch-dependent headers')
|
||||||
option('kernel_dir', type: 'string', value: '', description:
|
option('kernel_dir', type: 'string', value: '', description:
|
||||||
|
Loading…
Reference in New Issue
Block a user