X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fnics%2Fmlx4.rst;h=22341b904d625f9d1ce78bc080bc21644e1bcf84;hb=8cfe3aaf34934a15610ea7a811312a47fa0e0a14;hp=7c431778bca7cfff95f8f4b871b8e356ccda2285;hpb=b280c98f70719285d3f1b6516813f63fe4173875;p=dpdk.git diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst index 7c431778bc..22341b904d 100644 --- a/doc/guides/nics/mlx4.rst +++ b/doc/guides/nics/mlx4.rst @@ -74,13 +74,6 @@ long as they share the same MAC address. 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 ------------- @@ -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 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 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 never leave user space. -- **libmlx4** +- **libmlx4** (provided by rdma-core package) Low-level user space driver library for Mellanox ConnectX-3 devices, 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 queues. -- **Kernel modules** (mlnx-ofed-kernel) +- **Kernel modules** They provide the kernel-side verbs API and low level device drivers that 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 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. + +Current RDMA core package and Linux kernel (recommended) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Minimal Linux kernel version: 4.14. +- Minimal RDMA core version: v15 (see `RDMA core installation documentation`_). -- Mellanox OFED **4.1**. -- Firmware version **2.36.5000** and above. +.. _`RDMA core installation documentation`: https://raw.githubusercontent.com/linux-rdma/rdma-core/master/README.md -Getting Mellanox OFED -~~~~~~~~~~~~~~~~~~~~~ +.. _Mellanox_OFED_as_a_fallback: -While these libraries and kernel modules are available on OpenFabrics -Alliance's `website `_ 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 as a fallback +~~~~~~~~~~~~~~~~~~~~~~~~~~~ -`Mellanox OFED -`_ -includes the necessary support and should be used in the meantime. For DPDK, -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:: @@ -229,15 +225,10 @@ required from that distribution. this DPDK release was developed and tested against is strongly recommended. Please check the `prerequisites`_. -Supported NICs --------------- +Installing Mellanox OFED +^^^^^^^^^^^^^^^^^^^^^^^^ -* Mellanox(R) ConnectX(R)-3 Pro 40G MCX354A-FCC_Ax (2*40G) - -Quick Start Guide ------------------ - -1. Download latest Mellanox OFED. For more info check the `prerequisites`_. +1. Download latest Mellanox OFED. 2. Install the required libraries and kernel modules either by installing only the required set, or by installing the entire Mellanox OFED: @@ -246,19 +237,19 @@ Quick Start Guide .. code-block:: console - ./mlnxofedinstall + ./mlnxofedinstall --dpdk --upstream-libs For SR-IOV hypervisors use: .. code-block:: console - ./mlnxofedinstall --enable-sriov -hypervisor + ./mlnxofedinstall --dpdk --upstream-libs --enable-sriov --hypervisor For SR-IOV virtual machine use: .. code-block:: console - ./mlnxofedinstall --guest + ./mlnxofedinstall --dpdk --upstream-libs --guest 3. Verify the firmware is the correct one: @@ -272,7 +263,19 @@ Quick Start Guide connectx_port_config - Or in the manual way: +5. Continue with :ref:`section 2 of the Quick Start Guide `. + +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 @@ -280,7 +283,15 @@ Quick Start Guide echo eth > "/sys/bus/pci/devices/$PCI/mlx4_port0" 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``: .. code-block:: console @@ -292,7 +303,7 @@ Quick Start Guide If VLAN filtering is used, set log_num_mgm_entry_size=-1. Performance degradation can occur on this case. -6. Restart the driver: +3. Restart the driver: .. code-block:: console @@ -304,7 +315,7 @@ Quick Start Guide 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 ` Performance tuning