From patchwork Wed Feb 21 03:53:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bing Zhao X-Patchwork-Id: 136942 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 857D943B5A; Wed, 21 Feb 2024 04:54:30 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 514E1402B9; Wed, 21 Feb 2024 04:54:30 +0100 (CET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2089.outbound.protection.outlook.com [40.107.220.89]) by mails.dpdk.org (Postfix) with ESMTP id D5CDF4014F; Wed, 21 Feb 2024 04:54:28 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NzzKbE62LxDtT7WUgA5WAmYBVo5ilPypXP7oF72nqgvRcRVqfHVsY6D167hpvrj4EJjVW+PvVDBLo4bw/hB7+lM06dQIgGEZKEHpTuU1TyYnmBE3x60eBi4J28WY21y4130D55vZeU9Ju1wdqhnYfJn4+GQWPTHwPr5Pt7qHbAmYy0TMEGHX0IBmgVpRqTWbaFlTw4GOGUR09PcPwD2WyvkmZh7Xij0Y8f8ZfI6U34prwgqyBS+THyu/cKc80i3a5zKT4BGvMp2xbax86+mKEuMbX9UQ9v83Exxggbrb0Ot7N+PGp2qphcoBrtE2cxYZlM0dcVOV+U2fd9wy9GqtfA== 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=jwhkkhmRkkj71dFJNqqz/7zet8PiXZYorBNQ5YpQ4U0=; b=jTbi6TOn1nZD8YIpftHX3ECUk+SvhK1OBv7unWsVMsJmxPOa8S4JMlWRHW9n2Ql1B8720pUiPUac0GzfVwhIbZXfrK0qfGSh7ZqRGcCETvC8kaLaOnf+1bQ8PQlwsrSzPVOLN+6yD2ovMYfgq9c7KoQ0Zj78Z5m0HcP6teTEWTKR+DciLV1Rj15F4QeQQjosnIwsUbeFXqK3vBz4nE744judP5r361DIjHdy7XcCGlbEDWZRQpLYIko3NsDpj+pqoT0grMcPlOBxLCszpJ+v8R6Z0bx1kg/TjGz9/Irku2igIz83tdqwo8xlKiUAxlEwS0ImsJOp+ZBoR7KKUr/Z4Q== 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=jwhkkhmRkkj71dFJNqqz/7zet8PiXZYorBNQ5YpQ4U0=; b=rQ17gIYvnwY5pb/brH3iS3RG5pu4e3Fc6iN08QgvxiKZyCUwJsmSUf4A8HdQxBZ+HxUFiT5hSl9Me0Z0Mdn9wMeJ0PVAQGWyu5B01tjL4KSICowhwpqQ1TlZKYpH56RoYoqcDoMMjZycKbgOcbUf62C3fgvQGLVOP5tf4DBy4dl2/iyTZD0W/RMgoAwWfl/A8NiVBqT76+FmKSXCp28V9jQM0kyMdYhUEidlTZU1LJSrKKHsq6dUTeIuBnMSryiRA0etn1gwFqsNsKEsg1dWgd3Reqfg6Mb4t45z3jOO7H408gCGZRdA8ZYvMbguyddrWt0J92oFTAYfvBsqbQLVoQ== Received: from SN4PR0501CA0026.namprd05.prod.outlook.com (2603:10b6:803:40::39) by DS7PR12MB5792.namprd12.prod.outlook.com (2603:10b6:8:77::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.20; Wed, 21 Feb 2024 03:54:26 +0000 Received: from SN1PEPF00026368.namprd02.prod.outlook.com (2603:10b6:803:40:cafe::75) by SN4PR0501CA0026.outlook.office365.com (2603:10b6:803:40::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.15 via Frontend Transport; Wed, 21 Feb 2024 03:54:26 +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 SN1PEPF00026368.mail.protection.outlook.com (10.167.241.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.25 via Frontend Transport; Wed, 21 Feb 2024 03:54:25 +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.986.41; Tue, 20 Feb 2024 19:54:09 -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.1258.12; Tue, 20 Feb 2024 19:54:06 -0800 From: Bing Zhao To: , , CC: , , , , , Hamdan Igbaria Subject: [PATCH] net/mlx5/hws: fix VLAN item handling on non relaxed mode Date: Wed, 21 Feb 2024 05:53:51 +0200 Message-ID: <20240221035351.298066-1-bingz@nvidia.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 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: SN1PEPF00026368:EE_|DS7PR12MB5792:EE_ X-MS-Office365-Filtering-Correlation-Id: e2810cb1-d181-45f5-7df1-08dc3290cc13 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vjcGYwHX2hPo88K/5Gh1dcZGGf/6jIQWG76kCkLfIOGhwK5GDtaFovOgatmmsQX/d9m3fvuOiQnzjABSoBVgFQawlQDSpmQQx9JIIfPhpBQd2LuO97dAMdvsnadm9beb6rYl9ZL/oAQ0Ou5AsgqCSTkMAZMJ4d6IKJEgd6t/4gaKQtqWFaBvbEvaktTNZ8YYrJm3HEkgeBZ1WopSehUCZA1zrxTgsWFgcUX5zZP6KQLYkYjJERKnPExq/YLWjlY+dGiIIAXxTSKSgDGqnJ8+Rv1ngScB+YeewGW0FYl/bJ7k+3j7ves1Yk6hfofEZeQ+VLjq34i6/0/uzSDYtNrMfRZG+g4sUFpg/h1R3UBvTX7aqdyNQ0BjASBa0NPD0rVaoSF1/XhNHsGHWZpj0/6kdO+mn3huEQNf7XAeHsEu0RMzZTTVOXYfTOyqWq6VxdC3hyVqKt4EZtBnCu/yT/ADM9lNgzoqdMZNlJSmWl4CLgYIf0xVmg5tnuIPdPf23WoxJjH8Q+gLFdcgZGDH/ncyOsf5thAqdxUy2c5xVL3rV/b4B6GvvVr0T9oSR7Y1OYsRr1WkB7LJAlsGxMtF12YQbsl2IUk1BNPwX94M5AsfUOpIiDEQrWP7DFv9/0Ahmo0YZiZQuuy6zPXn0vPWj1e0ZYi123as4A497nw0PWfPM1U= 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:(13230031)(36860700004)(40470700004)(46966006); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2024 03:54:25.7620 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e2810cb1-d181-45f5-7df1-08dc3290cc13 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: SN1PEPF00026368.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5792 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 From: Hamdan Igbaria If a VLAN item was passed with null mask, the item handler would return immediately and thus won't set default values for non relax mode. Also change the non relax default set to single-tagged (CVLAN). Fixes: c55c2bf35333 ("net/mlx5/hws: add definer layer") Cc: stable@dpdk.org Signed-off-by: Hamdan Igbaria Acked-by: Suanming Mou --- drivers/net/mlx5/hws/mlx5dr_definer.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.c b/drivers/net/mlx5/hws/mlx5dr_definer.c index 79d98bbf78..6585c91e1f 100644 --- a/drivers/net/mlx5/hws/mlx5dr_definer.c +++ b/drivers/net/mlx5/hws/mlx5dr_definer.c @@ -196,6 +196,7 @@ struct mlx5dr_definer_conv_data { X(SET, ib_l4_opcode, v->hdr.opcode, rte_flow_item_ib_bth) \ X(SET, random_number, v->value, rte_flow_item_random) \ X(SET, ib_l4_bth_a, v->hdr.a, rte_flow_item_ib_bth) \ + X(SET, cvlan, STE_CVLAN, rte_flow_item_vlan) \ /* Item set function format */ #define X(set_type, func_name, value, item_type) \ @@ -837,6 +838,15 @@ mlx5dr_definer_conv_item_vlan(struct mlx5dr_definer_conv_data *cd, struct mlx5dr_definer_fc *fc; bool inner = cd->tunnel; + if (!cd->relaxed) { + /* Mark packet as tagged (CVLAN) */ + fc = &cd->fc[DR_CALC_FNAME(VLAN_TYPE, inner)]; + fc->item_idx = item_idx; + fc->tag_mask_set = &mlx5dr_definer_ones_set; + fc->tag_set = &mlx5dr_definer_cvlan_set; + DR_CALC_SET(fc, eth_l2, first_vlan_qualifier, inner); + } + if (!m) return 0; @@ -845,8 +855,7 @@ mlx5dr_definer_conv_item_vlan(struct mlx5dr_definer_conv_data *cd, return rte_errno; } - if (!cd->relaxed || m->has_more_vlan) { - /* Mark packet as tagged (CVLAN or SVLAN) even if TCI is not specified.*/ + if (m->has_more_vlan) { fc = &cd->fc[DR_CALC_FNAME(VLAN_TYPE, inner)]; fc->item_idx = item_idx; fc->tag_mask_set = &mlx5dr_definer_ones_set;