[v6,00/18] net/mlx5: HW steering PMD update
Message ID | 20221020154152.28228-1-suanmingm@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 1778AA0553; Thu, 20 Oct 2022 17:42:31 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 096E241611; Thu, 20 Oct 2022 17:42:31 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2051.outbound.protection.outlook.com [40.107.223.51]) by mails.dpdk.org (Postfix) with ESMTP id B1C4F427EA for <dev@dpdk.org>; Thu, 20 Oct 2022 17:42:29 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EyR3MQWLrcgt4k53Q+kM8zgxeWTJ2wMQmN1t24abGnrajYgw1rQ3mmGRYiQz1k1I0jm1Kiq8w50htYHztf+PO1IhRNrwGRFePfSOJ7373mhz5aEchK0SOc4bdkumCV8AnmqNyL9oeHLLB9lDhifTjjDG9wqk0MGrVoDENZc6alBWsrAWQinOgau5RX03VS7W46KWqFzNBvth2EViMLV4lHIHz2njZw+ikRskX4gkzRvLqThhXQCbx3UduubqDqgWjl+9ys8YJ828h6A6ueJKAhgTlzRARIwRs1/ewsZRLPDRDU3CaiSmjvVQNQpjBYpQBnOWeKvgxfWxsQLK8XFxRQ== 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=Qcz/PjxIGwj6lsB7sqPXAj29ePapBT7IWKHIYUMQPzg=; b=N7U4GIcLBUJ76OQmWMNivX3NgQ6W5/lTAzmIW4dBdQtZ4z83dImvO10170tylRdGpoAfmgU1TR+TrjYuZPYENfUMt/V+Nu9J5LPClraBzg8f56dDronG/z+uqal217RNr+nor7r3edJw+jIKtMnU+kIyOX3TjHMhsHIFpRjcRa3gBu1fYGF2+BZDuquSjMObmKRbYENHtrYKpLTTNqN0NpIuroisjb9Fbilcn3TQAFcpQE1p2+GDSeLbw6q1rsydmedAuAWcQvqputLv8FTTkd8c4JDOpasZYIBQK/1jGcJ7Lnpue2buuyQBOE6W5xAH1bJhK4uKO/LxKLxcIdTofw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none (sender ip is 216.228.117.161) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Qcz/PjxIGwj6lsB7sqPXAj29ePapBT7IWKHIYUMQPzg=; b=o381OaGWClCDU3hqdGIol82V4gZQfrXaO+vkSCrSaqkEFtENWMhiDvSouazkX2enVt0rjHdGp5JqjfX1DGvToq93mkO1QQ5TytaAmySvAd6pp6OxU419cbH/NhA1ppn6HR6giz8xkADXZregw+CYiPJnSQIhC3QDP8YZnSpc0oSDU2B0700Kurqkzj9hH2nYjUT+ipy0SsWuQQXoRnaLdlMYqOffsfUv+i4zJK6NIfXKXndzgqGyWXc6ELbOvFs/MgkW9RgJ4SyhwAoQjlylzreznfLVH5dzZOcYaKsoeC/H+/NvhSr6ctCv4SrlNZGO33kvNaFWEgGrw3CDl9rUxA== Received: from BN9PR03CA0508.namprd03.prod.outlook.com (2603:10b6:408:130::33) by MN2PR12MB4255.namprd12.prod.outlook.com (2603:10b6:208:198::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.35; Thu, 20 Oct 2022 15:42:26 +0000 Received: from BL02EPF0000C402.namprd05.prod.outlook.com (2603:10b6:408:130:cafe::a2) by BN9PR03CA0508.outlook.office365.com (2603:10b6:408:130::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.34 via Frontend Transport; Thu, 20 Oct 2022 15:42:26 +0000 X-MS-Exchange-Authentication-Results: spf=none (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=nvidia.com; Received-SPF: None (protection.outlook.com: nvidia.com does not designate permitted sender hosts) Received: from mail.nvidia.com (216.228.117.161) by BL02EPF0000C402.mail.protection.outlook.com (10.167.241.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.20 via Frontend Transport; Thu, 20 Oct 2022 15:42:26 +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.26; Thu, 20 Oct 2022 08:42:06 -0700 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.29; Thu, 20 Oct 2022 08:42:05 -0700 From: Suanming Mou <suanmingm@nvidia.com> To: CC: <dev@dpdk.org>, <rasland@nvidia.com>, <orika@nvidia.com> Subject: [PATCH v6 00/18] net/mlx5: HW steering PMD update Date: Thu, 20 Oct 2022 18:41:34 +0300 Message-ID: <20221020154152.28228-1-suanmingm@nvidia.com> X-Mailer: git-send-email 2.18.1 In-Reply-To: <20220923144334.27736-1-suanmingm@nvidia.com> References: <20220923144334.27736-1-suanmingm@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF0000C402:EE_|MN2PR12MB4255:EE_ X-MS-Office365-Filtering-Correlation-Id: 4baf4662-7cb8-4f13-c7db-08dab2b1b06a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GqwvEFh8WewiGIUk1bIaGH39vJrwtOFSDVxxWTQQSPEMHJi7ukQ3ayXqSwj4AWCP0GSoEy2btMfrWLRn5keEzewydjEW4EiR4vVNmEeIX1CA5DMQivpfPxYiAOzUXkU3h3Au1ZA+PjZM5CneLUOhYRvGrP2pn3V9K++yTbJpRinh9zyR8TuGh1pb4kCLbrn731OG5Vv+pSOiXIaOOdj3/VaefKJv1Dhe0hkyUINYMGAZumob287nYVbh0zmZyd7CrdUMJmD0QrEXY9IPNuxDpQRE8u3MAi1Gqg0nyh14kDTu+/PtKg8peRs2w5gD//XuMIkFoCGDT19zUs8yROdBObe5mmaZ1Vn/f6RdtD9Zy4XhJP0pwyPsCH4jBoV6Jdrva0f271XE39wEd3+8uBe0IbFFEPEpDHqoEqRnxLQw6stEaLEEEVATFZxUV+0x7k/uaK0GbP1QVkdh4sV0jnbchaCqvi1WflP0XPvL0rfCiXtJdyPIwMBuAQDjE5v0mhGbO8G4He3zYmKTVBrK8rHtW7De3c6OA48pkoT2/t44WyaJCBLkNy+2H4xRmk0ufX9r5SRTLpSQQeapYp0vAWrt6FXiQzMqPOGa9JFDWhC7sCWtWTd5Vme4xWSz92OH3Mso19uC2V7xx0J/ON8ir4ZR+KpRGraMdhPkAPNvpJIQxcZvHLrAq4TMTBv4GhrkYMTWpJ5qeNZTzInrKzDpqETqOz0yr5zz04i30U/Fa3yvZ2TKFlfTncSzfs0/m/D86c54QtlW8rIyTVsS3lirQC367MYra8yGgcqgojNkPxAA5lXOiOjLWQg9/FKEoggaaEMIc46+pY92lnF2ZjvyvaXmhUQxBT2fRRV6k1TLK0FwQfB/613chq1gdbAvVoCjtYzH 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:(13230022)(4636009)(376002)(136003)(346002)(39860400002)(396003)(451199015)(36840700001)(40470700004)(46966006)(15650500001)(186003)(1076003)(16526019)(2906002)(426003)(47076005)(336012)(83380400001)(7636003)(40480700001)(40460700003)(26005)(86362001)(6286002)(4326008)(8676002)(55016003)(82310400005)(356005)(41300700001)(316002)(2616005)(36860700001)(36756003)(54906003)(82740400003)(6666004)(8936002)(5660300002)(7696005)(107886003)(109986005)(70586007)(966005)(70206006)(478600001)(266003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2022 15:42:26.2746 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4baf4662-7cb8-4f13-c7db-08dab2b1b06a 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: BL02EPF0000C402.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4255 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 |
Message
Suanming Mou
Oct. 20, 2022, 3:41 p.m. UTC
The skeleton of mlx5 HW steering(HWS) has been updated into upstream for pretty a long time, but not updated anymore due to missing of the low-level steering layer code. Luckily, better late than never, the steering layer finnaly comes[1]. This series will add more features to the existing PMD code: - FDB and metadata copy. - Modify field. - Meter color. - Counter. - Aging. - Action template pre-parser optimization. - Connection tracking. - Control flow. Some features such as meter/aging/ct touches the public API, and public API changes have been sent to ML much earily in other threads in order not to be swallowed by this big series. The dpends patches as below: [1]https://inbox.dpdk.org/dev/20220922190345.394-1-valex@nvidia.com/ --- v6: - Rebase to the latest version. v5: - Rebase to the latest version. v4: - Disable aging due to the flow age API change still in progress. https://patches.dpdk.org/project/dpdk/cover/20221019144904.2543586-1-michaelba@nvidia.com/ - Add control flow for HWS. v3: - Fixed flow can't be aged out. - Fix error not be filled properly while table creat failed. - Remove transfer_mode in flow attributes before ethdev layer applied. https://patches.dpdk.org/project/dpdk/patch/20220928092425.68214-1-rongweil@nvidia.com/ v2: - Remove the rte_flow patches as they will be integrated in other thread. - Fix compilation issues. - Make the patches be better organized. Alexander Kozyrev (2): net/mlx5: add HW steering meter action net/mlx5: implement METER MARK indirect action for HWS Bing Zhao (1): net/mlx5: add extended metadata mode for hardware steering Dariusz Sosnowski (5): net/mlx5: add HW steering port action net/mlx5: support DR action template API net/mlx5: support device control for E-Switch default rule net/mlx5: support device control of representor matching net/mlx5: create control flow rules with HWS Gregory Etelson (2): net/mlx5: add HW steering VLAN push, pop and VID modify flow actions net/mlx5: support flow integrity in HWS group 0 Michael Baum (1): net/mlx5: add HWS AGE action support Suanming Mou (6): net/mlx5: fix invalid flow attributes net/mlx5: fix IPv6 and TCP RSS hash fields net/mlx5: add shared header reformat support net/mlx5: add modify field hws support net/mlx5: add HW steering connection tracking support net/mlx5: add async action push and pull support Xiaoyu Min (1): net/mlx5: add HW steering counter action doc/guides/nics/features/default.ini | 1 + doc/guides/nics/features/mlx5.ini | 2 + doc/guides/nics/mlx5.rst | 43 +- doc/guides/rel_notes/release_22_11.rst | 8 +- drivers/common/mlx5/mlx5_devx_cmds.c | 50 + drivers/common/mlx5/mlx5_devx_cmds.h | 27 + drivers/common/mlx5/mlx5_prm.h | 22 +- drivers/common/mlx5/version.map | 1 + drivers/net/mlx5/linux/mlx5_os.c | 78 +- drivers/net/mlx5/meson.build | 1 + drivers/net/mlx5/mlx5.c | 126 +- drivers/net/mlx5/mlx5.h | 322 +- drivers/net/mlx5/mlx5_defs.h | 5 + drivers/net/mlx5/mlx5_flow.c | 409 +- drivers/net/mlx5/mlx5_flow.h | 335 +- drivers/net/mlx5/mlx5_flow_aso.c | 797 ++- drivers/net/mlx5/mlx5_flow_dv.c | 1128 +-- drivers/net/mlx5/mlx5_flow_hw.c | 8789 +++++++++++++++++++++--- drivers/net/mlx5/mlx5_flow_meter.c | 776 ++- drivers/net/mlx5/mlx5_flow_verbs.c | 8 +- drivers/net/mlx5/mlx5_hws_cnt.c | 1247 ++++ drivers/net/mlx5/mlx5_hws_cnt.h | 703 ++ drivers/net/mlx5/mlx5_rxq.c | 3 +- drivers/net/mlx5/mlx5_trigger.c | 272 +- drivers/net/mlx5/mlx5_tx.h | 1 + drivers/net/mlx5/mlx5_txq.c | 47 + drivers/net/mlx5/mlx5_utils.h | 10 +- drivers/net/mlx5/rte_pmd_mlx5.h | 17 + drivers/net/mlx5/version.map | 1 + 29 files changed, 13589 insertions(+), 1640 deletions(-) create mode 100644 drivers/net/mlx5/mlx5_hws_cnt.c create mode 100644 drivers/net/mlx5/mlx5_hws_cnt.h