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 CE5F744165; Wed, 5 Jun 2024 20:35:32 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9BBCC40EAB; Wed, 5 Jun 2024 20:35:20 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2041.outbound.protection.outlook.com [40.107.220.41]) by mails.dpdk.org (Postfix) with ESMTP id 25A6640E54 for ; Wed, 5 Jun 2024 20:35:19 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JssoWxWoQHwgyXIarcjHRORurZpsqMv/2NNKHyeN9ovPKhnDDWQbytIgycZYOcGRrbuY24bNnTwHA7BS2eVPLzIWV4d0nYdIM/KrvzFNPEDghllejnKs2yRaj3KUP+hc/r+RU/3+ir7VzanurKkXQNmV9vhodRtzthE4WOZ6EZT2Btk3F37KMImZHriUaLlg9mR2cPlbc683a+KH05nID0mL/frr6FiGtBWptHPeFqOFM/GBF026fzGX8SThqGnMNv+1CgaFeBGiOw8wk28ZeyD7OUxFPNMG8hhgUkBNnQRKkWSCFfnz8GcL6MSs2jneJUvyXaOJlUoDyS4cGt4TNA== 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=mLuxzox/GbPWDxoQrRzqWntIXG8I+UE5BPNXdgEH220=; b=gVm8o2LYMt3cecVcHOAaVgffL7ISCdN+LsadlbNyNjs0mkc0Cbd5VhE8EhcAINV0daqpgPEbpNDL4Zgt8fflmKF+bedotyomRhBonvhJtRTT4EkOgaB/WbXGnfzyBUx/eV/saU/37DrZwPGa4xpoFSeMy3JRJh+3qPjDDhrw554kf8bleQmRcHHf3X+66xQEYJ5npIihTk4HqqwounupQugWuMI7dPpazPl0W/sqgZ4X740Sgml9EqBqjbaGPpMCasypP37dXquir8KhoM+N3hcAZ9PHYYcmUz2b3C5kB0D8LRJ7E9LBGZiZo7/0Tmo9xmj0CW2FmrpPBrlfBo5HwQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=monjalon.net 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=mLuxzox/GbPWDxoQrRzqWntIXG8I+UE5BPNXdgEH220=; b=nkl5reV29JhVjj8mpEwkaCuedaV4/l7h2Uxoo62oy53Mue4NGiyjBYaTyXxmxB7uC2OVqubG5Rwy+nOgj71M//HF3BPoStHXWS8MJwRvjD+ep6pZjCeCYpIO50wFU8DeFLbgu4zaW1r5ezmhpgsAVi0JOis6R1WIXj5K+xDz6x8AlrTo1ZxsFBtxB90opj8QYKdBSnTFPQxZarAFga69kNfpaPq6QMDGF8qOeDzODe52PAssxmxrmpzDCMmrGPArYLJmkbNmPS5Ip+ySoXgWg7gdFfUx2s3Zw7nDAax+guKZe9MfoxcIeeU1Mu5egeSrZLlPmEknzMrZXp856Qeidg== Received: from BN8PR04CA0065.namprd04.prod.outlook.com (2603:10b6:408:d4::39) by CH3PR12MB8210.namprd12.prod.outlook.com (2603:10b6:610:129::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.31; Wed, 5 Jun 2024 18:35:06 +0000 Received: from BN3PEPF0000B078.namprd04.prod.outlook.com (2603:10b6:408:d4:cafe::a0) by BN8PR04CA0065.outlook.office365.com (2603:10b6:408:d4::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7656.18 via Frontend Transport; Wed, 5 Jun 2024 18:35:06 +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 BN3PEPF0000B078.mail.protection.outlook.com (10.167.243.123) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.15 via Frontend Transport; Wed, 5 Jun 2024 18:35: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.1544.4; Wed, 5 Jun 2024 11:34:42 -0700 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.1544.4; Wed, 5 Jun 2024 11:34:39 -0700 From: Dariusz Sosnowski To: Viacheslav Ovsiienko , Ori Kam , Suanming Mou , Matan Azrad , "Thomas Monjalon" , Ferruh Yigit , "Andrew Rybchenko" CC: Subject: [PATCH 0/9] net/mlx5: flow fast path validation Date: Wed, 5 Jun 2024 20:34:10 +0200 Message-ID: <20240605183419.489323-1-dsosnowski@nvidia.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.126.230.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: BN3PEPF0000B078:EE_|CH3PR12MB8210:EE_ X-MS-Office365-Filtering-Correlation-Id: c10cb3db-95a8-470d-7d47-08dc858e38b5 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; ARA:13230031|1800799015|82310400017|36860700004|376005; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?yxRU9VS+voHWMRyW9kxjrGGUFYhDHTMGA5B7vcFtL/uB/qyECrl5mCwchNMR?= =?us-ascii?Q?ZO0YTch/4zs8Bqnsmb5rTMAYbN3/GboC5W+57ZLYymyFo9wkLNoAeW4Ad7e5?= =?us-ascii?Q?2BEGybrvFWAuBWI1OIHoml8LjmpQL83DKqFl8zueuU28ZSpUkTnFNoNr36rz?= =?us-ascii?Q?xQbVeDhONPLE74sFz8HcD/Tu3BpZPhj8bqGFzttO+8q0cNpjIW50GiUz7JTD?= =?us-ascii?Q?w+ypPczBE5Nj1b+K0BuCKgTfOhU8iMRA/TaB57YsDTHZNkguWvSPXaKY6nIt?= =?us-ascii?Q?fS1ngVOQMCA1WQSmWyIa2jQ8xXYJwVlrgiowBaHOh7yRalDjUmsFRSBwXK8D?= =?us-ascii?Q?3RDCepqUuKeiovV/8LVXonZCT33MvM7vSRwOwlDZ9NUHVm2+mLKb2rVlZuXS?= =?us-ascii?Q?uZYB3vLLCCkvqBcYTGxMFh84Ra+K+sVrMAXTI0zZnSlJZ5V+SMqH1AhYe658?= =?us-ascii?Q?rDpexHeWNKw4aPWog4hIjreYcYNJNv/rk2Vfbk9a7q422H/lmv7x6gS1wM0i?= =?us-ascii?Q?WNSkDDXaMqOP6twU+FPs/V2fUTUnAs+gtMLGMQgV3L4LZuH6YzjSC7Ltvwpg?= =?us-ascii?Q?jhlqPwA7YlN/zrb0/4N4qoSwJDfnWP2mO7EOnyFcerSiKsj4ahX8C+Wq0pOY?= =?us-ascii?Q?26TQcLGlYzObPHQJk00nZdjFezvBrbR5dStZyHcLBSX4ytJBdQClQa/N7BZr?= =?us-ascii?Q?6Y65iIuXZLF2HTKmshz7bywn67oCly96ZZTHfFzCPo7pz7Xht3+kjx3vj4Oo?= =?us-ascii?Q?fzYSiw8u/4ChqZZtlr+3zFS0yprJ9GJPcCsmPXhZApzL2WBYupCNaJMtMNc2?= =?us-ascii?Q?mtAc4cSC8NodCZ7XvdYMAPNMovCbpCCmTV3d9rOOugWLHVVgXsAf9r6rl64n?= =?us-ascii?Q?Veyy+T3mB4OMfI4mxYlguO50eSImKSg/N76fcBb3ufL4TCRKI9Ffo7rXRZuS?= =?us-ascii?Q?gbH9UpUyJK6jjPI74isbWEKQcJ7PuyZcyBxcyfk1zKz2yQeLbOw4vkLXotuu?= =?us-ascii?Q?2Xw4nHmLWOF6ECwoJ92cBoOrVD7i1Iv5s7KjFpxpFn+y13WVELcWd7nMC0VZ?= =?us-ascii?Q?r4FpZpmoPpUZCUOUvoXbUZOGoI4RsxCGWGYv01sKsY6J90uYMZfitQInhoKE?= =?us-ascii?Q?npZQU0F7SLug0IwgobXFuPIYVvdcD4xn1oWqN0qywV8lwE+twzh04edpyRel?= =?us-ascii?Q?hBe6yjlk378rqRQg/4TMLsc5Pwd9DoUvFA5q+/ngWscet2NPAnzKu4YiUDwK?= =?us-ascii?Q?HkcenV17an2BKujPiLoZO37PdgiAyDM1vTmzikGyhygd5bmdQ5A6B2RL/bSS?= =?us-ascii?Q?qMzLs9FCzDApczV2i3e3OvNeHIhMudTNkYh0pqoIpXu4HBvs+xqvzQFFinA2?= =?us-ascii?Q?xVfESBADHmjc44KR+pOMwKTAb8eH?= 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)(1800799015)(82310400017)(36860700004)(376005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2024 18:35:06.1004 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c10cb3db-95a8-470d-7d47-08dc858e38b5 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: BN3PEPF0000B078.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8210 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 patchset adds validations for flow items and actions supplied by the user to fast path async flow API functions implemented in mlx5 PMD. - Patch 1: Adds the ability to generically calculate flow item's mask size using rte_flow_conv(). This change is used in follow up patches to check for non-zero mask in pattern template. - Patches 2-7: Prepares mlx5 PMD for adding fast path validations. Specifically: - Required functionality for validating queue indexes and target represented ports are extracted for reuse. - Additional info, required for validation, is stored in pattern and actions templates. - Introduces mlx5_fp_debug_enabled() function for checking if mlx5 PMD was compiled in debug mode. - Patch 8: Introduce validations to: - rte_flow_async_create() - rte_flow_async_create_by_index() - rte_flow_async_actions_update() - rte_flow_async_destroy() These validations are enabled if and only if RTE_LIBRTE_MLX5_DEBUG macro is defined during compilation. Depends-on: series-32087 ("net/mlx5: add match with Tx queue item") Depends-on: series-32080 ("net/mlx5: validate HWS template items") Dariusz Sosnowski (9): ethdev: support duplicating only item mask net/mlx5: extract target port validation net/mlx5: extract queue index validation net/mlx5: store pattern template items net/mlx5: store original actions in template net/mlx5: store expected type on indirect action net/mlx5: store modify field action common/mlx5: add debug mode indicator net/mlx5: add async flow operation validation doc/guides/rel_notes/release_24_07.rst | 1 + drivers/common/mlx5/mlx5_common.h | 13 + drivers/net/mlx5/mlx5_flow.c | 59 ++- drivers/net/mlx5/mlx5_flow.h | 12 + drivers/net/mlx5/mlx5_flow_hw.c | 620 +++++++++++++++++++++++-- lib/ethdev/rte_flow.c | 15 +- lib/ethdev/rte_flow.h | 12 + 7 files changed, 682 insertions(+), 50 deletions(-) -- 2.39.2