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 A312043B5A for ; Wed, 21 Feb 2024 04:54:31 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9437F4067A; Wed, 21 Feb 2024 04:54:31 +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 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: 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: 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 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; -- 2.34.1