From patchwork Fri Jan 12 08:02:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Li X-Patchwork-Id: 135849 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 01AA84389F; Fri, 12 Jan 2024 09:03:00 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 84F614064A; Fri, 12 Jan 2024 09:03:00 +0100 (CET) Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2073.outbound.protection.outlook.com [40.107.95.73]) by mails.dpdk.org (Postfix) with ESMTP id C374D4028C for ; Fri, 12 Jan 2024 09:02:58 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hGcH02HPnswOYbGvLu+eJXHKcJwTkzlOUExHb7//fUwPez5m7gaCfmQfvhNJH+FtuLQVAup+OcXYxsbvcisXHzXYhwMQy6okoDrLHyEbuSor7D7dGxBgEjkIoynwNDp5XY9U9Luwl1q7v65nspx6d1LfVTNnE8M2xKCcDWUqtBClggCAis/381PcaM4396f8vT17qOBHmDzHuXkNLEINmiAbb77Nsbq9CNGSNae8i7NAO0s/CKGN7gl31nhd4iloHyMGEvTPHPBEvhzOk4foIATJS0bWGx84JSI8PFn1ybFFgvKRvVJgGDVU9RtpiSgSbZcyMYnFQ+LeQiqsgS+dcA== 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=8/7kZVq0nN1PAsCFeA+JQbJNmRtrfJYzj8pXeYc2KcI=; b=BbFVm17Ejp1uj9zNKsZCnNO7iyIGN+V82qRFKpt2o+8GkiY7RwoeL4WlofcBRjjYpqtzYXTk1BTvUlxAjKpGp6nBolDdRnhv1jGkUyo5W/lCNnJNgfk+aoqZwbC3lJB7NTBsZA4qMfYaTeiuZPJNdHooLpD3GxNPmEhNEeZAcszD4/Kwg0ySD0Q2Dcym5LB4yVZZ6DDI5zeMm4YsB9EEUIizBBynzUcf5OvmcWtp8mNEQ55X6zGhcoF0F8DDWNabONmmLpOQUY4JSHNqBGcZ8bjoujVRTrRB2rZebJPD4A2XPTd9Z1kVgURT+HRs7x6g0qbn1F8Qn9nWPxapgYmKYA== 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=8/7kZVq0nN1PAsCFeA+JQbJNmRtrfJYzj8pXeYc2KcI=; b=gIBOMITOwJ9JYoiPR4CQb5fcmTmBnrRJfYyArkDkZTrbBCJ7DBHV3WhenWNIQaCoE3CWmm6PKRTYZYQ7KbZSuVrY23kLwXhsmhCDk2vLoOgQud2pGVLYSAsuSLe+jA2GivtR3Rg1zDy6u8FUUkDJo8uL0auzgclT0ihq3bCFq804mZCnY5cI9Rt67cvEQFtZefbBcpnbCTNHGPamDAAsMaMnQeXZUKG9n6LZQwFA8YDG/60t8rZj9+oBPi9qIkXSSYrZTVbR18sM3k8YrVX1Ta06xyCqEyFLpRKwhLu5Vzz3T5ZQ2t89cp1J64JVQDl8KZDp+g4ea3L+6epc6sExWQ== Received: from DM6PR02CA0057.namprd02.prod.outlook.com (2603:10b6:5:177::34) by DM4PR12MB5038.namprd12.prod.outlook.com (2603:10b6:5:389::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.21; Fri, 12 Jan 2024 08:02:56 +0000 Received: from CY4PEPF0000E9D8.namprd05.prod.outlook.com (2603:10b6:5:177:cafe::d0) by DM6PR02CA0057.outlook.office365.com (2603:10b6:5:177::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.21 via Frontend Transport; Fri, 12 Jan 2024 08:02:56 +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 CY4PEPF0000E9D8.mail.protection.outlook.com (10.167.241.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.14 via Frontend Transport; Fri, 12 Jan 2024 08:02:56 +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; Fri, 12 Jan 2024 00:02:43 -0800 Received: from nvidia.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Fri, 12 Jan 2024 00:02:39 -0800 From: Gavin Li To: , , , , , , , , CC: , Subject: [V1 1/5] net/mlx5: support VXLAN-GPE flags matching Date: Fri, 12 Jan 2024 10:02:06 +0200 Message-ID: <20240112080210.1288356-2-gavinl@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240112080210.1288356-1-gavinl@nvidia.com> References: <20240112080210.1288356-1-gavinl@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D8:EE_|DM4PR12MB5038:EE_ X-MS-Office365-Filtering-Correlation-Id: d586ed53-266b-4564-83ac-08dc1344e2e2 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: K9Ag+JqjnuviUnGt+cK5mahxlhjYm9nRMiRdU3qRNOtWir9zSykJ4RlIdrrXveGXYFnTvxfk2jTpfUcaszjVyr4DumKdLYftyA+TrFcnpIEfzvuHANUolZ8VyOgDjGYMdtZhacfYcIm8J8/9Wdsng+vzofHFvsK3R4zXZsG2PAHkG21gElUeOOAKi8kdSkqNsBrl8sE14AzsLQYveZMradwMf9bNHG8rcyP6YSfb6w8Y9kpZM26luAMbxolW8aNjSsLJ3abO8GxaqbRQTFPXBjySTCURy4YJ0YCxqGtq5azjrkmZsBbPQ+ihr3r8MkrHzSfGInN1crHNlyrmHHZqbwfMTgXDKjAuBxJMNgdV6bCqirgg7suToAq1/Ja6mY20Y9MquwGVKGkg8c5fXHy0ZXnAUGNbV93uvdIy0zY7ov4R9SqpaXw2nx23IvKsdpWnPJpPPw2oJDj4J3u3GixP6MfHmlBM+bWsPJrh3SJKrMq9XzUdCvWCPHo3rpf8Byyu9eprTG6lbDUX9KEzeXZ/m7xr/IqFjcjKucBl9XWF2k6gLpnxYJDj0j5IDyucHtKLJfDpBADwdiGLFO1dSWYtR5lbObD8Tnedg6QZa/G7FTGrPJykbhe/0iV5O5bprcV5gg80oY50ebLmssO8Uv8amiapAlTbNnFJdSxqgmPX+VqZndxaYjja9YVLAQiW9AmO66b8q8yfx26IppWNv/YMb6sP2oRD/TfO1Kw+rJ1IXT0NlfLeATzTaLyGslmYNroz 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)(346002)(376002)(396003)(39860400002)(136003)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(82310400011)(46966006)(36840700001)(40470700004)(83380400001)(336012)(426003)(6286002)(1076003)(5660300002)(16526019)(107886003)(26005)(2616005)(82740400003)(47076005)(8936002)(4326008)(4744005)(2906002)(110136005)(7696005)(6636002)(8676002)(54906003)(6666004)(478600001)(41300700001)(70206006)(36756003)(86362001)(316002)(70586007)(36860700001)(7636003)(356005)(40460700003)(40480700001)(55016003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2024 08:02:56.3248 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d586ed53-266b-4564-83ac-08dc1344e2e2 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: CY4PEPF0000E9D8.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5038 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 Acked-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 Fri Jan 12 08:02:07 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Li X-Patchwork-Id: 135850 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 2287B4389F; Fri, 12 Jan 2024 09:03:21 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4C0EE40A71; Fri, 12 Jan 2024 09:03:13 +0100 (CET) Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2085.outbound.protection.outlook.com [40.107.212.85]) by mails.dpdk.org (Postfix) with ESMTP id B30A34069F for ; Fri, 12 Jan 2024 09:03:11 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j6cUbzcI8+H3S8o5jWs5yReDPH7/PZOzU8i3eFK/Kx1esBsMq1IhVInNrZUmJdaOvRPKWkqmbuQ67JrClQx/JXYW25GRx88w8JOUv1v6WYGD7XWEOxLqwzT7AhXA6rCXvvMc5DAMAYAwypPbY2iSuVfF5t91+qDPJwYskWWdAlmSzxyoKU1gBGOS/ibosAiP5aYeNw4LlxkOvMsVYTGzHnfsd8z98wRoALMUJ1ym64LEr+8X50bgJYSFt1jHuahGWTjgbocN1Cz4jGgGCt/8CQpnYxzw2q8IDIAPXjVLiOD2Om3zY56vHHWzrfTdLtH9HATNqipZckRzDPpDvGPCxQ== 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=wLlE9SgrGtyjwCg+tZ/lCyR24tFPyXA7Ta1rugGsmEg=; b=Uxdkckq0mUKfyot2JY+b4jHUFSEDjBUa1R5657jT5Yd0pnb358GBHtE5YIBs9twRi9PIrSxzz+LU8JovOXlo9RW+63cqesBWGi6id8bqBoQJqVn6fzybZHu7hOiB2NcnXgodBnBvU59oXpnTEsvsuujxzkuMkapmqE3rLvmH626Gwheo+sFoGmVHaAF5hxjZs/+sXRgCl/Thy91TZ1OwXI5HRFkmenJ1b8OEdAdwGxU9hIydlHKKsAOX5tIshZfZ68w/3z0M5aIpOZoyiIzHXh6//vMdL7x9+g6w0T5edN84rl8SzNjIRhmTO/573LZeIQbMEInVEHMUHynek7yauw== 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=wLlE9SgrGtyjwCg+tZ/lCyR24tFPyXA7Ta1rugGsmEg=; b=b4xCplW5Hs9D0PqafC7RHomQM5jPNlGPiOacIzbHVUNTo+qP9oUu9HB2bbYjv3epmhojQ52WJzpaHStGM4reBaV+MTpucIo2iS31UZp7Cc0B+BqunBwad3t4M4BlISAcxMvu/HXyhZPROCSQRx/pSZUTf8+gEU6XYogbJahnGuk6+oZy/6HjQ+53XxDF+IAZwlGyJrdIOIe5fRma9WJXUJRClkpKMmIlTPnWWhv4+w0+PDZnQF4LAJd64ieiLzQYUH7qYFx5kbeS+DgBMnelR/ArBzYwsZIALRI/8H8Uz0drXdd7fsvwxIG57CGyvFAdX7qy7C6WJuIw5YljLrrrTw== Received: from PA7P264CA0150.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:377::9) by SJ2PR12MB8848.namprd12.prod.outlook.com (2603:10b6:a03:537::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.23; Fri, 12 Jan 2024 08:03:09 +0000 Received: from SN1PEPF0002529D.namprd05.prod.outlook.com (2603:10a6:102:377:cafe::56) by PA7P264CA0150.outlook.office365.com (2603:10a6:102:377::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.21 via Frontend Transport; Fri, 12 Jan 2024 08:03:08 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by SN1PEPF0002529D.mail.protection.outlook.com (10.167.242.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.14 via Frontend Transport; Fri, 12 Jan 2024 08:03:08 +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; Fri, 12 Jan 2024 00:02:46 -0800 Received: from nvidia.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Fri, 12 Jan 2024 00:02:43 -0800 From: Gavin Li To: , , , , , , , , CC: , Subject: [V1 2/5] app/testpmd: support VXLAN-GPE flags Date: Fri, 12 Jan 2024 10:02:07 +0200 Message-ID: <20240112080210.1288356-3-gavinl@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240112080210.1288356-1-gavinl@nvidia.com> References: <20240112080210.1288356-1-gavinl@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002529D:EE_|SJ2PR12MB8848:EE_ X-MS-Office365-Filtering-Correlation-Id: 5a9fe64a-66e9-451b-d180-08dc1344e9dd 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: NcS5Fry4y/UdA4yTDeYgqHgGrSnIn1okjTYmT5VqdxpdA82O1UOlqJiBSXf6RjEVptvc9+OdzUw9pFa80D0EjeffNa8Qf8aaqAIFK2m2mRhYFJffMTBNwy3SnHx59jwQIINQE0vH8qbKwLQliN3Z7CWguvOvQobKyS1IWUsKrAPKPgVnfrQZyd6Y2plouZjrP3TLpQkZ2+XPQNnPucFlfkx2bOcIa/TRbD/TXZ3nQiADlI6t4X1r1qztPSOycEHbVYGad/oNAQkuteAkmzwMHvN0YhAuZkGpuGtVzpL7RxMmyWMPaB1HX/bs0O0y8LW2kjQPEgaSn7J3lxsozeVtNfhRXzGa0iUAEZhr38uHdJx4o4RouXi+v1HEdoONTnjp9w61uTaLC2p5JKA+LbKKXYGYInLYqpnIvJqgcK7r68psra9IpkhpItaUuMuVdsINNIe7wmn5v3yVXpwPVhl/cawGg+wR5l70+lXiYhwzddk7As9K5qvNrrLtzmBBVBAm7y7pUXpKd7oRDtOPNZ40Tn+ow14yrV8hO/OFfwh033n6jpDmzdytPSaeuBZKxvreUpGwr5Uao8YOPcMTqkBfSvDNbai8+TSQrMN9X64+M03Sxg3Wr9akou6US74HfrrKWSqQslYCK3Ivft6LrY8WCZ4d9w3+ensvyc0hpkhkhoCGbN6pAkihNYd/GTkKK7SY/vvYHUQJLtSi9kLEzOz2YW2brPWpFdHzVqVRtEYSL7NcEBP/oXbT7ZbZZR8F5+Y1 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)(39860400002)(346002)(396003)(136003)(230922051799003)(1800799012)(451199024)(186009)(64100799003)(82310400011)(46966006)(36840700001)(40470700004)(55016003)(40480700001)(40460700003)(6286002)(36756003)(107886003)(70206006)(41300700001)(356005)(70586007)(86362001)(7636003)(36860700001)(82740400003)(47076005)(26005)(336012)(316002)(426003)(16526019)(1076003)(2616005)(6666004)(478600001)(2906002)(6636002)(7696005)(54906003)(8676002)(8936002)(4326008)(110136005)(5660300002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2024 08:03:08.0693 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5a9fe64a-66e9-451b-d180-08dc1344e9dd 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: SN1PEPF0002529D.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8848 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 Acked-by: Dariusz Sosnowski Acked-by: Aman Singh --- 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 Fri Jan 12 08:02:08 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Li X-Patchwork-Id: 135852 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 E8C684389F; Fri, 12 Jan 2024 09:03:36 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A9B4040A77; Fri, 12 Jan 2024 09:03:15 +0100 (CET) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2042.outbound.protection.outlook.com [40.107.237.42]) by mails.dpdk.org (Postfix) with ESMTP id 4A28A40A6D for ; Fri, 12 Jan 2024 09:03:13 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U4nUlGU3kWd67O+mMqDNvoYMI5lR5XzTW/4EvyB9f1ZsoWWuYPuAtjsMPN3wadCoBXVG8y2e+5bryfOCWhEL7VG95wH3xqtw5+zSp46wlQoIDoTZmK8JuIPfNW9FIG2oj5aVNtrLHzgXWeTarndSayXOmpxBuQn4ctBEzwsHaOHPUT97G/lgXJttA21PaK301hqmRtRb89idDth4u97KZ3e2zwsiYhz/vIndGZmUkUwz3J2/JB5VbMVOdVYDd2WeC8w8njPRfBz6Rnph+u+ox5HHeg9c1IlWxgwVoHP5Ni85InxJMSzMy4v+wr4FHDO6zBOl1xbrajaiNYrZ7Y0JMA== 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=ke7q19HUSGiml1LDDyQ910KJ7KVsdhiEiCO1uJMhHmQ=; b=R2M1eO9gd5mpXdsEeGCMl5+fPysYwug2F3ATWReGoqf9XD6K65DmIaEgFM8DojJhDtBfqCgbVpgsR7o/RbpmiGc1w3jhTVHT5kSABlQn+Me5kIEL3sHIh9LCa0wh72pCdGFhlczS7hf9oJfyiJvjHX6OWXGN1oNkY/bRwHHqRHOjjEuiQv+oi3S1lcO8/CszDSz+eddhqtSR72Bly5rfEDJc4HEJBp0TTiHL0Gs7mAo1M6geCGX88QMWDOepJAV6D8/TYSA6B/nroDJP9QzeiCKlo0l0oADoGBjjWK4a2Shdj2HqisHXkFVLyIZ9q3n2SA80+hBIvde9M3xIKgQQTQ== 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=ke7q19HUSGiml1LDDyQ910KJ7KVsdhiEiCO1uJMhHmQ=; b=Q3WnoICoBLdIDov8C4PHytDKkBqu8eIuh2ehUWWXBFuaI6ba2w51swLLGt3INvSQZbVdcULtKjeJXp/LWEqIvBS/zXgsSE6y4ZbUfXvdbsN5Z8EWgbw2UZpjTPpADmeHhvkGjl8xYlU9rPnDX+I1tzfq+aCfE8pfDP2lJ7zdwAvqPZMtScm7t7LvjgSKOLDd7j6f9jh69aSo45T9Ha+X1VnSpxOZH+mAChU5TOSbLyr+kv4vbmxv0s+Yi4B3W2JPvpEzzD3V65DrBHpodR/74y5v5KC6YTxjRirOxUGWUVI13JtQT9w66s1W/HgwMhJRUOcYMyM7sPuPWFmHFIZIGQ== Received: from SA1P222CA0135.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:3c2::13) by PH7PR12MB6907.namprd12.prod.outlook.com (2603:10b6:510:1b9::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.18; Fri, 12 Jan 2024 08:03:11 +0000 Received: from SN1PEPF000252A3.namprd05.prod.outlook.com (2603:10b6:806:3c2:cafe::36) by SA1P222CA0135.outlook.office365.com (2603:10b6:806:3c2::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.21 via Frontend Transport; Fri, 12 Jan 2024 08:03:11 +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 SN1PEPF000252A3.mail.protection.outlook.com (10.167.242.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.14 via Frontend Transport; Fri, 12 Jan 2024 08:03:10 +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; Fri, 12 Jan 2024 00:02:50 -0800 Received: from nvidia.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Fri, 12 Jan 2024 00:02:47 -0800 From: Gavin Li To: , , , , , , , , CC: , Subject: [V1 3/5] net/mlx5: support VXLAN-GPE reserved fields matching Date: Fri, 12 Jan 2024 10:02:08 +0200 Message-ID: <20240112080210.1288356-4-gavinl@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240112080210.1288356-1-gavinl@nvidia.com> References: <20240112080210.1288356-1-gavinl@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A3:EE_|PH7PR12MB6907:EE_ X-MS-Office365-Filtering-Correlation-Id: ebdfea4a-045b-43d6-7887-08dc1344eb8b 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: hPB17uk5pdSPF9QdDUbdLN1g9hbhFpM8cm5kU7BXqCyuE7/her9To8lfVGsWD4kXY+LfyqrWKMvnyei4chYiUyYa+KFM8ud0P1p9azbgxodNCDolc96Lds7Sle7f2fIfKukvS+2nVRthC+ezBOfoSKaHot2pPYwxK40gnrF6vARHpDZc2zT/vyuCCtrffDZGkyjoYGb+ictf5RP2D6oIVv9VNvUHPL0BWOI8qHtm+Xn34NQHSNfl4OAm7YA8NC33as0ZMizYROnrhNP4IAXNIrAhwGU+CX7KLkTLb6M3U99MxLtwKs8M7nhUHTzCfThOhV4jXeUChGx9/kUFeehBcPyTwR0JZ6PX/traZXStf/Pd6sing7ZFiFUxb3GYOxF4YNPClSB7soygzrput067oQAss7rP+EuvIXAccivPhHsTFXV11a8GIK2sTeYdmB21pE1wZU7yUpxx4+/8SC4lwHlbMEPDpX5a9eyg8fBQUpRkYj6+Wh9Y5/o/qqcdQzFlVKeTf3IbTq8hNiRbebws7JGtUmAGUdZ3/CtH1WvDnlVdycN6nqOvw9/PfJDYh2payDG+bYOt16VoKAdP5mFJFXnGzzVWsDGtGFJabm3sROmEF8x3jMFstYYpOuURLpaI7NzWvVi+QNXYRDAoglZM6gnTg62vNYz4+U+B/HC59+dvpImo0uxAFeWI7O+6bsvmeEY5IcINsmOEgXrJ6wJ+B5Ew6IiuPwEDOZxKB19sNX+6pFnPLLh+OehrEZOoe+Xs 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)(396003)(376002)(346002)(136003)(230922051799003)(1800799012)(82310400011)(186009)(64100799003)(451199024)(36840700001)(46966006)(40470700004)(70206006)(70586007)(40460700003)(7696005)(40480700001)(26005)(2616005)(110136005)(6286002)(316002)(6636002)(54906003)(8676002)(107886003)(1076003)(8936002)(4326008)(16526019)(83380400001)(55016003)(336012)(426003)(6666004)(2906002)(5660300002)(478600001)(47076005)(36860700001)(82740400003)(41300700001)(356005)(86362001)(7636003)(36756003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2024 08:03:10.9007 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ebdfea4a-045b-43d6-7887-08dc1344eb8b 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: SN1PEPF000252A3.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6907 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 Acked-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 Fri Jan 12 08:02:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Li X-Patchwork-Id: 135851 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 450A74389F; Fri, 12 Jan 2024 09:03:29 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7350A40A6D; Fri, 12 Jan 2024 09:03:14 +0100 (CET) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40]) by mails.dpdk.org (Postfix) with ESMTP id 07FAB406FF for ; Fri, 12 Jan 2024 09:03:12 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TQ6MoZIUHxJF/ZcPKzrZ+WjU4wRy8S1Q6hXOnroOyuEIbo/Qjo/oCHvkjQoTeJOCmtl7Zi7qa5SuyAfiIL9gmnbvFspxn2awf0xCqFfeyIfP/2Xhcb2myRrxZfg0mB2U5BZyADrYwIV2HHSpGDJmOomyWradmu33FVpID/lQP8g7jRz8UK9ldPWiC8SzWhE6fD/mzV0TAM7Ngb8jBJiA4hu3F+UJ8m730CEbjxAyxkosvGdjlga2zKyRuGPcRBjUfeYSbdcHoDV45hajQznowXkj1TS4Nmnf1YxaIumsaUuInMEwD7uuEzAFopJI6QPIw5lJZlx3EqmTMME1LD6iEg== 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=cOpDyO3blr19s+J+oB9L22WNx8P/xIKxVBww25uPxhc=; b=gsZtEwPFsc8NBWZMS6A6gz1Du/AkVp9C8XO16eTl7t4m4Ka/NeHTY2t3NP1pxBHLW6JHhAf+cXuOL4SU0z1rU3NDR+S5j/hcnycIaGO5h8juUiTAH0o4PsKSJqRErQ70SWeBmtuK59+mvcXKZ+CptoCOTmbUUpj+rrZ3ju6tEXw4/0WQYZmqMDovTnszfNYuaWrIJYKDXfuaqM4dHZzBfEau2hwryUPVjpP8RGl1GB6b8gpFHfDU6MAta/T2m5EB6aY1UKAtHPLQiRwqwbHUaFfDXQtuwaX6nzsTM0q5c+KqV81+kzsrCLoZiXznEetxMQvK6h3Krq5VAzkauV75rA== 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=cOpDyO3blr19s+J+oB9L22WNx8P/xIKxVBww25uPxhc=; b=Pu0tLWt6qXYVDiA5pIU2p6wPI4l9XW3CpxV92EokvdO0f58qDXe5p5vVPgjp61RjiubJd37B5jAzwthMsnu+fXWNuVUyJBmxO9TBOAt4oVsLKaGvmrNMlTHfNV6X15w/AuIqNxbr+Tg9jzzizY/aAK5dsI3Jd7/7IDEdi4m3RFYTcGmhNYEMgXrdJJRiYXFfGNTrMVeeL5EVmnREtgYyyFkRysjq7MOIrjQmB9gdQQ7K9YgfRpGOV1k86uggtGvdlCesvPZ9JBLHey426lWlkRPbOojRnJK3IGMJai6n+hJPbYijlMTDUj3cqj5ReCbTSe0+cD1OoNKA3kOyLmvN0g== Received: from SJ0PR03CA0170.namprd03.prod.outlook.com (2603:10b6:a03:338::25) by BN9PR12MB5338.namprd12.prod.outlook.com (2603:10b6:408:103::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.24; Fri, 12 Jan 2024 08:03:09 +0000 Received: from SJ5PEPF000001D5.namprd05.prod.outlook.com (2603:10b6:a03:338:cafe::d5) by SJ0PR03CA0170.outlook.office365.com (2603:10b6:a03:338::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.19 via Frontend Transport; Fri, 12 Jan 2024 08:03:09 +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 SJ5PEPF000001D5.mail.protection.outlook.com (10.167.242.57) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.14 via Frontend Transport; Fri, 12 Jan 2024 08:03:09 +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; Fri, 12 Jan 2024 00:02:54 -0800 Received: from nvidia.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Fri, 12 Jan 2024 00:02:50 -0800 From: Gavin Li To: , , , , , , , , CC: , Subject: [V1 4/5] app/testpmd: support VXLAN-GPE reserved fields Date: Fri, 12 Jan 2024 10:02:09 +0200 Message-ID: <20240112080210.1288356-5-gavinl@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240112080210.1288356-1-gavinl@nvidia.com> References: <20240112080210.1288356-1-gavinl@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001D5:EE_|BN9PR12MB5338:EE_ X-MS-Office365-Filtering-Correlation-Id: 161152f5-52c7-4781-4540-08dc1344ea6e 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: 0ETz5CBT4VDiJ42V/XbJwFVw2HHe4e/iOB0K+37ooXul/JH76QSXR+P2Eb5T1twa+4dbn2aK0K4hDe1eQPXb4NM2z+ozyKgs3+IvrlGy7+3doQJLYChmORbp4zcsGVFLa2IiHh9tOGCMaMP0gXoKaIbiTfRH9Xs52gRPFpHBenNhR/rCADO9KUHQZf0N/QvcS4A/y4JiaNNysrz25iApxoRpkZtuHvhyy6MVr3LWCJVKaEDa/lTC8AmSth3M1mEs3NrirOnTLrdTau9dK2jq+IXMPQOF6ItDY4MGTFG/2UGzVhfZIfVv6hUnWePkCotbdfw7UB3sfMs8zZtcXAb9Ixgq1rIkxrILMuzvcYDTwkG9teLBcAyE6/c/uI0zq4Ytlbmh+UF/iOf9MKNnRN05dy1Ym1BHAz2O/3W9csN+RXVUBF5TQsK/8hF87z0vkWVLAsSlCuv4xpshix5HtuPVW+/O+kPWsdjakPWL1y9+KQIS82E9dWTd6ETIhW+hbOm4uxgL+qD+V79a8CjaBeHobb1A3h6VcUSov8ljeRk8bon0Ryex+T/aP6DAMMF4QqOZ26YJMDSRNHsKsxXzkQEMYL15IJQtTWWr6nfVLouvnr8b4dzCpqF/1oAfexP6dNxMddbN0DbcKwNdiGUWYH8S8yUx8EUxhUnSP2Q0zyWY3hrSQ/8XwSqJypt8ATJOpExKMXzbr7+k4l0V/AMnvopxZMwmjeyBdz2cXuLMB6HVAXyPWX5BKm6hP/yCSQysZS6L X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230031)(4636009)(136003)(346002)(376002)(396003)(39860400002)(230922051799003)(186009)(1800799012)(451199024)(82310400011)(64100799003)(46966006)(36840700001)(40470700004)(40480700001)(55016003)(40460700003)(2906002)(6666004)(36860700001)(5660300002)(478600001)(7636003)(4326008)(356005)(41300700001)(36756003)(8936002)(70586007)(70206006)(110136005)(316002)(6636002)(47076005)(54906003)(426003)(107886003)(2616005)(86362001)(7696005)(336012)(1076003)(26005)(6286002)(16526019)(82740400003)(8676002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2024 08:03:09.0160 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 161152f5-52c7-4781-4540-08dc1344ea6e 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: SJ5PEPF000001D5.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5338 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 Acked-by: Dariusz Sosnowski Acked-by: Aman Singh (aman.deep.singh@intel.com> --- 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 Fri Jan 12 08:02:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Li X-Patchwork-Id: 135853 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 2AD934389F; Fri, 12 Jan 2024 09:03:48 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 68DE440C35; Fri, 12 Jan 2024 09:03:17 +0100 (CET) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2050.outbound.protection.outlook.com [40.107.100.50]) by mails.dpdk.org (Postfix) with ESMTP id 2A70240A75 for ; Fri, 12 Jan 2024 09:03:15 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M5FjwYiI6++sP9YWxqbI+0I7fuoRu7kIbeW+BgbToxxAcVzy4gQKI9v/3KVeOYZEtDycb4kb2p7adTCuYGzi+NgviJSQ8HSfWPHEy4JfQIczwtVFNVmf2JQ7jM1Ys+2vBhHrVMlNeORZ2U+iAPDAkd8yKYLBhJdLhnhK+KTGoxfdCD/5wDvYZIjATZG02kVQcYTEiOzI6bNQ+EtKy8ZaVQ+n76ojGpXqj8cFeI0yiqzU/ZHLjWzuGe9NNwqc42WqueNRLBTCQzVR2NbLbFTGXIpOFxq+koC5cZiVyh1v0+7ZcFmFaXdOOQZr9txaOT1onhtTLeayNoVgri/7Jpbqbg== 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=PT6zw/FftdrOirN51Q3KzvL7S/Eff4QY2Qa1cztl58M=; b=M0ak9bc5a/9K9uKh64vNxNqoBwqjaq7p/eyZfIlUlvGmLvfKFHnLrwI0wRKZXmxbNSi1R9766l9UoWFs8YpoGh0VCvriVqas5WTR21ZClZiPCLAU9+VfJ4RQzaniGeKzQdn0ZlD/5BCneoRQy7JcIWf+YCvH7LLCJ/psWHVt5Wi2aSDjCiN8jEpx3o/BGXY+N+UzairghP6jYpo0rPBbLzqI2Edruacwuag3rFW+2mt1O8c6LwqnNhG2EjCXERJMW3Gi1YAA+XX/iowbuOnuiQkdwXst976ycmb3z11MX/Nrmub9iHFnn2D4E9fdJZqLRp7oAldNL3aq0d3orTOmPA== 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=PT6zw/FftdrOirN51Q3KzvL7S/Eff4QY2Qa1cztl58M=; b=TJ48McmQ1Dp3ndDHlyI6zQKHXR46NK6Ul6S5lHO8L76YF3ow2cMN9z0ThHEKjaZGHduNknuxgLFXVUyoBi8hY5BrimYpCL+33DoIA14JdQBVjVUE2D1XCt/TYUTNE9gzliBLeiAaUxUx8CtisT/F7IwX0tgoRUPIDcabBOV2KYGlmFbK9jpgDSlBWBBqVtUt4wJVtYt0dbhdbeo8yq7qPzWkxpovAjyyU0o3dDMpuChm+FCGTCMv1n8sWXTrT6knczXHH6qd6degryvp9k+/w14rL5wUMUG8UeeaBvSVdZ+ABrWMTrHOOc/ypWV9aMy7KGOQwgx4R0iw52fUjl4urA== Received: from BY5PR17CA0028.namprd17.prod.outlook.com (2603:10b6:a03:1b8::41) by LV3PR12MB9265.namprd12.prod.outlook.com (2603:10b6:408:215::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.21; Fri, 12 Jan 2024 08:03:12 +0000 Received: from SJ5PEPF000001D0.namprd05.prod.outlook.com (2603:10b6:a03:1b8:cafe::36) by BY5PR17CA0028.outlook.office365.com (2603:10b6:a03:1b8::41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.18 via Frontend Transport; Fri, 12 Jan 2024 08:03:12 +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 SJ5PEPF000001D0.mail.protection.outlook.com (10.167.242.52) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.14 via Frontend Transport; Fri, 12 Jan 2024 08:03:12 +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; Fri, 12 Jan 2024 00:02:58 -0800 Received: from nvidia.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Fri, 12 Jan 2024 00:02:54 -0800 From: Gavin Li To: , , , , , , , , CC: , , Itamar Gozlan Subject: [V1 5/5] net/mlx5/hws: support VXLAN-GPE matching Date: Fri, 12 Jan 2024 10:02:10 +0200 Message-ID: <20240112080210.1288356-6-gavinl@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240112080210.1288356-1-gavinl@nvidia.com> References: <20240112080210.1288356-1-gavinl@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001D0:EE_|LV3PR12MB9265:EE_ X-MS-Office365-Filtering-Correlation-Id: b2347234-5658-42cb-9c31-08dc1344ec55 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: wEDZAdGUjoazjMjziBhaKvwz7sSVmFXp+weW8KiXVBiK6+a82ENFdP46HN5aK8aY/sZ7ZCGKU6TJHQJ5607d7M4784iOSPp9eJZ0qTi2CYsadOLCe92FyL7cvfnZ0Xk/1Z+2yOvTkKnubT2toLkR9zbT9XRlCfQNUXGlHHY4lmEsnW4FxI/TWmaCI0h5moIySaC4wrUS0VLLgGkJdVhPFgxqLaVfXrJ96+DQzyNHYDktCei+nFJYhORAoNIYLP1leQ5K/q/AqCBzCIYL+sobpwQ7mjD/y8cbOBfug+XUAOUsEEY9GW93N7UBY/RdgZP2xtoI6OQpRK+CEqjLAY6TyWKfZG/idScAVX8CUdw6Ari+yMX8F/XOttP+yuRk8mWF+rHoiO7TPoWSZqfOTsZEV7xBuNkwOGWSp76NkLjfz1Ed93dOul76f9QBlF9KPRrDD5enikOfxNVx1Gw+7jx4EoUbW0ae+UN668CN5d+dnWVJ4pFsU73ctTj35bUIKLYyL3H3RPccrJY+99j9nrRaRlPA823ETkrtEljHBHsDeHFvbxjnYKolXHqlUzQdCRoUZuM057H00UfWJY1dsAoWSYnYZaJqQkI2RZB5lS5kJ5s8xGrh6EnOPj8yUtNG/HyTUPvc3xkd4mMnGCLuQZt1Y1rvaCIrk9wA8v4His8yRQ0yRUEiK5e9NGvBju3mQbRwTph7c4LA8juZyfzXsj+VuYbEYLyEP0QPEZCAaZSf6Xy8oyEiSI4CyJSQD3+qJWET 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)(39860400002)(396003)(136003)(346002)(230922051799003)(82310400011)(451199024)(186009)(64100799003)(1800799012)(46966006)(40470700004)(36840700001)(70586007)(70206006)(110136005)(36756003)(316002)(54906003)(6636002)(7696005)(6666004)(478600001)(41300700001)(4326008)(8676002)(8936002)(2906002)(5660300002)(86362001)(47076005)(83380400001)(7636003)(356005)(107886003)(82740400003)(55016003)(40480700001)(40460700003)(2616005)(1076003)(426003)(16526019)(336012)(6286002)(36860700001)(26005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2024 08:03:12.2255 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b2347234-5658-42cb-9c31-08dc1344ec55 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: SJ5PEPF000001D0.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9265 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 Acked-by: Itamar Gozlan Acked-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: