From patchwork Mon Sep 25 02:09:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haifei Luo X-Patchwork-Id: 131860 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 01C2642630; Mon, 25 Sep 2023 04:10:04 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7EC8E402BF; Mon, 25 Sep 2023 04:10:02 +0200 (CEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2077.outbound.protection.outlook.com [40.107.92.77]) by mails.dpdk.org (Postfix) with ESMTP id A9114402BC for ; Mon, 25 Sep 2023 04:10:00 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FH5AKqEWYLQx9TJne5lt9wxjZHim2L+uWDiwYeGgCmkujmH9TarNacAo1tYMZqyZotrq967+ylXjrQk3Z11dQ6NW4Nhlo6ABGnlrxUiu79saDFHdMFeJLoYqr+0nUor0JJZV3XewB5d5ZXKc5/CPfuE0e1G90D0yxJbis9hbOvmpykuPELcnGWpbvWouJxQtMgUL9rG8zSaM+QjTlnRqI+WVL7uFojOMpqEaqIhMvFkY+yZl6x9g4royrR22gdBHcltU9ShRjWqeXY76SaiRrcOVdzEtV6IAmTpcIu0+f0diDOKtGevUSNaw7YYYSMY6YHFuNoiKS+QaJqnqcafK7Q== 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=5GsrDkJwBmBLzFuOBbG5CLp7u0HVgOyLAV+E/KkaYNw=; b=B1Ax6fYewaBHpPHb7naQjxRhgergXWbQFMGISHKmTL/JsBNuCV+WIJuCWwgMZ++QWqLpPxRc7X9choHSNhX7CfQ4tQcYTMiLblaNLVOBG+JxqqjdbAdSJNvclheNBg3MrKmSGXlxfyJyyN1Ujub0bTYj/vcIr9c4OHVixpbSl3EammMTnfn70UKW+dxMu/e5K0WsPQ+2IKRw/TaLbUu+M1M+vmSX0NZx4Y7o7ymLvSc3/rHRlljsGX7K4jQvY/B2Ce5GMxJt8OfgWGYLKA1Ug2QcL92V35gCs0WJBacEbzBSRzXhUYmPJdtZHTr/k5DeZRyK+1klivAHGn9KxMc3Fw== 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=5GsrDkJwBmBLzFuOBbG5CLp7u0HVgOyLAV+E/KkaYNw=; b=bgRoBicNY4ZmMbFIrqTUPkU15hBbGncoyd+o9y9j0uPEk39MptwuAXGTQzwJmOOy2G6r3wFUdtx/G+ODTWHuVFpTHm3iVQ/YgT1U1Mo1ohs4wzBwMa5PnNqozifhciVchXxf/4YBCweWsW5r3QkuyZ3lete7PDbzvynWOtnJSyLho2z0Jx4lApKFX8jdvIpVg/zG65CP0NG/i2e9JE+g8NLHZ23dbN21XcB2ypiy04+d7iRsfEjbDYWaSENmqZy6D/xFMxZAe+tIup1vqYSp0qGsvSdIkC96PyYFFVXsY6OL5aocW8Djaixe2DNEp31vb6SLqWmwlgU/zYzREeRGpw== Received: from MN2PR11CA0006.namprd11.prod.outlook.com (2603:10b6:208:23b::11) by MW6PR12MB8950.namprd12.prod.outlook.com (2603:10b6:303:24a::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.27; Mon, 25 Sep 2023 02:09:58 +0000 Received: from MN1PEPF0000F0E5.namprd04.prod.outlook.com (2603:10b6:208:23b:cafe::ca) by MN2PR11CA0006.outlook.office365.com (2603:10b6:208:23b::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.35 via Frontend Transport; Mon, 25 Sep 2023 02:09:58 +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 MN1PEPF0000F0E5.mail.protection.outlook.com (10.167.242.43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.14 via Frontend Transport; Mon, 25 Sep 2023 02:09:57 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) 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; Sun, 24 Sep 2023 19:09:41 -0700 Received: from nvidia.com (10.126.231.35) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Sun, 24 Sep 2023 19:09:38 -0700 From: Haifei Luo To: CC: , , , , , Jiawei Wang , Dariusz Sosnowski , Aman Singh , Yuying Zhang Subject: [PATCH v2 1/5] app/testpmd: support for VXLAN-GPE's next protocol Date: Mon, 25 Sep 2023 05:09:16 +0300 Message-ID: <20230925020921.4607-2-haifeil@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20230925020921.4607-1-haifeil@nvidia.com> References: <20230809074046.121807-1-haifeil@nvidia.com> <20230925020921.4607-1-haifeil@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail203.nvidia.com (10.129.68.9) To rnnvmail202.nvidia.com (10.129.68.7) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN1PEPF0000F0E5:EE_|MW6PR12MB8950:EE_ X-MS-Office365-Filtering-Correlation-Id: e0588b02-fff4-4c67-1e95-08dbbd6c848a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4SbzX5BRt4+yG5Hk3En0J6bUaXzuofp8JiEL1YBHXtwvSQJyRuemvAdsBj4+2r+GwZep6rS+HRSYk1KAZT0i0LI+yRMix0lOIyZ3iSCJ8PFjSDmXcJCP30gTvuN8xwUKYz+fwVeDNSv31st095Y1hRT+mLhg9wT38lpLAHU2DQ5gNU8PzWfu51XjudxV6w7MxbWRjO3iqndtVAcmig72rPpEHsa+ShGcGjTGl/WaCylMxFVsaixalSxDfLLj2tu4EH/olGiRDZhAfLJm1TG9aKfVMt/CeSImXh/1kjVdjLTsjhKz8R6xsV25daWw0pqrqnmE2tjE18hylyay3qohd5xV4oqM0r/DIW/qOr8Z4cf77JimlWEJCEcJ2NxaltbyfeIZDexezWARdWVXOy3C0kRY3yCpC8kv00s6QUsDsoPkzqHCJhNIdOyrBS6gkEYDq8dsHBREJnDdiu5alsIwjrFS8CJWZ4hoMCxc20iUQDLleiAgXW6ZryguSzcxymI+oA9Yq7tUw3kzWsd6xDEeixy6tTEE9CVAN6M1xHEBFx2zGtzlKQ+VxvC8yAl9ZAhcR4m53ebEmsNZ4saZYdpvk/xoiYz90wMunTYeuLzGIJsSAAM+CGVlaxF3TWoMAEU9/6ZBJlY96AXd0qpYI6UOLE9Q1KNP2acuXFsZL8KaltflJ1FF8vUL7taEZXiRGgk7rs4H/jQuY4B4BJ4VvXspHDp7KSvsMhlMkQS8NmQkUMNqHOD0/J8xmtxYH83YNfP1 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)(136003)(396003)(346002)(376002)(39860400002)(230922051799003)(1800799009)(451199024)(186009)(82310400011)(46966006)(36840700001)(40470700004)(26005)(6666004)(40460700003)(478600001)(2616005)(6286002)(1076003)(16526019)(426003)(336012)(36756003)(86362001)(82740400003)(356005)(7636003)(47076005)(36860700001)(5660300002)(55016003)(7696005)(40480700001)(4326008)(2906002)(8936002)(8676002)(41300700001)(54906003)(316002)(6916009)(70206006)(70586007); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2023 02:09:57.8787 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e0588b02-fff4-4c67-1e95-08dbbd6c848a 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: MN1PEPF0000F0E5.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8950 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 --- 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 94827bcc4a..d25f941259 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -385,6 +385,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, @@ -1758,6 +1759,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, }; @@ -4804,6 +4806,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 Mon Sep 25 02:09:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haifei Luo X-Patchwork-Id: 131861 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 AE04E42630; Mon, 25 Sep 2023 04:10:13 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1387B402D3; Mon, 25 Sep 2023 04:10:06 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2045.outbound.protection.outlook.com [40.107.243.45]) by mails.dpdk.org (Postfix) with ESMTP id 0368F402E0 for ; Mon, 25 Sep 2023 04:10:05 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y4IXGDcgh6cSFIgKvfL1s0xriyjqZvC9JWRdzx25TfaWPDX1ulGPwBnyz3dVpwubIIH5K3rmJCVEiD2AeXg25QV3qTjwGy3AtJtetPIXn3GiH5Iodr8xPc0Scdz+eL8SLlD8/N2UwkTIHz4qkg/QMMdDXPuD84iuF44tmeso6O1/lTDjyu+6EucBDK84FTBNiwx5CGNWX4mGN++Z8Rdj7tIoX5OHab6MOndHyV5ehxK9WnOl1Mf59ASpguT9jec//dMXVWUZsBtqmonlGt7fPqkQ/h9gSustgYH7Ahb1ZjkLuhyqM+KnsT6rb7SktVYPw8ka8/cuEde5JH5daNvQiA== 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=4OKyyIw+6rLWCNedML7QhgX7PQIswKmXJZrul1fRbFc=; b=eqHBCzFHA6bBIVwW5pCbole8AL0NWsW5aVwQtu+zi1BbeNiipwOaLOaB1BrHBspyFp4Dhjbh2OxuBD0j4noH4GxC3XcuPhRkXluq7wMPPNVWSIyCypupl8vzhrpi7gFcoQC64arS79GFY0C8YcKQx7nL1Qi3gOR1OIMHXUem/vOPsR1L6qIbw35O7w8o5Drn6OjN7QcDeqmQnopEKxRaCxIRCNlmrVUQ3ueNyhHO4vVl/q/vQTUDRTI341IoTSudTd5MhMJAuLcdREyLgztrZftO6icB7O4Cq832c5bA8BDchkvsRGzt5DRxh8i2eoFECimzmFVb8Ve5v5mMm9Ivkw== 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=4OKyyIw+6rLWCNedML7QhgX7PQIswKmXJZrul1fRbFc=; b=f/LpjTMA+6ZuTYdTxycmj2yqEItFL6P8kkUTYFsz77+RVBwzM3Ry8TpLxt8P7FszmFRyLLuPbiDAcdnXcCc9TOvpnbnOPG9P+Xdybj6ANSONuSRIGz1cDXirxA3zKEO2fWh1tg9QxxlKsLdCmygJ/Kvv3VMNjoI6KH64ce/v1vzeiLafaHx7jSv86XYovYwA1LgOPEofeOXGIrEz4bTz2LNuur9Nqo0xFDgvX7seJyXiF9yJK2Uh+KipPhhqdd+0FnltXuzEj7jXZyeMJFTryhG8rquAlRk+IEef5/tWCwyyqb8gGS3ddPPMKACdWD650zoET7G0RahUAjsyZQPp4Q== Received: from MW4P223CA0018.NAMP223.PROD.OUTLOOK.COM (2603:10b6:303:80::23) by MN0PR12MB6003.namprd12.prod.outlook.com (2603:10b6:208:37f::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.20; Mon, 25 Sep 2023 02:10:03 +0000 Received: from MWH0EPF000971E4.namprd02.prod.outlook.com (2603:10b6:303:80:cafe::f9) by MW4P223CA0018.outlook.office365.com (2603:10b6:303:80::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.35 via Frontend Transport; Mon, 25 Sep 2023 02:10:03 +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 MWH0EPF000971E4.mail.protection.outlook.com (10.167.243.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.14 via Frontend Transport; Mon, 25 Sep 2023 02:10:02 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) 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; Sun, 24 Sep 2023 19:09:44 -0700 Received: from nvidia.com (10.126.231.35) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Sun, 24 Sep 2023 19:09:41 -0700 From: Haifei Luo To: CC: , , , , , Dariusz Sosnowski , Matan Azrad , Suanming Mou Subject: [PATCH v2 2/5] common/mlx5: extend HCA attribute query for NSH Date: Mon, 25 Sep 2023 05:09:17 +0300 Message-ID: <20230925020921.4607-3-haifeil@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20230925020921.4607-1-haifeil@nvidia.com> References: <20230809074046.121807-1-haifeil@nvidia.com> <20230925020921.4607-1-haifeil@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail203.nvidia.com (10.129.68.9) To rnnvmail202.nvidia.com (10.129.68.7) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E4:EE_|MN0PR12MB6003:EE_ X-MS-Office365-Filtering-Correlation-Id: ab755446-86ec-42ee-ed48-08dbbd6c8776 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JkpqzWp+HmS60X9HjK6wqUejcSRQewKNNhgUbrdgDH9ogwN2OH6VJDcnx7SYs9XqD+SUVBrzMZo3tJT5r8+ZhB5j1zACClKv0jJID6quTfA1Rho1vwm2boZo3d/ufrYsfB9wZXghg+GGVBPYBd5z9Eh/25dGZW8J6GsSAXso0nXHQpfLyQU1uJN1PSz3AiN2coNgHCz5WensspSh1nXoenz+MvkiQiPruaF5tIXCnrPsAipMvh4+X3LfwZOrQFSLlSaPrveOeX0WcTiM84ue1xe9X1vfFCyGhjWRH/1ZF+m4sUxF/QchbPQL7rRfatU2dgnGnrtg+t6PrHjbRzpNUVezlxVoCEt/ORHcMhc5XpsCxVfT0+tUnmYl57xOBQ1ISauf8nci/OMlUgLTwF3Q0ZlchBA2idSy4Gjoh6nulX06yljI/5e8Yv5zYqZfGXgRAazTV1yAlIdeAY8dsClSP0eWqRH6Qv1To3UfpfEG4JiFKQZTrkkCfa5od+zJlrP8O/K/xRoKhA1Wu4PUOC5q3/FTVUMS2cbrP8l3oo4y8vJf1A86GVM1p8cKEbu0Ymi127bE4hoaKmxI36wVgsx3p6frHP42OXKNI2xylA4UZx6NxTIQfs5AdNksvwyoFrzBaH4zRIzloekkoESgCOnjLlgUIwAkMln5kA2tYSlKXpPYJD/K2FlP/OY8Kuhfof0UsVdsCSeSh3n2d+Zu6ffPGMIRgPiO9OBpR8nZP8iSMXMdzfggA5aEEyhJspGczxCL 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)(346002)(396003)(376002)(39860400002)(136003)(230922051799003)(451199024)(1800799009)(186009)(82310400011)(36840700001)(46966006)(40470700004)(36860700001)(7636003)(36756003)(8936002)(41300700001)(70586007)(70206006)(86362001)(316002)(47076005)(4326008)(5660300002)(336012)(6916009)(8676002)(54906003)(83380400001)(478600001)(107886003)(356005)(16526019)(2616005)(6286002)(1076003)(26005)(40460700003)(82740400003)(426003)(6666004)(2906002)(55016003)(40480700001)(7696005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2023 02:10:02.8330 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ab755446-86ec-42ee-ed48-08dbbd6c8776 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: MWH0EPF000971E4.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6003 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 --- 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 Mon Sep 25 02:09:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haifei Luo X-Patchwork-Id: 131862 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 4852442630; Mon, 25 Sep 2023 04:10:20 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 69155402E2; Mon, 25 Sep 2023 04:10:09 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2054.outbound.protection.outlook.com [40.107.244.54]) by mails.dpdk.org (Postfix) with ESMTP id EC268402E2 for ; Mon, 25 Sep 2023 04:10:07 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IQlbuTqV5Fwsb3QPXgrTuUttu7Pnauq81NBzQNQr8Fw+wfz5g/Y8J/BApQBUyVgKmPyltx7v7cwYot/3oFOA/enEVhFEEF4wUIvCKOvZ2JOOfjGB2X+8ZoSW4X3y5C7+qtXDZemFZ8Rd/EHo11GYgVRlfMLxMqr1bl5MXhkU+n6W8lhvLE90r3yEcj/DVQul1usgV/PMppzso2oNxnXHCCptMZDqimufw5q1wrlrjFs8ytGr4H2pqdjNYgIEp2RJOFApMoCULq+Xv+VV47Lq0szXpm9ht8Vd902scMghRICkLDxkrXYFjZ38kUDrspa9MxD6NTsAgOAH4dYWHuQGgA== 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=bhRDc/jcsSEnLE2KZGAct6MlrlZz65c3zZWvPOdE/sM=; b=miP/pah1ZAvxPPbeM385MUK1mQzHIT9MMw8BaGotP+pfYoCsKGiRSp6MwkK2GVyCPLyJRaPHrhHSgHWQDqRPS0rSQYtpu0Q7shwOTBODcqLNlxzRp8eFMInFv5m/HoxTC4t4W0DXVrtcvgpy/ky07+y4K7KoCwM3oLwg2YmUX3QKATxVTAvYLkpo002lWB34pa0Pm7/GTmOyrtSi3EROkT0sLgHEOV5kNANfogiSxGdiGi7mFJZ2qQjN8MmBDY0c5VpCeAoXihCNklwev9b9RskZ9X4THqoT8W7q/4qToxNPenE7ZDh2r5irUFXPmZJn15d9fQ2yIYVSkwjv2N/sFA== 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=bhRDc/jcsSEnLE2KZGAct6MlrlZz65c3zZWvPOdE/sM=; b=XGXYha4LiTnPdyTayx76pK++FOE2z5BBwrsIBGAP1y6f4XN0TpK9/kzOqJ+mkzfNo1k0KM+E9k/9f6Sx5H1rzXQTNc12NjNuBIk2ktfHJi+l4WlEhEuC4V32Cx5QmehRz44EeNupxzZ7tl4zLWPs3Fx8ww8IRj8eb5BYkTnWas9q++4AxwWaGNuF/szhCdcXDbe8pfh++rJCJia96KSHKJPXDFOGNK8gG7O0L2cyclFvdE2ei27RrB2ZXgrUfO9W9F9Jbhi8vVUxQGbpwsUQ2t/FneDP1Cj3eHLeOuG03D26D72UEANYd7Fykvamt/Mq7i/Hu+9DWpdMfNebwkoglg== Received: from MWH0EPF00056D06.namprd21.prod.outlook.com (2603:10b6:30f:fff2:0:1:0:10) by DS0PR12MB8441.namprd12.prod.outlook.com (2603:10b6:8:123::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.28; Mon, 25 Sep 2023 02:10:05 +0000 Received: from MWH0EPF000971E8.namprd02.prod.outlook.com (2a01:111:f403:c903::1) by MWH0EPF00056D06.outlook.office365.com (2603:1036:d20::b) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.4 via Frontend Transport; Mon, 25 Sep 2023 02:10:05 +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 MWH0EPF000971E8.mail.protection.outlook.com (10.167.243.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; Mon, 25 Sep 2023 02:10:05 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) 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; Sun, 24 Sep 2023 19:09:47 -0700 Received: from nvidia.com (10.126.231.35) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Sun, 24 Sep 2023 19:09:44 -0700 From: Haifei Luo To: CC: , , , , , Dariusz Sosnowski , Matan Azrad , Suanming Mou Subject: [PATCH v2 3/5] net/mlx5: enhance the validation for item VXLAN-GPE Date: Mon, 25 Sep 2023 05:09:18 +0300 Message-ID: <20230925020921.4607-4-haifeil@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20230925020921.4607-1-haifeil@nvidia.com> References: <20230809074046.121807-1-haifeil@nvidia.com> <20230925020921.4607-1-haifeil@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail203.nvidia.com (10.129.68.9) To rnnvmail202.nvidia.com (10.129.68.7) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E8:EE_|DS0PR12MB8441:EE_ X-MS-Office365-Filtering-Correlation-Id: 691230ef-4ae8-4057-fe56-08dbbd6c88f3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bYTIoJD+J/RMuVtHsZ8m3o8V9OouhvaRzv9AgcSmPG/QaqukC9TVet8iAiws0ywhdVHg6SZ9hmPQx0sRKEPcYa3+/H0J12gB25uVs0lJemgj9QEL8qFmVVPiGTu6Ks4EIKuoAH9BLIBxUaTNWEFYQ5FjiJARR3ImdUfVSQ1YnUeNj/o0gPLqxLCkD18RsuW2J7GdQXi2QsJ/gjnPymkZ5D86yScXa3UQYVGpkB/HkczWTdl+bds7+suyzHk6X2hrujnTN2D5rXroHbHGQaYaCSG4bIY+P22i3NUrAsLz47GLQYo+Thj5/lR6ugoncIag9dsz3RbyQf89NuVPeDnBmCyfaCqiDsB/sAFsij2Mv3i3Bq+2XduzUZ31F/lMxofa/PD1OAjIqgMwAm2pl6nVYEH2v4lb08vO1m0szhefrO48NNbl6KjOFdSvdA3Ms8mYrP+gWrYkc6JtZnLyxuR1L6dj44g8+jNY81sh7CXw7Z5QWq9HijotkwdEXG6EBzg7BwcEkVoB9eAcSOVjE3MH1Gs/626nPdL/Ja7ok109Odh7a9/3BOXfAiaH74EKq250TXAFKGyvMSsaV2Alc0CvW7Fp46pDpD6V/euaupClGpkGmRnigWLybUfa1dcnkYzeODh+fN/B5IKqO8Q4vMrHvObIcAUZY40km1bnQFKxVdorAMiwi6dDKjUqtj4zpvafNOfrz/C2EA0mtMAxRfNElBUpa7cA61Q+ol51DZKAraeXq+bkUKtveP/yF6KkBdUT 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)(39860400002)(376002)(396003)(346002)(136003)(230922051799003)(451199024)(82310400011)(186009)(1800799009)(36840700001)(46966006)(40470700004)(26005)(6286002)(36860700001)(1076003)(107886003)(47076005)(7696005)(8936002)(336012)(2906002)(426003)(55016003)(83380400001)(5660300002)(7636003)(16526019)(70586007)(70206006)(6916009)(8676002)(316002)(40460700003)(41300700001)(40480700001)(2616005)(86362001)(4326008)(478600001)(54906003)(36756003)(6666004)(82740400003)(356005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2023 02:10:05.3303 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 691230ef-4ae8-4057-fe56-08dbbd6c88f3 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: MWH0EPF000971E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8441 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 --- 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 Mon Sep 25 02:09:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haifei Luo X-Patchwork-Id: 131863 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 957A942630; Mon, 25 Sep 2023 04:10:26 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DF383402EB; Mon, 25 Sep 2023 04:10:10 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2073.outbound.protection.outlook.com [40.107.244.73]) by mails.dpdk.org (Postfix) with ESMTP id B99E4402E6 for ; Mon, 25 Sep 2023 04:10:09 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OUD1nO38JrzCa6s5J4niPPtdKl+yUNf86+C6DYeBOqnj/ke/VIZLHgilUZchLrrxZPEujoYP2e3ePOu7BgWLJhuoIqOVeg53WrvzRtzgoXgqf9pjU8DpNVAVsdRDJC9Z2Gf6bn/q4/LbgAnNUfxEhuX1UAUfeT/iPHq6HMD3TzTxSZfjA+VRPOTsvY+h27SMKvJ9qCG81YdI6JlQOo+6084/7la+/NAtmAhUhm3uyxJCDqLgANxEnwCqLkVrTCO7b8tRDOOJjWR9sLESdVDOYfFKHACuc3UwsHNW33hxjIqcZYTySiYgqP+dxmosZ5rcIkUa5JO/QVnnpPIURb5gGw== 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=olI0M/QpKtaHGx4l7R2fSIeedp4GUiue4GjEFAgkZOM=; b=R+QPRSIE9w4XdqWQi1k0VD8rrT86BmWAyjZ9yrtoL2HRrHmZbN5F936VNlrj6s/ADdW+tvxxPyHAA8gdDSrAhDFgOohY7gRJbTh3+sVlyLRdHIMXSXWmluxEWxQhAchk4T6MHc8pPNQYSEDRObPVH3G/nGx5Vxy/A9wpNMGD5WV+fq4FRSxD0YhK2T1UDpDvo2wAEkD4sDgnOKALK9K+LeNdu1c4uFfMq8lZQ7Xd8QUzxGKqevWAJuxPpWsaOWpEO/MXaycbOyPNLFvBb1ZpDI1jkedSWJ+i7vGOIIh6TgFhBCsC0SqffInkooVsG055DNuCWhWAFUJBCXcalaP6AA== 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=olI0M/QpKtaHGx4l7R2fSIeedp4GUiue4GjEFAgkZOM=; b=fKMTjGU//ooz/3a74hLQsuobwXDkavbEcR31mbR/HC2j9qzCe6mgGa34+0Et1ABXt5nwFgBlXZDYw2ZQ9+DpyVppoFeZEFRfvzZsW2um5EoQ0CZdWJZerr+/AqvPyauVnReg92SF6UkqqiiMkHNZVCLqcd1S1XXHyUcwDnKZ5QzZLVY3avGRIGUljgXlAe8UnpJykC8MGy3neGMLzNj/U7kX5U4kdKvghGEMHgaQ9D4enkbFO1g2Xd1hVaf8OO9b1RnUCAq3ZzisxhaFzzffJvZkeKiC3LeleXaOxMypObUwXRhCLp3Wvlspw3xdY6j9zo6aAg6NaB0GnduPE9ksKg== Received: from MW4P223CA0007.NAMP223.PROD.OUTLOOK.COM (2603:10b6:303:80::12) by SA1PR12MB6918.namprd12.prod.outlook.com (2603:10b6:806:24d::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.21; Mon, 25 Sep 2023 02:10:07 +0000 Received: from MWH0EPF000971E4.namprd02.prod.outlook.com (2603:10b6:303:80:cafe::f9) by MW4P223CA0007.outlook.office365.com (2603:10b6:303:80::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.35 via Frontend Transport; Mon, 25 Sep 2023 02:10:07 +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 MWH0EPF000971E4.mail.protection.outlook.com (10.167.243.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.14 via Frontend Transport; Mon, 25 Sep 2023 02:10:06 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) 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; Sun, 24 Sep 2023 19:09:49 -0700 Received: from nvidia.com (10.126.231.35) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Sun, 24 Sep 2023 19:09:47 -0700 From: Haifei Luo To: CC: , , , , , Dariusz Sosnowski , Aman Singh , Yuying Zhang Subject: [PATCH v2 4/5] app/testpmd: support for NSH flow item Date: Mon, 25 Sep 2023 05:09:19 +0300 Message-ID: <20230925020921.4607-5-haifeil@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20230925020921.4607-1-haifeil@nvidia.com> References: <20230809074046.121807-1-haifeil@nvidia.com> <20230925020921.4607-1-haifeil@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail203.nvidia.com (10.129.68.9) To rnnvmail202.nvidia.com (10.129.68.7) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E4:EE_|SA1PR12MB6918:EE_ X-MS-Office365-Filtering-Correlation-Id: e41f0f34-f91b-4d92-965c-08dbbd6c89e7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QsIMFiM8yXrRvzg2BQ8SgiOCjfMmU7OlaLYkreTsS841lsEXhKKEM/UUnHBse/vX4Js/XOTKD0gh6hOjNopJH2q2FpWysdZL/f0UD7Eg5le5P0R+wH4wJK1DaKruL39yM0aEJTymcLOKGtoFQrqMzgK6tO03IeKrhhttEQQD8vx3LVZ3N0lVFbKH+aIfd929qeoqm5POH5/m+TcJvTz8wXns8f90Ie2CcWFTNvhhfopKxCaODTjHDekXi5oSYoR5uOeFEF+UXI+FCV3LXmp5AcMUL86nIRzNK7dYuJFsBeZBNVE0d5Mzz6taI6XH4L/36iIY+OIF4PVP1XPmXZ0D6cZU2HFUo/6VU0Avo2OXDjRdJDNuqi3FqjYuBzx9Wa3nzg+ZvEd97XkaP5F1k3z4bdJxeE2a4UMo3qIx4sRyTy17dgJkZvsk68Dvcm+ZWjIHCcPJ2HwAZrADEI2T1w1XemCdw7l6U5O6DrdTtL44/R2ogra1aR6XFQZlFvyTTqRt/so3eWiEQ9lPWqygXolkZnyafR2VBcxmV8V0S9pVes8vXaJpcfBOTBz49lz3XTkiwfpzLpzW0rtjCwx8BYecaYYqMVL2n+6mb1pXxguNwnZD6T5d+ijqcWqoV7/DEW/3LUbEsccQ23jPcmVKJAf/OT2MBQJ/Zrv/dGcnMg1gGW9JrjXePzyJE4V/Z8pQOJIoAHFWRUlVAVpFxzHxwhpRJL8tVoq4xNhu//JHBLEfechR/0RCpvlpurmz1mFw+Y9x 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)(346002)(39860400002)(376002)(136003)(396003)(230922051799003)(451199024)(186009)(1800799009)(82310400011)(40470700004)(36840700001)(46966006)(55016003)(40480700001)(36756003)(86362001)(40460700003)(8936002)(82740400003)(7696005)(2906002)(356005)(6666004)(4326008)(7636003)(336012)(16526019)(47076005)(2616005)(26005)(83380400001)(36860700001)(5660300002)(426003)(1076003)(6286002)(6916009)(316002)(8676002)(70586007)(54906003)(478600001)(70206006)(41300700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2023 02:10:06.9424 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e41f0f34-f91b-4d92-965c-08dbbd6c89e7 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: MWH0EPF000971E4.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6918 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 --- app/test-pmd/cmdline_flow.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index d25f941259..bf93d649e1 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -525,6 +525,7 @@ enum index { ITEM_IB_BTH_PSN, ITEM_IPV6_PUSH_REMOVE_EXT, ITEM_IPV6_PUSH_REMOVE_EXT_TYPE, + ITEM_NSH, /* Validate/create actions. */ ACTIONS, @@ -1562,6 +1563,7 @@ static const enum index next_item[] = { ITEM_AGGR_AFFINITY, ITEM_TX_QUEUE, ITEM_IB_BTH, + ITEM_NSH, END_SET, ZERO, }; @@ -2081,6 +2083,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, @@ -5837,6 +5844,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", From patchwork Mon Sep 25 02:09:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haifei Luo X-Patchwork-Id: 131864 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 578DF42630; Mon, 25 Sep 2023 04:10:32 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C386840395; Mon, 25 Sep 2023 04:10:13 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2070.outbound.protection.outlook.com [40.107.94.70]) by mails.dpdk.org (Postfix) with ESMTP id 62357402E6 for ; Mon, 25 Sep 2023 04:10:10 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CT9MH9i954cVXyRmiPRiwF7gjZgVDgehFO61QKH2whD2tx+xxQFFcm83R7bIU8UA2FosVDlfJGmRF9p3bLSZo+jBaQS0CoQT3ZaI277QneamQyubbdTQEquEHq+F8y1nrLlWMQq31Qa2ojhbz5VjJsFsietIpMi8Syrho9MIZBfMITwwwgrDjp6bQ5yUzD4k6F6AWQ/OtvhBs0m3CA+qB4v7PxGsjmwaSjOM3vFLNgKlsJbf2OkxzATpgtXgd6SX3hAa/Vu+8m/Kgsrsg4TMYxS2fduAtwZld+swr6jw75Pl5xRVtWMEIyxbJyW39Ebo5/r5kLMJRKNELiFiynrlZA== 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=rGV/LEimjla1K0ZnIRY1yJ5U0T9chLatiNyHDiSQy/E=; b=i6GDWlRxLVQorSGBLRIKrktxqs1t6knArfGKcMksa9OPq6p29Sl0JHrXVJXK69kC9bKeaJ59G0dsmuUv0HpZqRh7q/iAz1jtxquo4lF9itLnORlS4dD7SbMQE2s3bxbHMOs4lrc97Kud6kaNv1pIC/atAyEkX8EgACBiicvHMp2EjQ2KHIBByJ4IFp6ygCsrq6NN6wKHbzYupaJwSkEH0qgBLLiN+rpVUcpggdqNFM2xwj3x4fzoLIQNSl2ThoPwhWS8ClEtc9p4JnevvGah5eI7cLQD/ip6SFT0qphEHWYcLOwmUtppR5iJ/eNLwtZ908SHcSZbcyGyr2YPD8HjUg== 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=rGV/LEimjla1K0ZnIRY1yJ5U0T9chLatiNyHDiSQy/E=; b=bv9xOZxercO30WSIUtzzpIzIb+f/H33tQnsqMcFbZhHHB96OHfo7iLhP1MpKqOgUxhbKOD0un5kZpftvUFcwtjT9QYp045wjS8nnBu09RCPIGV7zfJ48AmfFC2N5jpM8a4Z26ErZ3It18s0x6CDrT/UNsKVesdZ68hH3V7yPgXRr1PNd9pkBRgxWZthvpBXv5DcULsJh4q/FzzwcOUa8bEs5aBfDNjU9cXjMMlAuQxup6nzgJypdri8i6lejtp8xAByUXI3YGSYkjseNbWwf1cm8dEXT95u3CJaB6AXn0Ie1nlxw1OoLcd4azJfDTqp9d6qiS7X6Bz2AYOAHHPNc7w== Received: from MW4P223CA0008.NAMP223.PROD.OUTLOOK.COM (2603:10b6:303:80::13) by MW4PR12MB7032.namprd12.prod.outlook.com (2603:10b6:303:1e9::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.20; Mon, 25 Sep 2023 02:10:08 +0000 Received: from MWH0EPF000971E4.namprd02.prod.outlook.com (2603:10b6:303:80:cafe::7f) by MW4P223CA0008.outlook.office365.com (2603:10b6:303:80::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.35 via Frontend Transport; Mon, 25 Sep 2023 02:10:08 +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 MWH0EPF000971E4.mail.protection.outlook.com (10.167.243.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.14 via Frontend Transport; Mon, 25 Sep 2023 02:10:08 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) 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; Sun, 24 Sep 2023 19:09:52 -0700 Received: from nvidia.com (10.126.231.35) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Sun, 24 Sep 2023 19:09:50 -0700 From: Haifei Luo To: CC: , , , , , Dariusz Sosnowski , Matan Azrad , Suanming Mou Subject: [PATCH v2 5/5] net/mlx5: add support for item NSH Date: Mon, 25 Sep 2023 05:09:20 +0300 Message-ID: <20230925020921.4607-6-haifeil@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20230925020921.4607-1-haifeil@nvidia.com> References: <20230809074046.121807-1-haifeil@nvidia.com> <20230925020921.4607-1-haifeil@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail203.nvidia.com (10.129.68.9) To rnnvmail202.nvidia.com (10.129.68.7) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000971E4:EE_|MW4PR12MB7032:EE_ X-MS-Office365-Filtering-Correlation-Id: 7e0ed0a9-d5c0-49fe-ede1-08dbbd6c8ae1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aewivAFfN+5hxXtAxpJzrkX1OAj2vxnhHpNwf5VrS+Zo03V6+FetkHzXx2lmjtFv/S7eSxh9XSTEmTcygwqVHJU52k+8Myot/3ntV0h4gqbEjndCYls8Gw16VGq0jkcqKY8zHO0NLL3BDzb40IpUQyuLl/Cf7TVdXDzIeBjNjvyyYlBrJSbX9n4MfN8cXhozwJIxTRPkZEqeBMNxxoo2+GTzGlitKmBA7ytY7/EcVLlERNVTyz4c4sniIPQB1YjuWYZNMRtYCxS6dYAS/R6xFGYTJGcCiaMacXfqsZwilj1ReQbRP/Vj9TEzie+boaI5G7Tv68ePCXXGAHN10VmFTFbAD+7IvOTd3u7iJ8yRNJlvKqvz3QiTEr/OUMhbL6SBUC6qj1xqrB1mtGWfC8hQ5BIVYd/0Am+xpJyE9X/DY+AITJzS1m24f3k6EIVLdI9qgaw8w5wDEmqLkO3cpwxkxzilOJ3xci9WIpPi9guyivo6aOBiFHUTRSngl8wjWJ54hPH2kqLogVY0+vMleNWcYBppkRB3lf9FbClMeWE+7u9hTOc+UEQSScPCNTWVNHlDGfTVk0bseKZb6ipzROy6W2VPuPruqz7uPg8b0rgBmSJd3dzwMbWufVfj5dlSOSltrjYwvzF8Y+SrhcM31qqpjNR1QKLmKHrsK7iMh5ctM1w2zKZmxL4MwTxBxQUlDWwAept/MXb3AVDkVS1WmPADCrK9aZI+gEszJpBghw4KSCQDAhEoacOj99443DRE2+PR 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)(396003)(136003)(39860400002)(376002)(346002)(230922051799003)(82310400011)(1800799009)(451199024)(186009)(36840700001)(46966006)(40470700004)(7696005)(6666004)(47076005)(356005)(82740400003)(40480700001)(36756003)(40460700003)(7636003)(55016003)(86362001)(36860700001)(16526019)(6286002)(5660300002)(2616005)(478600001)(426003)(4326008)(107886003)(70206006)(83380400001)(8676002)(41300700001)(8936002)(26005)(316002)(54906003)(2906002)(1076003)(70586007)(6916009)(336012); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2023 02:10:08.5830 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7e0ed0a9-d5c0-49fe-ede1-08dbbd6c8ae1 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: MWH0EPF000971E4.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7032 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 --- 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; }