From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2BF45A054A; Fri, 23 Sep 2022 16:44:04 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0AC7440156; Fri, 23 Sep 2022 16:44:04 +0200 (CEST) Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam07on2087.outbound.protection.outlook.com [40.107.212.87]) by mails.dpdk.org (Postfix) with ESMTP id 366334003F for ; Fri, 23 Sep 2022 16:44:03 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ivHt5O3ptDH3J6sW9Ebk/s5P1c9LRhrRwTzxQ09ABD4xyFV9lQzqnIHz1i1kSg4n7AdCDHX3hPcSWDKCh/s1NKC/BPqZdCdHtW475yIGtTAg709Sir3nit/tVH3z93izr6SgglFro3cjokYC4gPrhxhNkeeuRLYszHDPpAy1oW9TYqKdPFrZGbTsxxfe6ZuHE5Xl+SPxkGR4yp1GcqMguEQeAQDMBvTVB/86h0MGmo90RVKPFC9IfSymAOiHNbtcsthF3i28/PnP8pmUycMxjWdrTINKfO2TUMM7PxdZm//9FdK0KcJmL25/hGIIMHAhWlOs+QvTvHUN+XLRhQDmxQ== 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=ZYUXITw8Doeey768sTKx4/LZNNywaC8AtIzcAxfHty8=; b=jtnuL1DDmSEfBfKexT2Oud6mwuztxIAbni9ZN1xD1DASnfuwRQN2UJw153OkWWExTeoZYTrjNvj/5/nS+vqftq4Ojaz0o1rh15s7LlkaP2f5KotJXgHjC1d8ERZ3lJLHuv5IMA0ghjxSlJDujiXdnVbFf70IcJmFFlStoTjJL8EJbbBoQmlS6aw8Nw788PiEOSNIQr/f/j79mqxvGf26rjHgq1aDn4ZEvmtxVe6FmKhTLm1QTFnSROYDxKYZlC4zFGDJg4+IkgjP3dkvuHH7Ls57Vcj6zAxI6hiMQti+tv9cZVtaIPMnLSpbmaAwvJJWQIkP7D+Ta7rme8HMqfRe1A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZYUXITw8Doeey768sTKx4/LZNNywaC8AtIzcAxfHty8=; b=aOD6AprFKUSakU3ySuixYcgfGlXrc0m1aVEE3Un2VBtD24eViKsr57CHXjzkf8Eoina2oAaR0k+3jqRe09zNKtECmfAWDfWbJfIV94DynZSVhsJOFrfUMrgudMqS5xGJMHg3TNMsF5LL4XVlQwcurM8JIyQX0uB87eDFQ93QQhhGSymkCGeifmrgd/g6JhMN+3p7w8/2wLZ/BNdpXLmR0DT6z+fHU6yqBnQCbsT52Z2m173+7ozKgRDwKfnqeHYItTnWmJjVtwCR06LvZatY0LrIJGLJfCF13gGKkgiM5A/PZDPbITduhAjdMeo+1IzCVJ19azs3mcpi2vp2AbX8LA== Received: from DM6PR11CA0029.namprd11.prod.outlook.com (2603:10b6:5:190::42) by BL0PR12MB4849.namprd12.prod.outlook.com (2603:10b6:208:1c2::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.20; Fri, 23 Sep 2022 14:44:01 +0000 Received: from DM6NAM11FT052.eop-nam11.prod.protection.outlook.com (2603:10b6:5:190:cafe::8a) by DM6PR11CA0029.outlook.office365.com (2603:10b6:5:190::42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.20 via Frontend Transport; Fri, 23 Sep 2022 14:44:01 +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 DM6NAM11FT052.mail.protection.outlook.com (10.13.172.111) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.14 via Frontend Transport; Fri, 23 Sep 2022 14:44:01 +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.26; Fri, 23 Sep 2022 07:43:48 -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; Fri, 23 Sep 2022 07:43:47 -0700 From: Suanming Mou To: CC: Subject: [PATCH 00/27] net/mlx5: HW steering PMD update Date: Fri, 23 Sep 2022 17:43:07 +0300 Message-ID: <20220923144334.27736-1-suanmingm@nvidia.com> X-Mailer: git-send-email 2.18.1 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: DM6NAM11FT052:EE_|BL0PR12MB4849:EE_ X-MS-Office365-Filtering-Correlation-Id: ecf1f941-efa7-4245-f026-08da9d720e1d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9030ddVgzCE4t4x6dobBbh0W4CnqQUIg2/6ZRsZ0n7lV6D8MJXccB3NLwtPg8DrLQRzWVqfoF5IHRBGXfSg/VBnheMffdHdoSLoi+HSnHvBaLQ2IiO9P7DRwGXtoszC4oSkCezaQy82uZxyilXjDANjMY62oxo41u6gfWpawQRKusmpxlczzqIHOn/v+zGWaqkjWxdMhoSg7bfrz2blkdmazIaVop0QGgT85MVYPUIsZ4vGDLXqDxDjiQVeNqUUuyFl8/FdbQsd4B+aA1++zL22Z/KiChqViA5cOeEjBIxYaqpn0aRieVKB2sMAimPHvkLg4FtugmbvWq0Ed3Y81z8v8vRgHqNR1WMSROeTdVY3EZ+d1FKux8c4NIc1P1j5fIanrylOptQjh1fDr3CL9pi+NHoNuMU57L+JYOL6TuNws5e0tfUrH+weLXRiMg3jyM3oyeBaeUI832eAMfXTJOzzRY94Q0+E8QttHb5MGqWpOOfKKGzKM7OMc/D3pCPvLmmbKrQEyOU0Bl8BhpgJGkqL/RvSNEw6Lv3t2yAGCangaHM6wvQ0+wO1kliTXWRJsyFE4SMvsEKBPDKICKnRanBZ14nbX+5g06hnwA0lmHehkjmtEJDj/2az7nWygHrlOFo6Jb9hChCINB2FllADTQHDFBLhaeepp2oY65kYpQNUS7EtMjR1Yzn45wHMOVbo4daKeZjQJgyiGdIghbyK8REfyxUU5BfjK+BA7+IuBsP6xTn6NhovGF2cxeFDJIKiZb18LwtxYkqHqjCtJlvb7x9FNJH9GBhlOr6d7+ulFCaBZ3iO1hN+PXB2ZMRsXPdB6Htx5F8h8uXKgEGsZf/1n+CSj5UQBwTtUWDHpC5f3fhjh2XJCjX5Y8t3Pknmw59lb 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:(13230022)(4636009)(39860400002)(136003)(346002)(396003)(376002)(451199015)(46966006)(40470700004)(36840700001)(15650500001)(26005)(36860700001)(6286002)(8676002)(4326008)(70206006)(36756003)(316002)(70586007)(40460700003)(41300700001)(109986005)(6666004)(86362001)(8936002)(5660300002)(55016003)(7696005)(40480700001)(356005)(82310400005)(16526019)(336012)(82740400003)(7636003)(83380400001)(2616005)(1076003)(186003)(426003)(47076005)(478600001)(2906002)(266003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2022 14:44:01.3459 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ecf1f941-efa7-4245-f026-08da9d720e1d 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: DM6NAM11FT052.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR12MB4849 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 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. - Counter. - Aging. - Action template pre-parser optimization. - Connection tracking. 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://patches.dpdk.org/project/dpdk/cover/20220922190345.394-1-valex@nvidia.com/ [2]https://patches.dpdk.org/project/dpdk/cover/20220921021133.2982954-1-akozyrev@nvidia.com/ [3]https://patches.dpdk.org/project/dpdk/cover/20220921145409.511328-1-michaelba@nvidia.com/ [4]https://patches.dpdk.org/project/dpdk/patch/20220920071036.20878-1-suanmingm@nvidia.com/ [5]https://patches.dpdk.org/project/dpdk/patch/20220920071141.21769-1-suanmingm@nvidia.com/ [6]https://patches.dpdk.org/project/dpdk/patch/20220921143202.1790802-1-dsosnowski@nvidia.com/ Alexander Kozyrev (7): ethdev: add meter profiles/policies config net/mlx5: add HW steering meter action net/mlx5: add meter color flow matching in dv net/mlx5: add meter color flow matching in hws net/mlx5: implement profile/policy get net/mlx5: implement METER MARK action for HWS net/mlx5: implement METER MARK indirect action for HWS Bing Zhao (3): net/mlx5: enable mark flag for all ports in the same domain net/mlx5: add extended metadata mode for hardware steering net/mlx5: add support for ASO return register Dariusz Sosnowski (5): net/mlx5: validate modify field action template net/mlx5: create port actions net/mlx5: support DR action template API net/mlx5: add pattern and table attribute validation net/mlx5: add meta item support in egress Gregory Etelson (1): net/mlx5: add HW steering VLAN push, pop and VID modify flow actions Suanming Mou (8): 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: support caching queue action net/mlx5: fix indirect action validate lib/ethdev: add connection tracking configuration net/mlx5: add HW steering connection tracking support Xiaoyu Min (3): net/mlx5: add HW steering counter action net/mlx5: update indirect actions ops to HW variation net/mlx5: support indirect count action for HW steering doc/guides/nics/mlx5.rst | 9 + drivers/common/mlx5/mlx5_devx_cmds.c | 50 + drivers/common/mlx5/mlx5_devx_cmds.h | 27 + drivers/common/mlx5/mlx5_prm.h | 21 +- drivers/common/mlx5/version.map | 1 + drivers/net/mlx5/linux/mlx5_os.c | 41 +- drivers/net/mlx5/meson.build | 1 + drivers/net/mlx5/mlx5.c | 39 +- drivers/net/mlx5/mlx5.h | 160 +- drivers/net/mlx5/mlx5_defs.h | 2 + drivers/net/mlx5/mlx5_flow.c | 247 +- drivers/net/mlx5/mlx5_flow.h | 265 +- drivers/net/mlx5/mlx5_flow_aso.c | 313 +- drivers/net/mlx5/mlx5_flow_dv.c | 840 ++-- drivers/net/mlx5/mlx5_flow_hw.c | 5434 +++++++++++++++++++++++--- drivers/net/mlx5/mlx5_flow_meter.c | 967 ++++- drivers/net/mlx5/mlx5_flow_verbs.c | 4 +- drivers/net/mlx5/mlx5_hws_cnt.c | 523 +++ drivers/net/mlx5/mlx5_hws_cnt.h | 558 +++ drivers/net/mlx5/mlx5_trigger.c | 80 +- lib/ethdev/rte_flow.h | 27 +- 21 files changed, 8556 insertions(+), 1053 deletions(-) create mode 100644 drivers/net/mlx5/mlx5_hws_cnt.c create mode 100644 drivers/net/mlx5/mlx5_hws_cnt.h -- 2.25.1