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 CEF2E4416A; Thu, 6 Jun 2024 14:33:28 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DBFC5410E3; Thu, 6 Jun 2024 14:33:24 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2067.outbound.protection.outlook.com [40.107.94.67]) by mails.dpdk.org (Postfix) with ESMTP id 2C518410E3 for ; Thu, 6 Jun 2024 14:33:24 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BG1oGyqKq3j3+FGXvxEoowI/Bb5OGH1htd8wPU5fRj+FRA0pf/PSoA/Q7UzsFbDrFJ5zmNtY+fn7Z8xTbuFRE3hb1zsJ1aAD6KwBpZi4IIxdR5TMmZKDsDs3XBdjcK4b4n1Hc6CrZlDYWCBmJ0TOL9ybBQ1phvlZTnjkR164MJQwSvwFf8OukosBl68Prx+D4z4ffLvwX1S5Q27WsIU2Y5bL3FGojGXZEPQWGkTSwxFhY3Y94aVHwJ8bIi6IocQ8TcJqNShFKCSJBFEvW/UgLaxbgSLRmumbQinIej70pbT2NCF40Ns5H3WfuXENErkzc28jTAasct4cJnDfM3KkAg== 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=/uMrsZLHgbTmPDfDHE5RcdDKm54iZP21Fwk/bcOHv/c=; b=dcJaI+FwjAOSkmZHtT/YDUPjC7cVh3N8HBLIaZbcmuVkO99qi8zwR3VCqBtM6PGumnTFX29z2qQOjpDc+EJq4pIk0AfV4sfKprlPCc2xn4IKaqeQfTQSxgDXxvPUk7dnaW/TYkPn02xaZBrQhaHunlhJO5GMG5Zr6pxkik7gSYgyGyJ360Mtb3r6oCYUwX637pu+hv6WS3onISwyvqaPJbH9eZb03mrNL4709Bs4Yszyx4jkowbJWLOjUcksGrruwEl8KP4b8I4P84D+YPNqO+Vicu9wOlmFrbaJm1Wlv+5dVobpMxei500ArQcbApQUg9IdMnfZBEETGssjUU6dQw== 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 (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=/uMrsZLHgbTmPDfDHE5RcdDKm54iZP21Fwk/bcOHv/c=; b=PUYCu6HLgsCASHO6TUmS672lodW9uSiN1NQLyQ9Yk+Asx420qydNILxau8CiApZwj3PpzLHs4ELNrmkjgYmgDqtHzv91h37TAOae5qdFLqZHT9z30dNvYYYvPzTvnIW9Kzge98D07KfjDTCn5zl4OZDoO2bFvC31xSRe6cbbWw4xXm21Gs4rGR51n70St6zhNVXfiijwDesGB8dMiZpcGeQTkeQMifDSdLCI5GWLJVR2VQab49FFksyaEl48pPzGMm8ma4RBKhDAsyp9VRHExZosTOm6knYf/XTr662NjBeplZDUN7J3n/+v/LwwMbgID107u2FNgTa0tmBywqjelg== Received: from MWH0EPF00056D12.namprd21.prod.outlook.com (2603:10b6:30f:fff2:0:1:0:15) by CYYPR12MB8751.namprd12.prod.outlook.com (2603:10b6:930:ba::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.34; Thu, 6 Jun 2024 12:33:21 +0000 Received: from SJ1PEPF00002319.namprd03.prod.outlook.com (2a01:111:f403:c902::2) by MWH0EPF00056D12.outlook.office365.com (2603:1036:d20::b) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.6 via Frontend Transport; Thu, 6 Jun 2024 12:33:21 +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 SJ1PEPF00002319.mail.protection.outlook.com (10.167.242.229) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.15 via Frontend Transport; Thu, 6 Jun 2024 12:33:21 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) 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.1544.4; Thu, 6 Jun 2024 05:33:10 -0700 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Thu, 6 Jun 2024 05:33:10 -0700 Received: from nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4 via Frontend Transport; Thu, 6 Jun 2024 05:33:07 -0700 From: Maayan Kashani To: CC: , , , "Bing Zhao" , Viacheslav Ovsiienko , "Ori Kam" , Suanming Mou , Matan Azrad Subject: [PATCH v5 02/11] net/mlx5: add dummy last action Date: Thu, 6 Jun 2024 15:32:47 +0300 Message-ID: <20240606123256.177947-2-mkashani@nvidia.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20240606123256.177947-1-mkashani@nvidia.com> References: <20240606102317.172553-1-mkashani@nvidia.com> <20240606123256.177947-1-mkashani@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00002319:EE_|CYYPR12MB8751:EE_ X-MS-Office365-Filtering-Correlation-Id: 0a3d5d78-d239-485d-1a1a-08dc8624d9ef X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|82310400017|1800799015|376005|36860700004; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?g5+xabOE1sE0FoKCnR9Z6xSKH8Oo2y9H0n4/qO9WRYhx1Wsava8/Yvoymb15?= =?us-ascii?Q?mS7TTer9RRIgnqSgGN7RgbCvtS41P0M9MY9uL9MR4gN3Qq5lzmcnS3cAXwCM?= =?us-ascii?Q?MybwOFh0GPPSsHE3F7RqKPZMTniN5NZhAOESWK/1SFSnOLfoPK2/OZGG4qUo?= =?us-ascii?Q?4eTkLzIbAdGePPzDnwOGODKkyixhOCgP+Cbo8rw6rh7lAyZXojvCEDx7Xojt?= =?us-ascii?Q?FQdV3HhfH2U1B3mJrLAA0NIVZ3c9CUtwTB7ZMFvqjnV6i0LGOxIVbL6+FLt6?= =?us-ascii?Q?DKJ6XVxXQp+eQJQEl2tJMlzqXNb7+e3HY/ZjGUGEHkhooTPFb8xapojNvuOY?= =?us-ascii?Q?0belFq+RBo97FJE+o0Xz6HNYN30fKWrvqdbUR8DiU48OBfEmW1tqVrc3Xydx?= =?us-ascii?Q?8WBtS0VeGF5P2pgBLueaE1svmB2qpu8uCnLBn1m1Awx8IvQ6fXwY4vsLETEK?= =?us-ascii?Q?LP/ga131EX0t0ecrk/Y/dfbzguHoNEdfbIQoGmMer6CRo0gn+y3n6u/nqLUh?= =?us-ascii?Q?paOttD3zhN85xusKcyxsPi3rPxkGtuIAfM/4Q/9v259xmcKj5tl0GooUINJ5?= =?us-ascii?Q?+zaLeIrWxA5LTx10+gzfucAH+oAuYq+AQKsBkllTqnLTyVIDGaUU3kjwcqqU?= =?us-ascii?Q?Y+k1AkKp/19c364CRv9OERGWLOaOjJEQmI+GWeEK5kcWPNtfJn7QXFz8ykFp?= =?us-ascii?Q?ane5y4vBPJKHS9cLll5pWnOpD81OIdSa2KQvJle3e+pHnNe+oti0uRCtKnCE?= =?us-ascii?Q?Cz7ovissyGZS+KCqOyVlzZ9KL44NlleTzK0E5usU2KI+v7S+qb/Lh9rNdVrw?= =?us-ascii?Q?V3l4avLCrPMwun7St9m1mP5WyfU0NgcwFARwS4Q6OEqjXIslRhAJqN1pL2Nm?= =?us-ascii?Q?hUOg5Obxr7PX5TxFMWVWVGZu4vSHLRK2zSvZyNn3aESObSFj5fUmk3A6pK1m?= =?us-ascii?Q?NGdh8JIU1XNOLUFlNZpObqItZu42o6hmWU5xmVr7sjcXRwQDXyC9Xt2wFoem?= =?us-ascii?Q?h+DBnycxHw/tpHut+s1aG+faa1oFBuFavmAJ9Eha9ACTo2htcanUwPDQOvOO?= =?us-ascii?Q?OkLQXXhwzflkVMf+EWC/OGBeXTApUHJeuXBt2Aw3TWjVarh8mpnSv2PKok6E?= =?us-ascii?Q?2EdoHerXJIjLBNdm5DJu27xey6lvC60YEJDyAEud0N/71ReL/qKaWg//9kch?= =?us-ascii?Q?Hstanznt0U0B1Can+0jNZNiRooW5m6TTAU+wFABflD0uFfh07xtaXsKhxuiK?= =?us-ascii?Q?y3uN2Ua+ZQbh+ddRrM6I3TlhKGJXNjXBEAepHRR7CkQSdBuKM3RmLQNJC0Z5?= =?us-ascii?Q?kofeMZknjyYVbIr54Edhc5CtUCWZS7xqQ/8xLCPxbQPjVP3INGmI7SsshvlF?= =?us-ascii?Q?kxcq9rZ7EBg7TaLm3YDSecfhkO+ICYYTjNH5NfV3xIJZBX7tbg=3D=3D?= 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:(13230031)(82310400017)(1800799015)(376005)(36860700004); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2024 12:33:21.2413 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0a3d5d78-d239-485d-1a1a-08dc8624d9ef 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: SJ1PEPF00002319.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8751 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 From: Bing Zhao The RTE_FLOW_ACTION_TYPE_END action needs to be translated into the MLX5DR_ACTION_TYP_LAST for the future usage. It is only needed in the hardware steering backward compatible API. Signed-off-by: Bing Zhao Acked-by: Dariusz Sosnowski --- drivers/net/mlx5/mlx5.h | 1 + drivers/net/mlx5/mlx5_flow_hw.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h index a6ff1f8ac0..69e0dcff4c 100644 --- a/drivers/net/mlx5/mlx5.h +++ b/drivers/net/mlx5/mlx5.h @@ -1529,6 +1529,7 @@ struct mlx5_dev_ctx_shared { /* Direct Rules tables for FDB, NIC TX+RX */ void *dr_drop_action; /* Pointer to DR drop action, any domain. */ void *pop_vlan_action; /* Pointer to DR pop VLAN action. */ + void *hw_dummy_last; /* Pointer to the DR dummy end action, any domain. */ #if defined(HAVE_IBV_FLOW_DV_SUPPORT) || !defined(HAVE_INFINIBAND_VERBS_H) struct mlx5_send_to_kernel_action send_to_kernel_action[MLX5DR_TABLE_TYPE_MAX]; #endif diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c index 340ca5acb1..8bcef4c58d 100644 --- a/drivers/net/mlx5/mlx5_flow_hw.c +++ b/drivers/net/mlx5/mlx5_flow_hw.c @@ -11219,6 +11219,17 @@ flow_hw_configure(struct rte_eth_dev *dev, if (ret) goto err; } + /* + * All domains will use the same dummy action, only used in the backward + * compatible API. Initialize it for only once. No order dependency. + */ + if (!priv->sh->hw_dummy_last) { + priv->sh->hw_dummy_last = mlx5dr_action_create_last(priv->dr_ctx, + MLX5DR_ACTION_FLAG_HWS_RX); + if (!priv->sh->hw_dummy_last) + /* Do not overwrite the rte_errno. */ + goto err; + } if (!priv->shared_host) flow_hw_create_send_to_kernel_actions(priv); if (port_attr->nb_conn_tracks || (host_priv && host_priv->hws_ctpool)) { @@ -11297,6 +11308,10 @@ flow_hw_configure(struct rte_eth_dev *dev, flow_hw_ct_mng_destroy(dev, priv->ct_mng); priv->ct_mng = NULL; } + if (priv->sh->hw_dummy_last) { + mlx5dr_action_destroy(priv->sh->hw_dummy_last); + priv->sh->hw_dummy_last = NULL; + } flow_hw_destroy_send_to_kernel_action(priv); flow_hw_cleanup_ctrl_fdb_tables(dev); flow_hw_free_vport_actions(priv); @@ -11422,6 +11437,10 @@ flow_hw_resource_release(struct rte_eth_dev *dev) mlx5dr_action_destroy(priv->hw_def_miss); flow_hw_destroy_nat64_actions(priv); flow_hw_destroy_vlan(dev); + if (priv->sh->hw_dummy_last) { + mlx5dr_action_destroy(priv->sh->hw_dummy_last); + priv->sh->hw_dummy_last = NULL; + } flow_hw_destroy_send_to_kernel_action(priv); flow_hw_free_vport_actions(priv); if (priv->acts_ipool) { -- 2.21.0