doc: update mlx4 documentation
This updates mlx4 documentation and DPDK release notes to reflect the PMD support for rdma-core from linux-rdma. - PMD is now freed from Mellanox OFED and now only depends on the public rdma-core package (v15 and above) instead. (see https://github.com/linux-rdma/rdma-core/releases) This PMD should run under Linux v4.14 and above. - In case any of the above requirements can't be satisfied, Mellanox OFED v4.2 and above also provide an updated rdma-core as well back-ported kernel modules for most Linux distributions and previous Linux versions. (see http://www.mellanox.com/page/products_dyn?product_family=26). Signed-off-by: Moti Haimovsky <motih@mellanox.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
This commit is contained in:
parent
b280c98f70
commit
8cfe3aaf34
@ -74,13 +74,6 @@ long as they share the same MAC address.
|
|||||||
|
|
||||||
Compiling librte_pmd_mlx4 causes DPDK to be linked against libibverbs.
|
Compiling librte_pmd_mlx4 causes DPDK to be linked against libibverbs.
|
||||||
|
|
||||||
Features
|
|
||||||
--------
|
|
||||||
|
|
||||||
- Multi arch support: x86_64 and POWER8.
|
|
||||||
- Link state information is provided.
|
|
||||||
- RX interrupts.
|
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
@ -160,7 +153,7 @@ This driver relies on external libraries and kernel drivers for resources
|
|||||||
allocations and initialization. The following dependencies are not part of
|
allocations and initialization. The following dependencies are not part of
|
||||||
DPDK and must be installed separately:
|
DPDK and must be installed separately:
|
||||||
|
|
||||||
- **libibverbs**
|
- **libibverbs** (provided by rdma-core package)
|
||||||
|
|
||||||
User space verbs framework used by librte_pmd_mlx4. This library provides
|
User space verbs framework used by librte_pmd_mlx4. This library provides
|
||||||
a generic interface between the kernel and low-level user space drivers
|
a generic interface between the kernel and low-level user space drivers
|
||||||
@ -170,7 +163,7 @@ DPDK and must be installed separately:
|
|||||||
resources allocations) to be managed by the kernel and fast operations to
|
resources allocations) to be managed by the kernel and fast operations to
|
||||||
never leave user space.
|
never leave user space.
|
||||||
|
|
||||||
- **libmlx4**
|
- **libmlx4** (provided by rdma-core package)
|
||||||
|
|
||||||
Low-level user space driver library for Mellanox ConnectX-3 devices,
|
Low-level user space driver library for Mellanox ConnectX-3 devices,
|
||||||
it is automatically loaded by libibverbs.
|
it is automatically loaded by libibverbs.
|
||||||
@ -178,7 +171,7 @@ DPDK and must be installed separately:
|
|||||||
This library basically implements send/receive calls to the hardware
|
This library basically implements send/receive calls to the hardware
|
||||||
queues.
|
queues.
|
||||||
|
|
||||||
- **Kernel modules** (mlnx-ofed-kernel)
|
- **Kernel modules**
|
||||||
|
|
||||||
They provide the kernel-side verbs API and low level device drivers that
|
They provide the kernel-side verbs API and low level device drivers that
|
||||||
manage actual hardware initialization and resources sharing with user
|
manage actual hardware initialization and resources sharing with user
|
||||||
@ -204,24 +197,27 @@ DPDK and must be installed separately:
|
|||||||
Both libraries are BSD and GPL licensed. Linux kernel modules are GPL
|
Both libraries are BSD and GPL licensed. Linux kernel modules are GPL
|
||||||
licensed.
|
licensed.
|
||||||
|
|
||||||
Currently supported by DPDK:
|
Depending on system constraints and user preferences either RDMA core library
|
||||||
|
with a recent enough Linux kernel release (recommended) or Mellanox OFED,
|
||||||
|
which provides compatibility with older releases.
|
||||||
|
|
||||||
- Mellanox OFED **4.1**.
|
Current RDMA core package and Linux kernel (recommended)
|
||||||
- Firmware version **2.36.5000** and above.
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Getting Mellanox OFED
|
- Minimal Linux kernel version: 4.14.
|
||||||
~~~~~~~~~~~~~~~~~~~~~
|
- Minimal RDMA core version: v15 (see `RDMA core installation documentation`_).
|
||||||
|
|
||||||
While these libraries and kernel modules are available on OpenFabrics
|
.. _`RDMA core installation documentation`: https://raw.githubusercontent.com/linux-rdma/rdma-core/master/README.md
|
||||||
Alliance's `website <https://www.openfabrics.org/>`_ and provided by package
|
|
||||||
managers on most distributions, this PMD requires Ethernet extensions that
|
|
||||||
may not be supported at the moment (this is a work in progress).
|
|
||||||
|
|
||||||
`Mellanox OFED
|
.. _Mellanox_OFED_as_a_fallback:
|
||||||
<http://www.mellanox.com/page/products_dyn?product_family=26&mtag=linux_sw_drivers>`_
|
|
||||||
includes the necessary support and should be used in the meantime. For DPDK,
|
Mellanox OFED as a fallback
|
||||||
only libibverbs, libmlx4, mlnx-ofed-kernel packages and firmware updates are
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
required from that distribution.
|
|
||||||
|
- `Mellanox OFED`_ version: **4.2**.
|
||||||
|
- firmware version: **2.42.5000** and above.
|
||||||
|
|
||||||
|
.. _`Mellanox OFED`: http://www.mellanox.com/page/products_dyn?product_family=26&mtag=linux_sw_drivers
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
@ -229,15 +225,10 @@ required from that distribution.
|
|||||||
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`_.
|
||||||
|
|
||||||
Supported NICs
|
Installing Mellanox OFED
|
||||||
--------------
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
* Mellanox(R) ConnectX(R)-3 Pro 40G MCX354A-FCC_Ax (2*40G)
|
1. Download latest Mellanox OFED.
|
||||||
|
|
||||||
Quick Start Guide
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
1. Download latest Mellanox OFED. For more info check the `prerequisites`_.
|
|
||||||
|
|
||||||
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 Mellanox OFED:
|
||||||
@ -246,19 +237,19 @@ Quick Start Guide
|
|||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
./mlnxofedinstall
|
./mlnxofedinstall --dpdk --upstream-libs
|
||||||
|
|
||||||
For SR-IOV hypervisors use:
|
For SR-IOV hypervisors use:
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
./mlnxofedinstall --enable-sriov -hypervisor
|
./mlnxofedinstall --dpdk --upstream-libs --enable-sriov --hypervisor
|
||||||
|
|
||||||
For SR-IOV virtual machine use:
|
For SR-IOV virtual machine use:
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
./mlnxofedinstall --guest
|
./mlnxofedinstall --dpdk --upstream-libs --guest
|
||||||
|
|
||||||
3. Verify the firmware is the correct one:
|
3. Verify the firmware is the correct one:
|
||||||
|
|
||||||
@ -272,7 +263,19 @@ Quick Start Guide
|
|||||||
|
|
||||||
connectx_port_config
|
connectx_port_config
|
||||||
|
|
||||||
Or in the manual way:
|
5. Continue with :ref:`section 2 of the Quick Start Guide <QSG_2>`.
|
||||||
|
|
||||||
|
Supported NICs
|
||||||
|
--------------
|
||||||
|
|
||||||
|
* Mellanox(R) ConnectX(R)-3 Pro 40G MCX354A-FCC_Ax (2*40G)
|
||||||
|
|
||||||
|
.. _qsg:
|
||||||
|
|
||||||
|
Quick Start Guide
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
1. Set all ports links to Ethernet
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
@ -280,7 +283,15 @@ Quick Start Guide
|
|||||||
echo eth > "/sys/bus/pci/devices/$PCI/mlx4_port0"
|
echo eth > "/sys/bus/pci/devices/$PCI/mlx4_port0"
|
||||||
echo eth > "/sys/bus/pci/devices/$PCI/mlx4_port1"
|
echo eth > "/sys/bus/pci/devices/$PCI/mlx4_port1"
|
||||||
|
|
||||||
5. In case of bare metal or hypervisor, configure optimized steering mode
|
.. note::
|
||||||
|
|
||||||
|
If using Mellanox OFED one can permanently set the port link
|
||||||
|
to Ethernet using connectx_port_config tool provided by it.
|
||||||
|
:ref:`Mellanox_OFED_as_a_fallback`:
|
||||||
|
|
||||||
|
.. _QSG_2:
|
||||||
|
|
||||||
|
2. In case of bare metal or hypervisor, configure optimized steering mode
|
||||||
by adding the following line to ``/etc/modprobe.d/mlx4_core.conf``:
|
by adding the following line to ``/etc/modprobe.d/mlx4_core.conf``:
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
@ -292,7 +303,7 @@ Quick Start Guide
|
|||||||
If VLAN filtering is used, set log_num_mgm_entry_size=-1.
|
If VLAN filtering is used, set log_num_mgm_entry_size=-1.
|
||||||
Performance degradation can occur on this case.
|
Performance degradation can occur on this case.
|
||||||
|
|
||||||
6. Restart the driver:
|
3. Restart the driver:
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
@ -304,7 +315,7 @@ Quick Start Guide
|
|||||||
|
|
||||||
service openibd restart
|
service openibd restart
|
||||||
|
|
||||||
7. Compile DPDK and you are ready to go. See instructions on
|
4. Compile DPDK and you are ready to go. See instructions on
|
||||||
:ref:`Development Kit Build System <Development_Kit_Build_System>`
|
:ref:`Development Kit Build System <Development_Kit_Build_System>`
|
||||||
|
|
||||||
Performance tuning
|
Performance tuning
|
||||||
|
@ -59,6 +59,32 @@ New Features
|
|||||||
"Network Interface Controller Drivers" document for more details on this new
|
"Network Interface Controller Drivers" document for more details on this new
|
||||||
driver.
|
driver.
|
||||||
|
|
||||||
|
* **Updated mlx4 driver.**
|
||||||
|
|
||||||
|
Updated the mlx4 driver including the following changes:
|
||||||
|
|
||||||
|
* Isolated mode (rte_flow) can now be enabled anytime, not only during
|
||||||
|
initial device configuration.
|
||||||
|
* Flow rules now support up to 4096 priority levels usable at will by
|
||||||
|
applications.
|
||||||
|
* Enhanced error message to help debugging invalid/unsupported flow rules.
|
||||||
|
* Flow rules matching all multicast and promiscuous traffic are now allowed.
|
||||||
|
* No more software restrictions on flow rules with the RSS action, their
|
||||||
|
configuration is much more flexible.
|
||||||
|
* Significantly reduced memory footprint for Rx and Tx queue objects.
|
||||||
|
* While supported, UDP RSS is temporarily disabled due to a remaining issue
|
||||||
|
with its support in the Linux kernel.
|
||||||
|
* The new RSS implementation does not automatically spread traffic according
|
||||||
|
to the inner packet of VXLAN frames anymore, only the outer one (like
|
||||||
|
other PMDs).
|
||||||
|
* Partial (Tx only) support for secondary processes was broken and had to be
|
||||||
|
removed.
|
||||||
|
* Refactored driver to get rid of dependency on the components provided by
|
||||||
|
Mellanox OFED and instead rely on the current and public rdma-core
|
||||||
|
package and Linux version from now on.
|
||||||
|
* Removed compile-time limitation on number of device instances the PMD
|
||||||
|
can support.
|
||||||
|
|
||||||
* **Updated mlx5 driver.**
|
* **Updated mlx5 driver.**
|
||||||
|
|
||||||
Updated the mlx5 driver including the following changes:
|
Updated the mlx5 driver including the following changes:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user