From patchwork Mon Sep 25 08:07:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haifei Luo X-Patchwork-Id: 131884 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 A6B6042635; Mon, 25 Sep 2023 10:08:31 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2314B4068E; Mon, 25 Sep 2023 10:08:30 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2087.outbound.protection.outlook.com [40.107.94.87]) by mails.dpdk.org (Postfix) with ESMTP id 73C294067B for ; Mon, 25 Sep 2023 10:08:28 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lLA+hFA2mZIC487pSDQqyntXVR9QNnEyI57tRwt9QGdRaT35gwD+txCkeRKLaux2AUzwgSDRr9hKS6MVkjIIBiOCFy9UBjJ9nP04aXOgJqkoMo9cP/cYub65CcLK4bqqkPcY10SiqX0MFBJgJ/Hy8GAHrhObX8zijqRHTuJ7vR9MIdW5erjhPONv+t27eA4OKU76gmPosMKl+Y8jca64Kile3ZrjifnvmVJ87XMROWIjBYB0mChF7rFr7Net+3MQsQrfdf/lf9Hzl3EHgrbwGHGgChsMV071kyOiF/WvUSgQEg+Vy/qRttFXmM98XEAdKQQR/0oaRCb/O1FYB5wZUA== 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=um1l8dSBbOzIr7xkn/DAvrpJAzKGwBTg66DxwzdvAsQ=; b=PE55ZEPS4j18c1hLkRdQ7aMcJGC4kOp9Q+zFgBY0xS2i5LE2219k17s7nqQ32VMpzmLBjiX9ZQXwWitbezuLn4vEuXyVB2ZR360YLZAonUl2ZkXdSJ1iX4jExMbenHfwdtYzD1uhTxpcm33qKs+3wjF0zdcVzNJY2wC3QIDvYI83DdLPp9DA0aldci/XPyEt5YZG8OAzw+4FY8fXpbC73FMX3+KJPDdHy16pS8cm9TuuemNCEtj+OD/4eV8kV2am/F4147odZuUeqdU08HKIrGSpRhdijvvoiy0fDnBYqeyVut7Z3RjtVMV1oDpccm3zdobYQWZDHeuUEUk4UnEA2w== 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=um1l8dSBbOzIr7xkn/DAvrpJAzKGwBTg66DxwzdvAsQ=; b=hgh08k9zYs3SGXBG50Gn3Sis8e9cwNVKrsWT12SqOg+qUkStHI5ViewCVoP1ZZEfinMn7sakiC8Vir9NH5q85NdUMDYedeNMpaMuPh5AtfRGmNKXEvGmMemXPbgK9JTGJKHWFph8adjKEmojwuQLS0YynooOvwzqZlI8ZijnuToqTe/tr9MDWDmhtBHOqY5F7LrQ4a1JeqduCBuMhSen7hb89RbL6iAWg4l30N8l4awW7GqWs0JtT9qF2fRJTd7gHSlV8BYrccTNMGYoNt7Jx+N40xXLkNke5ob/evZa5pO2qqwzUJMWHWb0d7X/U2CORjA5KISoQhgdyq3EcZfPnQ== Received: from BL1PR13CA0065.namprd13.prod.outlook.com (2603:10b6:208:2b8::10) by IA1PR12MB7760.namprd12.prod.outlook.com (2603:10b6:208:418::20) 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 08:08:25 +0000 Received: from MN1PEPF0000F0E0.namprd04.prod.outlook.com (2603:10b6:208:2b8:cafe::64) by BL1PR13CA0065.outlook.office365.com (2603:10b6:208:2b8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.18 via Frontend Transport; Mon, 25 Sep 2023 08:08:25 +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 MN1PEPF0000F0E0.mail.protection.outlook.com (10.167.242.38) 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 08:08:24 +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; Mon, 25 Sep 2023 01:08:11 -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; Mon, 25 Sep 2023 01:08:07 -0700 From: Haifei Luo To: CC: , , , , , Jiawei Wang , Dariusz Sosnowski , Suanming Mou , Aman Singh , Yuying Zhang Subject: [PATCH v3 1/5] app/testpmd: support for VXLAN-GPE's next protocol Date: Mon, 25 Sep 2023 11:07:42 +0300 Message-ID: <20230925080746.16438-2-haifeil@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20230925080746.16438-1-haifeil@nvidia.com> References: <20230925020921.4607-1-haifeil@nvidia.com> <20230925080746.16438-1-haifeil@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail202.nvidia.com (10.129.68.7) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN1PEPF0000F0E0:EE_|IA1PR12MB7760:EE_ X-MS-Office365-Filtering-Correlation-Id: be5f054d-c329-44a8-a22f-08dbbd9e97ae X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rNZFCTNAEawOdyF/+wZgEnu1ZuE0muLhqEsyF1ghmKfSxYIm9FNodd41ioyDjlM4djzR7mEdK0TAhcpzFaw95QS9GHg4cT7KTB4Yu/h7wPxE4Ipgn/eure+jhXE1fVony+mqwJQrQkb4lMGxvdKGmOzcsAMFfCsKDndrbcCix6qCRCPl/+OC2b2dXvhbyHCZWZZKg7cZmXWfc8FT3azarbQVl9GWGoykfIgzLbc28Y3vMQi7kbFLYmkku7PK2nbtI8mP6pOLLNyp3pN7tks4xulQarKMd/jv8zO1R5QoY4eL29DeCde+jEqlsxJl7aiARGVL2x057ApPYS961EyGULULLfZ1Srfuq7Kxp/IUxDSzLcDAMhzTM/qGRInpapgyAQQCF5imVNzgMMOuydcEWWFxPs5HqQISF4/CY1+XISBknb3cYM4nMyXNlkMblin67kAAFeT2fZr76QO/XN2yIlyXYVx16Gvy1ZAt0tQT1c6rJq7XbQgATd5wQiXxzPVfRRc5rF3u77mkS6d7isLPPXFil/nZSUptw0sTh6KXxx9QgGYq14T7KtegsK2jcygunKz6aBxzIp7hrXBDjREp8ZWziopESgliUNC23RJlP5VVmC+MomKTrk+IMzPKg/FIS2Yyx9QyVWGWC1ESUg2Si/5npVjWXNIvMbS3b8QQ7KdKrus5hMdU9IqfPGPzuvadWb4wcCaypO4LMo6dEHI/Pkj8+oz/TWXBo+w7kDmEgg7kLsulG7GbkCGF2yd08bcb 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)(396003)(346002)(376002)(136003)(39860400002)(230922051799003)(82310400011)(186009)(451199024)(1800799009)(46966006)(40470700004)(36840700001)(336012)(426003)(2906002)(40480700001)(2616005)(40460700003)(1076003)(86362001)(5660300002)(6286002)(26005)(55016003)(7636003)(36860700001)(356005)(16526019)(82740400003)(4326008)(47076005)(70206006)(70586007)(36756003)(6666004)(41300700001)(54906003)(7696005)(6916009)(316002)(8936002)(478600001)(8676002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2023 08:08:24.8312 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: be5f054d-c329-44a8-a22f-08dbbd9e97ae 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: MN1PEPF0000F0E0.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7760 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 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 08:07:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haifei Luo X-Patchwork-Id: 131885 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 6965542635; Mon, 25 Sep 2023 10:08:37 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5743E406B7; Mon, 25 Sep 2023 10:08:31 +0200 (CEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2041.outbound.protection.outlook.com [40.107.236.41]) by mails.dpdk.org (Postfix) with ESMTP id C68754067E for ; Mon, 25 Sep 2023 10:08:28 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y+50THA4jYEjoC/7RfK0otIAdTuFrC4I+vAfYI+/SgfQ1D6cjAN/y1PVpgIabuuRn1MAa3Ou62Z9JhjOkojstpu7YQZvLb9FBp/KoIBjRGLuWYN14rpdglBznzdC2y+gvUZm5Kmq/+9gGDr9qwjMS32RRw7xgPQ2lTM9SO0KbsGfxWg6A9FQdnFsQHe3hNhSgZz5UDptmLuFIRaHMFyTliJlWMWhMSD6rVD/j5Dt4IgI/o36ePDMHeDzFDLDZfC0y2t7dH8obVYKzmd9MtnfEHa8bs5JB1rE/15q43h4UIPhm79X9+dZJJ0uI8hpctE+ZlVNL6VaYl5WYKS5D8+SkA== 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=DY0vOa+oONH2FZF4MLk6cZN7OLHMo7TPH/qt2904JgCEEDXOUfCMHf5VKk/dfI42MRTgP7/bwvNoeyFML9IplV7ifoiLwidHdB20p7l6anNSWV7ZLGTjL83K1pdKDjaiq0Ms0/s3m0n54W/zQpoUfBswuSt2RH0FIhgsgtHaDqesGqnkSXY0YvmfYtAj4mzklzZRKaMIEKooid3qdYeTMQyhd/eD7/6Sh3r73lWEk03zLUgXv1UzM+3GQsl3sHtudKw/KrRDgPN3CZCRdRyQ6xWq+on4p+EvW8bPKnK6o/sjcCpI3Z8tWXFkh2+DlDk+QQMD2EA9T0TsXO9Jt9kdIw== 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=GYWXRtsuD/pTGkyxNqnF6dAaRycwH3l6r7iDdBdzjvmcAg0TEtCMaSE7DPDT28vqKNmTDUHccmZtHkToHqi6weElPVTAyUhroyTP0bRMnNjOr7A1pzBJyBv902dTgvr4NuYRt7kvgaYw0xa5H1/3rlm6HxRgELGHdlItyQ/AKBGdRiTHTTj3bb0AZZ9sXWV1Nuef3HesxINIOT1u2zANUEea6eTJ4b1SfcvhgwzMKnu4gzBIZRc4Z5vAnZkddjqC6Do98Vte4hgDUgiB1mE/gAVYpfS/aWL6dHGlaZtYhkAeeZFvNF/3QLoQeZd7VM//kXX3aFLA8pKUrn2XuEZlzA== Received: from BYAPR03CA0005.namprd03.prod.outlook.com (2603:10b6:a02:a8::18) by MN0PR12MB6031.namprd12.prod.outlook.com (2603:10b6:208:3cd::7) 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 08:08:27 +0000 Received: from CO1PEPF000044F2.namprd05.prod.outlook.com (2603:10b6:a02:a8:cafe::df) by BYAPR03CA0005.outlook.office365.com (2603:10b6:a02:a8::18) 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 08:08:26 +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 CO1PEPF000044F2.mail.protection.outlook.com (10.167.241.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 08:08:26 +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; Mon, 25 Sep 2023 01:08:14 -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; Mon, 25 Sep 2023 01:08:11 -0700 From: Haifei Luo To: CC: , , , , , Dariusz Sosnowski , Suanming Mou , Matan Azrad Subject: [PATCH v3 2/5] common/mlx5: extend HCA attribute query for NSH Date: Mon, 25 Sep 2023 11:07:43 +0300 Message-ID: <20230925080746.16438-3-haifeil@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20230925080746.16438-1-haifeil@nvidia.com> References: <20230925020921.4607-1-haifeil@nvidia.com> <20230925080746.16438-1-haifeil@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail202.nvidia.com (10.129.68.7) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000044F2:EE_|MN0PR12MB6031:EE_ X-MS-Office365-Filtering-Correlation-Id: 70c46571-c3f7-4a9e-2275-08dbbd9e98c6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +enYRjFXxdDs1sP2vFRJYGLGHad2spNQ1bbC3nDe90qVLL32FipEGpqfG02EwYKYfnHUbDWf/BFTMiYJTjdWvFa7gZk2riFyeH9A6Mp5iiHXFj9KT9qJQoXEcZ6wkAltCZMSwvuoWt7RC90SglUymjP2RuHQ/UxmEpO+w8VtqfVdh9YO8RJoU3mWU0c8+5d0Fq2pMAV8rH4LIIDl/VS4kfGNaSZseGUooDgHZJx1C8n0Vl0Ii2JNflOJG/MgS13Utkn5ksL0hoFyTKfF866yxrz5t2W8/Y0MUiG+xIiMjvBVfpkCMqseQuREIABl1Yrz40N2oOsNLgY6IQ8Cd6D9mU5xkVlhJ2Hm6LQMykjPyrIW5GA0gOMLLoY9n4Dhyv8G7mYawxcHn4uSxlOBFj/6YH3tH0CVXrLLJiXhxYdDJMtAwv1R3y6foj8ugW+BlKqQETelse1jccY4CMhILD+HWZpQOLovMgw9+jRFASMfXuX1dgSyyqe3yi28S8IzwCI9KV2Pn8J0ZwF7ez8SkXArCYTpt2EEAduhY0sJCJR7aUIckW3eg3t8f5iLrd7sS2UT3hUeazQWN4mfQC60aw3UwfehAGLUhqowxhY2Ez4Kif85MO0VYI/CCCGb4SLAGAf7KEUt6HtJ0acXQdEuRqpuA+syi8MS7oEW1rlzhdNlzCKHp/esh+IsEhwavNZbGwFs+X13F2OM929+Q2TE+nAS97Ygr8nYu23TURV5bUG6xjrjjzmg/RzEYrqocnZNRQR8 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)(136003)(39860400002)(376002)(396003)(230922051799003)(1800799009)(82310400011)(451199024)(186009)(36840700001)(40470700004)(46966006)(36756003)(83380400001)(40480700001)(40460700003)(86362001)(4326008)(55016003)(8676002)(5660300002)(16526019)(6666004)(7636003)(41300700001)(336012)(8936002)(2616005)(82740400003)(6286002)(26005)(426003)(107886003)(356005)(1076003)(7696005)(47076005)(36860700001)(70586007)(6916009)(2906002)(70206006)(316002)(54906003)(478600001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2023 08:08:26.7723 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 70c46571-c3f7-4a9e-2275-08dbbd9e98c6 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: CO1PEPF000044F2.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6031 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 Mon Sep 25 08:07:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haifei Luo X-Patchwork-Id: 131886 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 4F92F42635; Mon, 25 Sep 2023 10:08:44 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 640A240A72; Mon, 25 Sep 2023 10:08:37 +0200 (CEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2042.outbound.protection.outlook.com [40.107.92.42]) by mails.dpdk.org (Postfix) with ESMTP id 9945E406A2 for ; Mon, 25 Sep 2023 10:08:34 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HLRkFN7ilEIMbXS2Ub7toU9J1nStTMD2Z7Fcs1SR8foUkFK3XlXXbAO+12Ysysmz+ZGI9xpRFH1vUIBdQqKb2VtlkWx6y9fIt5748FHegcAF5Y/O6z07mtoRq0WBEGtjKkNEq85AVMFuuwfZA4NfHF8MVRgkDQa6QTPlbMmlP2pKGGduO+pqmsax/4hodjiXywE7JAO3cXEw2B/JaWW9d7JJGqcXvKbGZRSwy5hfP+x9CUXEQOX+zezn6Q6aFZfKJujrGoPTjU4p4M/w8S7KciS6ZBjcAskYwH4hmUOhh3tsDV6VW/YOFGDKRxSFlYJCwdCXr6kFggBNw4jtWQ76Ow== 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=oVGeWsZrop1iVHsqPk+GbTB7/L0PErXk32RkcT2URLiF3yVODfSa3d1SSRNKwfTryD6LCocPjES+4JiaQpTKfiJPllPuN4rgYarttJ1GXOM6hJjZy8/WawZ2wH3CQ95NUuu5PUuWksaXLnhU15GUh/ID0Pg85q2VRTSzKCT8nkf32pfkJRd0pcu3kvcXvMPTFWTGCxRZKkhGcaACOA0mgwyzRRl23LzbhnjQRS5G7T+i3VOGnYwYRZ9V5B1PO+2Lje8zqA8MosgEL+shoKQb0g6l5vBLQvBJCYlFGrREa+Wylb240a4nmFUyTBtEdFqJauR4EJh7F1CdIm0lU1UVkw== 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=W8l5tjBEpF4Q0jSY7w9GsMN97RonFxj9X4+cjj8pY9k=; b=YwWhhIQzSFsmfKQafY0BHBlycbfBQaOsKFIXYtjICmi7N4NOenzhYIahUzpzpkZSdSEYGN/mVJivZtbXqj182S/ufux9q0zXT95wm21vnLi3RaBWgoch9QwU0Ydkh8GEm0pduTPBVFa+gq3xW77z83pDcp6BAWPLKhH3o14mfqBNSM6v0SMBjQJ3w4LKylgiM65U5+McPXbGit+w88RgnTROdcdQ/OtaVvbfLvE93Sa5s1AlP0Q0HN6++0CImORpVSLCOBHL480OkkUgefIQBJ9Wzk291OxlMFESMoXlQ+BWzOUpx7mVFxZ+mLNL1wlNl9vUDI3QYuvqNVF+Ao9DKw== Received: from BYAPR11CA0037.namprd11.prod.outlook.com (2603:10b6:a03:80::14) by IA1PR12MB8359.namprd12.prod.outlook.com (2603:10b6:208:3fc::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.28; Mon, 25 Sep 2023 08:08:33 +0000 Received: from CO1PEPF000044F3.namprd05.prod.outlook.com (2603:10b6:a03:80:cafe::27) by BYAPR11CA0037.outlook.office365.com (2603:10b6:a03:80::14) 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 08:08:32 +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 CO1PEPF000044F3.mail.protection.outlook.com (10.167.241.73) 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 08:08:31 +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; Mon, 25 Sep 2023 01:08:17 -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; Mon, 25 Sep 2023 01:08:14 -0700 From: Haifei Luo To: CC: , , , , , Dariusz Sosnowski , Suanming Mou , Matan Azrad Subject: [PATCH v3 3/5] net/mlx5: enhance the validation for item VXLAN-GPE Date: Mon, 25 Sep 2023 11:07:44 +0300 Message-ID: <20230925080746.16438-4-haifeil@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20230925080746.16438-1-haifeil@nvidia.com> References: <20230925020921.4607-1-haifeil@nvidia.com> <20230925080746.16438-1-haifeil@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail202.nvidia.com (10.129.68.7) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000044F3:EE_|IA1PR12MB8359:EE_ X-MS-Office365-Filtering-Correlation-Id: aa4f38f0-91a7-434d-154e-08dbbd9e9bde X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GDY67jIsWf+ife16QFQXLwRG2WemD0wC4DBgBsjfDPE8VA7XFOKOKEppPXIg0riLSjhdvsY2JX+a1PFDIoX7V8CJj1tl3XjKVXbRtBUZq8mgjFyxcuxSYebcLCKtdFj7FnD5v+4gsqn6qwHkMTr1zvpkpHYkA9pboGQT2s+Dfukg9OzVAv4J2VVLrUuXN/iEnqEub3RmgjP/f9408U3ZyWwM8nyjKcc/ysdnYR4CPEDdkLV0bqaM96mP9eWddjYKiiPsgAy7QygcUnoGbiNEuobyXkTNYqW//TsKczTgeFbrj9egopNrhU6w14CSVi6jL7Min6LMf2lQlr1OIXtKyPQCdp6ZdSVDDlVs1u/E0lKTsP1v6CXgx3HQI70VzwckFiOq6zmJoNKcUCxdUVKD/VOjxpHd410FlLWI/oTQ79CLCei0IrBmjdRt0OrdEVmEmjQTRe0A1zYiSHUrc1oyl7WXnb27gjCtC0EhmDFToFDEXHhygthQK83IFxfHGkYq6rXEJjmoAJhxdok3D5mj1fTe+QoRSjqNJzsmosKgDxsQ7sQVR1jDn/fnqCcZ8N346Hv5On5BHQ244fYBKViEQpEAUq4op+5m4ieaUQ19dSqwyPJ+I/iaUxMak7GVw4EceIKge2fzp0J08p1ENyG8oewCu8Cnv13yP1aypy0JHxUu485tp8hXtcdLy8g9aRwp2Rl3XexoFa4GVjcKtvB1uMfzSIPbwJ+7sdnO8opQbpyGO7Rc7G9Zqap77NR0Ntbc 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)(136003)(346002)(39850400004)(230922051799003)(451199024)(1800799009)(186009)(82310400011)(40470700004)(46966006)(36840700001)(41300700001)(55016003)(107886003)(2616005)(8936002)(1076003)(4326008)(8676002)(36860700001)(54906003)(70206006)(70586007)(6916009)(316002)(426003)(26005)(6286002)(16526019)(336012)(86362001)(2906002)(40460700003)(47076005)(356005)(7636003)(82740400003)(478600001)(40480700001)(83380400001)(6666004)(36756003)(5660300002)(7696005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2023 08:08:31.9625 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: aa4f38f0-91a7-434d-154e-08dbbd9e9bde 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: CO1PEPF000044F3.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8359 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 Mon Sep 25 08:07:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haifei Luo X-Patchwork-Id: 131887 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 BC37642635; Mon, 25 Sep 2023 10:08:52 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DC2DF40A8A; Mon, 25 Sep 2023 10:08:45 +0200 (CEST) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2074.outbound.protection.outlook.com [40.107.100.74]) by mails.dpdk.org (Postfix) with ESMTP id 3A85140A79 for ; Mon, 25 Sep 2023 10:08:38 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f/WjhB2IikY6xfd2ZsgSbooqqoV9+bBylfqZWtPdUsu2Xpg0EqNBTSOFqoLko+SrMLXSugWFX3lNm9Ityx6rIWC+cyXy71UVrMJxzq8M7WraxsmwNZjShJVzyeUqs8/OaSHn730UqdgkAD6vuTys4tg/w2jwO49M3dQfV29Z6Ef63cga5qx+Pb5BWBAFP50N/iD5WWPwNv3fg1owdQbp20iobN4bfwimoDxANUl/MlTs5ni+LwI1E4xoSkunTBbugkxHW06elYPWKE6vrjpP7z33Nm5PPs9Wc3b1XZajz5cDDZC0Ef8D9M6Oy6ojEQHToc6iJMhoQ2DjpHxmCWEM8g== 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=2JKTLzy7LXr8r76zG5rFFy9qPguVLZH7g0ieXk7hz7E=; b=eLy8Qe5DtSWIYL8m3UTLWSsiN8gBgD5iZnYQry4OnHRjlZop+PeFRQS9b1SMIG8FXLPNpkR3MwV6DL5A1OyZvuKH3fF0mWrFvVTyS15o8ebJdpc0JaeJ0zPEAXgdKV+6kafl25+EjSl2GFrv5wU1+KtTXxAgIIySkdYW+kczv3H+VMorwUMFDx3vCKy9KfY0VxisJ8kN71Sf3A9QffZSD9FJlkiGH7PjRKqdi8DKBo+GwSYAyRhacnbo94sMzP3a70H0sHIsWoq2TVKL1stycdjbWI/OM4qSZbeQCNLFckgJzegHekJLYo+q3CnZwj+8xYzJ/SMbO3weLGjCNyGoww== 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=2JKTLzy7LXr8r76zG5rFFy9qPguVLZH7g0ieXk7hz7E=; b=S1N7mziiyjfvJC7lCfAPmo4XtTVmiJ/1cjp940ACcrBl1O/g/+/8fmRpOUDTphe2Xm+9P8FOhifKQxVj5PBSiPQ2UIk/QPs0anGfCekyG2iuE7ah4wiKUeazsU7U+1udkce0AeiW2qsk7+rRn8jHujoM/kB/jEJieysNOhC6in1MEp+R5lXYZFZTC9WLw8zYYSYEfAs6PDEf+KH7bol+nuHVPSIpkavBQJQDyRgM5WWS6PwzqbDGD6RT8+Wz48lZQ8/PGAkx1tiOXrYKaKlCgBQffzvkUyJTSykCbAdm5MaVbm76wuXzpoueeNz9hoQV0ygWkzPkpQelybiM0dglXg== Received: from BYAPR11CA0071.namprd11.prod.outlook.com (2603:10b6:a03:80::48) by PH0PR12MB5677.namprd12.prod.outlook.com (2603:10b6:510:14d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.25; Mon, 25 Sep 2023 08:08:36 +0000 Received: from CO1PEPF000044F3.namprd05.prod.outlook.com (2603:10b6:a03:80:cafe::23) by BYAPR11CA0071.outlook.office365.com (2603:10b6:a03:80::48) 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 08:08:36 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by CO1PEPF000044F3.mail.protection.outlook.com (10.167.241.73) 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 08:08:36 +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; Mon, 25 Sep 2023 01:08:21 -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; Mon, 25 Sep 2023 01:08:17 -0700 From: Haifei Luo To: CC: , , , , , Dariusz Sosnowski , Suanming Mou , Aman Singh , Yuying Zhang Subject: [PATCH v3 4/5] app/testpmd: support for NSH flow item Date: Mon, 25 Sep 2023 11:07:45 +0300 Message-ID: <20230925080746.16438-5-haifeil@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20230925080746.16438-1-haifeil@nvidia.com> References: <20230925020921.4607-1-haifeil@nvidia.com> <20230925080746.16438-1-haifeil@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail202.nvidia.com (10.129.68.7) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000044F3:EE_|PH0PR12MB5677:EE_ X-MS-Office365-Filtering-Correlation-Id: ca8fa98f-6615-4c3e-e152-08dbbd9e9e93 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5YIGbhGIog2Un5HbKGt2O5hrVnrohNFSjIgFeaZVVsyeUmuct9YuyykGBGPg5M+XMSSIY6p7P2ViEWN45kGodHMeGL3x+qCZdlaTKi38Y8RGAlVTGCF+s+Jf20ZeukQLkYmKevYZKPO5hgtd1G7ODYQX9stdYG322BnzPmsPWHvoitrmhOQb6dAFsyE3QsQj1HFyQZhnce94IejPRP+uZJw5M6sD4AjCI3JNmxTykBbosNiOGv197huY04PlsXyyp7zZuFe68FdnPu+SlSwNW7AC1JOP9Ki9v2ZmlIA1HTkCqMbOVcSMJS/+YQZ9fGpkepGJlRxSpjPyiDLlzrqfNpxTbcdCpo416PSUAzecJyORWcUtFOJMQMARIw5UPZLASqoIT0PJbkBfyQhEXGj68yCqhWJ08RzjsmJeFlvYUdtSVu7SS8270AnQKLWArUDWOFpvRrqf+ZVoyzaM6AO84r4YN4HmhYx5sDKSGo1tZva2nj7Qrr7rz3ZK3fEeR1rdrIvgEeeHaD5GDs+/VfkQXtRTfxb0Omc2TQt755OMuQqEg1tWHoxeSRHcBXVGBz+ZX4HN34aXmPaDLRXDBdNSywmPJPuH9kn5sZC47ja5slvk5HRBapvU2D+AtL05wMz23Cq6be5+oW77fZ+6Wm+jdCCbbJ7PNm9f0y0VX9ZdiSiGYu8PVGM4O7HM1PMeRhGgZIuuyCZFCGUG4ZM1dBIwuPw10cskUaR2jmKXmggXOHKKYwVgpmg1ldKvq4ezdDok 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)(376002)(346002)(39860400002)(396003)(230922051799003)(82310400011)(451199024)(186009)(1800799009)(36840700001)(40470700004)(46966006)(82740400003)(356005)(36756003)(86362001)(7636003)(4326008)(7696005)(2906002)(70586007)(478600001)(8936002)(8676002)(70206006)(5660300002)(41300700001)(6666004)(40480700001)(40460700003)(55016003)(426003)(16526019)(83380400001)(2616005)(316002)(6916009)(54906003)(36860700001)(47076005)(26005)(336012)(6286002)(1076003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2023 08:08:36.5093 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ca8fa98f-6615-4c3e-e152-08dbbd9e9e93 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: CO1PEPF000044F3.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB5677 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 ++++++++++++++++ 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 08:07:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haifei Luo X-Patchwork-Id: 131888 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 790D442635; Mon, 25 Sep 2023 10:08:59 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E851D40DDC; Mon, 25 Sep 2023 10:08:46 +0200 (CEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2084.outbound.protection.outlook.com [40.107.92.84]) by mails.dpdk.org (Postfix) with ESMTP id D3C1840A6F for ; Mon, 25 Sep 2023 10:08:43 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JyWEWRlE/TmaMe/j6iTcRmd6Gpu2X2Ajqe3AKJoG1E9QZ02dRf+EXUbntV7YXeMFimvBH8y9GnSK+gEwVdjUYag6d398dwzasVRikFO7tSduwto2iQOC72Yn3N1ATIh8G/prfSJnDcasaHECoUPmRY2Dq+zF9eW6bc+RiSv8p5+11upZztS+cvxuzH4fQmNgY3H13tapPcJbaS2TAWsRoVncg4OT6uU0nc4nAc2U1XKtF1DyEL4pFdvLckL8PLnYUcIlVzG8hed8j+4jBdFByjHGp8QiCmYFpX6mpQc4fnYcmqCamEhNyaejHOau6IbA9+HMNQK/B9NxuzpNL6cY8A== 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=JKeJuJv/0+9TBehQICWLpEXht6vLR12Gr10skrde7vI+froR6Lw33nBnx/tetqBiMnVfmTTFiVoOnoWZrJYlzXIp2oW0VCzpfo1rsfKw5/UB7/JIlz2dAl72gMLsaoI7pFCFtMDf6ue/j25e6Ofd/ZTeKjLGXFV8NrsPcE8zvz9nrPKuire65SVINQxfBRogfsMvc0k3B8S+935v4YCOKZCjf5A9++NXJQEBWWtUQGbyitb7tykPASUlobwxce465p/3ODsbtfZ0wFCTW7Zthe8ZxI0jI29QV4wMqFqalqV9IdlY5KL1XFHWf+5IjDusG2JIK/prYVN5+gDFsPR0tw== 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=BNBrpWk2s/onZBKdk3g5QL9ragfTqISxyD6mBYDgUQ4=; b=cmLsYUgRpWJpr6DsV/kqfbJ47T2mUrcrPX8ZYG/hutdmVdPZDGr3X8xmKwB4can/F1PI72ZKYx7C0UeftdMrwfMBBwVwkTW1kTAmQSwp9iCmqzUqJ5afyjruhAth9xjVZ9Eyst9af6bintuvITfpsltAJkSqRDDGS8dHWOhRc5b6JklA1K7CvzMGa0+CFKqvyuDwgsrgfYiafOXkzzp2G8KIM5/qIrjkEsNPE+nX5Akzw6HbfYAEKVwy+2FOSgoPknEO1ATEbViu6dQFNgGPdqyGOmdoStb8A/z40vho3nq3ilgeuibfxyYyjsjRS8mns7h+1P7Bey5aoTclBflmdw== Received: from BL1PR13CA0384.namprd13.prod.outlook.com (2603:10b6:208:2c0::29) by DM6PR12MB4185.namprd12.prod.outlook.com (2603:10b6:5:216::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.28; Mon, 25 Sep 2023 08:08:42 +0000 Received: from MN1PEPF0000F0DF.namprd04.prod.outlook.com (2603:10b6:208:2c0:cafe::df) by BL1PR13CA0384.outlook.office365.com (2603:10b6:208:2c0::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.18 via Frontend Transport; Mon, 25 Sep 2023 08:08:42 +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 MN1PEPF0000F0DF.mail.protection.outlook.com (10.167.242.37) 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 08:08:41 +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; Mon, 25 Sep 2023 01:08:24 -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; Mon, 25 Sep 2023 01:08:21 -0700 From: Haifei Luo To: CC: , , , , , Dariusz Sosnowski , Suanming Mou , Matan Azrad Subject: [PATCH v3 5/5] net/mlx5: add support for item NSH Date: Mon, 25 Sep 2023 11:07:46 +0300 Message-ID: <20230925080746.16438-6-haifeil@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20230925080746.16438-1-haifeil@nvidia.com> References: <20230925020921.4607-1-haifeil@nvidia.com> <20230925080746.16438-1-haifeil@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail202.nvidia.com (10.129.68.7) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN1PEPF0000F0DF:EE_|DM6PR12MB4185:EE_ X-MS-Office365-Filtering-Correlation-Id: 9a2231aa-80ef-4dfb-bb8a-08dbbd9ea1bc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PoiSHavPNof48gDgafHviF/XO+b2U+EJPiI73kz7faSFB942IpmToJ3IlUk7JjP0VJQY1TPa0BqC0cEjRwk7Zym81LK10O3tAU4sD/XEs1BGyKWLn3WCPvWD5O6WsGxbYrs0oNSJuXkLDrJ3By1vNaEb9auIpJvMlDBUaswqSrTWQrlk35x03pXxhePQZwnXUJny/A9kUVcAOlmI8XB6YXdFbUeFkg4jQHxKTC8KI2kTJgpijPQUQtQgOIHAvyReORQtwaHdZcW5gU0w8F1Ksq3zkQgb+XteYQ5FnsNVhZn9KPB3v2uJ7v5VM1SzX3VwnsjmXU7vqXdug64JwBvxkD0vo6nslPInQI/dGYV0s1SjVl63+b6tAnePHcHfYxfHHe+VreErLL3J/Jtr0DieHtKxV4cU28TeWvjmS8xsuN/iRrrxhdGKLSCOgMEaOoEHm6evd7GiuVzt7pRgQsGel0CX96JZMZXaYwVraA7DBOnmizQxZDVb1Aww4EqfKUIgZDHKBB1+ANjAgfxlKdl8AjZ2LqfGnTpf5vmYFUzDQnSlTUSW+0N3zaQkCeQVUIWhPRIMxS2RqV3bf20LqRDudDHlJ83++IDYDLcBYzkSdPjBUdI84sWz4l8A5PlDXCcp5/8A9hZin7akMXSzTR835/cSqMt2qkohNKZ25JnOWYTJQb0TPKPeQDijuwk+GO/91+1wKYUdQXCJk4Xd9AWDR2nrlm5q3yiLeliEITPCqAytmD91/Epwtf5LknMF1FYs 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)(396003)(39860400002)(346002)(376002)(136003)(230922051799003)(82310400011)(186009)(451199024)(1800799009)(40470700004)(36840700001)(46966006)(8936002)(4326008)(5660300002)(8676002)(2906002)(316002)(6916009)(41300700001)(40460700003)(36860700001)(55016003)(40480700001)(54906003)(70206006)(70586007)(426003)(26005)(6286002)(16526019)(6666004)(107886003)(1076003)(2616005)(336012)(82740400003)(356005)(86362001)(7636003)(47076005)(478600001)(36756003)(7696005)(83380400001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2023 08:08:41.6696 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9a2231aa-80ef-4dfb-bb8a-08dbbd9ea1bc 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: MN1PEPF0000F0DF.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4185 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; }