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 09B8448AEA for ; Wed, 12 Nov 2025 08:36:33 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 030B5402D9; Wed, 12 Nov 2025 08:36:33 +0100 (CET) Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazon11012024.outbound.protection.outlook.com [52.101.43.24]) by mails.dpdk.org (Postfix) with ESMTP id 8837A402D9 for ; Wed, 12 Nov 2025 08:36:31 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yCHUz7NNVVZTE4Qf5ZVasOn1u9Wcadw40BJgBq8t17KthR2f6TBjE8iOKP4XBj+5Xor8oaZSjBsogJIT8E0Bzt+qlrHlt9DEI8cGNq+TyORweByIlADvbIs94vSQxB3lNACWo8SPSsgiz0Lwj4Rc4xKyBetUc53tbnz0FsYnQe7VjzI4FbnQcipenCs2eEOxl8kuAd9oL7+pSIuEVlMs3QH1sZspG2G55QqD1Dtif/G5SjHLFbPPQTi/4XW8qyUknu8S/6g7fDGVh0AyM9Qji5/U3f+czp2k/sMj23Kb4Qx4szmlo6HBuzfj5r1XORNWYs3F88zDfBeJc7inX/LzFg== 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=KAhWZqrwu5JUc9hgbMmj88YPzrheTzXgivu+zRfSR24=; b=q5Bqt8Beq3yCiwuHfeui0y0VQefXZhKsdfnnWcr43sofZL3vIf2k97mfTJ1f4V6Mzhu+j7sq8pmDuqu004Z+/kTnJRL9VefPbKWbxypV69LClnnvTgi8GLjP+1FdFnfy7DxttcjEnnmK+xg7jck+ZhPDJnnpmSyeD6SZHJ+HWRJM9qVA6a13fG60jLJ4CvhH+9WPcjYyON8ickqtG46uzFz1Wt63Tgyg9KyKeS4pf2mqiREsqAJIblGqWoGTmG6XuWPt5zF3gKt8VJk22ibvvfFdeEunbPGXS4NVhodAyZyWLeqUeEQ1nmy6QYRpnM/tGNsk8mBT8Vazgcw8oc02Vg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) 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=KAhWZqrwu5JUc9hgbMmj88YPzrheTzXgivu+zRfSR24=; b=GIUssl0w1D3TNgREj5KY9nthAwDKZPpzV0FOisJX4AklL1gYcvaemrvqvVDMskrdasPVVd+IZyS7+JkV1lIcxk4vM6TAp/fIH+qwBUaFqPWAqVP7fTBzh1KkNMRudckN6Zozh2lu5KNBlM7V8kv553+B991rdeNJbV4RHpRFviJqB94MSGx5X8uJBOzneosI3DR+6m4vRs9q3Vjf0vQPtQmxtrnvH7Wae94NnEfreaoDmete6ak4MJ2R//Nwz22bFemYJy/MWpwsNOoW89WUBPvTFkOLLW7/7jG4Mnauqx9PuHqbU6RXGTBDAnhYp3VbxbCaP6FatsYKTrbeGMOJMA== Received: from BL1PR13CA0238.namprd13.prod.outlook.com (2603:10b6:208:2bf::33) by DM4PR12MB6350.namprd12.prod.outlook.com (2603:10b6:8:a3::17) 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 07:36:27 +0000 Received: from BL6PEPF0001AB55.namprd02.prod.outlook.com (2603:10b6:208:2bf:cafe::61) by BL1PR13CA0238.outlook.office365.com (2603:10b6:208:2bf::33) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9320.15 via Frontend Transport; Wed, 12 Nov 2025 07:36:27 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) 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.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by BL6PEPF0001AB55.mail.protection.outlook.com (10.167.241.7) 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 07:36:27 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 11 Nov 2025 23:36:11 -0800 Received: from nvidia.com (10.126.231.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; Tue, 11 Nov 2025 23:36:10 -0800 From: Viacheslav Ovsiienko To: CC: , , Matan Azrad Subject: [PATCH 24.11] net/mlx5/hws: fix ESP header match in strict mode Date: Wed, 12 Nov 2025 09:35:50 +0200 Message-ID: <20251112073550.920258-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.231.35] X-ClientProxiedBy: rnnvmail203.nvidia.com (10.129.68.9) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB55:EE_|DM4PR12MB6350:EE_ X-MS-Office365-Filtering-Correlation-Id: beefb21c-1d8f-4c87-6cd6-08de21be307f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|36860700013|1800799024|82310400026|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?1B6hJWaTux2OGxz5NrHxjH51ZpHK6TJDUxOeGj9QKSZhGn6+AyZHTgK+zikh?= =?us-ascii?Q?q/3tL+s9QTBmEvbJcgYpHaEKaRhiSiwIjhtjPQMWws4rPpnXUMJgoDkcS21q?= =?us-ascii?Q?8SrdGxK0yYiAVmRrIreClaQwz2iRBkTD3XGHt2isHqyGrxuEapGIGfUH3OSH?= =?us-ascii?Q?MTdCjvp2fLkwPTnc6rBlFzgy2tmDztKHhgvvWeRbmiwZAQAuZTNTapXsiFRt?= =?us-ascii?Q?wO8oWUQicuwdyL2wSMPsYvEFNoWSaVMUTVdfO1g6xLK0YW/1lK8gQoX9ZiuL?= =?us-ascii?Q?jh+V4Mfvi/8TzfEcKNylxvXWoAnenLh0K0AtXn6tzhM0B7vozqck1odZ3pC/?= =?us-ascii?Q?+3oN0nQ99y33zfAZe4jLgLRglmsVIWnvsx+pV807p6R0Q8EOMX96U8dAU2E4?= =?us-ascii?Q?4a9qCv7/NZtkCkWSEWq2O+Di/QO3zq8KOzLevamTn0abiJvjalDhGi6cdBit?= =?us-ascii?Q?48CDeT5LpgDYAIJU2IbZ4uUij+uhV2d1MUeDRh25AW8xD0KLBgkjAJii7xeo?= =?us-ascii?Q?ThTDWR8ZtQQEHIu03R5KGjRfj7MiEsvUtJtKVFAxJIjJaYGUpRUiqrxXfxzi?= =?us-ascii?Q?pxR01CCfT3jys7xoFuwHlStp4yqzZWLqHalkPm4r7xzk5PHNNADH72Jhtjle?= =?us-ascii?Q?M/z064RSvDQ83QC4xoG5cLdOo87CoLcaJREKldKq0usZqQonlZWbYWEq9jEN?= =?us-ascii?Q?M7nXCmfmVKkiykVpR/IseeGSrjuRm0gz1ugCvwJDSObubeHZUo6Mg1CpCUEv?= =?us-ascii?Q?daYBNXmV2yklRUjVg0aqINjS78Xz2mrjdAj6knmCfDi7k3Fh6aYoceK92GrC?= =?us-ascii?Q?tZQAvryoHKp5UoYwtIsZ7hj+NpR9csEQ8q/svZZxCBcbWwkLTvkr8SLrdetL?= =?us-ascii?Q?4IQl3aPIJYGiZ5xs5kXzSxkO1xOUwbFgU3t2813GCcA9bJEAKO45x5LUq8j8?= =?us-ascii?Q?U7zEcGHpBSf0gXlbnjNsseT/DF0NJvhrIRL/S9PQ4jnQeHyynZFYLCPiENEn?= =?us-ascii?Q?cZjSJ0ImnINnQQr9PWJf5RGLxd6CoIMZYjM1tsQ8PhSKeeTJyuMJ20QXBzci?= =?us-ascii?Q?9j3a4D3y91bb4lQ7tCNaY6yY5prRpMGTJsfMk3bMUNoPWWq9YVGC0j3N7Ge1?= =?us-ascii?Q?TNZvdYCaMHgjv/6aKpoH+TWbGSpgiN8cSTYHhcgdL2PesKM3Lq4CI5Lb9o++?= =?us-ascii?Q?+t54ULaFLh4IdjvNg8kmYohCthYjNAixlVLAJag+iYC6kbtuId3POKvGFr2x?= =?us-ascii?Q?sViwgG5nuCLnxckZSZdJgigk6bKbdUnuqdQWlN5jHKxHTO+wJq0ehWPTlYa6?= =?us-ascii?Q?S0LD0RzcE42ZDlM/4nx6bsnTDtMBsVdU/bWk5+aSEKqIeYLilJbvaI3yzX9l?= =?us-ascii?Q?8UFlZT84wlMaO0BogcDMR9QAQV1tgVguSyjTUnYmvHDpC1wzLyqTLp3AhJ7B?= =?us-ascii?Q?FdyP8bz4KSibV68PBVtvEtB8i0eNNRC6NIEjvotXv55Fm1E4zYinawQJmHkJ?= =?us-ascii?Q?wWNLtQyRodRZ6gRSNLYfjck4zZm2EbUwFu4hNX0KNSw6jDyqEf3WWPUJ5kpQ?= =?us-ascii?Q?ZYlxGjSNcPSfW+awBZc=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230040)(376014)(36860700013)(1800799024)(82310400026)(7053199007); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2025 07:36:27.2584 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: beefb21c-1d8f-4c87-6cd6-08de21be307f 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.160]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF0001AB55.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6350 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 4af24c788a..25d7f729c5 100644 --- a/drivers/net/mlx5/hws/mlx5dr_definer.c +++ b/drivers/net/mlx5/hws/mlx5dr_definer.c @@ -14,6 +14,7 @@ #define UDP_VXLAN_PORT 4789 #define UDP_VXLAN_GPE_PORT 4790 #define UDP_GTPU_PORT 2152 +#define UDP_ESP_PORT 4500 #define UDP_PORT_MPLS 6635 #define UDP_GENEVE_PORT 6081 #define UDP_ROCEV2_PORT 4791 @@ -230,6 +231,8 @@ struct mlx5dr_definer_conv_data { X(SET_BE16, nvgre_protocol, v->protocol, rte_flow_item_nvgre) \ X(SET_BE32P, nvgre_dw1, &v->tni[0], rte_flow_item_nvgre) \ 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) \ @@ -2804,6 +2807,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