From patchwork Thu Apr 2 09:33:43 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adrien Mazarguil X-Patchwork-Id: 4217 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 7DF785A8C; Thu, 2 Apr 2015 11:33:48 +0200 (CEST) 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 ; Thu, 2 Apr 2015 11:33:47 +0200 (CEST) Received: by wixm2 with SMTP id m2so52118074wix.0 for ; 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 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Thu, 02 Apr 2015 02:33:46 -0700 (PDT) From: Adrien Mazarguil 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" - 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 --- 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 `_. Help is also provided by +the `Mellanox community `_. + +There is also a `section dedicated to this poll mode driver +`_. .. 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 `_ 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 `_ 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: + +``_ + +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 -------------