From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f42.google.com (mail-wm0-f42.google.com [74.125.82.42]) by dpdk.org (Postfix) with ESMTP id 7E1431B28C for ; Thu, 12 Oct 2017 14:20:04 +0200 (CEST) Received: by mail-wm0-f42.google.com with SMTP id q124so12690464wmb.0 for ; Thu, 12 Oct 2017 05:20:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=dUkWtlrDEhfD1kNRtvhUcNTkLhozKouC/n1ZoJ7Jxu4=; b=ZXtsvVwFZb/F/v8QkGQcPrmqlQUJ3nq98T2lrt1XeRg3xkrHvGtJ2D72r23zcBTeSO 5pveO5cKJXmTFwhO/YSTF0s5qJIPY67j9DvBIeDmA8SgtZ/hVQW2plKUU61CxibDX3Bp aee+BtXawJ+1kkavq48oa94+3fV4cUN19AaHTm7/5Hop2TBkqf7Ey8CuGQmED2Rqx0SU vfnoHqtyBDy1bXR5KytxxrEhjzdUL1Fo9EEp7wYt28TZDVZ556Packq2tmipc+b0TNBK 4KrXXzUftt3Q1W52KVILS7aoiLmg5kml1GUC18JSuXHGoKzwvhjZzRBdkek6qBsi9WwO 0Bhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=dUkWtlrDEhfD1kNRtvhUcNTkLhozKouC/n1ZoJ7Jxu4=; b=fZu0f5hlGYkt+T7VoaySaO05DiaKRIRK0/HZEoz3mAPZLj9HPSTt2/kTWqf52Y4nPo J8oqyGism/z/2hkJ1gjGUAS8m3uZb4kAOWbheAUE26K1TeAaMtSPRcVBdb8Z9RuWeeuu Lizxu1dfUACaosUGAuULvki7E7wFnniMH9a8USDUhcJmpPFsUAyl4iDwb0xEyGTJRQH9 wzGBZ1Mrt0YwnNkODdvBWWGyitwAgPQt5FqcHgld8hFvfRbhqx4NFpLhksuqipd14Elp eElYmtmB/d/qlDZhAXRH3TkEZ/W2FN4ILPm1dl/zCTGipM8t7tfoV/bwAPj83m5HG5Ti uHSg== X-Gm-Message-State: AMCzsaXDV0Al03KS7DU4RDTXulq7p9biG1QWLxQ3oQ3HGlx6iZTLJ/KG Wu6T3lD8VLDPmU6G+sAQu4dbug== X-Google-Smtp-Source: AOwi7QAi1aNJPKUtf7pb9FI39r4qRkLWoaGVuZaTckmmu28n1NGq4/epOBrWyitzqxa+6ue/BmUpdQ== X-Received: by 10.223.199.15 with SMTP id k15mr2208242wrg.111.1507810803997; Thu, 12 Oct 2017 05:20:03 -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 d195sm141976wmd.0.2017.10.12.05.20.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 12 Oct 2017 05:20:03 -0700 (PDT) From: Adrien Mazarguil To: Ferruh Yigit Cc: Nelio Laranjeiro , dev@dpdk.org Date: Thu, 12 Oct 2017 14:19:14 +0200 Message-Id: X-Mailer: git-send-email 2.1.4 In-Reply-To: References: Subject: [dpdk-dev] [PATCH v2 00/29] net/mlx4: restore PMD functionality 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: Thu, 12 Oct 2017 12:20:04 -0000 This series restores all the control path functionality removed in prior series "net/mlx4: trim and refactor entire PMD", including: - Promiscuous mode. - All multicast mode. - MAC address configuration. - Support for multiple simultaneous MAC addresses. - Reception of broadcast and user-defined multicast traffic. - VLAN filters. - RSS. This rework also results in the following enhancements: - Support for multiple flow rule priorities (up to 4096). - Much more comprehensive error messages when failing to create or apply flow rules. - Flow rules with the RSS action targeting disparate queues can now overlap (as long as they take HW limitations into account). - RSS contexts can be created/destroyed on demand (they were previously fixed once and for all after applying the first flow rule). - RSS hash key can be configured per context. - Rx objects have a smaller memory footprint. Note that it should be applied directly before the following series: "new mlx4 datapath bypassing ibverbs" For which a new version based on top of this one will be submitted soon. v2 changes: - Moved new memory allocation wrappers from EAL into the mlx4 PMD. - Re-based on latest dpdk-next-net. Adrien Mazarguil (29): ethdev: expose flow API error helper net/mlx4: replace bit-field type net/mlx4: remove Rx QP initializer function net/mlx4: enhance header files comments net/mlx4: expose support for flow rule priorities net/mlx4: clarify flow objects naming scheme net/mlx4: tidy up flow rule handling code net/mlx4: compact flow rule error reporting net/mlx4: add iovec-like allocation wrappers net/mlx4: merge flow creation and validation code net/mlx4: allocate drop flow resources on demand net/mlx4: relax check on missing flow rule target net/mlx4: refactor internal flow rules net/mlx4: generalize flow rule priority support net/mlx4: simplify trigger code for flow rules net/mlx4: refactor flow item validation code net/mlx4: add MAC addresses configuration support net/mlx4: add VLAN filter configuration support net/mlx4: add flow support for multicast traffic net/mlx4: restore promisc and allmulti support net/mlx4: update Rx/Tx callbacks consistently net/mlx4: fix invalid errno value sign net/mlx4: drop live queue reconfiguration support net/mlx4: allocate queues and mbuf rings together net/mlx4: convert Rx path to work queues net/mlx4: remove unnecessary check net/mlx4: add RSS flow rule action support net/mlx4: disable UDP support in RSS flow rules net/mlx4: add RSS support outside flow API doc/guides/nics/features/mlx4.ini | 6 + doc/guides/prog_guide/rte_flow.rst | 23 +- drivers/net/mlx4/Makefile | 2 +- drivers/net/mlx4/mlx4.c | 71 +- drivers/net/mlx4/mlx4.h | 61 +- drivers/net/mlx4/mlx4_ethdev.c | 231 +++- drivers/net/mlx4/mlx4_flow.c | 1671 ++++++++++++++++---------- drivers/net/mlx4/mlx4_flow.h | 32 +- drivers/net/mlx4/mlx4_rxq.c | 697 +++++------ drivers/net/mlx4/mlx4_rxtx.c | 2 +- drivers/net/mlx4/mlx4_rxtx.h | 34 +- drivers/net/mlx4/mlx4_txq.c | 343 ++---- drivers/net/mlx4/mlx4_utils.c | 151 +++ drivers/net/mlx4/mlx4_utils.h | 25 +- drivers/net/tap/tap_flow.c | 2 +- lib/librte_ether/rte_ethdev_version.map | 1 + lib/librte_ether/rte_flow.c | 49 +- lib/librte_ether/rte_flow.h | 24 + lib/librte_ether/rte_flow_driver.h | 38 - mk/rte.app.mk | 2 +- 20 files changed, 2144 insertions(+), 1321 deletions(-) -- 2.1.4