From patchwork Wed Feb 21 03:59:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bing Zhao X-Patchwork-Id: 136943 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 8D6DE43B5A; Wed, 21 Feb 2024 05:00:43 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5D9F1402B9; Wed, 21 Feb 2024 05:00:43 +0100 (CET) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2072.outbound.protection.outlook.com [40.107.93.72]) by mails.dpdk.org (Postfix) with ESMTP id 724CD4014F; Wed, 21 Feb 2024 05:00:41 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZNmCqC1EgpsDewcjg+16xRZrvtttS9suu/qKJ5qcJWuYpI70p/w3l4Rb9I4nOsUxYxuAjeRSwoAyhpkO2LolUt6tA8FG64Z+WgSwXkafJWw37cBtUkWHi8bG58I9m36njJlB7M0eCEkUJtvHH0QigShxibShZHQUOjfv2Ewxj5bRF2bhzd8E4iYTogvG7SteHmXxtPNFhkYZZC2N7kGhVZTo9g0yHXV7+Ftus2olIAXrVl5FHdH3QvdIEeneWWhHYmEenXi6ImtGmtZcCHqoRuuqJ6NPP8gFy9RCV+HpBPB6eOb6NplFxUF2ti50RBVRfIwbO3x7tO7XpJquf8v47Q== 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=u1CRnLRZIs4OlabLNibU8jtuS77fK2Zr3LTNcV/PEKA=; b=Pkq2KNDenzlZ/oqmBchXzWteERPhnQxGjkHDId6YiiHzMEkywJ006ATRpj5hGYyqtmw8C7yCr5YeC/EqfWVLp4sYfqUkC65FYHUSbp7s7fU//D+mud9s/0ZT7a7Jvg028xsoocqH8nOABrohLZ0nMB3/bcqfjO+j1Dbe72fCseeb8Mk/D6j25c5wqf8ejfi/98aqtbpfMWULnsAa6iJ1YetwZ9taotS1ComdNyB0fteoYSTmnPYoHJjKkWvKemzZxHzM4Ge8VrtwcxeN2ws1RsXwYaXQwfsEucdv1ZOttB5V+agv5zJhgUNTPneMY80eES+3zrwlwUEJMXxlW+Sg0Q== 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=u1CRnLRZIs4OlabLNibU8jtuS77fK2Zr3LTNcV/PEKA=; b=Ja8xrjN3xZLI9x22O5+7WQQe8hSxPxgz0qw1tAy/gyWcJLNolK6/QeZYuehcFmLgZUvTtiytZKNb/gXD9YfEMmZG6E5CYrzOVeeVdyIF80vwkgCJIaFkm6g006ncrkBP0cPhCkCyOgJuV0yrqjavRUoKBbdHeshUmgrhBB+gepfzQXx2NwCSk9VVnNUbswuhzHrj0+BNBVlsJ13rwyh+V8thaA9Gv6h41NBLBSmPN/x5mIdPaAgDcodOY9suZnZeSSDp/TGV6o7lZ9ZF0cHynmkoFXFAvdvKu2GJLw4C2ydTXwErppDTMfajRjzw9xiP+E20u39/JX1pPv0QsDMS8Q== Received: from MN2PR15CA0057.namprd15.prod.outlook.com (2603:10b6:208:237::26) by MN0PR12MB6102.namprd12.prod.outlook.com (2603:10b6:208:3ca::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.21; Wed, 21 Feb 2024 04:00:36 +0000 Received: from BL6PEPF0001AB76.namprd02.prod.outlook.com (2603:10b6:208:237:cafe::e0) by MN2PR15CA0057.outlook.office365.com (2603:10b6:208:237::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.40 via Frontend Transport; Wed, 21 Feb 2024 04:00:36 +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 BL6PEPF0001AB76.mail.protection.outlook.com (10.167.242.169) 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 04:00:36 +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.986.41; Tue, 20 Feb 2024 20:00:14 -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 20:00:10 -0800 From: Bing Zhao To: , , CC: , , , , , Hamdan Igbaria , Erez Shitrit Subject: [PATCH v2] net/mlx5/hws: fix VLAN item handling on non relaxed mode Date: Wed, 21 Feb 2024 05:59:52 +0200 Message-ID: <20240221035952.298144-1-bingz@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240221035351.298066-1-bingz@nvidia.com> References: <20240221035351.298066-1-bingz@nvidia.com> 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: BL6PEPF0001AB76:EE_|MN0PR12MB6102:EE_ X-MS-Office365-Filtering-Correlation-Id: e45cf060-e59e-48ee-11f7-08dc3291a91f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: juM0XILY31fEsLpxoe/L9ZKUlxfRA7x/HhiCFSJHopuV07HCjlF7cGYz9YIwjMPEB7iyfTcC5ICROX8RznJBTf7cAvuElcxMMctnl5ATgrFKXM5may6LTsKq+mJ2NbnmoiJ5h151rSoS7Uzkw3kpHhP8Rx7xzdQ3U/6ZJzseM1wj3b14mSd++QhG8SJzUeBcLstBCrGw+KyPrFvakmtPYm45rV4iVoypVXbW6zaSNC64Fw3YYxyvNHs/uuX+J7j4pZU6/I+SqjgjHDuIXp32gBzyViRH5mF/xyd7eR7XZrYzMAtlwQfQzFrRtX3NDTTs5odp4/fHD1M4SJEUS92mxH+MrFPt9oL7CaxjbY59ex0lp1aqoAg5Rco5comCIkp9hy/aav8/DE8b/wzpF7Lvz/Oyrzr1bSeW6KaRH/+SxesBbtHkON/S5VyHaRFET7z/VqV5xnWpS2VPZlKxbVsDzN2rkjLSw30pQ9FcRxQ1X5b9woAYGQY7JbzZMNqHLBPH34lW4/fTRVY6XBpRoaU0F51W7IF0Vc1x00PQ6CsfzAn8A0IWZTujiGk0pTEITwuO/CafyqdJbHpdIFJ0pfEU+Y9fTv6yrpgjoZGlCM8XFIARBP71VRFIeH8o8Y883FsldZOjNtz8tMxWJOxwqwLFyNK3JT+cd3zPQIiTOJ3NMeE= 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:(13230031)(36860700004)(46966006)(40470700004); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2024 04:00:36.5987 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e45cf060-e59e-48ee-11f7-08dc3291a91f 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: BL6PEPF0001AB76.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6102 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 Reviewed-by: Erez Shitrit Acked-by: Suanming Mou --- v2: add "reviewed" field --- 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;