Message ID | 20240112080210.1288356-1-gavinl@nvidia.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> 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 1BEF84389F; Fri, 12 Jan 2024 09:03:14 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1156C40A4B; Fri, 12 Jan 2024 09:03:12 +0100 (CET) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2074.outbound.protection.outlook.com [40.107.94.74]) by mails.dpdk.org (Postfix) with ESMTP id E29AC406BA for <dev@dpdk.org>; Fri, 12 Jan 2024 09:03:09 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P9wYFBBR/EgPnwGpYepz9l+o1ICpaUBCSHdK6ZXuWxv0z1Q0kUBlZVhcERLB/L4E0eBH/YaV+u5IZU4l4hjsXDtPxr6tHMym7zwjCJ6QPSVd9tSOPIfIaZdN8TZAKzHA/38d5kadLwRIP9zuSBuftmN6kp8d4gpDZDoeePjo3KJUQK4faYEHc4AgTP9N8BUK+LpR4VRUrILmRaxTLMvqN4sY8eMQ7w1moEZVmksipRQ/QpL7t0TOv94eR6QtUu6Pcv66ohfSfGwQ4kAwKWjxBNvr21xAOjtc6ax0avaVQ4/ApeLK4HSPcgd7n3qkDmgHBuUvTd6zDA/NdLBhcqBw6w== 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=VFP80J3ocgqTl2GFevrqtiCwyx/+Q0p2pEpHLJEq4xE=; b=K+xvSjexN9X3eHtOf/tn1lEJIiTGV4k8rObFwqILlp37aX3leokyyb5k+BroFeRBHiwsEjSBIu67wKYIzpjL8lvzxthOFD+pnuTBAECed7c4m1uXMtQ349sdiQsaDE0Cwed6wkAVFM5eK2tjehclj5JS5J5ayBQODqxy86rjj8671FCkMLh9dusT/G2vTL9NrwxC0Mwhmd/SXb0ADO+gpCfigatz/unMnFbJkPLkECa6UKOjKq0UFJ/J5eB5Ver2T51BzdpTJJ9Mupc2tzcT9kNO0fFQPE/6uTHmhWplBHniZPNmfjJtgFMK7C76+JTi4mNH9F12ifFlYGWc47HMtg== 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=VFP80J3ocgqTl2GFevrqtiCwyx/+Q0p2pEpHLJEq4xE=; b=neUJUaVI79GH/IfGjEYr8FDIjzvNLV4/7I4tS04pqFs6+yJLt7hO1K4arh18rrZlHLhD3+/T9FvmRsl2PP06lVwGuOuBR5QiFY4njbL+hfaMKcIxvaBhfRVBTvounTwGN6tJ8pCL6yVPjrRca8Zsnj10xS4Yd3yBdXm00+owhF6Rw4QxpPFtyGnVmzw7gYXL1JiYz36E5CfRtPsKh0DUAfeb3oec+ivz67lxhA6eltHeBQAq8TN0rWrEBxUA6H0onipaZBkF2Uw9j2I8BKUYwMQDwsQ29QAQSsCuZ6gYO7f9gDo8ePLCMb0XCFXTKz0YYN8eR2yCwDRfwf6QuVBo2w== Received: from SA1P222CA0127.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:3c2::17) by SA1PR12MB6797.namprd12.prod.outlook.com (2603:10b6:806:259::21) 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:07 +0000 Received: from SN1PEPF000252A3.namprd05.prod.outlook.com (2603:10b6:806:3c2:cafe::3a) by SA1P222CA0127.outlook.office365.com (2603:10b6:806:3c2::17) 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:07 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by 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:06 +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:39 -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:35 -0800 From: Gavin Li <gavinl@nvidia.com> To: <dev@dpdk.org>, <thomas@monjalon.net>, <orika@nvidia.com>, <aman.deep.singh@intel.com>, <yuying.zhang@intel.com>, <dsosnowski@nvidia.com>, <viacheslavo@nvidia.com>, <suanmingm@nvidia.com>, <matan@nvidia.com> CC: <jiaweiw@nvidia.com>, <rasland@nvidia.com> Subject: [V1 0/5] support VXLAN-GPE header fields(flags, rsvd0 and rsvd1) matching Date: Fri, 12 Jan 2024 10:02:05 +0200 Message-ID: <20240112080210.1288356-1-gavinl@nvidia.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain 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_|SA1PR12MB6797:EE_ X-MS-Office365-Filtering-Correlation-Id: 081b5e96-3bda-4a88-cdfa-08dc1344e939 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: zR2xUco1TxWjAyNOSxtZn0rfkXAsoQRjOhdtml3FKyoaV7JBvafauwERg1DdtFfQCmb1jqm+WKRdiQzn4VCJIgOA508cePy3i5HQGwUd0Qvjr8qAvRAUbLXgEAmE9DZOB1GgsvKDJmpa5IAA3+821OwVx4CoTU8UlMTL+KZgPPoIFkEHpPNRse+Rs0pofjEZ8KgJhEBw+ov2V2u+PJUbEvYSL09uMTBukzZK139tWoPybO2N3oazKHZ7ISmIhn+OQdGrgh5kiTOoVSUqV9G60QtXaAiBiQuHvYoRsS5bB9Krs0ePYDYdAZg9BW19GdoahJTOhzDbRITTusgJ5HcIVi3L80mqNi5rqTwwA9DKrcveu4jnkgSNsWkdG/nNa3m1Y+KoEEBLl6jqYStEnC+INegJsBoNSMSeTpE3XdHFZD1kprFJb550EEt0t89DDgdyBO9gKX7jgYeKwOemORkUQioEjzxgY67CWccYDP0ed8KzTGvokAMOMqMCoPj2Rs93pPPiWL6JnLNbo92TsjcqXK1OYMaz1gqZj6/ba7uRe05an8woBfnCCN3MYyFLIqxGJtCHgc87lIvgY9n0PL9ZIsYtcxyooq3yvHB/tyxo+tbJLfv7OxFTRUCBE5QRte5aso8mbWBk6W9oERnn3qyVu3V2RHaVUii0QQ1xGl973q8CQyx4L3drnD4mWgss/yJUNhajGPieOfYFrCBq2FwiTb4Wc2U3T9MWlS3v5RmxZgkgkkSa6ls3eTErkY5+sgvI 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)(136003)(346002)(396003)(376002)(230922051799003)(64100799003)(82310400011)(1800799012)(451199024)(186009)(36840700001)(40470700004)(46966006)(40480700001)(40460700003)(83380400001)(6286002)(54906003)(8676002)(2616005)(70206006)(8936002)(6636002)(316002)(4326008)(36756003)(110136005)(70586007)(82740400003)(47076005)(55016003)(26005)(107886003)(336012)(1076003)(426003)(7636003)(16526019)(478600001)(356005)(86362001)(6666004)(36860700001)(7696005)(2906002)(5660300002)(41300700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2024 08:03:06.9945 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 081b5e96-3bda-4a88-cdfa-08dc1344e939 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: SA1PR12MB6797 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org |
Series |
support VXLAN-GPE header fields(flags, rsvd0 and rsvd1) matching
|
|
Message
Gavin Li
Jan. 12, 2024, 8:02 a.m. UTC
Previously, VXLAN-GPE in DPDK only supports VNI and next protocol header fields. This patch series add support for flags and reserved field 0 and 1. Below is the VXLAN-GPE header defined in the lasted draft. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |R|R|Ver|I|P|B|O| Reserved |Next Protocol | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VXLAN Network Identifier (VNI) | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Gavin Li (5): net/mlx5: support VXLAN-GPE flags matching app/testpmd: support VXLAN-GPE flags net/mlx5: support VXLAN-GPE reserved fields matching app/testpmd: support VXLAN-GPE reserved fields net/mlx5/hws: support VXLAN-GPE matching app/test-pmd/cmdline_flow.c | 30 +++++ doc/guides/nics/mlx5.rst | 5 + doc/guides/rel_notes/release_24_03.rst | 6 + doc/guides/testpmd_app_ug/testpmd_funcs.rst | 3 + drivers/net/mlx5/hws/mlx5dr_definer.c | 117 ++++++++++++++++++++ drivers/net/mlx5/hws/mlx5dr_definer.h | 13 +++ drivers/net/mlx5/mlx5_flow.c | 6 + drivers/net/mlx5/mlx5_flow_dv.c | 32 +++++- drivers/net/mlx5/mlx5_flow_hw.c | 1 + 9 files changed, 207 insertions(+), 6 deletions(-)
Comments
Hi, > -----Original Message----- > From: Gavin Li <gavinl@nvidia.com> > Sent: Friday, January 12, 2024 10:02 AM > To: dev@dpdk.org; NBU-Contact-Thomas Monjalon (EXTERNAL) > <thomas@monjalon.net>; Ori Kam <orika@nvidia.com>; > aman.deep.singh@intel.com; yuying.zhang@intel.com; Dariusz Sosnowski > <dsosnowski@nvidia.com>; Slava Ovsiienko <viacheslavo@nvidia.com>; > Suanming Mou <suanmingm@nvidia.com>; Matan Azrad > <matan@nvidia.com> > Cc: Jiawei(Jonny) Wang <jiaweiw@nvidia.com>; Raslan Darawsheh > <rasland@nvidia.com> > Subject: [V1 0/5] support VXLAN-GPE header fields(flags, rsvd0 and rsvd1) > matching > > Previously, VXLAN-GPE in DPDK only supports VNI and next protocol header > fields. This patch series add support for flags and reserved field 0 and 1. > > Below is the VXLAN-GPE header defined in the lasted draft. > 0 1 2 3 > 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > |R|R|Ver|I|P|B|O| Reserved |Next Protocol | > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > | VXLAN Network Identifier (VNI) | Reserved | > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > Gavin Li (5): > net/mlx5: support VXLAN-GPE flags matching > app/testpmd: support VXLAN-GPE flags > net/mlx5: support VXLAN-GPE reserved fields matching > app/testpmd: support VXLAN-GPE reserved fields > net/mlx5/hws: support VXLAN-GPE matching > > app/test-pmd/cmdline_flow.c | 30 +++++ > doc/guides/nics/mlx5.rst | 5 + > doc/guides/rel_notes/release_24_03.rst | 6 + > doc/guides/testpmd_app_ug/testpmd_funcs.rst | 3 + > drivers/net/mlx5/hws/mlx5dr_definer.c | 117 ++++++++++++++++++++ > drivers/net/mlx5/hws/mlx5dr_definer.h | 13 +++ > drivers/net/mlx5/mlx5_flow.c | 6 + > drivers/net/mlx5/mlx5_flow_dv.c | 32 +++++- > drivers/net/mlx5/mlx5_flow_hw.c | 1 + > 9 files changed, 207 insertions(+), 6 deletions(-) > > -- > 2.39.1 Series applied to next-net-mlx, Kindest regards Raslan Darawsheh
On Fri, 12 Jan 2024 10:02:05 +0200 Gavin Li <gavinl@nvidia.com> wrote: > Previously, VXLAN-GPE in DPDK only supports VNI and next protocol header > fields. This patch series add support for flags and reserved field 0 and > 1. > > Below is the VXLAN-GPE header defined in the lasted draft. > 0 1 2 3 > 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > |R|R|Ver|I|P|B|O| Reserved |Next Protocol | > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > | VXLAN Network Identifier (VNI) | Reserved | > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Would recommend against implementing anything in a draft RFC. Things can change. Learned the hard way when doing VXLAN driver for Linux. The hardcoded port value in the Linux VXLAN driver is wrong because it matched the draft RFC (got changed in final version). Because of strict compatibility requirements the Linux driver could not be changed to the correct value.
19/02/2024 20:50, Stephen Hemminger: > On Fri, 12 Jan 2024 10:02:05 +0200 > Gavin Li <gavinl@nvidia.com> wrote: > > > Previously, VXLAN-GPE in DPDK only supports VNI and next protocol header > > fields. This patch series add support for flags and reserved field 0 and > > 1. > > > > Below is the VXLAN-GPE header defined in the lasted draft. > > 0 1 2 3 > > 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 > > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > |R|R|Ver|I|P|B|O| Reserved |Next Protocol | > > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > | VXLAN Network Identifier (VNI) | Reserved | > > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > Would recommend against implementing anything in a draft RFC. > Things can change. Learned the hard way when doing VXLAN driver for Linux. > The hardcoded port value in the Linux VXLAN driver is wrong because it matched > the draft RFC (got changed in final version). Because of strict compatibility > requirements the Linux driver could not be changed to the correct value. The problem is that standardization may be slow. Would it be acceptable without any compatibility guarantee?
On Mon, 19 Feb 2024 23:48:31 +0100 Thomas Monjalon <thomas@monjalon.net> wrote: > 19/02/2024 20:50, Stephen Hemminger: > > On Fri, 12 Jan 2024 10:02:05 +0200 > > Gavin Li <gavinl@nvidia.com> wrote: > > > > > Previously, VXLAN-GPE in DPDK only supports VNI and next protocol header > > > fields. This patch series add support for flags and reserved field 0 and > > > 1. > > > > > > Below is the VXLAN-GPE header defined in the lasted draft. > > > 0 1 2 3 > > > 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 > > > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > > |R|R|Ver|I|P|B|O| Reserved |Next Protocol | > > > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > > | VXLAN Network Identifier (VNI) | Reserved | > > > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > > > Would recommend against implementing anything in a draft RFC. > > Things can change. Learned the hard way when doing VXLAN driver for Linux. > > The hardcoded port value in the Linux VXLAN driver is wrong because it matched > > the draft RFC (got changed in final version). Because of strict compatibility > > requirements the Linux driver could not be changed to the correct value. > > The problem is that standardization may be slow. > Would it be acceptable without any compatibility guarantee? Never mark it stable until RFC is done.