From patchwork Mon Oct 5 08:35:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dekel Peled X-Patchwork-Id: 79601 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 7D3C3A04BA; Mon, 5 Oct 2020 10:36:40 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 389411B696; Mon, 5 Oct 2020 10:36:27 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id 0D1FC1B667 for ; Mon, 5 Oct 2020 10:36:23 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE1 (envelope-from dekelp@nvidia.com) with SMTP; 5 Oct 2020 11:36:18 +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 0958aHks022203; Mon, 5 Oct 2020 11:36:18 +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, 5 Oct 2020 11:35:42 +0300 Message-Id: X-Mailer: git-send-email 1.7.1 In-Reply-To: References: Subject: [dpdk-dev] [PATCH v3 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. --- 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 | 28 ++- 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, 573 insertions(+), 90 deletions(-)