From patchwork Thu Jan 11 07:00:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Li X-Patchwork-Id: 135838 X-Patchwork-Delegate: ferruh.yigit@amd.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 25E3A4388E; Thu, 11 Jan 2024 08:01:22 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C41C540266; Thu, 11 Jan 2024 08:01:21 +0100 (CET) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2086.outbound.protection.outlook.com [40.107.101.86]) by mails.dpdk.org (Postfix) with ESMTP id 2DDDA40042 for ; Thu, 11 Jan 2024 08:01:21 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GUvP6sjoaVXrajfzrEDZN+KqKjVMmFJ41B5cmYRHl2TdJQq8LzTy0iNkGxbEMWnA5jKeg3xAZc8jFhIQtdGyig0POF7GWCizakstKYvGVwixSWujBudKU4o1hZ3yCkjcsT5BPnFXNVr7fN/NBOuj4kW55IEWOP22zzHvcg0d6hST2/ZcH12xQgRcGCm17vtkN4kiC6fkAKT3rQK+v7TfWkhjuF6Yh507ducQjVKGJM+CtUWyl3IultxYxBTPAsWqMgpIcAuGriFZS2e/yNqZL9dMAPiPLnNch1w0WKsOlQmcxNFY4eUTVyyX3oWUTDoiU1h6I312pIqFnVwfLp2GGg== 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=uqY3sUXwcv3+/cM57mk+Kxtw6+SQgbrCNOAenMvdLpE=; b=mhzuI1Z2idcbpkYdyg8EV7/CjJ450JNC3TrJM1h7avQETNK6u4XrXEpltBVi17RSFwYPMzLvz05+dyIm8qUnWn2l+2TFRYX92jZzoCzLJVPymY1yyPW+rffS9qRGNf6YeCCrmRQLwTKJx52D3X2MZtkTBVq+5PoeRVQTsNiZDuc8dWiYu+7EPcVNF2kH92I+BiZ/ouCGW6rU6k4A71uevyvq4eLuEpweISJKi4yJKFNKVlUCkaprG13poS8pe0/cdcxwdqsYoa5KHCNguaq2ocNSe2ghPswn/MimFDPCqH5HFQ7s/Efnkk07Jzh0G0/K4bi3F2OOBufEzh/n0WrBjw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uqY3sUXwcv3+/cM57mk+Kxtw6+SQgbrCNOAenMvdLpE=; b=iFEJ0frWdH1kWqDlLr+BFF/LpZhU8PLK1d1xelrH4rqLlb33The8vMQdB+riAf54HT4dJF+q09vvsS7tqr11G9qdnsA7c1Q6PMn/nEYaue2WyarD/iQqhz2Qi9ZQVU2exS3CRFqooYAoMep3LZ9S09CP/5iWdfVjWilzuCzbBsk4FcHO7ZE8z5VqrqOVHsjbYxdA3g+FH48cCEfHxwI7Qn/HmjJ0UpAaiC+HoGMqvnTAR7JFWls+2ju8676xUdtGM0XjbWktGOqyTzf7R4k21FzaxO1i22t893m68UHXoOtGdyaK+Je9QB3el73Yl1mZfY0mnRWDzJ+L+xBmfkL0tA== Received: from SJ0PR13CA0022.namprd13.prod.outlook.com (2603:10b6:a03:2c0::27) by DM4PR12MB5040.namprd12.prod.outlook.com (2603:10b6:5:38b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.18; Thu, 11 Jan 2024 07:01:18 +0000 Received: from SJ5PEPF000001CC.namprd05.prod.outlook.com (2603:10b6:a03:2c0:cafe::6) by SJ0PR13CA0022.outlook.office365.com (2603:10b6:a03:2c0::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.13 via Frontend Transport; Thu, 11 Jan 2024 07:01:18 +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 SJ5PEPF000001CC.mail.protection.outlook.com (10.167.242.41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.14 via Frontend Transport; Thu, 11 Jan 2024 07:01:18 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Wed, 10 Jan 2024 23:01:07 -0800 Received: from nvidia.com (10.126.231.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Wed, 10 Jan 2024 23:01:04 -0800 From: Gavin Li To: , , , , , , , , CC: , Subject: [RFC 1/5] net/mlx5: support VXLAN-GPE flags matching Date: Thu, 11 Jan 2024 09:00:39 +0200 Message-ID: <20240111070043.1276161-2-gavinl@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240111070043.1276161-1-gavinl@nvidia.com> References: <20240111070043.1276161-1-gavinl@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001CC:EE_|DM4PR12MB5040:EE_ X-MS-Office365-Filtering-Correlation-Id: fb8d90ea-5f14-4bce-4165-08dc12731c07 X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YZqpi5zJ2BkLqBrUnVOGFQXAQoPbUATq1cTc8ozsJIGBJjENP13wDUr4+9m5tmXeOzOuccjh/Ngiq57ayhymvCZ8xexVSLiuw+Ex/NRHsC9TL/vps9D3CmVMlTeS4KuIrAaE4jTuar1fP8oqCGkuuRjChxsDCMhqad+TkP0DjOkNSXVWrZNDkunQBXaQEieW78WG14vrl1Jbnef5pogTqvCFBVEWRfBih4GJqudypqWxPBmi9Vsf3/52XieUAOB85GiKmi0tmHAlxrlEyHYZKIyjKENqtO15jsQ7qchAAy9Tbtq5ye+x5ePovKjN4tu8qBgVH2yH6w3Wx1tdj583WaxWIBz+DqE72X84W/9dl92dWijGGfMwRjAodLIbHwebS92Bfiz32yXAIgqWKom0bfcX/TSIwmguYarRkPYn8WtCxjcC4smrvASDtqay8AWvyHK5RhIFsuYcJYAAGDpnBLMqKLFtYMGN2uMacflxFcbB8EUMsgEXxbsBCP9dWrsIxKGeseiJNXcG4NxEGoEL+AJfJinwM8QBve/Dl3ReQlkTSiqRaZmo//3ANMQm6fXOAjEU3Ceoy2RnReUZAEURTzodoUCL+E2Mi7ovkaRE54BbEOAwL+N8buv5wbZs7TYnus7Q7H41FrWE9T1mOkBrpQVJ+OnRyTxMGnQCBYoIrr8ZO11YOm7o27sFvXdChYkJW4VayiR+xL/IL5m5mFyo5uuzMxNLrdxiJYgbL2zwGPTC8W2bYQPgsw5gaH8T+Jtp X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230031)(4636009)(39860400002)(136003)(376002)(396003)(346002)(230922051799003)(186009)(82310400011)(451199024)(1800799012)(64100799003)(46966006)(36840700001)(40470700004)(55016003)(40480700001)(40460700003)(426003)(16526019)(6286002)(7696005)(478600001)(336012)(6666004)(1076003)(107886003)(2616005)(26005)(82740400003)(7636003)(356005)(86362001)(36756003)(41300700001)(70586007)(83380400001)(4744005)(5660300002)(47076005)(2906002)(4326008)(70206006)(110136005)(8936002)(6636002)(8676002)(54906003)(316002)(36860700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2024 07:01:18.0388 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fb8d90ea-5f14-4bce-4165-08dc12731c07 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: SJ5PEPF000001CC.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5040 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 This commit adds support for matching on the flags field of VXLAN-GPE header (the first 8-bits). Signed-off-by: Gavin Li Reviewed-by: Dariusz Sosnowski --- drivers/net/mlx5/mlx5_flow.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 85e8c77c81..ffa183dc1b 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -3292,6 +3292,7 @@ mlx5_flow_validate_item_vxlan_gpe(const struct rte_flow_item *item, struct rte_flow_item_vxlan_gpe nic_mask = { .vni = "\xff\xff\xff", .protocol = 0xff, + .flags = 0xff, }; if (!priv->sh->config.l3_vxlan_en) From patchwork Thu Jan 11 07:00:40 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Li X-Patchwork-Id: 135840 X-Patchwork-Delegate: ferruh.yigit@amd.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 2D66F4388E; Thu, 11 Jan 2024 08:01:42 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5B9AA402F1; Thu, 11 Jan 2024 08:01:34 +0100 (CET) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2084.outbound.protection.outlook.com [40.107.94.84]) by mails.dpdk.org (Postfix) with ESMTP id 4525040042 for ; Thu, 11 Jan 2024 08:01:33 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DxGUWiGjGOwSPlvLH8GCE3c4ekYIrd6gzO2rFgC0qP5YmlH/G9qn+SieG1NK+nZvCTojHkjpsc+u7wVrgDZL4rlZmkCubYuGl/sZ/ASg7C666vIpzo7mbjvUSxEde12PweU8W3Mn0yKtH35No+gkfRt+yub50vU6rTb34ke7cwbL0xOfYCGMmA/QIQu2jxpvAKNILs96NrcO14Ay2oonaNsFbPt4+pb9CEfVR9/st2/hDRaPT0Ej9yXMRTR/Ik8w3yDAdEko9r+VFFyJk4Rdt9q8SrIP3wsB7dqo0jrqUF9cicqwIiUJdogN75TNYjJKXliIl2ySePIZhsdGaeESew== 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=ssLRKLjTHTPBhTxhDOD/5b4zKR+zQ/aQMwFK7e23APA=; b=jQrhroYgALByv4sy1UYxGE/5NmRVsDjKwC+d3bqzSM8paN6t+11vze7jcc9EhMc0bSeA2VKyypToUl2386wIprZggLoY2pZg3RCrtHMzQKUmpRyqpyHKcVSrqUg3jt/c/jpp/hEy/BA/UtvbHMiR1B6FjVd8oSBGTy+6UoD25eqHFgGdnod+zNKkMT+HaKszXwS/ut9/bzMjVGFgT5W05MepgrbOJ5yEscYb5/n1cobnc4radcidVtqlhh7ApgGl5Q6saKmZTQroWPVQdhGD/tGqtrw970LBEMSoxj+E5xFao6keRy4Hn21Jr7WDFl4kZWYSzPR8WlVQv8PMFj5Apw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ssLRKLjTHTPBhTxhDOD/5b4zKR+zQ/aQMwFK7e23APA=; b=JscTAnPPAJVnq56c+Coebd70OpL1sp1yMaM1dQuR3Dj0hink8XRPZPg/bNSzqg3FQNJtqu+ziUuMJa3wcejOkB/i3hbhGunAXVPf8NckY8BxRtJvRRl4unjzt3Mqq/li2T8AEzK2qVurb9E4Rqnhq4X08AUGMf9wIzSS9LEDnm8Mzk5Sit0FaXMEsq9rRe2Xv2y0acOGPWjGMJ7qGUZsuUR1HGfqix3Z3wWkuEPskvG+gl70P8v5SR5MTRPIIRpTKNf8ySb0QsvS+yhQl0xjVr7ZiZ7NOO83hsDBzPXn1JFYo75FKaqJkEDFTppEgdUcccy91OHTJpRvtTMvmR8KWQ== Received: from SJ0PR05CA0198.namprd05.prod.outlook.com (2603:10b6:a03:330::23) by DM4PR12MB5104.namprd12.prod.outlook.com (2603:10b6:5:393::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.23; Thu, 11 Jan 2024 07:01:29 +0000 Received: from MWH0EPF000989E8.namprd02.prod.outlook.com (2603:10b6:a03:330:cafe::aa) by SJ0PR05CA0198.outlook.office365.com (2603:10b6:a03:330::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.18 via Frontend Transport; Thu, 11 Jan 2024 07:01:29 +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 MWH0EPF000989E8.mail.protection.outlook.com (10.167.241.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.13 via Frontend Transport; Thu, 11 Jan 2024 07:01:29 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Wed, 10 Jan 2024 23:01:11 -0800 Received: from nvidia.com (10.126.231.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Wed, 10 Jan 2024 23:01:07 -0800 From: Gavin Li To: , , , , , , , , CC: , Subject: [RFC 2/5] app/testpmd: support VXLAN-GPE flags Date: Thu, 11 Jan 2024 09:00:40 +0200 Message-ID: <20240111070043.1276161-3-gavinl@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240111070043.1276161-1-gavinl@nvidia.com> References: <20240111070043.1276161-1-gavinl@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E8:EE_|DM4PR12MB5104:EE_ X-MS-Office365-Filtering-Correlation-Id: 55734398-c2a3-439d-1495-08dc127322ab X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1IfvBA5Xn+hdKhgxfxVEa0/YsUliQXj64oDPhy2OXHSpKuNAWYGec04iMaYQRTtfWqpwKtDCHjBMclsmpxDu2kXYzFu08iIPGIxs69O7ZYLeBNAJ30iorKRCGdU4wwr+hJxz6OGPjjAMH2+2tNcrOLC+mAiXNDOTcapL21BnAf+Cuv4Rjn+KD9RM86E7xrR6aaLed4tr/L77hciRGSPzfhcNXDFF0/CPdHn/2sZuFMN5pw+jO+v9Xyw2X8N7wNRY5RGJuEb5YPglogLblYHxAzpII5GOWNegqIPoOD9KZNmZVPFWo2zaAZG5OxaczFzL7IbPXo0l0tYM9eqi3NlreXD9OYwZfyJIfcb12b//tea7XMAs4oDEOr/PwrbuKCC8VSD74Qhaw45sE1j/x5vwyOmsbcaci5U2HoQG5J8w1joz57JX2w+THXedXaWMmiM8etminYYsZEvJ44vMwlT/zJln11vL1GLUXdztHwxBSch8fGrFEQPTzZleqScg+reZoJWK0HY+RonFf9h8IJDn+LXTBzL9QUV2Yc+9E021FKgeuwQDmKaFfnW8d9HYFzTLFgsPgyc2rrAefr63WFfLV1A5D4O2rLhwujejQis99n3tgSpsutWPK9BxkZCg1f9pO2FVZFvew3okLIrZ3iOI0m9fagEp0Vsg5Kgn//wJNhNthX6WtDdyZE/n0BKbVzTSK5UIJPBmqy9QKRFq4a/j/faK4ZRt8TbRcL/IxzYF7xwmqxmTzzuJr+/fdFMVPI+l 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)(39860400002)(346002)(376002)(396003)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(82310400011)(40470700004)(46966006)(36840700001)(8936002)(7696005)(7636003)(2906002)(5660300002)(55016003)(41300700001)(82740400003)(110136005)(40460700003)(36756003)(36860700001)(86362001)(40480700001)(356005)(6666004)(54906003)(316002)(8676002)(4326008)(70206006)(47076005)(70586007)(6636002)(6286002)(426003)(26005)(478600001)(1076003)(16526019)(336012)(2616005)(107886003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2024 07:01:29.0381 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 55734398-c2a3-439d-1495-08dc127322ab 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: MWH0EPF000989E8.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5104 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 VXLAN-GPE flags field in flow rule pattern to testpmd. Signed-off-by: Gavin Li Reviewed-by: Dariusz Sosnowski --- app/test-pmd/cmdline_flow.c | 10 ++++++++++ doc/guides/testpmd_app_ug/testpmd_funcs.rst | 1 + 2 files changed, 11 insertions(+) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index ce71818705..deb2d80301 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -401,6 +401,7 @@ enum index { ITEM_VXLAN_GPE, ITEM_VXLAN_GPE_VNI, ITEM_VXLAN_GPE_PROTO, + ITEM_VXLAN_GPE_FLAGS, ITEM_ARP_ETH_IPV4, ITEM_ARP_ETH_IPV4_SHA, ITEM_ARP_ETH_IPV4_SPA, @@ -1789,6 +1790,7 @@ static const enum index item_geneve[] = { static const enum index item_vxlan_gpe[] = { ITEM_VXLAN_GPE_VNI, ITEM_VXLAN_GPE_PROTO, + ITEM_VXLAN_GPE_FLAGS, ITEM_NEXT, ZERO, }; @@ -4936,6 +4938,14 @@ static const struct token token_list[] = { .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_vxlan_gpe, protocol)), }, + [ITEM_VXLAN_GPE_FLAGS] = { + .name = "flags", + .help = "VXLAN-GPE flags", + .next = NEXT(item_vxlan_gpe, NEXT_ENTRY(COMMON_UNSIGNED), + item_param), + .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_vxlan_gpe, + flags)), + }, [ITEM_ARP_ETH_IPV4] = { .name = "arp_eth_ipv4", .help = "match ARP header for Ethernet/IPv4", diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst index 447e28e694..9c6b04442f 100644 --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst @@ -3703,6 +3703,7 @@ This section lists supported pattern items and their attributes, if any. - ``vxlan-gpe``: match VXLAN-GPE header. - ``vni {unsigned}``: VXLAN-GPE identifier. + - ``flags {unsigned}``: VXLAN-GPE flags. - ``arp_eth_ipv4``: match ARP header for Ethernet/IPv4. From patchwork Thu Jan 11 07:00:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Li X-Patchwork-Id: 135839 X-Patchwork-Delegate: ferruh.yigit@amd.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 7AF624388E; Thu, 11 Jan 2024 08:01:33 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 331D94067A; Thu, 11 Jan 2024 08:01:28 +0100 (CET) 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 C3227402F1 for ; Thu, 11 Jan 2024 08:01:26 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YbBfWIZ7eS+2jrkodIVL/0J5xxcovq2BEnXZkjML1REEoRs8zO62qRn4Xiv0fZhU/VWP0c6hW/EiN4ULabUIYc/O/auXf1drT7/RhTs/Siq6t/lYW0i68vWauNnssCBzJGbLrJb0dZ8OnSgDPPf72jnhlLEHempa/xujK5V176CQpV2rUnKlLW3kmQQVAZq5EVuORuhY1CxWZCNO+yDOSbCJbrBYG17ZMM9bguk6xt1xvkU6Ce/5waVgHj8svlMJjJoM+Do3nE/vyZjnplgzANAi86JE9IeucD/td8qL9E0kxnXPBx64VXk4WJeAdg5nd8s/rkgeyeJb9wPTcSaGNA== 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=0bV0EGE7SlWSHQEc59hSXdF1/9TjNiGDorf1RUShI0Y=; b=BxXMjB4T94KnaaOspuVxjJNpAcjz3eI4F0GdhZay+CtWE4/rYJO2OLuDmOExl0M6zu17amCqf2zD08uJ4si0uZ94huYF6x5h2JHRoQpkMe/wfCoBP5ZxA7XQQkgUwqcmltMN4BlCXMYwYpiEdC6oTPjGCOx5X1ThE6/kmcm2/3OkUoN+yHupgtdEDB2YbsdHp6Nm3MmKopS2aWF/ZA+kDAuG4VvG0g/A3a7xjko+HTSQxyewGtn9FQWCSDiiFsfwppkGuVOGH5LaRNrIvQb/83PGTth+17soKgQPMOKur9IOI1goLuLU39WpIQ79C40GMnMqvrStCPprrTJQbyW4ig== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0bV0EGE7SlWSHQEc59hSXdF1/9TjNiGDorf1RUShI0Y=; b=aEKyzHA3KgUAsu6QG4qlqzjZ+nG3oc6keHjMUPrMRp7cKuKVH5O4tpJXnqoFb++ETZA1jmcXPhrcAladHfwc3Cmnpp+2vzbCpOUOBfpWq2JiYscaWUhAcli7c/mCKXBZ9EmtBVNAAOsIbthhppMHNQlXrt4tE11GSD2fMhy6Pvd4cqleGvs7A6K2a4m2lOx8drlVVYPbklsWMWfOVwNuY4CYXBPPe10M6gYInaxuh+K876er9MC35PDp6psQhjEe39lGZ7hTwhHK6Yd6fKXNlkUi1IBzBQg9am/PXO0dc22jVdv8QTkUWTuKTsCICKA9EjW0tPgMCXiGIN9qDhyCgg== Received: from BYAPR05CA0092.namprd05.prod.outlook.com (2603:10b6:a03:e0::33) by BY5PR12MB4869.namprd12.prod.outlook.com (2603:10b6:a03:1d9::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.18; Thu, 11 Jan 2024 07:01:24 +0000 Received: from SJ5PEPF000001CA.namprd05.prod.outlook.com (2603:10b6:a03:e0::4) by BYAPR05CA0092.outlook.office365.com (2603:10b6:a03:e0::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.17 via Frontend Transport; Thu, 11 Jan 2024 07:01:24 +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 SJ5PEPF000001CA.mail.protection.outlook.com (10.167.242.39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.14 via Frontend Transport; Thu, 11 Jan 2024 07:01:24 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Wed, 10 Jan 2024 23:01:14 -0800 Received: from nvidia.com (10.126.231.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Wed, 10 Jan 2024 23:01:11 -0800 From: Gavin Li To: , , , , , , , , CC: , Subject: [RFC 3/5] net/mlx5: support VXLAN-GPE reserved fields matching Date: Thu, 11 Jan 2024 09:00:41 +0200 Message-ID: <20240111070043.1276161-4-gavinl@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240111070043.1276161-1-gavinl@nvidia.com> References: <20240111070043.1276161-1-gavinl@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001CA:EE_|BY5PR12MB4869:EE_ X-MS-Office365-Filtering-Correlation-Id: 3f53bcea-2606-47a9-cc31-08dc12731f9d X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VKR0N6pkTLoVLMQfGeclZLmsjgHaSBbvafBfQYMztmMCn4h+780JetN86uKULfGXdf+PsMJCq5CYdh/uCPggg0HpH5pEngLl0yDzkSHyfCohWapEYoKLM/e+XpjsjKZ/kJidRKCSK82cnYJu0Rrj5DzrjNhQFUYiUuAv8HGxjldn5q7N9nowBey6xh7GBWHOFLMYRMgqA9t6CcqVvxxuu/aunSWC/gJP337ffjyU91Cq3r26PtG5W0CgXQlSZDVGual0bDZmXcwizLgezzGzJxgOSqmRUM0LwcdoPnVATdKozst4vP7OYzs0Y8hl7yiV8yvh0CPKeTCdu6e4lmt5Ra/1VF+MbI5VlBr7Qz0aMpETOI8X0rOpmJEkZNKm6TCaXHxbetEmT9MuF0HzZQUBk6DTA80dwsX3gdYM5BpN9ErLmzD8ZCtC5d57G0aZC1u9A25jLbleetotu3JKnLit5m/uXZw1jm6cuNBopdcVoH2OmprFamwm3wzXSTVJn+l/PjV641PPlr62rzt3x6oy/LaBMfGeDqwS6+x5vs1a2PVBsBdBfmWrKVRK3HzWK9oBS14zJqnn0e51lUwkV0DOw9G/8wP/VbaOEwL0ObdUUGepuAvQl74UXMeQ/lmrzvohtmuyRGP6ECsCtWFXAUDlh73d1lhrFnmZplZdlxz+fyb3lKdmIMnoAGUr3Zpl4BzX3lCO4CHyr/99Qbm89wiiBw== X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230031)(4636009)(39860400002)(136003)(396003)(346002)(376002)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(82310400011)(46966006)(36840700001)(83380400001)(40480700001)(55016003)(47076005)(82740400003)(110136005)(316002)(478600001)(54906003)(7636003)(6636002)(70586007)(356005)(4326008)(5660300002)(8936002)(6666004)(7696005)(8676002)(36860700001)(107886003)(70206006)(26005)(2906002)(336012)(6286002)(41300700001)(16526019)(1076003)(2616005)(36756003)(86362001)(426003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2024 07:01:24.0429 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3f53bcea-2606-47a9-cc31-08dc12731f9d 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: SJ5PEPF000001CA.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4869 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 This adds matching on the reserved fields of VXLAN-GPE header (the 16-bits before Next Protocol and the last 8-bits). To support all the header fields, tunnel_header_0_1 should be supported by FW and misc5_cap is set. If one of the reserved fields is matched on, misc5 is used for matching. Otherwise, keep using misc3 Signed-off-by: Gavin Li Reviewed-by: Dariusz Sosnowski --- doc/guides/nics/mlx5.rst | 5 +++++ drivers/net/mlx5/mlx5_flow.c | 5 +++++ drivers/net/mlx5/mlx5_flow_dv.c | 32 ++++++++++++++++++++++++++------ 3 files changed, 36 insertions(+), 6 deletions(-) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index 7bfd6c6aeb..27384d5a86 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -311,6 +311,11 @@ Limitations Group zero's behavior may differ which depends on FW. Matching value equals 0 (value & mask) is not supported. +- Matching on VXLAN-GPE header fields: + + - ``rsvd0``/``rsvd1`` matching support depends on FW version when using DV flow + engine (``dv_flow_en`` = 1). + - L3 VXLAN and VXLAN-GPE tunnels cannot be supported together with MPLSoGRE and MPLSoUDP. - MPLSoGRE is not supported in HW steering (``dv_flow_en`` = 2). diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index ffa183dc1b..9b6f483d3f 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -3316,6 +3316,11 @@ mlx5_flow_validate_item_vxlan_gpe(const struct rte_flow_item *item, "no outer UDP layer found"); if (!mask) mask = &rte_flow_item_vxlan_gpe_mask; + if (priv->sh->misc5_cap && priv->sh->tunnel_header_0_1) { + nic_mask.rsvd0[0] = 0xff; + nic_mask.rsvd0[1] = 0xff; + nic_mask.rsvd1 = 0xff; + } ret = mlx5_flow_item_acceptable (item, (const uint8_t *)mask, (const uint8_t *)&nic_mask, diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c index 97f55003c3..f3589da654 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -9813,14 +9813,10 @@ flow_dv_translate_item_vxlan_gpe(void *key, const struct rte_flow_item *item, vxlan_v = vxlan_m; else if (key_type == MLX5_SET_MATCHER_HS_V) vxlan_m = vxlan_v; - for (i = 0; i < size; ++i) - vni_v[i] = vxlan_m->hdr.vni[i] & vxlan_v->hdr.vni[i]; if (vxlan_m->hdr.flags) { flags_m = vxlan_m->hdr.flags; flags_v = vxlan_v->hdr.flags; } - MLX5_SET(fte_match_set_misc3, misc_v, outer_vxlan_gpe_flags, - flags_m & flags_v); m_protocol = vxlan_m->hdr.protocol; v_protocol = vxlan_v->hdr.protocol; if (!m_protocol) { @@ -9839,8 +9835,32 @@ flow_dv_translate_item_vxlan_gpe(void *key, const struct rte_flow_item *item, if (key_type & MLX5_SET_MATCHER_M) v_protocol = m_protocol; } - MLX5_SET(fte_match_set_misc3, misc_v, - outer_vxlan_gpe_next_protocol, m_protocol & v_protocol); + /* + * If only match flags/protocol/vni field, keep using misc3 for matching. + * If need to match rsvd0 or rsvd1, using misc5 and do not need using misc3. + */ + if (!(vxlan_m->hdr.rsvd0[0] || vxlan_m->hdr.rsvd0[1] || vxlan_m->hdr.rsvd1)) { + for (i = 0; i < size; ++i) + vni_v[i] = vxlan_m->hdr.vni[i] & vxlan_v->hdr.vni[i]; + MLX5_SET(fte_match_set_misc3, misc_v, outer_vxlan_gpe_flags, + flags_m & flags_v); + MLX5_SET(fte_match_set_misc3, misc_v, + outer_vxlan_gpe_next_protocol, m_protocol & v_protocol); + } else { + uint32_t tunnel_v; + void *misc5_v = MLX5_ADDR_OF(fte_match_param, key, misc_parameters_5); + + tunnel_v = (flags_m & flags_v) << 24 | + (vxlan_v->hdr.rsvd0[0] & vxlan_m->hdr.rsvd0[0]) << 16 | + (vxlan_v->hdr.rsvd0[1] & vxlan_m->hdr.rsvd0[1]) << 8 | + (m_protocol & v_protocol); + MLX5_SET(fte_match_set_misc5, misc5_v, tunnel_header_0, tunnel_v); + tunnel_v = (vxlan_v->hdr.vni[0] & vxlan_m->hdr.vni[0]) << 24 | + (vxlan_v->hdr.vni[1] & vxlan_m->hdr.vni[1]) << 16 | + (vxlan_v->hdr.vni[2] & vxlan_m->hdr.vni[2]) << 8 | + (vxlan_v->hdr.rsvd1 & vxlan_m->hdr.rsvd1); + MLX5_SET(fte_match_set_misc5, misc5_v, tunnel_header_1, tunnel_v); + } } /** From patchwork Thu Jan 11 07:00:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Li X-Patchwork-Id: 135841 X-Patchwork-Delegate: ferruh.yigit@amd.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 AEFCC4388E; Thu, 11 Jan 2024 08:01:52 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D21E0406B6; Thu, 11 Jan 2024 08:01:36 +0100 (CET) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2074.outbound.protection.outlook.com [40.107.243.74]) by mails.dpdk.org (Postfix) with ESMTP id 4CE06406A2 for ; Thu, 11 Jan 2024 08:01:35 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f2Z+tt4sbtWvm7tIzgsnGJ8JUCUQUR9aR6LHpbTJYJYcYdYgLfKze5/548Z+PcjtR6saDkiml3j0CHiSt/reU3yKSesHannFaBrBpDfSHK4MbXQHTSxL/qIoSeErpHsPEcdFnyN1puoAzv7/gCjFEOTRcQV1GFBp84oCLsCujrVRH2ctO+pS+8Uw1LanFmxnW3wbfP0idBcguZn8FoFCNTQprrSoUvscLInUdBWakcuFT+dvmvcyo6r+fwfy5pOe7SFFL26BAmX/okLyKgYOcfp7HsvxKXD7+I3qqUKatG2wlfIKk/4GmzuM5A9RJdOhxpqEftgRJw0iLftQppPHrw== 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=/tSVG3V9CDDPuzjMkEpM+F3xSJh2XGHf7hhkVT4dI9Q=; b=WYzOw71SD8braMFnO7sNaA2EKwjutlmbsTVnZzgkyiWr3ZKKuw0t/CgfwsWHJvh4YSI1WcZWdiLZT2NEzj+U5/R+HGn7DMO6WVX44wpTSLBURJysK7ILcUMH3BArNJNcPaD7VXIw+jthIS1N1uc67Xo+9Xz6e8zqdfJKlxbNfMCVHgdhVHnB1LniUl9jSMI7cicF8jQuU7E/3Nsx7LXRSuBAqK8l/x4FXSzXAwcENkMgv4znH4br+ShzGJeXQvxM25prf6hOwnhCRoZwMPgLo2dRhSKNhX1aixFboTJecdkNupSx0lk38I8q+awLQWtb8QycZmMOv9rzKGX91RU43g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/tSVG3V9CDDPuzjMkEpM+F3xSJh2XGHf7hhkVT4dI9Q=; b=p3v5ILx26qlOAqjHTUT2skaeHBHqUmmuNe3qhYE949qPijRXn9uNT7UbCQaYh1lejySK1h9Ic6FN3sQCkAX/EX/I5eibXP4qXR1UUIugtz7uMlDrxz52dJ0NcNSGdAf0a2Rd5ORmud3X6ZZItVwrPXpyAstVJxU9rEp1z5qQK1blY9Xd1zWSPPFETe3fAlAwd8L6ZAS/c8seAtKYUuzHe8rwEHIJGsrCeLq7xe4faI/0E9EQAApoLmiYOx8quWMBBtgdoJEe/Ke3D4JVMs+RuWYd1C302FsNbeA7xh9OFltRcDNx3AbcKT+AYj82HpcJejbW7yZu6jaVNqWj03bg2A== Received: from BYAPR05CA0075.namprd05.prod.outlook.com (2603:10b6:a03:e0::16) by IA1PR12MB7614.namprd12.prod.outlook.com (2603:10b6:208:429::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.17; Thu, 11 Jan 2024 07:01:31 +0000 Received: from SJ5PEPF000001CA.namprd05.prod.outlook.com (2603:10b6:a03:e0:cafe::6d) by BYAPR05CA0075.outlook.office365.com (2603:10b6:a03:e0::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.13 via Frontend Transport; Thu, 11 Jan 2024 07:01:31 +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 SJ5PEPF000001CA.mail.protection.outlook.com (10.167.242.39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.14 via Frontend Transport; Thu, 11 Jan 2024 07:01:31 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Wed, 10 Jan 2024 23:01:18 -0800 Received: from nvidia.com (10.126.231.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Wed, 10 Jan 2024 23:01:14 -0800 From: Gavin Li To: , , , , , , , , CC: , Subject: [RFC 4/5] app/testpmd: support VXLAN-GPE reserved fields Date: Thu, 11 Jan 2024 09:00:42 +0200 Message-ID: <20240111070043.1276161-5-gavinl@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240111070043.1276161-1-gavinl@nvidia.com> References: <20240111070043.1276161-1-gavinl@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001CA:EE_|IA1PR12MB7614:EE_ X-MS-Office365-Filtering-Correlation-Id: 89a8babf-27c9-4f93-2142-08dc127323c5 X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eJNuVpmTBmhrlsKpt8Ao8944wHnMBAZk2eCTMb+0aSe6TaGWHv0wJJlABYzXBaUoG1Jem4H0f4bUOOULu2Y1t97qWH+FgE76RLfsW2ZvJUi5JW3ArF34Y+T3ycnzZU6/y2oROnJz7R/r3fk56Je96Os9Xnwi8axncrnKMnZBFbs61ZDhtxFOqa0ebyX3au0YVHMt09d1S9wuJ/DhEnEnftc1gu1BNEMbgHsgICOJOqYg7d4WwEQXr/umzMqydFXPfEAEpBQ3KDlTtD0JNWSJd44f6isLBvVFYAvCiZVydu2wqwi9wy+T07xN+KSEKfAmYooy0HWHA0ji021aOUJs8/25T4mJrOSnKncGDMK/PyvYe1x2ym0Yq10V+S5XKl1CGMcXgeatGs7+Y5/yN/k0Qules2rRetb0su1K0Qju6maOAMC51QLBOPKGsmiQ0oZITfxiW2/JWUwMTeMSwVcjQNFAE1Ypvx1mOFwQc3PcaaxoVd2hp4/wTyUw4IkciDF0fqduHyX8gGHcba96bvAq3+t78kqZ35I25slLN3pEpFoOvtevjVLx2AsRDT/HSSG1n92TxtEQiVuaaBKexGr/9/RFFQHfI45XRJzLoZAK9o5Ll5EtuYL3/r+qFJBUbZSTSlxUrGS4P7M+dxTvRFyu+AlXJExKKJ/29xhHzHspBFm0VJIgvnh6xHeOCwsh5BVlZBp+WREMU5ok3FfgRWxQRAEuqddzPZRHuHlfsnO11urLNa50jnewcJ65Ou1gKX40 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)(376002)(396003)(39860400002)(346002)(136003)(230922051799003)(64100799003)(1800799012)(451199024)(82310400011)(186009)(36840700001)(46966006)(40470700004)(16526019)(336012)(6286002)(426003)(316002)(478600001)(6636002)(70206006)(70586007)(54906003)(55016003)(110136005)(7696005)(6666004)(26005)(2616005)(107886003)(40480700001)(40460700003)(4326008)(1076003)(2906002)(5660300002)(8936002)(8676002)(47076005)(36860700001)(82740400003)(7636003)(41300700001)(356005)(36756003)(86362001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2024 07:01:31.0116 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 89a8babf-27c9-4f93-2142-08dc127323c5 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: SJ5PEPF000001CA.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7614 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 VXLAN-GPE rsvd0 and rsvd1 fields in flow rule pattern to testpmd Signed-off-by: Gavin Li Reviewed-by: Dariusz Sosnowski --- app/test-pmd/cmdline_flow.c | 20 ++++++++++++++++++++ doc/guides/testpmd_app_ug/testpmd_funcs.rst | 2 ++ 2 files changed, 22 insertions(+) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index deb2d80301..1d726835e7 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -402,6 +402,8 @@ enum index { ITEM_VXLAN_GPE_VNI, ITEM_VXLAN_GPE_PROTO, ITEM_VXLAN_GPE_FLAGS, + ITEM_VXLAN_GPE_RSVD0, + ITEM_VXLAN_GPE_RSVD1, ITEM_ARP_ETH_IPV4, ITEM_ARP_ETH_IPV4_SHA, ITEM_ARP_ETH_IPV4_SPA, @@ -1791,6 +1793,8 @@ static const enum index item_vxlan_gpe[] = { ITEM_VXLAN_GPE_VNI, ITEM_VXLAN_GPE_PROTO, ITEM_VXLAN_GPE_FLAGS, + ITEM_VXLAN_GPE_RSVD0, + ITEM_VXLAN_GPE_RSVD1, ITEM_NEXT, ZERO, }; @@ -4946,6 +4950,22 @@ static const struct token token_list[] = { .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_vxlan_gpe, flags)), }, + [ITEM_VXLAN_GPE_RSVD0] = { + .name = "rsvd0", + .help = "VXLAN-GPE rsvd0", + .next = NEXT(item_vxlan_gpe, NEXT_ENTRY(COMMON_UNSIGNED), + item_param), + .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_vxlan_gpe, + rsvd0)), + }, + [ITEM_VXLAN_GPE_RSVD1] = { + .name = "rsvd1", + .help = "VXLAN-GPE rsvd1", + .next = NEXT(item_vxlan_gpe, NEXT_ENTRY(COMMON_UNSIGNED), + item_param), + .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_vxlan_gpe, + rsvd1)), + }, [ITEM_ARP_ETH_IPV4] = { .name = "arp_eth_ipv4", .help = "match ARP header for Ethernet/IPv4", diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst index 9c6b04442f..50fad11fce 100644 --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst @@ -3704,6 +3704,8 @@ This section lists supported pattern items and their attributes, if any. - ``vni {unsigned}``: VXLAN-GPE identifier. - ``flags {unsigned}``: VXLAN-GPE flags. + - ``rsvd0 {unsigned}``: VXLAN-GPE reserved field 0. + - ``rsvd1 {unsigned}``: VXLAN-GPE reserved field 1. - ``arp_eth_ipv4``: match ARP header for Ethernet/IPv4. From patchwork Thu Jan 11 07:00:43 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Li X-Patchwork-Id: 135842 X-Patchwork-Delegate: ferruh.yigit@amd.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 63C4D4388E; Thu, 11 Jan 2024 08:01:59 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1769740A6D; Thu, 11 Jan 2024 08:01:44 +0100 (CET) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2069.outbound.protection.outlook.com [40.107.93.69]) by mails.dpdk.org (Postfix) with ESMTP id E34F3406BA for ; Thu, 11 Jan 2024 08:01:42 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZmZywgPYoswUQ9Z+GHYtWEn52n3+Tg3hXBtEVJwc6JzGzCnEAkIccxgELnC2Ghcsb1hB9qTPBCBFYnvEhlQHuLJBPcmRAJ3uyqS21Da/kpMMmFhiGFxvdjeaVe0LMP8SbZwCAFfDdI7nuHWmq4wDgLajvAdjEHPb+bpe9vAUZTGRE/awxR1WsxjFPBVEJDwaXlvkjG4VYCSePrx9y1kHXwqzx2igK/G+mzDRe4PD4hnSs9tyTp9xY/xLYUNANTp8Jbp53AF61wJaYthkIXXB5HEYdQjwvmH6wk3XbTna7VmJ3N4lz87RqMHnkfs+DiOgKERghuSdbxtW4HIwICa5Cg== 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=dzoQXYF+YSsnR7uwtZrr3CJrsWfP2K68Zw+835E3qLE=; b=LHNISLQe9o78QYZ6WdTfLHjtXuQF8t008+p49z2qisxeSS4l280Vmm2eUFAieF+e7JnHe38pOgHow/wzAcTuR+Wpsmu0goIs2GTP87pDK8JswRrjWxkMNwOCk6QOxNzsB/M68ONiUN/7mw4Jxa5HJANRex+1L3omTYyoij+7oZK95RKFxUztWMJ7cS0kaDIPmEZTXGaGaM2KEzt1TNdAW2qDTRNzFfthssvD8rwaZMGmhHiKFLK14lJwJDYZRVQbWs2nmxP5E1bdNFk7VyUns+Em675LzocG6XLINoGhgT+W/w4t80JfNvJlXXEznxFYaLGLi2yJmPKRsr4AIJKwiA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dzoQXYF+YSsnR7uwtZrr3CJrsWfP2K68Zw+835E3qLE=; b=Aq1CtxGhMmlBeivl5V5p5TnqRq8aW/pnWbXgYY88Egpw9/zZ4pWrUj4Sfg+53shI1ruwdQXlZi10JueKfgYe5VK3dbAFxVL5DOkVTMl0svC91iY1Jwka2OwzJExvDbb/qFozM9s2c20Hbe7HOoIwrSEqgTWl3PsrozMKu7+aweRLTQYyYqBmpMhq2iWOxayVBcOamGI2/vrkYLCVjuI1VHhGMAC7ME7hUVBZgel6nHZi7ndFsxxUoYWwbKbFOjsQO7DRHc0rKtk2AYWdCE7rUJ2F7Tm4LRLH1XGbcUbExACXtpkF4tfboOODyCQ5CaKn+f/NaRJBhqU2U75uQDd3ag== Received: from MW3PR05CA0010.namprd05.prod.outlook.com (2603:10b6:303:2b::15) by CH0PR12MB5387.namprd12.prod.outlook.com (2603:10b6:610:d6::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.18; Thu, 11 Jan 2024 07:01:40 +0000 Received: from MWH0EPF000989EC.namprd02.prod.outlook.com (2603:10b6:303:2b:cafe::b6) by MW3PR05CA0010.outlook.office365.com (2603:10b6:303:2b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.12 via Frontend Transport; Thu, 11 Jan 2024 07:01:40 +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 MWH0EPF000989EC.mail.protection.outlook.com (10.167.241.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.14 via Frontend Transport; Thu, 11 Jan 2024 07:01:39 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Wed, 10 Jan 2024 23:01:21 -0800 Received: from nvidia.com (10.126.231.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Wed, 10 Jan 2024 23:01:17 -0800 From: Gavin Li To: , , , , , , , , CC: , , Itamar Gozlan Subject: [RFC 5/5] net/mlx5/hws: support VXLAN-GPE matching Date: Thu, 11 Jan 2024 09:00:43 +0200 Message-ID: <20240111070043.1276161-6-gavinl@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240111070043.1276161-1-gavinl@nvidia.com> References: <20240111070043.1276161-1-gavinl@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989EC:EE_|CH0PR12MB5387:EE_ X-MS-Office365-Filtering-Correlation-Id: 2ef23e59-dd94-46f4-3663-08dc127328fb X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rdwB4Bnl6z5Y32r7AvcbjK9uO1Y+HV+tR3Dag78pvunh8lCJzoQfVjmrScCBtQ3mYoaacXGEAPVl8MorbozJBMaR8WO+vsq4K2/VUU9igrTOWEg0PBJiQXNQoepCRnW22Ov4VzZZV+Qm3epP3AvBcmo2GICaocQE9ic09IyPeK967Fw6irwl+Rfj4K/yxMnzmv0rfLhB6V8hJaqTZ+wRK9RESArkyfvxHox9AOuMJfTC2lQHUxNJVt5Jk3Q2FHUkyZGbHyA3MOOcrxZNhWOPZVlK/p00HARnPNhphQnPE8nOp4bkUVWBeh0TvsP28VhBfybLz36ga+A/SY3unxnX2sFUu5nc79mRrW0k88DehovDhfOh8pdp+erk947P5GQzsfVN7MgC4IungP0x8O1GyGQrOjmHQawdlJ2RZM/21KMlUrF9qYU6kgfcieAGYmDeEtCpJ22f3o0TP0Q97ep06qrpBSuHWYKRiT/TwSx3GdEj5PX3lgYz70pV+UzjnehwWEJAzTJ1XJptCLtNWwfhgaqxMCgNNf/DTNiT9uW3oE6KR5lI7nwlbMTWR1malO/meRsskUYNvto+iNvWz2dAmd60wqFLpHnuwZM+C9PlOM1nZ6yArTtFWZ2zcVC3BSD6oh0fWvIDGShSsppu0JBh/LtaYQ+2kmhZUnGLAtIdd1tU2+4VCUA5IA5cREDl7YOtVY0srTx1TRkM7kpHekApIl1bgdLKXfAE7zkPbCHutYA1LSrtPb5axwoUcXFeNGoY 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)(346002)(136003)(376002)(396003)(230922051799003)(1800799012)(451199024)(82310400011)(64100799003)(186009)(46966006)(40470700004)(36840700001)(40460700003)(40480700001)(55016003)(47076005)(110136005)(86362001)(36756003)(7636003)(356005)(36860700001)(82740400003)(8676002)(4326008)(83380400001)(2616005)(26005)(1076003)(107886003)(426003)(16526019)(336012)(6286002)(6666004)(7696005)(70206006)(54906003)(316002)(70586007)(6636002)(478600001)(5660300002)(41300700001)(2906002)(8936002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2024 07:01:39.6452 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2ef23e59-dd94-46f4-3663-08dc127328fb 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: MWH0EPF000989EC.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5387 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 matching VXLAN-GPE tunnel header. Signed-off-by: Gavin Li Reviewed-by: Itamar Gozlan Reviewed-by: Dariusz Sosnowski --- doc/guides/rel_notes/release_24_03.rst | 6 ++ drivers/net/mlx5/hws/mlx5dr_definer.c | 117 +++++++++++++++++++++++++ drivers/net/mlx5/hws/mlx5dr_definer.h | 13 +++ drivers/net/mlx5/mlx5_flow_hw.c | 1 + 4 files changed, 137 insertions(+) diff --git a/doc/guides/rel_notes/release_24_03.rst b/doc/guides/rel_notes/release_24_03.rst index 2c0e2930cc..d5e1b1ad37 100644 --- a/doc/guides/rel_notes/release_24_03.rst +++ b/doc/guides/rel_notes/release_24_03.rst @@ -59,6 +59,12 @@ New Features * Added support for accumulating from src field to dst field. + * Added support for VXLAN-GPE flags/rsvd0/rsvd fields matching in DV flow + engine (``dv_flow_en`` = 1). + + * Added support for VXLAN-GPE matching in HW Steering flow engine + (``dv_flow_en`` = 2). + Removed Items ------------- diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.c b/drivers/net/mlx5/hws/mlx5dr_definer.c index 0b60479406..8958049c8f 100644 --- a/drivers/net/mlx5/hws/mlx5dr_definer.c +++ b/drivers/net/mlx5/hws/mlx5dr_definer.c @@ -9,6 +9,7 @@ #define ETH_TYPE_IPV4_VXLAN 0x0800 #define ETH_TYPE_IPV6_VXLAN 0x86DD #define ETH_VXLAN_DEFAULT_PORT 4789 +#define ETH_VXLAN_GPE_DEFAULT_PORT 4790 #define IP_UDP_PORT_MPLS 6635 #define UDP_ROCEV2_PORT 4791 #define DR_FLOW_LAYER_TUNNEL_NO_MPLS (MLX5_FLOW_LAYER_TUNNEL & ~MLX5_FLOW_LAYER_MPLS) @@ -167,6 +168,10 @@ struct mlx5dr_definer_conv_data { X(SET, gtp_ext_hdr_qfi, v->hdr.qfi, rte_flow_item_gtp_psc) \ X(SET, vxlan_flags, v->flags, rte_flow_item_vxlan) \ X(SET, vxlan_udp_port, ETH_VXLAN_DEFAULT_PORT, rte_flow_item_vxlan) \ + X(SET, vxlan_gpe_udp_port, ETH_VXLAN_GPE_DEFAULT_PORT, rte_flow_item_vxlan_gpe) \ + X(SET, vxlan_gpe_flags, v->flags, rte_flow_item_vxlan_gpe) \ + X(SET, vxlan_gpe_protocol, v->protocol, rte_flow_item_vxlan_gpe) \ + X(SET, vxlan_gpe_rsvd1, v->rsvd1, rte_flow_item_vxlan_gpe) \ X(SET, mpls_udp_port, IP_UDP_PORT_MPLS, rte_flow_item_mpls) \ X(SET, source_qp, v->queue, mlx5_rte_flow_item_sq) \ X(SET, tag, v->data, rte_flow_item_tag) \ @@ -691,6 +696,28 @@ mlx5dr_definer_ib_l4_qp_set(struct mlx5dr_definer_fc *fc, memcpy(tag + fc->byte_off, &v->hdr.dst_qp, sizeof(v->hdr.dst_qp)); } +static void +mlx5dr_definer_vxlan_gpe_vni_set(struct mlx5dr_definer_fc *fc, + const void *item_spec, + uint8_t *tag) +{ + const struct rte_flow_item_vxlan_gpe *v = item_spec; + + memcpy(tag + fc->byte_off, v->vni, sizeof(v->vni)); +} + +static void +mlx5dr_definer_vxlan_gpe_rsvd0_set(struct mlx5dr_definer_fc *fc, + const void *item_spec, + uint8_t *tag) +{ + const struct rte_flow_item_vxlan_gpe *v = item_spec; + uint16_t rsvd0; + + rsvd0 = (v->rsvd0[0] << 8 | v->rsvd0[1]); + DR_SET(tag, rsvd0, fc->byte_off, fc->bit_off, fc->bit_mask); +} + static int mlx5dr_definer_conv_item_eth(struct mlx5dr_definer_conv_data *cd, struct rte_flow_item *item, @@ -2385,6 +2412,92 @@ mlx5dr_definer_conv_item_ib_l4(struct mlx5dr_definer_conv_data *cd, return 0; } +static int +mlx5dr_definer_conv_item_vxlan_gpe(struct mlx5dr_definer_conv_data *cd, + struct rte_flow_item *item, + int item_idx) +{ + const struct rte_flow_item_vxlan_gpe *m = item->mask; + struct mlx5dr_definer_fc *fc; + bool inner = cd->tunnel; + + if (inner) { + DR_LOG(ERR, "Inner VXLAN GPE item not supported"); + rte_errno = ENOTSUP; + return rte_errno; + } + + /* In order to match on VXLAN GPE we must match on ip_protocol and l4_dport */ + if (!cd->relaxed) { + fc = &cd->fc[DR_CALC_FNAME(IP_PROTOCOL, inner)]; + if (!fc->tag_set) { + fc->item_idx = item_idx; + fc->tag_mask_set = &mlx5dr_definer_ones_set; + fc->tag_set = &mlx5dr_definer_udp_protocol_set; + DR_CALC_SET(fc, eth_l2, l4_type_bwc, inner); + } + + fc = &cd->fc[DR_CALC_FNAME(L4_DPORT, inner)]; + if (!fc->tag_set) { + fc->item_idx = item_idx; + fc->tag_mask_set = &mlx5dr_definer_ones_set; + fc->tag_set = &mlx5dr_definer_vxlan_gpe_udp_port_set; + DR_CALC_SET(fc, eth_l4, destination_port, inner); + } + } + + if (!m) + return 0; + + if (m->flags) { + fc = &cd->fc[MLX5DR_DEFINER_FNAME_VXLAN_GPE_FLAGS]; + fc->item_idx = item_idx; + fc->tag_set = &mlx5dr_definer_vxlan_gpe_flags_set; + DR_CALC_SET_HDR(fc, tunnel_header, tunnel_header_0); + fc->bit_mask = __mlx5_mask(header_vxlan_gpe, flags); + fc->bit_off = __mlx5_dw_bit_off(header_vxlan_gpe, flags); + } + + if (!is_mem_zero(m->rsvd0, 2)) { + fc = &cd->fc[MLX5DR_DEFINER_FNAME_VXLAN_GPE_RSVD0]; + fc->item_idx = item_idx; + fc->tag_set = &mlx5dr_definer_vxlan_gpe_rsvd0_set; + DR_CALC_SET_HDR(fc, tunnel_header, tunnel_header_0); + fc->bit_mask = __mlx5_mask(header_vxlan_gpe, rsvd0); + fc->bit_off = __mlx5_dw_bit_off(header_vxlan_gpe, rsvd0); + } + + if (m->protocol) { + fc = &cd->fc[MLX5DR_DEFINER_FNAME_VXLAN_GPE_PROTO]; + fc->item_idx = item_idx; + fc->tag_set = &mlx5dr_definer_vxlan_gpe_protocol_set; + DR_CALC_SET_HDR(fc, tunnel_header, tunnel_header_0); + fc->byte_off += MLX5_BYTE_OFF(header_vxlan_gpe, protocol); + fc->bit_mask = __mlx5_mask(header_vxlan_gpe, protocol); + fc->bit_off = __mlx5_dw_bit_off(header_vxlan_gpe, protocol); + } + + if (!is_mem_zero(m->vni, 3)) { + fc = &cd->fc[MLX5DR_DEFINER_FNAME_VXLAN_GPE_VNI]; + fc->item_idx = item_idx; + fc->tag_set = &mlx5dr_definer_vxlan_gpe_vni_set; + DR_CALC_SET_HDR(fc, tunnel_header, tunnel_header_1); + fc->bit_mask = __mlx5_mask(header_vxlan_gpe, vni); + fc->bit_off = __mlx5_dw_bit_off(header_vxlan_gpe, vni); + } + + if (m->rsvd1) { + fc = &cd->fc[MLX5DR_DEFINER_FNAME_VXLAN_GPE_RSVD1]; + fc->item_idx = item_idx; + fc->tag_set = &mlx5dr_definer_vxlan_gpe_rsvd1_set; + DR_CALC_SET_HDR(fc, tunnel_header, tunnel_header_1); + fc->bit_mask = __mlx5_mask(header_vxlan_gpe, rsvd1); + fc->bit_off = __mlx5_dw_bit_off(header_vxlan_gpe, rsvd1); + } + + return 0; +} + static int mlx5dr_definer_conv_items_to_hl(struct mlx5dr_context *ctx, struct mlx5dr_match_template *mt, @@ -2537,6 +2650,10 @@ mlx5dr_definer_conv_items_to_hl(struct mlx5dr_context *ctx, ret = mlx5dr_definer_conv_item_ptype(&cd, items, i); item_flags |= MLX5_FLOW_ITEM_PTYPE; break; + case RTE_FLOW_ITEM_TYPE_VXLAN_GPE: + ret = mlx5dr_definer_conv_item_vxlan_gpe(&cd, items, i); + item_flags |= MLX5_FLOW_LAYER_VXLAN_GPE; + break; default: DR_LOG(ERR, "Unsupported item type %d", items->type); rte_errno = ENOTSUP; diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.h b/drivers/net/mlx5/hws/mlx5dr_definer.h index 6f1c99e37a..3dc5f4438d 100644 --- a/drivers/net/mlx5/hws/mlx5dr_definer.h +++ b/drivers/net/mlx5/hws/mlx5dr_definer.h @@ -91,6 +91,11 @@ enum mlx5dr_definer_fname { MLX5DR_DEFINER_FNAME_VPORT_REG_C_0, MLX5DR_DEFINER_FNAME_VXLAN_FLAGS, MLX5DR_DEFINER_FNAME_VXLAN_VNI, + MLX5DR_DEFINER_FNAME_VXLAN_GPE_FLAGS, + MLX5DR_DEFINER_FNAME_VXLAN_GPE_RSVD0, + MLX5DR_DEFINER_FNAME_VXLAN_GPE_PROTO, + MLX5DR_DEFINER_FNAME_VXLAN_GPE_VNI, + MLX5DR_DEFINER_FNAME_VXLAN_GPE_RSVD1, MLX5DR_DEFINER_FNAME_SOURCE_QP, MLX5DR_DEFINER_FNAME_REG_0, MLX5DR_DEFINER_FNAME_REG_1, @@ -593,6 +598,14 @@ struct mlx5_ifc_header_vxlan_bits { u8 reserved2[0x8]; }; +struct mlx5_ifc_header_vxlan_gpe_bits { + u8 flags[0x8]; + u8 rsvd0[0x10]; + u8 protocol[0x8]; + u8 vni[0x18]; + u8 rsvd1[0x8]; +}; + struct mlx5_ifc_header_gre_bits { union { u8 c_rsvd0_ver[0x10]; diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c index c4a90a3690..6d8f4f8f8b 100644 --- a/drivers/net/mlx5/mlx5_flow_hw.c +++ b/drivers/net/mlx5/mlx5_flow_hw.c @@ -6827,6 +6827,7 @@ flow_hw_pattern_validate(struct rte_eth_dev *dev, case RTE_FLOW_ITEM_TYPE_GTP: case RTE_FLOW_ITEM_TYPE_GTP_PSC: case RTE_FLOW_ITEM_TYPE_VXLAN: + case RTE_FLOW_ITEM_TYPE_VXLAN_GPE: case RTE_FLOW_ITEM_TYPE_MPLS: case MLX5_RTE_FLOW_ITEM_TYPE_SQ: case RTE_FLOW_ITEM_TYPE_GRE: