From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f50.google.com (mail-wm0-f50.google.com [74.125.82.50]) by dpdk.org (Postfix) with ESMTP id 3701A915F for ; Tue, 1 Aug 2017 18:54:50 +0200 (CEST) Received: by mail-wm0-f50.google.com with SMTP id t201so20367285wmt.0 for ; Tue, 01 Aug 2017 09:54:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=wxngbDKHdeGnchfNrv5Ib7qBf+mnJ6JBuf/fS6F8qBg=; b=sMT0TaVAewDo92bixVYXyR6VQ5ey+dGDX7gtxkQ7Mluh17Sma5Wstn7vxOzqWqv4H5 nEFJzqdYMv81jBg+gEKQn8KAS49vVjG588pdcEf5VpWX0H4PRQ+0I8KW2wJ8KPCQzAC5 yttIs5XoO976YVEA1NOerrTd/9DMWQkvFBPoKo3KSKmeZuC9rudNFwDGpsp4BM+uUX7G QbDck+F/mvf9FEXXaJblBZPAcZrQiSg2EbqzBOVRyvIK6k5C2rwzVzpAfJjIBf1QXbkw 6uiY6U8rS5e0vEx+ZHRDrH+odwcpDYK25LS0PEGkaT2aTPzdZI8u9ncPyS6Af87LzIdb B9lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=wxngbDKHdeGnchfNrv5Ib7qBf+mnJ6JBuf/fS6F8qBg=; b=BzbOe29FPVj84TeG/+DWh/g0j+ohlTvDmPhIRYINW199e9ltRwzX1eyjZ5YaebwAVa aHy6AAWb2s1tHFVyUcqdu1lAcJ0oYxAyvaZ2SHtZvTUFtX2ij4IWnofmFIuMk2N2K5vr kwX4c1HsC5i4MdNlKZ62ieRUSWc33WGlnzxnkcFUNXwsqVIilTZ4eiBaLkiynmfQATWz sYY9LSFd7ZwsFcx7o4hduLlnT2cckqPSF/xA+eD8r2rRf2bae5/DZW/cSsAwlzT0x6vT 4dM0MChOa/KN6gnm07rOMCf3OeKnZtEC+QwoeXhBhmztdQt+JmSh5MBif1bES1CFnppz zrpg== X-Gm-Message-State: AIVw1112yZLXNC3gc2Uek8bidw65pVbo6KzbXagvnpRRhMccBb61UTdu 4NJ42NDUWnALBCnp0gA= X-Received: by 10.28.51.148 with SMTP id z142mr1784454wmz.92.1501606489663; Tue, 01 Aug 2017 09:54:49 -0700 (PDT) Received: from 6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id i15sm1943948wmd.13.2017.08.01.09.54.48 for (version=TLS1_2 cipher=AES128-SHA bits=128/128); Tue, 01 Aug 2017 09:54:48 -0700 (PDT) From: Adrien Mazarguil To: dev@dpdk.org Date: Tue, 1 Aug 2017 18:53:47 +0200 Message-Id: X-Mailer: git-send-email 2.1.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v1 00/48] net/mlx4: trim and refactor entire PMD X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Aug 2017 16:54:50 -0000 The main purpose of this large series is to relieve the mlx4 PMD from its dependency on Mellanox OFED to instead rely on the standard rdma-core package provided by Linux distributions. While compatibility with Mellanox OFED is preserved, all nonstandard functionality has to be stripped from the PMD in order to re-implement it through an approach compatible with rdma-core. Due to the amount of changes necessary to achieve this goal, this rework starts off by removing extraneous code to simplify the PMD as much as possible before either replacing or dismantling functionality that relies on nonstandard Verbs. What remains after applying this series is single-segment Tx/Rx support, without offloads nor RSS, on the default MAC address (which cannot be configured). Support for multiple queues and the flow API (minus the RSS action) are also preserved. Missing functionality that needs substantial work will be restored later by subsequent series. Also because the mlx4 PMD is mostly contained in a single very large source file of 6400+ lines (mlx4.c) which has become extremely difficult to maintain, this rework is used as an opportunity to finally group functions into separate files, as in mlx5. This rework targets DPDK 17.11. Adrien Mazarguil (48): net/mlx4: add consistency to copyright notices net/mlx4: remove limitation on number of instances net/mlx4: check max number of ports dynamically net/mlx4: remove useless compilation checks net/mlx4: remove secondary process support net/mlx4: remove useless code net/mlx4: remove soft counters compilation option net/mlx4: remove scatter mode compilation option net/mlx4: remove Tx inline compilation option net/mlx4: remove allmulti and promisc support net/mlx4: remove VLAN filter support net/mlx4: remove MAC address configuration support net/mlx4: drop MAC flows affecting all Rx queues net/mlx4: revert flow API RSS support net/mlx4: revert RSS parent queue refactoring net/mlx4: drop RSS support net/mlx4: drop checksum offloads support net/mlx4: drop packet type recognition support net/mlx4: drop scatter/gather support net/mlx4: drop inline receive support net/mlx4: use standard QP attributes net/mlx4: revert resource domain support net/mlx4: revert multicast echo prevention net/mlx4: revert fast Verbs interface for Tx net/mlx4: revert fast Verbs interface for Rx net/mlx4: simplify link update function net/mlx4: standardize on negative errno values net/mlx4: clean up coding style inconsistencies net/mlx4: remove control path locks net/mlx4: remove unnecessary wrapper functions net/mlx4: remove mbuf macro definitions net/mlx4: use standard macro to get array size net/mlx4: separate debugging macros net/mlx4: use a single interrupt handle net/mlx4: rename alarm field net/mlx4: refactor interrupt FD settings net/mlx4: clean up interrupt functions prototypes net/mlx4: compact interrupt functions net/mlx4: separate interrupt handling net/mlx4: separate Rx/Tx definitions net/mlx4: separate Rx/Tx functions net/mlx4: separate device control functions net/mlx4: separate Tx configuration functions net/mlx4: separate Rx configuration functions net/mlx4: group flow API handlers in common file net/mlx4: rename private functions in flow API net/mlx4: separate memory management functions net/mlx4: clean up includes and comments config/common_base | 3 - doc/guides/nics/features/mlx4.ini | 13 - doc/guides/nics/mlx4.rst | 37 +- drivers/net/mlx4/Makefile | 41 +- drivers/net/mlx4/mlx4.c | 6370 ++------------------------------ drivers/net/mlx4/mlx4.h | 322 +- drivers/net/mlx4/mlx4_ethdev.c | 792 ++++ drivers/net/mlx4/mlx4_flow.c | 457 +-- drivers/net/mlx4/mlx4_flow.h | 51 +- drivers/net/mlx4/mlx4_intr.c | 377 ++ drivers/net/mlx4/mlx4_mr.c | 183 + drivers/net/mlx4/mlx4_rxq.c | 632 ++++ drivers/net/mlx4/mlx4_rxtx.c | 533 +++ drivers/net/mlx4/mlx4_rxtx.h | 164 + drivers/net/mlx4/mlx4_txq.c | 472 +++ drivers/net/mlx4/mlx4_utils.c | 66 + drivers/net/mlx4/mlx4_utils.h | 105 + 17 files changed, 3824 insertions(+), 6794 deletions(-) create mode 100644 drivers/net/mlx4/mlx4_ethdev.c create mode 100644 drivers/net/mlx4/mlx4_intr.c create mode 100644 drivers/net/mlx4/mlx4_mr.c create mode 100644 drivers/net/mlx4/mlx4_rxq.c create mode 100644 drivers/net/mlx4/mlx4_rxtx.c create mode 100644 drivers/net/mlx4/mlx4_rxtx.h create mode 100644 drivers/net/mlx4/mlx4_txq.c create mode 100644 drivers/net/mlx4/mlx4_utils.c create mode 100644 drivers/net/mlx4/mlx4_utils.h -- 2.1.4