From patchwork Sun Oct 8 03:10:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haifei Luo X-Patchwork-Id: 132394 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 CE798426E8; Sun, 8 Oct 2023 05:11:29 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AA349402D4; Sun, 8 Oct 2023 05:11:26 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2080.outbound.protection.outlook.com [40.107.243.80]) by mails.dpdk.org (Postfix) with ESMTP id C678F402A8 for ; Sun, 8 Oct 2023 05:11:24 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IeG771jFEEhoQW2G5FyMa+dPQGKvmIwcVw/qWFvWO+ZPoBr7UXui9trC7+1HiDwFH0P7s6nZulPaSp8VS4kI6AXFs9RUQcnqN7eZZQ0y0Dy53Og+gWSraRMX1o3duuq+PDx1OS9mo238YaXNQzDgHghqCYcFRwRt1cE1GmU1zfM+WvolycsMBHdZFkjvV2PSfh7XEjIJrOYJdk2+kFZm/yYrls43zvkicHXvnwbngUbfO0DDzoIyH8t/lvsnDd1+pP1T9c3CME6r3wWlt6PCUpek/2GP4V3ssEKBSvQxelgk/ND7RQJn/qAVjHol+ctsP0LVfwrx7sAb8kqJahkNjQ== 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=piB5Rr1uD27QfvCcc3DvKo2w5k/raoxgloZQJmQKu+Q=; b=ZJVqw97KNob6nDD9Ov0iskp998AbEtWehHAHYAUkixuTF9/1Ve3L2O9f5elMEHJW2TbnOYcGnT/Se5aJDh6qv6SOoGn0XxJ4pYc9IPCrENspIUDiFVcx6fIj8ukYoRsPNcnRotAEiDYds0P5mwh4omabf7Nv4L7YBLmaPrOy/4UXnlheDvTRtDdmyDrUxiikjk0rbQesntTHcyXiT+pmVO9b+GwLH4gPtakVv8f0kOhd+TePwwQvu5d3uJLa4Pn9iy/yVrZFOzHDgBE+gm4veKlrqPjVNzRg7mC6rkWjpfEi0NN6A4BIWEJ5GkqWKBR++DgoCmaa2LHOWaw5H6lL8A== 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 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=piB5Rr1uD27QfvCcc3DvKo2w5k/raoxgloZQJmQKu+Q=; b=Qnf0IFKjnBG8yy90YkFUnWiabJRmRO5RgbPWgwr1Rk9my0cxBMqk3qWl51tEX9JDVCaNQ/UZV/CRD9WetYuEG8ONx+h8OTvwCMb/UCQGBLGCQn7IMwmyo5zG0pWa10yELlbPrAuQ7XIioaEfplJuEssA7+OpXJAM46h1ZllPpdFenAZCO3ChhkDfE73HuauaiDyewgDhz+sCSCh9c7vbmqIXTtWGl09uIVNVodjt64VhgKdL+7zmwYC2vbpOnMHN5m1yFJeEsudxJpnwYocEE/n8fhyw3YXDqXEPPG8VRree2Mqx4rykdZcnQ9si21pyFb6jrvtrpVsTSPEaMzEZpA== Received: from BYAPR05CA0064.namprd05.prod.outlook.com (2603:10b6:a03:74::41) by SA1PR12MB8095.namprd12.prod.outlook.com (2603:10b6:806:33f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.41; Sun, 8 Oct 2023 03:11:22 +0000 Received: from MWH0EPF000971E7.namprd02.prod.outlook.com (2603:10b6:a03:74:cafe::cd) by BYAPR05CA0064.outlook.office365.com (2603:10b6:a03:74::41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6886.20 via Frontend Transport; Sun, 8 Oct 2023 03:11:22 +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 MWH0EPF000971E7.mail.protection.outlook.com (10.167.243.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.14 via Frontend Transport; Sun, 8 Oct 2023 03:11:22 +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; Sat, 7 Oct 2023 20:11:10 -0700 Received: from nvidia.com (10.126.230.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.986.41; Sat, 7 Oct 2023 20:11:07 -0700 From: Haifei Luo To: CC: , , , , , Jiawei Wang , Dariusz Sosnowski , Suanming Mou , Aman Singh , Yuying Zhang Subject: [PATCH v4 1/5] app/testpmd: support for VXLAN-GPE's next protocol Date: Sun, 8 Oct 2023 06:10:25 +0300 Message-ID: <20231008031029.30850-2-haifeil@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20231008031029.30850-1-haifeil@nvidia.com> References: <20230925080746.16438-1-haifeil@nvidia.com> <20231008031029.30850-1-haifeil@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E7:EE_|SA1PR12MB8095:EE_ X-MS-Office365-Filtering-Correlation-Id: 8b3c42be-477e-4d39-a7b8-08dbc7ac3fd6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QKsFhTYx2EivlDrX7xoNPEweL+0D+ino9CmkYMTOxEv3hE9TJZG8ZS/2INXb2q5xr3gWLnmUi8rvgfqV0FSelWqYKOkMhSGJEwXWaPBfOggLWMUPEc5BFy4L5oBljOZ3jxczoutjMIoy+Dwpf7GV7VvnerF2mSUE3PPlkbMgx+HUp8p6NkDsOapH9gi/usLpyIh3sudpa2P9u3eCBH7N5wpNrTxSNqsg3gMLDY2DYp443h2QHsn9ed6mggf+SG0ElQiRE+wZodSYxcjAF218/D15E5nb4whZkkSOdhbo+EvAGytM/EFSlszmj/Qv4ULOdV8mY4qwBVETSZKRrUqXcAAapa8j2GR0QKcjkcfY71gFszGLUXIyWn35qwT4mi1pwwEFNqC2YltnAwULZsvMJuFMfOEQ3TgWRnsAiRtlwYW0pXD1MVeJpS/MH5Ap8XoHI1qyuQHGTJSfd2ZMWjk4uVYDQqTsyr7Ea3htieXCLQ7EPh1tEH/Q3117ndWY4kqCpzyDZ3Cm45NQl5kGkQROuJ4f0/ms4xFtMEMshOwHoPRE3wNgdOnfRftAItnmp/81/EkECOE+UWUm6xHYD1MUKV6fmYuO1L5cN8CeA+sXzwGDxEIvzQ6KiIRKp0Q2Ln1Rgodawo63apan8buGXnAnydE64TIAw5z6Ubb93ewozrmX41wjXUQgSL520twIhJkJ8asroUBEhD6P0oIMkenLK+v1fkwaQCzdNblFnhUIHz6jWFJD0y+hG9fGw853qvQf 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)(4636009)(136003)(346002)(376002)(396003)(39860400002)(230922051799003)(82310400011)(451199024)(1800799009)(64100799003)(186009)(46966006)(40470700004)(36840700001)(1076003)(2616005)(6286002)(426003)(16526019)(336012)(26005)(478600001)(6666004)(7696005)(47076005)(8676002)(36860700001)(2906002)(4326008)(41300700001)(54906003)(70586007)(70206006)(316002)(6916009)(5660300002)(8936002)(55016003)(40460700003)(7636003)(356005)(40480700001)(36756003)(82740400003)(86362001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2023 03:11:22.0829 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8b3c42be-477e-4d39-a7b8-08dbc7ac3fd6 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: MWH0EPF000971E7.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8095 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 support for configuring VXLAN-GPE's next protocol. The CLI is: vxlan-gpe protocol is . Example: flow create 0 transfer group 1 pattern eth / ipv6 / udp dst is 4790 / vxlan-gpe protocol is 0x04 / eth / ipv4 / tcp / end actions port_id id 1 / end Signed-off-by: Jiawei Wang Signed-off-by: Haifei Luo Acked-by: Dariusz Sosnowski Acked-by: Suanming Mou --- app/test-pmd/cmdline_flow.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index 95c0a19beb..8a4e06c50a 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -386,6 +386,7 @@ enum index { ITEM_GENEVE_OPTLEN, ITEM_VXLAN_GPE, ITEM_VXLAN_GPE_VNI, + ITEM_VXLAN_GPE_PROTO, ITEM_ARP_ETH_IPV4, ITEM_ARP_ETH_IPV4_SHA, ITEM_ARP_ETH_IPV4_SPA, @@ -1760,6 +1761,7 @@ static const enum index item_geneve[] = { static const enum index item_vxlan_gpe[] = { ITEM_VXLAN_GPE_VNI, + ITEM_VXLAN_GPE_PROTO, ITEM_NEXT, ZERO, }; @@ -4813,6 +4815,14 @@ static const struct token token_list[] = { .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_vxlan_gpe, hdr.vni)), }, + [ITEM_VXLAN_GPE_PROTO] = { + .name = "protocol", + .help = "VXLAN-GPE next protocol", + .next = NEXT(item_vxlan_gpe, NEXT_ENTRY(COMMON_UNSIGNED), + item_param), + .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_vxlan_gpe, + protocol)), + }, [ITEM_ARP_ETH_IPV4] = { .name = "arp_eth_ipv4", .help = "match ARP header for Ethernet/IPv4", From patchwork Sun Oct 8 03:10:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haifei Luo X-Patchwork-Id: 132395 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 75D76426E8; Sun, 8 Oct 2023 05:11:36 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EB53C402DF; Sun, 8 Oct 2023 05:11:29 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2054.outbound.protection.outlook.com [40.107.93.54]) by mails.dpdk.org (Postfix) with ESMTP id A2EEC402C2 for ; Sun, 8 Oct 2023 05:11:27 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KRdV8915aCb/C1P3pfckPR2mT7tEJTsJwQqI9+4uEET/AU9PXu2ow9CVtx3gtg2QW8mbHZPVD2hmQiUnfaJL6b1I7hlHUGgj01rkYN1BJ2siUdPjkOAll+5SfM3/T7wvrtnWZvid+LlLLIo7saCadmB5plo+mcOTtB3R2Lb4l2YREvWfw/GNTDSOsiJcT9zRRfstogYj2aqJUr+lhneYxs2yhGEABiIQhxvqrlYEqGdRIpwfGJ7Q/4E9yIlQRrGNHJVQFGBtuU7g153z074IvAt3kfb3e4K8qaxrgB9NfwRq/wCTXnaUGF89sGIE70V8T6UzT2vVwC0ptpojndiGhg== 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=9wlT0r9TivD92DwhDff1Uw2ZMMUXtu8w/M2X1EjL5Y4=; b=Yz/pRuHmSVc1XmhbsOm0+cG+4jzVcM2eP+sC/VzPFFS3tcwTcv/DMRP/VaEmwPfxrYE5xGD72TRL2IXiELr4eHpGXfgjdTygr4zkWIdqZrJ+P1BROckOd66lcztAxaJr2s/sH6InANps5Z0Xdd63mbgV37rLxM2g2/6G14w4nIIwv+8fTmUiVxyUsjEhCj3DGXI+K2C4sVfo3T80Hjt0wy0XKLO6bvDkL12Kgm0qMWMdw/3AU/z3G8dBs7PrlsGTOsnVFNbaF8gpmhtdGMX4lwtp9XsKN2S+B4YsTizhUxbqCo292gVflp40/ERApaqQ/A72gkLuX3C2DupJzEMxcQ== 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 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=9wlT0r9TivD92DwhDff1Uw2ZMMUXtu8w/M2X1EjL5Y4=; b=QK2D64PTsKjAR7d60oh6y6GQnTeF5Qhj63a91lnylhJyIXpy4kM6DNfBRaSZrdLlFHF6RTb4WYq80ID3RJ3ISVBNfrbR1IC8PUsP1+fxoOvtBxPoAMtDIAw/5fe7yYRkuNmA9Upcdir005bwomGDUSqXcS7wlK7aFrEqMwUOocswGp7N2emQLY6EQ12I3dYVyzhwUXFcq5915peLJZ0AfPFj6CqFXQrOdyBF2h18hMTy9DRQNueEaY0hnTM5q67ufLt4FQl0SX5yIzuXHWo9sT34VpfQunYNzOV1jNeM5rGgiuBU9dqLVJJI1D7gT35vEGOzP1Q12eFIh1mioe7OFw== Received: from BYAPR05CA0056.namprd05.prod.outlook.com (2603:10b6:a03:74::33) by PH8PR12MB6937.namprd12.prod.outlook.com (2603:10b6:510:1bc::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.36; Sun, 8 Oct 2023 03:11:25 +0000 Received: from MWH0EPF000971E7.namprd02.prod.outlook.com (2603:10b6:a03:74:cafe::80) by BYAPR05CA0056.outlook.office365.com (2603:10b6:a03:74::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6886.20 via Frontend Transport; Sun, 8 Oct 2023 03:11:25 +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 MWH0EPF000971E7.mail.protection.outlook.com (10.167.243.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.14 via Frontend Transport; Sun, 8 Oct 2023 03:11:25 +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; Sat, 7 Oct 2023 20:11:13 -0700 Received: from nvidia.com (10.126.230.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.986.41; Sat, 7 Oct 2023 20:11:10 -0700 From: Haifei Luo To: CC: , , , , , Dariusz Sosnowski , Suanming Mou , Matan Azrad Subject: [PATCH v4 2/5] common/mlx5: extend HCA attribute query for NSH Date: Sun, 8 Oct 2023 06:10:26 +0300 Message-ID: <20231008031029.30850-3-haifeil@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20231008031029.30850-1-haifeil@nvidia.com> References: <20230925080746.16438-1-haifeil@nvidia.com> <20231008031029.30850-1-haifeil@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E7:EE_|PH8PR12MB6937:EE_ X-MS-Office365-Filtering-Correlation-Id: b304befc-127b-4839-92ee-08dbc7ac41a7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FDtW0x6E2VYgzwdeu2wADno/LzUbzgQZoTqjt0KMOyUyeNUFHGB2GdryG8MONgrFrRIS2nk/jTdcusotOqK8yDJyJHtCuy39ImH+mr/42NQe2VY7Lp38j53riuyv3nUHSGXtVquHDz7bhk6K5kmf5pWxQcUxG0ktUfeIFtNLaJcACtHVUPFP0zLQ6Prvy4ocEg79VZA506OGF7mQrqkQ5RgoC19nhIH8fTJKYNt02/e1R/+ppU1ahsK7YQjvxzR8XHXiqC3DBgViEUsdtaHpVaLa1WLfP0t07sUfQjR+skI+5btjjdHcPcLoe8B7UXCtjZnn12+QHkzpurf26wuyY2OQIz5MFfZH54bugmhbB833oFG3l7bh8Gus4GrA+rkS92IvZQoBUqgEDY4Mgf1hh7ueqG6IHqLmv/EZM6D050iHemh1u3eQM/pjUnC0hPi9dpi9y6A7GMh8iG9BGX1Ek/GrwC8YfMZ2yS0aNveBW1/6ympahp8C/CZL1pVOL7VwRANsl+ZnQHBM/LBFuM+NWn3aANTWTOfWei7HqrG8EUqmS3gOm1YTyLoq/xBahWrn6JibB7p3NDvdKSdAVVRiWWSm5jNQVaw+XvP6FqHQOTvl19L4eEu288bXezeAoT0S8d6yDKTuv5X+mhoqogcKMq5YAogdZFVbNPsIrwW+uw72AJ25GeUL8fqD3tyCBpQq1EglbyVJZfwtoabp/f4OBJ4ApeeqQEVm4TH6EXnbh+O7F22SjC9ulCJ8id+sPeih 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)(4636009)(376002)(346002)(39860400002)(136003)(396003)(230922051799003)(1800799009)(64100799003)(451199024)(186009)(82310400011)(40470700004)(36840700001)(46966006)(2616005)(1076003)(6286002)(26005)(336012)(16526019)(426003)(40460700003)(55016003)(36756003)(40480700001)(86362001)(82740400003)(356005)(7636003)(107886003)(83380400001)(4326008)(2906002)(478600001)(8676002)(6666004)(7696005)(47076005)(36860700001)(41300700001)(5660300002)(6916009)(316002)(8936002)(54906003)(70586007)(70206006); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2023 03:11:25.1141 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b304befc-127b-4839-92ee-08dbc7ac41a7 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: MWH0EPF000971E7.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6937 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 NSH supporting field in two places: 1. New HCA capability indicating NSH is supported 2. New field in "mlx5_ifc_per_protocol_networking_offload_caps_bits" structure Signed-off-by: Haifei Luo Acked-by: Dariusz Sosnowski Acked-by: Suanming Mou --- drivers/common/mlx5/mlx5_devx_cmds.c | 3 +++ drivers/common/mlx5/mlx5_devx_cmds.h | 1 + drivers/common/mlx5/mlx5_prm.h | 4 +++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/common/mlx5/mlx5_devx_cmds.c b/drivers/common/mlx5/mlx5_devx_cmds.c index 66a77159a0..830199212e 100644 --- a/drivers/common/mlx5/mlx5_devx_cmds.c +++ b/drivers/common/mlx5/mlx5_devx_cmds.c @@ -1313,6 +1313,9 @@ mlx5_devx_cmd_query_hca_attr(void *ctx, attr->tunnel_stateless_gtp = MLX5_GET (per_protocol_networking_offload_caps, hcattr, tunnel_stateless_gtp); + attr->tunnel_stateless_vxlan_gpe_nsh = MLX5_GET + (per_protocol_networking_offload_caps, + hcattr, tunnel_stateless_vxlan_gpe_nsh); attr->rss_ind_tbl_cap = MLX5_GET (per_protocol_networking_offload_caps, hcattr, rss_ind_tbl_cap); diff --git a/drivers/common/mlx5/mlx5_devx_cmds.h b/drivers/common/mlx5/mlx5_devx_cmds.h index e071cd841f..11772431ae 100644 --- a/drivers/common/mlx5/mlx5_devx_cmds.h +++ b/drivers/common/mlx5/mlx5_devx_cmds.h @@ -196,6 +196,7 @@ struct mlx5_hca_attr { uint32_t tunnel_stateless_geneve_rx:1; uint32_t geneve_max_opt_len:1; /* 0x0: 14DW, 0x1: 63DW */ uint32_t tunnel_stateless_gtp:1; + uint32_t tunnel_stateless_vxlan_gpe_nsh:1; uint32_t max_lso_cap; uint32_t scatter_fcs:1; uint32_t lro_cap:1; diff --git a/drivers/common/mlx5/mlx5_prm.h b/drivers/common/mlx5/mlx5_prm.h index 51f426c614..f005877dd7 100644 --- a/drivers/common/mlx5/mlx5_prm.h +++ b/drivers/common/mlx5/mlx5_prm.h @@ -1964,7 +1964,9 @@ struct mlx5_ifc_per_protocol_networking_offload_caps_bits { u8 swp_lso[0x1]; u8 reserved_at_23[0x8]; u8 tunnel_stateless_gtp[0x1]; - u8 reserved_at_25[0x4]; + u8 reserved_at_25[0x2]; + u8 tunnel_stateless_vxlan_gpe_nsh[0x1]; + u8 reserved_at_28[0x1]; u8 max_vxlan_udp_ports[0x8]; u8 reserved_at_38[0x6]; u8 max_geneve_opt_len[0x1]; From patchwork Sun Oct 8 03:10:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haifei Luo X-Patchwork-Id: 132396 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 A6A34426E8; Sun, 8 Oct 2023 05:11:42 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3BE1B402F0; Sun, 8 Oct 2023 05:11:32 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2044.outbound.protection.outlook.com [40.107.220.44]) by mails.dpdk.org (Postfix) with ESMTP id AEF6D402EE for ; Sun, 8 Oct 2023 05:11:30 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hfLLdz/iigP/PsLudDSg9BrBt5npr152YCdnxvf7uLkYhr6EJ1lqpyxhj6PlMZI9pZPFyATvHHMTl4WqoXdKFZb15HjcZ3V0euJ++t17A1G/759OoOuz1OMwuSOwdKSt7wwP3CNAF+twga1527q4iB3n1M6tN8u+i7tWiR250YqCm5yI7iP4PI6e0TbXv3/KWJPhlVwko7Qnkx8TYlABmy/2LBTzd5k5SNR5QjFdHlcbas/Oi2vDuaZGZnd3CBuGwHAwM1PtBs01QmrcsRBtsJiyY48heE4eKV6dt1isfpsMnGVwTJOnOVXpvJBjzXjJQT+iOudBOc8tbKimJ3mQmw== 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=W8l5tjBEpF4Q0jSY7w9GsMN97RonFxj9X4+cjj8pY9k=; b=BGDl/a6wKPFwcW68V0zlgNR4RcNxRjWOQBxOIpcgay/QHVbFerrRuY8kxaDFwHptngkM1PD61HE6mcMAo/Zvabu719kRhPBiAE4ogSR8sFEdjxsZSEPpAutSoQvVtSxMIibBo1Ezi7Xp817BZgFA21VtFE7YWmmwGla1LWZdYgK//6qK0cwiDyjD/3Q/Ani1RuvwTyNQQCxarJ3928vT1SSp60GsS+Wf7nsw9KCWBiYsr4o1tSuNEuJoHqECPzFIS62nq4G6d6C7Q7jv8Lm3rJJWHYNibRFVktmujjclQRbpT3g9biTiTA3FMDrwV2RBjhV5SCOueZ86wd7AM3xufw== 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 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=W8l5tjBEpF4Q0jSY7w9GsMN97RonFxj9X4+cjj8pY9k=; b=BlPhHMc34YUAirhdHM5NietDbvMUkjiX3nom6O8QZbMmQ+OhZ4UlHXT2McdDF26RuRcomKLBSDJwO6Dzfnhri9EmMAeZprRRUlaBY3xP0obY9mvzgX3tZQ0GGNLluZvBzysysJyFLQlCH78cYUue265CvcuNzzCXgttQ9xPTDdDdasn2w/4+pfCSDH+afg+7dBcBV5M9atXzSCPPR5aje8Y1LT6gf3ZE+YgS3sr3P2QxW3yDTHNKI/YnNNpeTgG4kZBa5xhW2WEsIa99TZ5d2dT+POw71EDvw9oYepgWTmUn1XCdt+UjavJsugU0hpg/suLTfUKiCtttcVYoEA++2Q== Received: from MW4P222CA0023.NAMP222.PROD.OUTLOOK.COM (2603:10b6:303:114::28) by CH2PR12MB4214.namprd12.prod.outlook.com (2603:10b6:610:aa::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.36; Sun, 8 Oct 2023 03:11:28 +0000 Received: from CO1PEPF000044EE.namprd05.prod.outlook.com (2603:10b6:303:114:cafe::80) by MW4P222CA0023.outlook.office365.com (2603:10b6:303:114::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.36 via Frontend Transport; Sun, 8 Oct 2023 03:11:28 +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 CO1PEPF000044EE.mail.protection.outlook.com (10.167.241.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.14 via Frontend Transport; Sun, 8 Oct 2023 03:11:28 +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; Sat, 7 Oct 2023 20:11:16 -0700 Received: from nvidia.com (10.126.230.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.986.41; Sat, 7 Oct 2023 20:11:13 -0700 From: Haifei Luo To: CC: , , , , , Dariusz Sosnowski , Suanming Mou , Matan Azrad Subject: [PATCH v4 3/5] net/mlx5: enhance the validation for item VXLAN-GPE Date: Sun, 8 Oct 2023 06:10:27 +0300 Message-ID: <20231008031029.30850-4-haifeil@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20231008031029.30850-1-haifeil@nvidia.com> References: <20230925080746.16438-1-haifeil@nvidia.com> <20231008031029.30850-1-haifeil@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000044EE:EE_|CH2PR12MB4214:EE_ X-MS-Office365-Filtering-Correlation-Id: f8333948-a056-467e-4744-08dbc7ac4381 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RVCql3FpEhTnK8/FzIXCIWD1BVQhGLIkJg4Tio/lwnzvtsI9phvKeucNAi1+GzR4trA/6Cm9LoseC15Qd5rdVB9LmpSfQIahoDoDQW6YckZ/vxFwuSEmEcAs7UwW97Ketr0vOAVlJLTzYidlmz8dT7P16h756IlRSYPtlnoyjveo1ankh/Y6EKpFx6OQuLmGxPXrQ3Pz0c5eZV553Rl91hEgdI4qPNzP0j8WhC8e7KPQFwm7oY0zjoMVCXEHSiuwRIGlcIpQETx5AdYzo+LbS2cp9x4D563EVzLsA301TY2EHap8jjWRmqZHErbcjq4VjEfZpZ1o+waWHgQpMccWTlUesW3WagM5Rs88DJWIzce+M1MQP2KcMeZv2vCfctXEGK/3ah8kiivusTf0o4IhWW1tw6vgdl1IbMwmUNvQs69KQRcpj5n+WLwdhg1n5vaXVbvLdhWKJjzZELjZ3TAfSJ7PsrQpl7fL5wUU9Va0bTlAK9/2KyMqaqHV6Dhbpi3SJfrZ9zUsI59R8X896SRTVQ93aSSVwFpUW/+0UvC2scfNT5ekSlyUQtxDQA0eoEBSAXXVyQH0byoH+sTnd/OuMNNeC3mIiUicJlxIWyOcbE80SHeHE1LJSyWLWT3ZnWD43BTbq4th2+HFmQ2HiNi5U/z/BXwHOKKrIiytStLrs05DYuKi+4Uz4Kr0eJAcM+nTOJBSQgKQ3YUt69TzZauyk476D6BNeRvUurgBHwWYAFZdpIjwHf2SQNdhyxiWXB5r 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)(4636009)(39860400002)(136003)(396003)(346002)(376002)(230922051799003)(186009)(82310400011)(451199024)(1800799009)(64100799003)(46966006)(36840700001)(40470700004)(2906002)(40460700003)(16526019)(426003)(336012)(6286002)(26005)(2616005)(86362001)(107886003)(1076003)(6666004)(36756003)(7696005)(478600001)(36860700001)(47076005)(83380400001)(82740400003)(356005)(7636003)(55016003)(40480700001)(54906003)(70586007)(70206006)(6916009)(316002)(4326008)(41300700001)(5660300002)(8936002)(8676002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2023 03:11:28.2499 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f8333948-a056-467e-4744-08dbc7ac4381 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: CO1PEPF000044EE.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4214 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 Enhance the validation so that configuring vxlan-gpe's next protocol as NSH is supported. 1. The spec's protocol can have value and nic_mask's protocol is 0xff. Signed-off-by: Haifei Luo Acked-by: Dariusz Sosnowski Acked-by: Suanming Mou --- drivers/net/mlx5/mlx5_flow.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index f7f8f54eb4..202e878ddf 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -3198,6 +3198,11 @@ mlx5_flow_validate_item_vxlan_gpe(const struct rte_flow_item *item, uint8_t vni[4]; } id = { .vlan_id = 0, }; + struct rte_flow_item_vxlan_gpe nic_mask = { + .vni = "\xff\xff\xff", + .protocol = 0xff, + }; + if (!priv->sh->config.l3_vxlan_en) return rte_flow_error_set(error, ENOTSUP, RTE_FLOW_ERROR_TYPE_ITEM, item, @@ -3221,18 +3226,12 @@ mlx5_flow_validate_item_vxlan_gpe(const struct rte_flow_item *item, mask = &rte_flow_item_vxlan_gpe_mask; ret = mlx5_flow_item_acceptable (item, (const uint8_t *)mask, - (const uint8_t *)&rte_flow_item_vxlan_gpe_mask, + (const uint8_t *)&nic_mask, sizeof(struct rte_flow_item_vxlan_gpe), MLX5_ITEM_RANGE_NOT_ACCEPTED, error); if (ret < 0) return ret; if (spec) { - if (spec->hdr.proto) - return rte_flow_error_set(error, ENOTSUP, - RTE_FLOW_ERROR_TYPE_ITEM, - item, - "VxLAN-GPE protocol" - " not supported"); memcpy(&id.vni[1], spec->hdr.vni, 3); memcpy(&id.vni[1], mask->hdr.vni, 3); } From patchwork Sun Oct 8 03:10:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haifei Luo X-Patchwork-Id: 132397 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 55078426E8; Sun, 8 Oct 2023 05:11:51 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 538424067C; Sun, 8 Oct 2023 05:11:40 +0200 (CEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2083.outbound.protection.outlook.com [40.107.237.83]) by mails.dpdk.org (Postfix) with ESMTP id E73184067B for ; Sun, 8 Oct 2023 05:11:38 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ObrNeDHwAB5EAyZwrKOKQ3BpJH+lx8u3IGAXPJFB/5/KNmPcmKv5T/rXOXHtIj2IEI+fEdJDelbkQbZlO+jQgNEJ6cFUfnmTlQuKmKSbeGl3ot7nU42f/1P6q1Lm5Bn+TwzQJIOc6Ahvr8QeT/UkBCYmAjfcqIGhEILwoP9aUbBOzkaoVwfMH5mX9yOEqWzxKKqMy+qUZD06WIYykqZ9IdRjw6ZQuvkNPZ1RvO9gKoD+56dHvIwZwstXQZ31MH72TOgIO73sHIJAF/OqNYcKvYH0yhmCnGeinNx4GVDJmAT9eOSxfipEH08ml3gdce2s7JxPSBgGmppO3g3bEbc8GQ== 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=x/cv8PjbJObqrPZ5w1/LmWL2WaxunLNMNaDG/IyiAn0=; b=Gt6q1f7By0Na8gGB1MBVtLHrGiacJ1+2mf35CHluz1d43SmNsOeDbEu4eB6r63fTJ6/PsCfBYG2GosfIfgmxgbuULZt/0QBUQ5VGvy7puvdA5GK6kZ2q5Z/xbuw0epKOUVSCfX8z36MjKg3Eml9EkUNSEq1yHk+65tvkHZnxyWLNOH4haAS8NvsyfqDYVOjZDwJ05R48X/ggLONY8bS29+dXfaUEqYYFckUOsGDtVQRI7jmu6JqhRHtADUTiYYNeA/h+EsRQ+/P+9GFaBLFlP+OqZO2U1BTUegZZ9NzufD+FE279KgJ828k3jYd7VICOm+eJTwPI0cGI33+RzcEYpg== 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 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=x/cv8PjbJObqrPZ5w1/LmWL2WaxunLNMNaDG/IyiAn0=; b=bmuQeZv4lFc16x+HygrdVj39LJFpyQ+wdpUsGAbbS1hav8/TAVtOhLSouIl4Sfik+wlx257k/3HH+KHWKwOURG9HGa+ogVpurykt5Nw4uFKG7f05/pX/V4f25bbANxaL9FReuztegROzNYs/TN96UmWlNnNl2uxETmqUIoWFe9I2gvJbFF1VcxJX4FoKzEDlkhzm0xbOoEq9iJJMAWXOJx7Qp+DCXdWozOZJPZlyjWhPu4VqINclIs6g3OQx8l4XYNSpmVV8LCNyGD7BlXc/gaFMrdpyckQUZly0XvyE4R2CZHSMLIZoiU44Vkx6ETgS+DcRM+yri8uCxxUJzBkrOA== Received: from MW4PR04CA0183.namprd04.prod.outlook.com (2603:10b6:303:86::8) by BY5PR12MB4903.namprd12.prod.outlook.com (2603:10b6:a03:1d6::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.43; Sun, 8 Oct 2023 03:11:34 +0000 Received: from MWH0EPF000971E3.namprd02.prod.outlook.com (2603:10b6:303:86:cafe::51) by MW4PR04CA0183.outlook.office365.com (2603:10b6:303:86::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.36 via Frontend Transport; Sun, 8 Oct 2023 03:11:34 +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 MWH0EPF000971E3.mail.protection.outlook.com (10.167.243.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.14 via Frontend Transport; Sun, 8 Oct 2023 03:11:34 +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; Sat, 7 Oct 2023 20:11:19 -0700 Received: from nvidia.com (10.126.230.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.986.41; Sat, 7 Oct 2023 20:11:16 -0700 From: Haifei Luo To: CC: , , , , , Dariusz Sosnowski , Suanming Mou , Aman Singh , Yuying Zhang , "Matan Azrad" Subject: [PATCH v4 4/5] app/testpmd: support for NSH flow item Date: Sun, 8 Oct 2023 06:10:28 +0300 Message-ID: <20231008031029.30850-5-haifeil@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20231008031029.30850-1-haifeil@nvidia.com> References: <20230925080746.16438-1-haifeil@nvidia.com> <20231008031029.30850-1-haifeil@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E3:EE_|BY5PR12MB4903:EE_ X-MS-Office365-Filtering-Correlation-Id: f4c9143c-07ff-46e9-4b0c-08dbc7ac4744 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: X/bSCWI4hM5cfVGmQh8vx4Koi9by0yrutHMD3YifgfK+Oihkoza1krSt3rIeW+s0YhCOAW5GkgrQi6WQfOI1Ki3WsOEYaepovD2NoVJJRe4da8dRvnUr4rx5xiFWqYw1e/kRfihOUmDIFRVmCv1ZOCODzpfHLuJ4u37MYpZfJAkOedN5PwPzHGsSVXaBuY6PQjDUScqMzPbYBq58uUjVKWjnLLA2KINtXw0573yeZ4nK6NQSx8RfDpu3JufyPIeQzV9OhWswxwCAvihV3kgxefvfsEXx7IlhgCqUyL3Ao58iy9ff5iAwVysuoN8HpdzkS4uWasAiDplict4ie+Gn+W+NqWDqqydIMgcGOKJyxDuRZPwXF8FvxcmquhalwKVwv7m/IV92Y9pyK92wocQWGatRoBdzB80v60c/dWWVfIvrZ6QhUHVq40Bpzvay9osXB/tBL8AJZFTHwub92W5G7cXkK4PY45r7+Q6pz7Fy6MHeQ0HPt3oey9xx83cUPnunTJWV52O5kcLCU9z4qiQOu+MDjoAU31HBd6xNNHQwEGg4d2w5mFkTBhmUwhLPqKutENh0ckudpks8UWaqkDmtuixnMuKHCJU9VyBgrsXepMBR6LvyGqqyO50THLrF38E36UJDn00CEGhTMnAL+ycGYryD/2pnYiBBaOEJEwcKrkQYRxgwy93i05ZGvpaFoLknUa1N0LD/ZwYiRgLOZ2QXWw== 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)(4636009)(376002)(396003)(346002)(39850400004)(136003)(230922051799003)(186009)(1800799009)(82310400011)(64100799003)(451199024)(46966006)(36840700001)(40480700001)(55016003)(83380400001)(107886003)(1076003)(2616005)(336012)(426003)(26005)(6286002)(16526019)(47076005)(36860700001)(70206006)(70586007)(54906003)(316002)(6916009)(8936002)(8676002)(4326008)(5660300002)(41300700001)(7696005)(6666004)(2906002)(82740400003)(478600001)(36756003)(356005)(7636003)(86362001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2023 03:11:34.5611 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f4c9143c-07ff-46e9-4b0c-08dbc7ac4744 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: MWH0EPF000971E3.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4903 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 support for item NSH. The CLI is: nsh Example: flow create 0 transfer group 1 pattern eth / ipv6 / udp dst is 4790 / vxlan-gpe / nsh / eth / ipv4 / tcp / end actions port_id id 1 / end Signed-off-by: Haifei Luo Acked-by: Dariusz Sosnowski Acked-by: Suanming Mou --- app/test-pmd/cmdline_flow.c | 16 ++++++++++++++++ doc/guides/nics/features/mlx5.ini | 1 + 2 files changed, 17 insertions(+) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index 8a4e06c50a..84de3a2506 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -526,6 +526,7 @@ enum index { ITEM_IB_BTH_PSN, ITEM_IPV6_PUSH_REMOVE_EXT, ITEM_IPV6_PUSH_REMOVE_EXT_TYPE, + ITEM_NSH, /* Validate/create actions. */ ACTIONS, @@ -1563,6 +1564,7 @@ static const enum index next_item[] = { ITEM_AGGR_AFFINITY, ITEM_TX_QUEUE, ITEM_IB_BTH, + ITEM_NSH, END_SET, ZERO, }; @@ -2083,6 +2085,11 @@ static const enum index item_ib_bth[] = { ZERO, }; +static const enum index item_nsh[] = { + ITEM_NEXT, + ZERO, +}; + static const enum index next_action[] = { ACTION_END, ACTION_VOID, @@ -5846,6 +5853,15 @@ static const struct token token_list[] = { .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_ib_bth, hdr.psn)), }, + [ITEM_NSH] = { + .name = "nsh", + .help = "match NSH header", + .priv = PRIV_ITEM(NSH, + sizeof(struct rte_flow_item_nsh)), + .next = NEXT(item_nsh), + .call = parse_vc, + }, + /* Validate/create actions. */ [ACTIONS] = { .name = "actions", diff --git a/doc/guides/nics/features/mlx5.ini b/doc/guides/nics/features/mlx5.ini index c0e0b779cf..fc67415c6c 100644 --- a/doc/guides/nics/features/mlx5.ini +++ b/doc/guides/nics/features/mlx5.ini @@ -82,6 +82,7 @@ mark = Y meta = Y meter_color = Y mpls = Y +nsh = Y nvgre = Y port_id = Y port_representor = Y From patchwork Sun Oct 8 03:10:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haifei Luo X-Patchwork-Id: 132398 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 DA360426E8; Sun, 8 Oct 2023 05:11:57 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9541B406FF; Sun, 8 Oct 2023 05:11:41 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2062.outbound.protection.outlook.com [40.107.223.62]) by mails.dpdk.org (Postfix) with ESMTP id 0856E4067C for ; Sun, 8 Oct 2023 05:11:39 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Qm5D3dYzWeknA2DjX4Z+NRVlbtubNYRRxrT6rv9unkVk8/xELxAu3Bgiexu2e/lbWXo7l92ce9hJEYbgZTZCmv//LH4n0hDJcQZkJMN/xRWFPLs63hVirjMERxEE83XJeQZDth7NfZ83uop2NlDholgzLfZWfkLpEF6ZVZbaRaMoB+7Tf3XRLzYa1da1c4/zPHCWXrsPYheWdAtXoyaYVztQPiXZ1bxcgLS7Jh4vihQI6poonfNhsS1qsfA5GbD+j50ishwOh8QM6XyeNu5+yyJC/aHgSJXfa7rnGxPVm67hlox8fA0fQcGfUmKdtYOTYUdWBhBFXpY+uJ9w9aq0Og== 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=BNBrpWk2s/onZBKdk3g5QL9ragfTqISxyD6mBYDgUQ4=; b=eAARSR/hl1p0FSSIOseEmbc05Ee3a1/l7HqdXgAvzWliDeIMz6ti4ZBQA1o89MsCFwxSPYkRoqCV6f3ydlwat6uR8CEeK1YBbtFlBkCfdseWVXGGDSt0B5dx5kChozMgGhkBauv9kod5gPn6N24h83oCPxpWhrV7KljaAO742KviiITdGm8YcTZoymNO8HiAz9Y733EBi446eaTRRUQeiKo35qxdpOCm19N2r5Dr9vLPnbkU/Yib79LYAjwFcfd5NYlabJgpsXTPAQdXwVKceeJqW5rb+0yXm4fN4q1KsRz/Z743zyV8AmkVN+GXy4/LECIhwGYxrp0Pv8Hquy41AA== 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 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=BNBrpWk2s/onZBKdk3g5QL9ragfTqISxyD6mBYDgUQ4=; b=PffwRPZqz4slLmIXKEt9RyL86rp3bg3m0PJYjEfUwV17RVsTFGje61vfBdDcuPTfUiH2B/+6lsKKCQAC7jO4eviCu114PH8BuW9pKztLAp7WHmZXPUnux94fxvIHzFyTVGgTGKHGxYqCij6n18Gjytwe5wXc3d6Ax7t5z3R2AiMxubZZRUSccbexgdvDJXJc3FggFg4uB60Zz6YUeFNeJcSH0Zo6Z2GgA8ruUjZ0nEhRguo5vQ2vHjuRB/tlLicQXNcs3nIKRPhbEC/jjgvoLaBGA0v4zvLqudAAG4cCaWAud9cP4l7FSeGFvwYkSnSRBIvetigfA9692WQc8xbegg== Received: from MW4PR04CA0207.namprd04.prod.outlook.com (2603:10b6:303:86::32) by CY5PR12MB6154.namprd12.prod.outlook.com (2603:10b6:930:26::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.43; Sun, 8 Oct 2023 03:11:37 +0000 Received: from MWH0EPF000971E3.namprd02.prod.outlook.com (2603:10b6:303:86:cafe::9c) by MW4PR04CA0207.outlook.office365.com (2603:10b6:303:86::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.34 via Frontend Transport; Sun, 8 Oct 2023 03:11:37 +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 MWH0EPF000971E3.mail.protection.outlook.com (10.167.243.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.14 via Frontend Transport; Sun, 8 Oct 2023 03:11:37 +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; Sat, 7 Oct 2023 20:11:22 -0700 Received: from nvidia.com (10.126.230.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.986.41; Sat, 7 Oct 2023 20:11:19 -0700 From: Haifei Luo To: CC: , , , , , Dariusz Sosnowski , Suanming Mou , Matan Azrad Subject: [PATCH v4 5/5] net/mlx5: add support for item NSH Date: Sun, 8 Oct 2023 06:10:29 +0300 Message-ID: <20231008031029.30850-6-haifeil@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20231008031029.30850-1-haifeil@nvidia.com> References: <20230925080746.16438-1-haifeil@nvidia.com> <20231008031029.30850-1-haifeil@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E3:EE_|CY5PR12MB6154:EE_ X-MS-Office365-Filtering-Correlation-Id: f3bd838f-d5e9-4963-4cbd-08dbc7ac48cb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zuVel4obtaKBbHeJPWbN0uEEW1a+wOB9KDvOElfzvnqwJ0W253YoNcfYxv4M6HatfXRJkRrwmX5yTDPZD7GZ4i0j8BCJ/v+2NKW6tY8iQx2Y7pdKB8F7XHpdZYnm7cIE+DDY2DFQCQH8J3vJdSAa2MC61cnhrQ4DP1OJEoLd1JOU4gK7AcT2xD3hKb6CU0fsGdRk1iU6z5VyrPHAy7I7J1rOJ2/stjLTlE0FA6Ac6WLlM+Xpqkmazp/PJtav/Rtj2UtgHuNfzRSo2plHvW4T8YVjVAD0EFQTOS8sAAynE/qRr/q1klHPxBqS1qfqdC7SMeKonglCuOkblMR52vXs9qLThIC3VajttN7SSNUkM8ahWSzC5TRfc1DXDQqyMUX/MZ6bMWq+Tn0PqaFowvDrbDnC5drkjaet7a7vr07hBY/YRmO/xdIX7YLKydeiYibNoFRZ5GEDOMrHgxUioA3MpxLQSDSFY0pu8vYIcMK7XwtZW5yIkPE9CXEfHxkpn1RPfNEt050jA3BpXD32Jv9ONPKtuW4aX9Zacyp6hDaNc3CpBE1U7pMYWpZwwoACV7RIlibOYbojmaKRvq1Zd82fq4IlLNHmVmlJAmf6ON3U54mT/ZqeMNKQtHlxXsUEAiNeyXKYr6NY69FAw4hwaBVZTvwobxs8zwOnMVFJxMyAL6WG58DIoe6J7MHiuFUocBGQlS3QUx7Wzuak34AK1ntQtTjHFLIFv+B4pH/SmYMuZbSS/zoGe6wtgmVEuqktZHFp 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)(4636009)(376002)(396003)(346002)(136003)(39860400002)(230922051799003)(64100799003)(82310400011)(451199024)(186009)(1800799009)(36840700001)(46966006)(40470700004)(7636003)(356005)(86362001)(36756003)(40480700001)(55016003)(2906002)(82740400003)(478600001)(41300700001)(8936002)(5660300002)(4326008)(8676002)(6666004)(7696005)(83380400001)(426003)(336012)(2616005)(1076003)(107886003)(40460700003)(16526019)(36860700001)(70586007)(70206006)(54906003)(316002)(6916009)(6286002)(26005)(47076005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2023 03:11:37.1079 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f3bd838f-d5e9-4963-4cbd-08dbc7ac48cb 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: MWH0EPF000971E3.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6154 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 1. Add validation for item NSH. It will fail if HCA cap for NSH is false. 2. Add item_flags for NSH. 3. For vxlan-gpe if next header is NSH, set next_protocol as NSH. Signed-off-by: Haifei Luo Acked-by: Dariusz Sosnowski Acked-by: Suanming Mou --- drivers/net/mlx5/mlx5_flow.c | 39 +++++++++++++++++++++++++++++++++ drivers/net/mlx5/mlx5_flow.h | 6 +++++ drivers/net/mlx5/mlx5_flow_dv.c | 13 ++++++++++- 3 files changed, 57 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 202e878ddf..8ad85e6027 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -3905,6 +3905,45 @@ mlx5_flow_validate_item_ecpri(const struct rte_flow_item *item, MLX5_ITEM_RANGE_NOT_ACCEPTED, error); } +/** + * Validate the NSH item. + * + * @param[in] dev + * Pointer to Ethernet device on which flow rule is being created on. + * @param[out] error + * Pointer to error structure. + * + * @return + * 0 on success, a negative errno value otherwise and rte_errno is set. + */ +int +mlx5_flow_validate_item_nsh(struct rte_eth_dev *dev, + const struct rte_flow_item *item, + struct rte_flow_error *error) +{ + struct mlx5_priv *priv = dev->data->dev_private; + + if (item->mask) { + return rte_flow_error_set(error, ENOTSUP, + RTE_FLOW_ERROR_TYPE_ITEM, item, + "NSH fields matching is not supported"); + } + + if (!priv->sh->config.dv_flow_en) { + return rte_flow_error_set(error, ENOTSUP, + RTE_FLOW_ERROR_TYPE_UNSPECIFIED, + NULL, "NSH support requires DV flow interface"); + } + + if (!priv->sh->cdev->config.hca_attr.tunnel_stateless_vxlan_gpe_nsh) { + return rte_flow_error_set(error, ENOTSUP, + RTE_FLOW_ERROR_TYPE_ITEM, item, + "Current FW does not support matching on NSH"); + } + + return 0; +} + static int flow_null_validate(struct rte_eth_dev *dev __rte_unused, const struct rte_flow_attr *attr __rte_unused, diff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5/mlx5_flow.h index 3a97975d69..ccb416e497 100644 --- a/drivers/net/mlx5/mlx5_flow.h +++ b/drivers/net/mlx5/mlx5_flow.h @@ -233,6 +233,9 @@ enum mlx5_feature_name { /* IB BTH ITEM. */ #define MLX5_FLOW_ITEM_IB_BTH (1ull << 51) +/* NSH ITEM */ +#define MLX5_FLOW_ITEM_NSH (1ull << 53) + /* Outer Masks. */ #define MLX5_FLOW_LAYER_OUTER_L3 \ (MLX5_FLOW_LAYER_OUTER_L3_IPV4 | MLX5_FLOW_LAYER_OUTER_L3_IPV6) @@ -2453,6 +2456,9 @@ int mlx5_flow_validate_item_ecpri(const struct rte_flow_item *item, uint16_t ether_type, const struct rte_flow_item_ecpri *acc_mask, struct rte_flow_error *error); +int mlx5_flow_validate_item_nsh(struct rte_eth_dev *dev, + const struct rte_flow_item *item, + struct rte_flow_error *error); int mlx5_flow_create_mtr_tbls(struct rte_eth_dev *dev, struct mlx5_flow_meter_info *fm, uint32_t mtr_idx, diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c index 3f4325c5c8..5cd04b1d93 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -7815,6 +7815,12 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr, last_item = MLX5_FLOW_ITEM_IB_BTH; break; + case RTE_FLOW_ITEM_TYPE_NSH: + ret = mlx5_flow_validate_item_nsh(dev, items, error); + if (ret < 0) + return ret; + last_item = MLX5_FLOW_ITEM_NSH; + break; default: return rte_flow_error_set(error, ENOTSUP, RTE_FLOW_ERROR_TYPE_ITEM, @@ -9720,7 +9726,9 @@ flow_dv_translate_item_vxlan_gpe(void *key, const struct rte_flow_item *item, v_protocol = vxlan_v->hdr.protocol; if (!m_protocol) { /* Force next protocol to ensure next headers parsing. */ - if (pattern_flags & MLX5_FLOW_LAYER_INNER_L2) + if (pattern_flags & MLX5_FLOW_ITEM_NSH) + v_protocol = RTE_VXLAN_GPE_TYPE_NSH; + else if (pattern_flags & MLX5_FLOW_LAYER_INNER_L2) v_protocol = RTE_VXLAN_GPE_TYPE_ETH; else if (pattern_flags & MLX5_FLOW_LAYER_INNER_L3_IPV4) v_protocol = RTE_VXLAN_GPE_TYPE_IPV4; @@ -13910,6 +13918,9 @@ flow_dv_translate_items(struct rte_eth_dev *dev, flow_dv_translate_item_ib_bth(key, items, tunnel, key_type); last_item = MLX5_FLOW_ITEM_IB_BTH; break; + case RTE_FLOW_ITEM_TYPE_NSH: + last_item = MLX5_FLOW_ITEM_NSH; + break; default: break; }