From patchwork Wed Oct 7 10:53: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: 79854 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 B0B4DA04BA; Wed, 7 Oct 2020 12:55:13 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 300821B68A; Wed, 7 Oct 2020 12:54:55 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id 59AB61B62B for ; Wed, 7 Oct 2020 12:54:50 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE1 (envelope-from dekelp@nvidia.com) with SMTP; 7 Oct 2020 13:54:46 +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 097Askd5031083; Wed, 7 Oct 2020 13:54:46 +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: Wed, 7 Oct 2020 13:53:59 +0300 Message-Id: X-Mailer: git-send-email 1.7.1 In-Reply-To: References: Subject: [dpdk-dev] [PATCH v4 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. --- 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(-)