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 ECE8EA034C; Thu, 24 Feb 2022 22:12:30 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8E8CB41143; Thu, 24 Feb 2022 22:12:30 +0100 (CET) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2050.outbound.protection.outlook.com [40.107.244.50]) by mails.dpdk.org (Postfix) with ESMTP id 5FEF54113D for ; Thu, 24 Feb 2022 22:12:29 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eNEo0Se2QFk3t15bjkVy05FnPAta5LpyQevJNDReLyb1H4bSJxvH2Rk7jbAJ0MYK280iu2lEPYsiLMJz+GE+Tn+6C25mBL2SB3PkTk2DuTdC/d82q2MhZ5yGJMYGjbVVjCVMFOt7wKG1fYxr0CvTEYFOh0JMZOwsEPc8zA61j/h03bIewuHjAeVQNKud4iPF20wxOp+mLZ8E8YkrWVEpvy8MwdLa6Le1mVw4AsgXPzx43eToE3j7jSvrrXTi/Pf/0keuiN4n6/Dt8YtoDtbVemq5FAsHmbyTyyYAw//Lkl4KaPBlVk2TXloM2KD6acefJbL7ay7OHfRVnrHy3guivg== 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=jBRlCRVgtdjZvNhPxqqUFJSbOVzHm86OaMOhmosuH2A=; b=G73E52RDbXyRCj7qId9tpy4sv2WPwqJunD+jH2sEXTTllbnzglracMGfHBqL8b5mHbiUQyG5ThtsWuWVNHtjLYSBxNZpN9Ojgo8srfEGw5lm+hudd6967mKxvs6RGbb38jhwt99IHVq2dOzK99yqB0ySN9JRtJOI+/hr8ZMn30xXP2HHPOUmDZIE8T5RbHQeiMxXSsmHH4dYrX1T37xPilkz9Vj2RtqQd2EDfJN5mT7NUdDOt82GtRbQBRIoe0A792EigAdf/11AlYs4jWXiR+x7vduX0BAtlyt6qvUpmrGRBZZOwVfaxhWQBUn3xjW2/09xBqD5pELTeV1XYRcKCA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; 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=jBRlCRVgtdjZvNhPxqqUFJSbOVzHm86OaMOhmosuH2A=; b=ezndK6WGE0upVj+iTt4aOIyV5/QiQPtsk61IXV6/Uug9L7vz+L+q81z4EP9WhWCAkMDVGQ1/hXZKxMbrb7drWK9MgMLRXG/Rhs+izBh/wZ8tdjA0GnuDD6wLi7vHQaZoiIrkfzFocwrF/BmAfrJtRPddpyRivzMAhXUNpGloh7klEsy+e8bqMIIjYXfMjI0qduNvMJYlt/+Sd/bAH2ixWRLFdj1fEyFqTp2zOrfq3T4RK9lyMOA/oEBG2bAvKGoqph8M6G3ysT+YRZGi6vh06zf1mLRL2AEAFMNw+Wne4qN2aOp72QXPAZ2X9uxQlQyveNQ1yOFyx7rK4jKgeC8xRA== Received: from BYAPR12MB3078.namprd12.prod.outlook.com (2603:10b6:a03:a8::31) by MN2PR12MB4536.namprd12.prod.outlook.com (2603:10b6:208:263::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.23; Thu, 24 Feb 2022 21:12:27 +0000 Received: from BYAPR12MB3078.namprd12.prod.outlook.com ([fe80::c8a5:fe91:7c8d:5e84]) by BYAPR12MB3078.namprd12.prod.outlook.com ([fe80::c8a5:fe91:7c8d:5e84%5]) with mapi id 15.20.4995.027; Thu, 24 Feb 2022 21:12:26 +0000 From: Raslan Darawsheh To: Suanming Mou , Slava Ovsiienko , Matan Azrad CC: Ori Kam , "dev@dpdk.org" Subject: RE: [PATCH v4 00/14] net/mlx5: add hardware steering Thread-Topic: [PATCH v4 00/14] net/mlx5: add hardware steering Thread-Index: AQHYKYQ5nLSVieTzmESgp5afivhw96yjM1eg Date: Thu, 24 Feb 2022 21:12:26 +0000 Message-ID: References: <20220210162926.20436-1-suanmingm@nvidia.com> <20220224134051.18167-1-suanmingm@nvidia.com> In-Reply-To: <20220224134051.18167-1-suanmingm@nvidia.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: be453c94-2eb3-4764-57ef-08d9f7da5c1d x-ms-traffictypediagnostic: MN2PR12MB4536:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: yD38VMOtSO0DLtTp1/qElwiie8/p8tKYnTLhRJlB1M3dPivlZBSEsxVfsKTdF2fxq+5g2Z7gcRC1u9T1im8xqTJ1U9zj/hsmYtnF1DYT8IX/M4UTu9EYipGL5M2ZMn1X0i2pp4cgQKAPL3u2smtgVahak+D/9U4K/p3PYpW4zr+ndF+WUg5llAEAt03CbZTFK3bVQ2ZacD7It6o/93YLAsbBC6D0TmUnY2x+EcyT1lc6UNGvUnESyVMMfntKFFvjad9gEVy45G7hqv3mBaHfM791Xt93gfz6ndGiegnJJsUC6bWU71HpqVNsYM3BY08Yv03UgCTRHgdwaWd2CKmUfgtbOIJCwAP2J+Iehc8dzGIleEpoSwfWN5nKxyVK4AJIhi7P+ju/dgj/kPBumnrDoQubjm0HxvNIFKQdKRNpOp5cDzmgKc6c70WuLyT917iSTN51FE7W8fGD5oOTvfJzD7WEStBWP8egD/HvqT4bFyjWdsf6BJYTPteBx3RuGHLD/PW03SSk+WjCOfKOAIfyARRf1vF8/IKiUsOL8AK9ZBJLV80VoZraOxxldqJGZ9d8Zau/i3S8TeYKhkw7WRTYiy2gqXWKnI6vePGsQ6UbJY7eWrcLwPqKBq12lhkdhTzZNuhnm6ZWOa2t+2oX341sT0/v44NqAdgBJrJuKxKYlLOrQlV6DBpHBn2bRWQCByUG2qgC/VypPiIOQWSkekn7mA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR12MB3078.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(66556008)(76116006)(66446008)(66476007)(66946007)(7696005)(38100700002)(71200400001)(38070700005)(64756008)(122000001)(6506007)(2906002)(9686003)(33656002)(110136005)(54906003)(316002)(508600001)(53546011)(6636002)(83380400001)(4326008)(8676002)(8936002)(52536014)(86362001)(26005)(186003)(55016003)(5660300002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?iEvzy1/UefJkCqmOavjxNutc6AtdGeysJCvs0s80ZIbcc9ADIGr0Hoa1Y6Xl?= =?us-ascii?Q?xGJbDDz/pOPcvhZYrbj/1//dOzUw1/yT0DXjF9HssW75eti3ft1el9BiqC15?= =?us-ascii?Q?xSW7AO6sNRm2PcsotLWJzAABXwDcP7XsLnh1vhuyFbygEWl/bH/9Qd9MLG0V?= =?us-ascii?Q?dOCdVF0V0vBl5EzaSd5x9c4lZS5gXLc61cBsoK+7Khs4yFbW2QQzUGEqNmKy?= =?us-ascii?Q?4qxnSmijd+NkkOd0ef8w6w+QFG9aQpCPemAOlV1PpDGlDWL/akxJ68p40SXO?= =?us-ascii?Q?kgMA7YrgHtNti2Fz7rG4C+GYgQBWTaDPbWvAP20NcW4ngQg6pi/tz1M3vuTt?= =?us-ascii?Q?7dOeN3Dnev4W5yRLSeFLuWxYTYxoGC9ksa7+fxHUEO8cPE6UEgAXaHDRQQEe?= =?us-ascii?Q?Pr9rO20Yz69s3GdovONuv9k9Dr1vR2ZsX/tRPOxp6PgS/MI0VfsnJiIZkong?= =?us-ascii?Q?fhzTA/WMchcegp5K3GoMzNpV19eHQ/H4AG7G8zzVZAaCKTBP4bKRq8ETAANl?= =?us-ascii?Q?Pb38ODwEayO2YlY3UmaHvBH8ktpEJSSiJitULZuk5+vp5q+32KBtmskkCDq2?= =?us-ascii?Q?ES3EJrPctqRZLjTwszpYZi4OUEBzoyUUUIWAigoUJvResRcL731G8F0jNuw2?= =?us-ascii?Q?0QZOZrLD/Zf/ET+7nWYBKsHveWJmQTwEQLxK9MquCS2gUHFpIMtL6G5X4U+K?= =?us-ascii?Q?+4T4x/W36uE9wfjM/Yjhyn+Y3WV2hHku1j9h6z9txH/1EdsHMy4kjBs0HBd8?= =?us-ascii?Q?XjOeinjy5444HAsFlhX+A+tXxb/2tgrLn43qXhfMGtDhPRNvxEznaFwRpA+T?= =?us-ascii?Q?1XzCytFUz5rIwQqNizL25zFv+2hCFFGUB81+AXXMsMOlYnXhDK6XWnwau+AW?= =?us-ascii?Q?Sthk4d5W7GNlJ8A16nvqqGfsjRQ2pNVaMqYdcbQkNU4qOoXUx6rH3SYbaaJo?= =?us-ascii?Q?ByqMAQnKAAwAbwOGX4/pBOYX74rDAqX9oO42Es42ZzvcfoKY/V1df4U7yK8w?= =?us-ascii?Q?w2pd8cm4B31ZFGfiqKaomMIuMiYpc4q3Sj8zd9ECC/qs/EtjR7prIlqs6jvd?= =?us-ascii?Q?XQWiL64855I+QtbL9P+9P050nR2swL2OwPdOSquqNdoRIl58Exnjf6Ya9ap/?= =?us-ascii?Q?uxCdMbjVtnM6U7EmfI8eF7Y2LPiSAGR9sCgB+OCFilXFlp9a7Fk28YImqF/D?= =?us-ascii?Q?y1a+ZBCEquFFK9IBDPCZbeYlUPSm/UDDKbZvEyxVDmOScSwANvvlkKUlLqU+?= =?us-ascii?Q?GUnG+ON1xC6fdqF4a6AsVPZilm77Wt1Dcfqyq2L5z2312Dn4LKmFWYs44Pao?= =?us-ascii?Q?80kGv7KOHyBdtRmhjL2716CWDs6R0YZqMycLmu8tjkrW1nUjxumPb1ibf9Wd?= =?us-ascii?Q?uWq/GMQWBDVr/Ozm8WrBjdnoGMRKvzCzf3f5F1LpRUdTbFF5RjRjMkj5V1Db?= =?us-ascii?Q?jl+U78hSrJzbhtLmqPhuXHKq8jVJ47tLvd9WcbbrKzVnEKYFGt9XEomDdfqP?= =?us-ascii?Q?Cb2VGzFKV4qbU6Ov53NKsvApAUJ+v50aCw7Q+ZFC/4SukPzJsMl88NeqxEcI?= =?us-ascii?Q?0TOcyyCklrQMkDzhmq5IbyfCW9wvXbAT8++lIU2FToPCRL+rjs1fN3azLkCJ?= =?us-ascii?Q?gR/iV81YxEiSx7LMIdq+G3c=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB3078.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: be453c94-2eb3-4764-57ef-08d9f7da5c1d X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Feb 2022 21:12:26.9056 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: WYM3r0uU88DeZLmX5WWk7R7U0eKkLTdlByTPiGo24OwXEM9EKaAsC8bYmTg0BbedeHERTFbVHgyBmWXOuLohew== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4536 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 Hi, > -----Original Message----- > From: Suanming Mou > Sent: Thursday, February 24, 2022 3:41 PM > To: Slava Ovsiienko ; Matan Azrad > > Cc: Raslan Darawsheh ; Ori Kam ; > dev@dpdk.org > Subject: [PATCH v4 00/14] net/mlx5: add hardware steering >=20 > The Connect-X steering is a lookup hardware mechanism that accesses flow > tables, matches packets to the rules, and performs specified actions. > Historically, mlx5 PMD implements several software engines to manage stee= ring > hardware facility: >=20 > - FW Steering - Verbs/Direct Verbs, uses FW calls to manage flows > - SW Steering - DevX/mlx5dv, uses WQEs to access table memory directly >=20 > However, there are still some disadvantages: >=20 > - performance is limited, we should invoke firmware either to > manage the entire flow, or to handle some internal steering objects >=20 > - organizing and preparing flow infrastructure (actions, matchers, > groups, etc.) on the flow inserting is sure to cause slow flow > insertion >=20 > - security, exposing the low-level steering entries directly to the > userspace may cause security risks >=20 > A new hardware WQE based steering operation with codename "HW Steering" > is going to be introduced to get rid of the security risks. And it will t= ake > advantage of the recently new introduced async queue-based rte_flow APIs = to > prepare everything in advance to achieve high insertion rate. >=20 > In this new HW steering engine, the original SW steering rte_flow API wil= l not be > supported in the first implementation, only the new async queue-based flo= w > operations is going to be supported. A new steering mode parameter for > dv_flow_en will be introduced and user will be able to engage the new ste= ering > engine. >=20 > --- >=20 > v4: > v3: > - rebase to the latest version. >=20 > v2: > - New HW steering low-level abstract code added. > - commit message improvement. > - add protection for rte_flow and rte_flow_async callbacks. > - rebase to rte_flow_async v9. > - fix some rte_flow error not filled bugs. >=20 > Suanming Mou (14): > net/mlx5: introduce hardware steering operation > net/mlx5: add HW steering low-level abstract code > net/mlx5: introduce hardware steering enable routine > net/mlx5: add port flow configuration > net/mlx5: add pattern template management > net/mlx5: add action template management > net/mlx5: add table management > net/mlx5: add basic flow queue operation > net/mlx5: add flow flush function > net/mlx5: add flow jump action > net/mlx5: add queue and RSS action > net/mlx5: add mark action > net/mlx5: add indirect action > net/mlx5: add header reformat action >=20 > doc/guides/nics/mlx5.rst | 19 +- > doc/guides/rel_notes/release_22_03.rst | 1 + > drivers/net/mlx5/linux/mlx5_flow_os.h | 1 + > drivers/net/mlx5/linux/mlx5_os.c | 22 +- > drivers/net/mlx5/meson.build | 2 + > drivers/net/mlx5/mlx5.c | 55 +- > drivers/net/mlx5/mlx5.h | 66 +- > drivers/net/mlx5/mlx5_devx.c | 10 + > drivers/net/mlx5/mlx5_dr.c | 383 ++++ > drivers/net/mlx5/mlx5_dr.h | 456 +++++ > drivers/net/mlx5/mlx5_flow.c | 721 ++++++- > drivers/net/mlx5/mlx5_flow.h | 287 +++ > drivers/net/mlx5/mlx5_flow_dv.c | 186 +- > drivers/net/mlx5/mlx5_flow_hw.c | 2337 +++++++++++++++++++++++ > drivers/net/mlx5/mlx5_flow_verbs.c | 7 +- > drivers/net/mlx5/mlx5_rx.h | 9 +- > drivers/net/mlx5/mlx5_rxq.c | 85 +- > drivers/net/mlx5/windows/mlx5_flow_os.h | 1 + > 18 files changed, 4468 insertions(+), 180 deletions(-) create mode 1006= 44 > drivers/net/mlx5/mlx5_dr.c create mode 100644 drivers/net/mlx5/mlx5_dr.h > create mode 100644 drivers/net/mlx5/mlx5_flow_hw.c >=20 > -- > 2.25.1 Series applied to next-net-mlx, Kindest regards, Raslan Darawsheh