From patchwork Mon Oct 12 10:42:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dekel Peled X-Patchwork-Id: 80341 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7800CA04B6; Mon, 12 Oct 2020 12:44:41 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AD7B11D6A8; Mon, 12 Oct 2020 12:44:02 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id 8FBC61D5E3 for ; Mon, 12 Oct 2020 12:43:58 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE1 (envelope-from dekelp@nvidia.com) with SMTP; 12 Oct 2020 13:43:52 +0300 Received: from mtl-vdi-280.wap.labs.mlnx. (mtl-vdi-280.wap.labs.mlnx [10.228.134.250]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 09CAhqvp025485; Mon, 12 Oct 2020 13:43:52 +0300 From: Dekel Peled To: orika@nvidia.com, thomas@monjalon.net, ferruh.yigit@intel.com, arybchenko@solarflare.com, konstantin.ananyev@intel.com, olivier.matz@6wind.com, wenzhuo.lu@intel.com, beilei.xing@intel.com, bernard.iremonger@intel.com, matan@nvidia.com, shahafs@nvidia.com, viacheslavo@nvidia.com Cc: dev@dpdk.org Date: Mon, 12 Oct 2020 13:42:59 +0300 Message-Id: X-Mailer: git-send-email 1.7.1 In-Reply-To: References: Subject: [dpdk-dev] [PATCH v5 00/11] support match on L3 fragmented packets 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This series implements support of matching on packets based on the fragmentation attribute of the packet, i.e. if packet is a fragment of a larger packet, or the opposite - packet is not a fragment. In ethdev, add API to support IPv6 extension headers, and specifically the IPv6 fragment extension header item. In MLX5 PMD, support match on IPv4 fragmented packets, IPv6 fragmented packets, and IPv6 fragment extension header item. Testpmd CLI is updated accordingly. Documentation is updated accordingly. --- v2: add patch 'net/mlx5: enforce limitation on IPv6 next proto' v3: update patch 'ethdev: add IPv6 fragment extension header item' to avoid ABI breakage. v4: update rte_flow documentation to clarify use of IPv6 extension header flags. v5: update following rebase on recent ICMP changes. --- Dekel Peled (11): ethdev: add extensions attributes to IPv6 item ethdev: add IPv6 fragment extension header item app/testpmd: support IPv4 fragments app/testpmd: support IPv6 fragments app/testpmd: support IPv6 fragment extension item net/mlx5: remove handling of ICMP fragmented packets net/mlx5: support match on IPv4 fragment packets net/mlx5: support match on IPv6 fragment packets net/mlx5: support match on IPv6 fragment ext. item doc: update release notes for MLX5 L3 frag support net/mlx5: enforce limitation on IPv6 next proto app/test-pmd/cmdline_flow.c | 53 +++++ doc/guides/nics/mlx5.rst | 7 + doc/guides/prog_guide/rte_flow.rst | 34 ++- doc/guides/rel_notes/release_20_11.rst | 10 + drivers/net/mlx5/mlx5_flow.c | 62 ++++-- drivers/net/mlx5/mlx5_flow.h | 14 ++ drivers/net/mlx5/mlx5_flow_dv.c | 382 +++++++++++++++++++++++++++++---- drivers/net/mlx5/mlx5_flow_verbs.c | 9 +- lib/librte_ethdev/rte_flow.c | 1 + lib/librte_ethdev/rte_flow.h | 45 +++- lib/librte_ip_frag/rte_ip_frag.h | 26 +-- lib/librte_net/rte_ip.h | 26 ++- 12 files changed, 579 insertions(+), 90 deletions(-)