From patchwork Mon Apr 8 06:32:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Baum X-Patchwork-Id: 139181 X-Patchwork-Delegate: rasland@nvidia.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E780B43DA2; Mon, 8 Apr 2024 08:32:36 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 93EE940289; Mon, 8 Apr 2024 08:32:35 +0200 (CEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2052.outbound.protection.outlook.com [40.107.236.52]) by mails.dpdk.org (Postfix) with ESMTP id 09E5D40041 for ; Mon, 8 Apr 2024 08:32:34 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JC1r6G+ER2Gu/8uu3AVwrKyHYC77J9yEW0pDrWMvKCSP1vKd/fuD8TrFgG/r8w7lTngkNWQWy+KHYtw3lgADO+yTZJ1EhymkPVV6WRu9I2iy3KvzynvgECV0ZO5GIMImVdYiDOa4s849EYQtK//D9zPn15dE/vQXbatxRdzky9g+DB6Cqw+4LPlGKcQaGyCtj+J4gS1p9npbTfXcDD4p+Q7sDk1dcR+SgJDDNa8fgxYZ8HEtmngv6crngpWFh7EGPrAVrZL7jJJxhSJ3yJUTn6Pojl/ejUQSUIf7yCtmp7/chlM29UFOUSo7agmAwpzxnt2yTLISWZGHI3sW/Br63w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=WvF2fTQZxyTi93OpoSLR7zV8npVT2De3OWd4ft29Jho=; b=k9sl9mFm2IuCTXk3eZy26nPEUAMoKLFdDB6TBxkSSzxjPfZYKWKckvGe0MPzlZwsWcbk5Y6XtbhSQ3ja4P3ekkThuV2QkvDVex9ms1BSJu8mrV7Gbx1LjoppVn/56yTCzF8XVeJ2QXv+4u8ZElCbWG6fbF/itnIEuoQa5zSdGZN0KnLzKgi3EZgjzXawZ3dBG5GD2S3alkCb+z6aQAHojwO4gBri6FGyna6IAdoKidyIOwShFwGOiBIaqidicLizGl5Hqcpe2YZsQFQpanYQSEY0gp2zefrAOaGtDEmDyx1zH3QY9VpX8/tJNRVhU7BURGe5rmzSnHBMr5Q59BzgjQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.232) 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=WvF2fTQZxyTi93OpoSLR7zV8npVT2De3OWd4ft29Jho=; b=FLxIZ2HOfYq40D3j4v2r2fT5ShJM6UwRyP7wOGL/SEGo3tlXj45d/pnY7VO3g+s3Q5dzWHr4KSreLtKuWLJjmZM/jWEs9aVOjOWS1l/lU9Vqm/BmMqOtg8FkPh3WnqtCYWu6zhtX8Kctv7f9+nWRSiIV1qVjlMKYyuXpf9s6Z9iXPAiFhcR7MzBZHCDSymgS23Qcy/MNN2XGbaad73k7wNtPsVcV3pEMolydqS9P0SbnAYu8qnwoW3oAjg19RGtHMKHqHHCnmwUTjapQGoAIIPxgfyMSZRzkA9QwGLmPx4hp4VcRntiz81P8/DEXdHCE9GrzjUOQCwJdtSxDLfgHkw== Received: from BYAPR07CA0022.namprd07.prod.outlook.com (2603:10b6:a02:bc::35) by SJ0PR12MB6735.namprd12.prod.outlook.com (2603:10b6:a03:479::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Mon, 8 Apr 2024 06:32:30 +0000 Received: from MWH0EPF000A672F.namprd04.prod.outlook.com (2603:10b6:a02:bc:cafe::53) by BYAPR07CA0022.outlook.office365.com (2603:10b6:a02:bc::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.34 via Frontend Transport; Mon, 8 Apr 2024 06:32:30 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) 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.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.232) by MWH0EPF000A672F.mail.protection.outlook.com (10.167.249.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.22 via Frontend Transport; Mon, 8 Apr 2024 06:32:29 +0000 Received: from drhqmail202.nvidia.com (10.126.190.181) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Sun, 7 Apr 2024 23:32:18 -0700 Received: from drhqmail203.nvidia.com (10.126.190.182) by drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.12; Sun, 7 Apr 2024 23:32:18 -0700 Received: from nvidia.com (10.127.8.13) by mail.nvidia.com (10.126.190.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.12 via Frontend Transport; Sun, 7 Apr 2024 23:32:16 -0700 From: Michael Baum To: CC: Matan Azrad , Dariusz Sosnowski , Raslan Darawsheh , Viacheslav Ovsiienko , Ori Kam , Suanming Mou , Alex Vesker Subject: [PATCH] net/mlx5/hws: add fragment packet ID matching support Date: Mon, 8 Apr 2024 09:32:10 +0300 Message-ID: <20240408063210.2600860-1-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000A672F:EE_|SJ0PR12MB6735:EE_ X-MS-Office365-Filtering-Correlation-Id: 5779f59a-9e66-4dd4-995c-08dc5795aa69 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pn/Srk0zARgvYVAEjURW+WognlDYDwVCkrOxGK/zQ8p2CUbwdHB7kVlaa7AQD40XSbXkaG3GHg6vhc1uxdhzTcfIUxWkQIUCJxZ5+VkZIfVC9jNMTLsPNOlERk3HaBT9qyZ88VsIkjS1xK4AYpjzmqy82r9m6IBtlE47dvtwY8gUJWHbDEMMBD2fAphfB8cCNpb3y0AKuqkrU7cYFUzBDZpn4cByzD3h1cCBMcDqSCOS6QKFsoReksDsVoLauHIJdxUSXxpzkmbgbN8noaJkpbHUOLBoaZDTL5iOAvx5u4pXY3DLnCkzTNBBXXE8LlXkmHQgmnwkz3g4aANR7H8cuOnyiVZ2TaoGPcBnPFx9ufqFCzg3ozG7rR+Vo4Z7Y26D90EV4helY3GQL/5fPn4/EDDxyvqaj+2JVU+QcqO2E4wnrIoMqD3Ewege+j1cGPXuiK34cobHI5d55PkTfXbdHpQd9ptDD7UT8H6P5xAdS19Tq9JihHP+bLuAz2iz0jYTA77h93MBHmFtAlidCl69d0ZCoDPrRC3CD4rX6i1QEJEwKtWKS5BBOd44ulEgpqRGroSyUWPNqvmG2eh5lP/8LSjOLmpefvubRNqGRvIRrFwTgHHgbz5S5gVMdsUofrZCkgWNYFF2W4Y1GkeVYMTwfCyqpglh0x2N5pr+V2mJaQNdlMZEXT9zbDuHQHmj7hDOzn49dBkjdQ5cX50iHZeNw2aetvV0CZvZ8SpTHodMb5CCesiOa7D1COq+OKuGf4UE X-Forefront-Antispam-Report: CIP:216.228.118.232; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc7edge1.nvidia.com; CAT:NONE; SFS:(13230031)(1800799015)(36860700004)(376005)(82310400014); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2024 06:32:29.9621 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5779f59a-9e66-4dd4-995c-08dc5795aa69 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.118.232]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000A672F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6735 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Add HWS support of IPv4 fragment packet id field matching. Signed-off-by: Michael Baum Reviewed-by: Alex Vesker Acked-by: Matan Azrad --- drivers/net/mlx5/hws/mlx5dr_definer.c | 11 ++++++++++- drivers/net/mlx5/hws/mlx5dr_definer.h | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.c b/drivers/net/mlx5/hws/mlx5dr_definer.c index 35a2ed2048..43be512b27 100644 --- a/drivers/net/mlx5/hws/mlx5dr_definer.c +++ b/drivers/net/mlx5/hws/mlx5dr_definer.c @@ -171,6 +171,7 @@ struct mlx5dr_definer_conv_data { X(SET, ipv4_version, STE_IPV4, rte_ipv4_hdr) \ X(SET_BE16, ipv4_frag, v->fragment_offset, rte_ipv4_hdr) \ X(SET_BE16, ipv4_len, v->total_length, rte_ipv4_hdr) \ + X(SET_BE16, ipv4_identification, v->packet_id, rte_ipv4_hdr) \ X(SET, ip_fragmented, !!v->fragment_offset, rte_ipv4_hdr) \ X(SET_BE16, ipv6_payload_len, v->hdr.payload_len, rte_flow_item_ipv6) \ X(SET, ipv6_proto, v->hdr.proto, rte_flow_item_ipv6) \ @@ -1026,7 +1027,7 @@ mlx5dr_definer_conv_item_ipv4(struct mlx5dr_definer_conv_data *cd, if (!m) return 0; - if (m->packet_id || m->hdr_checksum || + if (m->hdr_checksum || (l && (l->next_proto_id || l->type_of_service))) { rte_errno = ENOTSUP; return rte_errno; @@ -1060,6 +1061,14 @@ mlx5dr_definer_conv_item_ipv4(struct mlx5dr_definer_conv_data *cd, DR_CALC_SET(fc, eth_l3, protocol_next_header, inner); } + if (m->packet_id) { + fc = &cd->fc[DR_CALC_FNAME(IP_ID, inner)]; + fc->item_idx = item_idx; + fc->is_range = l && l->packet_id; + fc->tag_set = &mlx5dr_definer_ipv4_identification_set; + DR_CALC_SET(fc, eth_l3, identification, inner); + } + if (m->total_length) { fc = &cd->fc[DR_CALC_FNAME(IP_LEN, inner)]; fc->item_idx = item_idx; diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.h b/drivers/net/mlx5/hws/mlx5dr_definer.h index ca530ebf30..a42ba9b81a 100644 --- a/drivers/net/mlx5/hws/mlx5dr_definer.h +++ b/drivers/net/mlx5/hws/mlx5dr_definer.h @@ -75,6 +75,8 @@ enum mlx5dr_definer_fname { MLX5DR_DEFINER_FNAME_IP_VERSION_I, MLX5DR_DEFINER_FNAME_IP_FRAG_O, MLX5DR_DEFINER_FNAME_IP_FRAG_I, + MLX5DR_DEFINER_FNAME_IP_ID_O, + MLX5DR_DEFINER_FNAME_IP_ID_I, MLX5DR_DEFINER_FNAME_IP_LEN_O, MLX5DR_DEFINER_FNAME_IP_LEN_I, MLX5DR_DEFINER_FNAME_IP_TOS_O,