From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adrien Mazarguil Subject: [PATCH v2 00/16] Enhance mlx5 with Mellanox OFED 3.1 Date: Fri, 30 Oct 2015 19:55:03 +0100 Message-ID: <1446231319-8185-1-git-send-email-adrien.mazarguil@6wind.com> References: <1444067692-29645-1-git-send-email-adrien.mazarguil@6wind.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable To: dev@dpdk.org Return-path: Received: from mail-wi0-f178.google.com (mail-wi0-f178.google.com [209.85.212.178]) by dpdk.org (Postfix) with ESMTP id 996C591BF for ; Fri, 30 Oct 2015 19:55:41 +0100 (CET) Received: by wicll6 with SMTP id ll6so16575072wic.0 for ; Fri, 30 Oct 2015 11:55:41 -0700 (PDT) Received: from 6wind.com (guy78-3-82-239-227-177.fbx.proxad.net. [82.239.227.177]) by smtp.gmail.com with ESMTPSA id at4sm8407364wjc.9.2015.10.30.11.55.40 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Fri, 30 Oct 2015 11:55:40 -0700 (PDT) In-Reply-To: <1444067692-29645-1-git-send-email-adrien.mazarguil@6wind.com> 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" Mellanox OFED 3.1 [1] comes with improved APIs that Mellanox ConnectX-4 (mlx5) adapters can take advantage of, such as: - Separate post and doorbell operations on all queues. - Lightweight RX queues called Work Queues (WQs). - Low-level RSS indirection table and hash key configuration. This patchset enhances mlx5 with all of these for better performance and flexibility. Documentation is updated accordingly. [1] http://www.mellanox.com/page/products_dyn?product_family=3D26&mtag=3D= linux_sw_drivers Changes in v2: - Fixed compilation errors due to a missing libibverbs callback in the fi= rst two commits. - Improved clean up in device stop function. - Added flows clean up when going promiscuous to save HW resources. - Removed VF check in promiscuous mode. - Added RSS support for IPv6 flows. - Renamed flow specification generator function. - Modified allmulticast code to use enhanced flow specifications. - Remaining changes are caused by rebase on v2 of the initial patchset ("Mellanox ConnectX-4 PMD (mlx5)"). Adrien Mazarguil (7): mlx5: use fast Verbs interface for scattered RX operation mlx5: get rid of the WR structure in RX queue elements mlx5: refactor RX code for the new Verbs RSS API app/testpmd: fix missing initialization in the RSS hash show command mlx5: add IPv6 RSS support using experimental flows mlx5: enable multi packet send WR in TX CQ doc: update mlx5 documentation Nelio Laranjeiro (5): mlx5: adapt indirection table size depending on RX queues number mlx5: add RSS hash update/get mlx5: use one RSS hash key per flow type app/testpmd: add missing type to RSS hash commands mlx5: disable useless flows in promiscuous mode Olga Shern (3): mlx5: use separate indirection table for default hash RX queue mlx5: define specific flow steering rules for each hash RX QP mlx5: use alternate method to configure promisc and allmulti modes Yaacov Hazan (1): mlx5: fix compilation error with GCC < 4.6 app/test-pmd/cmdline.c | 45 +- app/test-pmd/config.c | 69 +- app/test-pmd/testpmd.h | 6 +- doc/guides/nics/mlx5.rst | 26 + doc/guides/testpmd_app_ug/testpmd_funcs.rst | 2 +- drivers/net/mlx5/Makefile | 14 +- drivers/net/mlx5/mlx5.c | 67 +- drivers/net/mlx5/mlx5.h | 54 +- drivers/net/mlx5/mlx5_defs.h | 3 + drivers/net/mlx5/mlx5_ethdev.c | 54 +- drivers/net/mlx5/mlx5_mac.c | 212 +++--- drivers/net/mlx5/mlx5_rss.c | 213 ++++++ drivers/net/mlx5/mlx5_rxmode.c | 313 +++++---- drivers/net/mlx5/mlx5_rxq.c | 1012 ++++++++++++++++++---= ------ drivers/net/mlx5/mlx5_rxtx.c | 68 +- drivers/net/mlx5/mlx5_rxtx.h | 97 ++- drivers/net/mlx5/mlx5_trigger.c | 87 +-- drivers/net/mlx5/mlx5_txq.c | 7 + drivers/net/mlx5/mlx5_utils.h | 2 - drivers/net/mlx5/mlx5_vlan.c | 33 +- 20 files changed, 1532 insertions(+), 852 deletions(-) create mode 100644 drivers/net/mlx5/mlx5_rss.c --=20 2.1.0