From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <adrien.mazarguil@6wind.com>
Received: from mail-wi0-f179.google.com (mail-wi0-f179.google.com
 [209.85.212.179]) by dpdk.org (Postfix) with ESMTP id 656455921
 for <dev@dpdk.org>; Thu,  2 Apr 2015 11:33:47 +0200 (CEST)
Received: by wixm2 with SMTP id m2so52118074wix.0
 for <dev@dpdk.org>; Thu, 02 Apr 2015 02:33:47 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:from:to:subject:date:message-id;
 bh=KBb/Sd6X1RS/Sp3b3sQ6QjqDCtCEgsZhA7lckG220nA=;
 b=Utc7Qw9hHOZalZQj1pP4kvKIVQT6QWZLKIqUc1/TQE/fHJbw0oXgSZssBbY4hPbfIp
 Pork7QWI8siGSTMq3sZ807g10eBwhIg58QxwA7nYA/gw5viP7Kw8e8oHAz+Km0wf5t41
 JBgrl4enl5UydQ7YJAdkDyMm9SkDKOW2adFnKBdE82QoGrgYZtOcPOPAf5JjrlPw6Ctg
 YCruVTAxgplUnwic6ac5bVlEk0d9FwtH0iAdHE7Orn7YWflo/gL5cKx0pZ0RrvorJ6G1
 ncXAXiIfbys/yN7f+2WZlDBaTBuHeYc/XoAkGJ8HqbsyziTTkXs73m1LAWphOrmtnmli
 GqHQ==
X-Gm-Message-State: ALoCoQm7nOf0Do5RM61rZHLB5MdhtPOUPMe5voWJ7YlBySiP4bu46K5Nyk69fLRmV/ZmjBXuzidH
X-Received: by 10.195.12.35 with SMTP id en3mr88610779wjd.129.1427967227226;
 Thu, 02 Apr 2015 02:33:47 -0700 (PDT)
Received: from 6wind.com (6wind.net2.nerim.net. [213.41.180.237])
 by mx.google.com with ESMTPSA id k6sm29198359wia.6.2015.04.02.02.33.45
 for <dev@dpdk.org> (version=TLSv1.2 cipher=RC4-SHA bits=128/128);
 Thu, 02 Apr 2015 02:33:46 -0700 (PDT)
From: Adrien Mazarguil <adrien.mazarguil@6wind.com>
To: dev@dpdk.org
Date: Thu,  2 Apr 2015 11:33:43 +0200
Message-Id: <1427967223-22918-1-git-send-email-adrien.mazarguil@6wind.com>
X-Mailer: git-send-email 2.1.0
Subject: [dpdk-dev] [PATCH] doc: update mlx4 usage and dependencies
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Thu, 02 Apr 2015 09:33:47 -0000

- libmlx4 and libibverbs dependencies distributed with Mellanox OFED are now
  also available on DPDK.org to make installation easier.
- Document Mellanox OFED and firmware versions to use.
- Add links to Mellanox and its community websites.
- Add kernel modules parameters section.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
 doc/guides/nics/mlx4.rst | 85 ++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 78 insertions(+), 7 deletions(-)

diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index b26c219..93a7f57 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -31,8 +31,15 @@ MLX4 poll mode driver library
 =============================
 
 The MLX4 poll mode driver library (**librte_pmd_mlx4**) implements support
-for **Mellanox ConnectX-3** 10/40 Gbps adapters (EN 40, EN 10, Pro EN 40) as
-well as their virtual functions (VF) in SR-IOV context.
+for **Mellanox ConnectX-3 EN** 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 <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
+<http://www.mellanox.com/page/products_dyn?product_family=209&mtag=pmd_for_dpdk>`_.
 
 .. note::
 
@@ -78,7 +85,7 @@ Features and limitations
 - Multiple MAC addresses (unicast, multicast) can be configured.
 - Scattered packets are supported for TX and RX.
 
-..
+.. break
 
 - RSS hash key cannot be modified.
 - Hardware counters are not implemented (they are software counters).
@@ -90,6 +97,8 @@ Configuration
 Compilation options
 ~~~~~~~~~~~~~~~~~~~
 
+These options can be modified in the ``.config`` file.
+
 - ``CONFIG_RTE_LIBRTE_MLX4_PMD`` (default **n**)
 
   Toggle compilation of librte_pmd_mlx4 itself.
@@ -146,6 +155,30 @@ Run-time configuration
 
 - **ethtool** operations on related kernel interfaces also affect the PMD.
 
+Kernel module parameters
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+The **mlx4_core** kernel module has several parameters that affect the
+behavior and/or the performance of librte_pmd_mlx4. Some of them are described
+below.
+
+- **num_vfs** (integer or triplet, optionally prefixed by device address
+  strings)
+
+  Create the given number of VFs on the specified devices.
+
+- **log_num_mgm_entry_size** (integer)
+
+  Device-managed flow steering (DMFS) is required by DPDK applications. It is
+  enabled by using a negative value, the last four bits of which have a
+  special meaning.
+
+  - **-1**: force device-managed flow steering (DMFS).
+  - **-7**: configure optimized steering mode to improve performance with the
+    following limitation: Ethernet frames with the port MAC address as the
+    destination cannot be received, even in promiscuous mode. Additional MAC
+    addresses can still be set by ``rte_eth_dev_mac_addr_addr()``.
+
 Prerequisites
 -------------
 
@@ -185,6 +218,26 @@ DPDK and must be installed separately:
   - mlx4_ib: InifiniBand 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.
+
+  Because each release provides new features, these updates must be applied to
+  match the kernel modules and libraries they come with.
+
+.. note::
+
+   Both libraries are BSD and GPL licensed. Linux kernel modules are GPL
+   licensed.
+
+Currently supported by DPDK:
+
+- Mellanox OFED **2.4-1**.
+- Firmware version **2.33.5000** and higher.
+
+Getting Mellanox OFED
+~~~~~~~~~~~~~~~~~~~~~
+
 While these libraries and kernel modules are available on OpenFabrics
 Aliance's `website <https://www.openfabrics.org/>`_ and provided by package
 managers on most distributions, this PMD requires Ethernet extensions that
@@ -193,13 +246,31 @@ may not be supported at the moment (this is a work in progress).
 `Mellanox OFED
 <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,
-only libibverbs, libmlx4 and mlnx-ofed-kernel packages are required from
-that distribution.
+only libibverbs, libmlx4, mlnx-ofed-kernel packages and firmware updates are
+required from that distribution.
 
 .. note::
 
-   Both libraries are BSD and GPL licensed. Linux kernel modules are GPL
-   licensed.
+   Several versions of Mellanox OFED are available. Installing the version
+   this DPDK release was developped and tested against is strongly
+   recommended. Please check the `prerequisites`_.
+
+Getting libibverbs and libmlx4 from DPDK.org
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Based on Mellanox OFED, optimized libibverbs and libmlx4 versions can be
+optionally downloaded from DPDK.org:
+
+`<http://www.dpdk.org/download/mlx4>`_
+
+Some enhancements are done for better performance with DPDK applications and
+are not merged upstream yet.
+
+Since it is partly achieved by tuning compilation options to disable features
+not needed by DPDK, linking these libraries statically and avoid system-wide
+installation is the preferred method.
+
+Installation documentation is available from the above link.
 
 Usage example
 -------------
-- 
2.1.0