From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1329048AEC for ; Wed, 12 Nov 2025 10:13:27 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0D5B740678; Wed, 12 Nov 2025 10:13:27 +0100 (CET) Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11011005.outbound.protection.outlook.com [52.101.62.5]) by mails.dpdk.org (Postfix) with ESMTP id AAC0740678 for ; Wed, 12 Nov 2025 10:13:25 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=idgEMFLms2eCxQLbYou8cvzf3X6+bNHUr9XS+SaZKpPLp/UV8hxpvGGFSafISDfqw9MiHa7hKxtr1bEG9184EJ3sU01mNvnri+GuqRBs3YasIjg+w1uDLpYH5nwpAFw14HXrKBrxF98UiPVrJhr78awluEWWeWA4dB+asmOE8QJagt/agunUCUYsGkGCS0jdPRXnzGZ7azeblo0zkw2m3cK81h0SOX3cchdk1gNFmQsiesS0rCdKCwwVhq8qcRhkM02CZWBZJrLYE13VnSJtbQ2bCqNT1oLeplvr0grihkGgJbUkiGvCYWsqvgRtS4Nxp4RF37uXoh1SL3lt8gSbZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=n+VZ7YFYS4EWU37I0W14KS1/w9iQ6DQ1LvtJjoyZJdk=; b=ZgqUib33rxFRXIncNU1/AQ9KcrlWDMt0Kt2asoTF9Rbz0n6SOpSYXNzgePWDu3oyIl2DBb9A8RKLl1I1T0jMLAvPr71xy8VaDm3E/JFql8wkBp5QkxlDvTN50e5GTiWkMmfxPZMXQ2iBk8zrEF3c1Gt6I0OQvhMW4cRehOD+KvRAqwWFs9hnEcM3imIMvO/XrzXDgkljAAeBsYLDQyxWpPAp8FbzPzDUjOBEL+HlwkcoZ1c2rUIUF64JWfFN9i0kD8HpRLnfzxlCd9JS+1AhrzshJ68eGr++KGMHHNm3XRGfPedp3fmK1IPXAC8uunACdR3JscPZ7JfUdlU6Y+nhgg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=n+VZ7YFYS4EWU37I0W14KS1/w9iQ6DQ1LvtJjoyZJdk=; b=lzW6r/Ef2xlRNuykSCgIiYokfu8JirlmNW5XpOBk1d6sh5fPgavKCTR9/GR7vO1kBzOKiKM8YEcBsZCc+dJdZ8TY/lf+HsvN45ZlLlxHAriD/aOB0MoC6zRObivWtfB4vxNkL5vdF2daD/W7rqqNnxldqNc3j8O8Hvdt+M/mO58aj6gtMiYJ1b+rocuOjaiivHBd5HKltoMh7PfLzzzf0LipL5Zg2U0yjRJMkF0RTc8hFRODTwWAO67N6x8ML6fy68Quhrnct/ve8kb/zl9rx995oFh9JQLGwDgLqPh2ajrCM0Oy15qHWTGGkUdOk34Xm7p6bs2CWnCFr9odi0IYDA== Received: from MN2PR19CA0069.namprd19.prod.outlook.com (2603:10b6:208:19b::46) by CYYPR12MB8891.namprd12.prod.outlook.com (2603:10b6:930:c0::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9320.15; Wed, 12 Nov 2025 09:13:19 +0000 Received: from MN1PEPF0000ECD6.namprd02.prod.outlook.com (2603:10b6:208:19b:cafe::30) by MN2PR19CA0069.outlook.office365.com (2603:10b6:208:19b::46) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9137.21 via Frontend Transport; Wed, 12 Nov 2025 09:13:19 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by MN1PEPF0000ECD6.mail.protection.outlook.com (10.167.242.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9320.13 via Frontend Transport; Wed, 12 Nov 2025 09:13:18 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Wed, 12 Nov 2025 01:13:04 -0800 Received: from nvidia.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Wed, 12 Nov 2025 01:13:02 -0800 From: Viacheslav Ovsiienko To: CC: , , , "Matan Azrad" Subject: [PATCH 23.11 1/2] net/mlx5/hws: fix ESP header match in strict mode Date: Wed, 12 Nov 2025 11:12:44 +0200 Message-ID: <20251112091245.985351-1-viacheslavo@nvidia.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECD6:EE_|CYYPR12MB8891:EE_ X-MS-Office365-Filtering-Correlation-Id: 34cdb159-22c0-441f-975b-08de21cbb88e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|36860700013|376014|1800799024|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?JETaEDAN0UNOE4vuPlfHnDShRbL3QPXoz6dvcPT9P1wmegY9m9UKljbihgYq?= =?us-ascii?Q?rGh3cFWKNiYav4/ilDeT7dDkZPdNCy+wrQEiPDatOduOVAAcXrAtuS8e4kRE?= =?us-ascii?Q?D7My2+d8B8WndAeEKXOoCg2snmFHIkr6K+y+buby3xfGeaYPOqYZVbVzZ1g1?= =?us-ascii?Q?vabUs+NYJw2lYqb+iMRdfU86BpoxtUmNL/XU0234zQ6lnmfKeBjtYTA4IHRx?= =?us-ascii?Q?nWkv+dAQDvypDkp10en5WjR90zdxKvmcJyBQIhlnPuj+nwaH07mSAuDt3+pY?= =?us-ascii?Q?WMWvY0Nk6H2exAd+z94xgp5ypS0vKcnU3WV/qScAnHdB1gMkXZq8CrKblX6U?= =?us-ascii?Q?M232eeIh91pk9RUlcwjLhBrrqRwKmZOMiqoIAacQmTMMe9TCsHjfBXvLdjpg?= =?us-ascii?Q?GVnghM4DFN0MQfk4CnC+J26qIXt8EG1wafFpJCo/n5tj/CEkEkYOQA7miFcE?= =?us-ascii?Q?LOjWTMmsm5C94x9bj0nTNjezVAfqqlG2nqjaZAORU6aOl4uRb1/TIXmy64I+?= =?us-ascii?Q?4NLEnTxCOtrFf57IxrCqAam1IdOEHOAkvaXJHTYZxZzZaUzUvkRMypZ3k5o2?= =?us-ascii?Q?ABEE0rqHqjKqGATazEZVz+trNXOfifiFTJoX6Gk/4mpR641wn3Oy1Aj7IPuS?= =?us-ascii?Q?Meo2J2o0ZLrIhLNLb22c3UbspGpnONtlg+su6KHszs5uekc5upmZQi73EHHM?= =?us-ascii?Q?BJYiIMTDAR1B6shGS9xLLtRmsXEZ45dVPengOtrzMPzfoWc8d+w48XWSlG7U?= =?us-ascii?Q?tLEL4W2hn3p0OoL6BwZyLmEcBHEcmcHPl+h32RYkKfP+980LSZ1KBcWMeQ0N?= =?us-ascii?Q?/GD+JcVD16ageTbYv88uzwdcGUkZMWUX6jUbw386Y7w/+Oiod6lHaQv17J5U?= =?us-ascii?Q?y3sMD1Pu2KsBaXH3Suo04TXbJ5xHoy1bOnNNEsFGs/5s+m+kwvX2cFi+Z9R2?= =?us-ascii?Q?Rwo4T2rzZu48pHbVhgQOoYCJ7T6ssc7EwX5WDed29V3lnesV7RFQhLDJCHTy?= =?us-ascii?Q?9+W2H5v1xFlh7W3SZAz4+KZE6GeykTx2KwGPg2XhMG9MdYrmGRVTQKJMJF26?= =?us-ascii?Q?PsfmDp4bladCKzrpgaE3nfkYlrdmkIcxmLT4rA5U/LR+/cvDUClmSqXAbRq/?= =?us-ascii?Q?uB1mzOa7adGMODeUrHBEpI7dsicukvniOHZdiRBhO9sc+r+IqRr9vna19MWi?= =?us-ascii?Q?HwmVltsVECXwny63BF7fNs0+gupMi9MkWE28MQDeCOjn3iLLEGYF00ntUNxB?= =?us-ascii?Q?W6JF2yps6rKfb1ICa4q5vXufpowEWOMGzWNGUHNLMs+TEwA8stkbRZOpFam3?= =?us-ascii?Q?k8nEDi+QZVzq0V6ckmzS57Jn7J2/Wywrm8eulyG1vW59X9yXTulPSMd7gqI7?= =?us-ascii?Q?LNp/WOJibxbYiKF24BxGvJeJb+5VkK+xcVOreCIymaItuoXP7ySUfIKvlbrF?= =?us-ascii?Q?MlbwJE7UjaZwloGxeW+pBLTqByKvX/gUR/UHQW/TGtw5BqGrVmcNhIvxp75D?= =?us-ascii?Q?q58G7VUqV1G+Mtg1RVkf15gyxX70sGWJuSy/mlhLHX8D3cE791XIg68aloUg?= =?us-ascii?Q?HefHIJAtZENuZD/m3qg=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230040)(82310400026)(36860700013)(376014)(1800799024)(7053199007); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2025 09:13:18.9832 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 34cdb159-22c0-441f-975b-08de21cbb88e X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: MN1PEPF0000ECD6.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8891 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org [ upstream commit 4237d1efa6e3f7f18ba809aa2073640fb034ae8d ] The pattern like "eth / ipv6 / esp / end" matched on any IPv6 packet in strict mode, because there was no implicit match on the IP.proto forced. This patch adds the implicit match on IP.proto with value 50 (ESP) and adds implicit match on UDP.dport with value 4500 for the case ESP over UDP. Fixes: 81cf20a25abf ("net/mlx5/hws: support match on ESP item") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko Acked-by: Matan Azrad --- drivers/net/mlx5/hws/mlx5dr_definer.c | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.c b/drivers/net/mlx5/hws/mlx5dr_definer.c index 69a99d6785..93d40eb85f 100644 --- a/drivers/net/mlx5/hws/mlx5dr_definer.c +++ b/drivers/net/mlx5/hws/mlx5dr_definer.c @@ -9,6 +9,7 @@ #define ETH_TYPE_IPV4_VXLAN 0x0800 #define ETH_TYPE_IPV6_VXLAN 0x86DD #define UDP_GTPU_PORT 2152 +#define UDP_ESP_PORT 4500 #define UDP_VXLAN_PORT 4789 #define UDP_PORT_MPLS 6635 #define UDP_ROCEV2_PORT 4791 @@ -183,6 +184,8 @@ struct mlx5dr_definer_conv_data { X(SET_BE32, gre_opt_seq, v->sequence.sequence, rte_flow_item_gre_opt) \ X(SET_BE16, gre_opt_checksum, v->checksum_rsvd.checksum, rte_flow_item_gre_opt) \ X(SET, meter_color, rte_col_2_mlx5_col(v->color), rte_flow_item_meter_color) \ + X(SET, ipsec_protocol, IPPROTO_ESP, rte_flow_item_esp) \ + X(SET, ipsec_udp_port, UDP_ESP_PORT, rte_flow_item_esp) \ X(SET_BE32, ipsec_spi, v->hdr.spi, rte_flow_item_esp) \ X(SET_BE32, ipsec_sequence_number, v->hdr.seq, rte_flow_item_esp) \ X(SET, ib_l4_udp_port, UDP_ROCEV2_PORT, rte_flow_item_ib_bth) \ @@ -2258,6 +2261,32 @@ mlx5dr_definer_conv_item_esp(struct mlx5dr_definer_conv_data *cd, const struct rte_flow_item_esp *m = item->mask; struct mlx5dr_definer_fc *fc; + /* To match on ESP we must match on ip_protocol and optionally on l4_dport */ + if (!cd->relaxed) { + bool over_udp; + + fc = &cd->fc[DR_CALC_FNAME(IP_PROTOCOL, false)]; + over_udp = fc->tag_set == &mlx5dr_definer_udp_protocol_set; + + if (over_udp) { + fc = &cd->fc[DR_CALC_FNAME(L4_DPORT, false)]; + if (!fc->tag_set) { + fc->item_idx = item_idx; + fc->tag_mask_set = &mlx5dr_definer_ones_set; + fc->tag_set = &mlx5dr_definer_ipsec_udp_port_set; + DR_CALC_SET(fc, eth_l4, destination_port, false); + } + } else { + fc = &cd->fc[DR_CALC_FNAME(IP_PROTOCOL, false)]; + if (!fc->tag_set) { + fc->item_idx = item_idx; + fc->tag_set = &mlx5dr_definer_ipsec_protocol_set; + fc->tag_mask_set = &mlx5dr_definer_ones_set; + DR_CALC_SET(fc, eth_l3, protocol_next_header, false); + } + } + } + if (!m) return 0; if (m->hdr.spi) { -- 2.34.1