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 F2A5144165; Wed, 5 Jun 2024 20:36:01 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6DDAA410FA; Wed, 5 Jun 2024 20:35:50 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2075.outbound.protection.outlook.com [40.107.94.75]) by mails.dpdk.org (Postfix) with ESMTP id CDDD6410E3 for ; Wed, 5 Jun 2024 20:35:47 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ujt0bjYnZvZ0rAg1+fXDsrm3rWyWqJuhXo1nrglkC5e7hmCSsIRa20lrgZHaMYfIeQiJ+bfK139NfUQPKuwGiKWBhQDcgQA3m87qt24YgHAVNQ3GI/oPObk9mcOE+4jfe5shPvdaZHm2Fx0OxEQpILVmaSFUhDQiyBnEk04mYVLY6tf+90JV+IYO68933a78jnh79+cjZDn4apTD3hxOUJFc6wl1PHFQx1SHaMFTht7anfRL3nGo/xXwS8NBXXDicYdUDi6FzUrgWX3ruRAUE6BrVlueU32rj1wqGwajmKsNbZeWVMeJ9S7idObBcOUTXSfwRN+/Uo8y3UqPiTN9Vg== 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=rI4XGjM2M4wsvRPZYe0Cb8RZMqrCjMoDGbDKO1uDrfE=; b=MHXxxG0Wylbt70oG/tRfswa6IHx3sIbM4iERDQWnkXwq/Gwrs7Dn6Df+UOGV30PfK5ps1s90pDkeO+tZNlVxIUnDZM1wzoTKLcODr8Rl4T2C2C3JyJI+LRVFRKCYtIa+s3hSA5a24EVBFgy+alTcVVG+L0cA4yIDUZkqWUknMhEVcb2/yD2aFIFmdY7sQKzdQ+qTqGp/P7o+Egmx6FjUY6t0UYYkhpavUndB7M/iTORmLqvI24duQEqeOKJfRZxc+QqE3etPFOBRGGSlIADwD00HCZqMsNLBvI0R6S6tj5Rc2fQndputnKn/IP1JGqsY960eUFQ29eJ3cf26pepqMA== 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=rI4XGjM2M4wsvRPZYe0Cb8RZMqrCjMoDGbDKO1uDrfE=; b=NxgSkxwTveQhNUz4ddFNBTgI193K28wu8etsUryVpsm4VioA8+wdtm9pbPS7H2yNtLHM24c3ThxUegc6rWXRGfb5+ia+KPY9N25IrjZZnDkW5+QjBb2KP8cZXsD9ADlS0k5L/CsRvsvRZT2M2/Oifl84WtGw0K0w77tZqTqjVwEAXvA30jA+ogEa4HiBBmZjy3u+aYSq+Pu6vtPZ6J6PT3nFVeryXJvayQwzJ5RFEouYxWvp+TMEky/xxuhC7EYYdkl7rx1ugP29gjD/QBFakMQ8XZpAmDBc+T6oi5X3ZII/6NAbdOrL7Ye7uInSKFOX/NeHBloikpEvUV9v2TayjQ== Received: from BL0PR0102CA0045.prod.exchangelabs.com (2603:10b6:208:25::22) by SN7PR12MB7347.namprd12.prod.outlook.com (2603:10b6:806:29a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.30; Wed, 5 Jun 2024 18:35:45 +0000 Received: from BL02EPF00021F6B.namprd02.prod.outlook.com (2603:10b6:208:25:cafe::2a) by BL0PR0102CA0045.outlook.office365.com (2603:10b6:208:25::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.30 via Frontend Transport; Wed, 5 Jun 2024 18:35:44 +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 BL02EPF00021F6B.mail.protection.outlook.com (10.167.249.7) 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:44 +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.1544.4; Wed, 5 Jun 2024 11:34:57 -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:55 -0700 From: Dariusz Sosnowski To: Viacheslav Ovsiienko , Ori Kam , Suanming Mou , Matan Azrad CC: Subject: [PATCH 7/9] net/mlx5: store modify field action Date: Wed, 5 Jun 2024 20:34:17 +0200 Message-ID: <20240605183419.489323-8-dsosnowski@nvidia.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240605183419.489323-1-dsosnowski@nvidia.com> References: <20240605183419.489323-1-dsosnowski@nvidia.com> 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: BL02EPF00021F6B:EE_|SN7PR12MB7347:EE_ X-MS-Office365-Filtering-Correlation-Id: e96ea73b-65e7-4e8e-3863-08dc858e4f98 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|36860700004|376005|1800799015|82310400017; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?kYnljFC8rqOa8kzy7ROW0kLDmeqH1aPwUiiSiK8iv+eq3mrJoM2d/beOzye2?= =?us-ascii?Q?990eVxqMRKrtCkTiTr463qRb32D8V4PNEoYOFE7ISaG/fDKY3lIW3OaLOSP+?= =?us-ascii?Q?eXFVOF127aTRZ306EgwV6ujJfJyvHKDeIemkgyrTEFpv8PySjMe9TVBneILI?= =?us-ascii?Q?cAuLRA+qz2RrTtp6wQcJbwLctTEDlt+9DEk1QLoX11dGlbOHoYPQ3+q+AKdv?= =?us-ascii?Q?w9YfDFl+WLQpYWERd1tSdKJRFW/+teqIdvoE3Wfwd/gp1BlJ395Tw00zFawy?= =?us-ascii?Q?EykNyFy7fF/uFLdINs+9VVq1UcNsNjZXX0Tw3RE/qgPiNdRjFySftWqbBDPi?= =?us-ascii?Q?GpKa0KFc6+TIw4TdQjN6w/BtdxYippmyKwxEIRdpXGTxAhHeWHDl+xDS0rR6?= =?us-ascii?Q?ZF0DGE9VXKSn420zqVWmhrTOxsX3PyQ0XW1uoTVpXNElXWHoIxShVhbi5W+E?= =?us-ascii?Q?Qua1G/P2Pxhtzzx4rFKMh1UajID8Lt2cgYOe+b5AFBZpUy+5IHlCmi9NcVWE?= =?us-ascii?Q?TfT2RcDvDlQaAWdPkXtziN00h0G5fWio1Htdkm9Aj4/qMxLbN4XaMETQVj5F?= =?us-ascii?Q?jEnzJ/GwsZ0yuI+gQSvZePZn7V/sJ1du01MWO66MnXJ9cwLlXLbN3ie3NVvw?= =?us-ascii?Q?ki7ZaoMdxYwz+wQfBOGKD0Nmmnu3xePDTF9cE7MEqt2TiTXr6/TmZT6Y0ZOM?= =?us-ascii?Q?iO8DUP07VEs7TWeV6R4uA1Mm4S40CeGQ2cEGRpSTAgYW2lNMNefIngqvR0o1?= =?us-ascii?Q?aVzoc6t7uGt5hgSvCEh3f7mHzIli+UCxpHcWgAS+s0hGybSLlppYEMVzF4ov?= =?us-ascii?Q?CuHoAY7HLJguMjXx7kj8wwLtd/JnEoQYIByCGmoSilC2SX4gpWV7ner9oXvO?= =?us-ascii?Q?uM9Vd9EysH0oIbtIYT4T5/O4Zjh61lIBqF+7dqL76C1lOku8L9V0pOS9aI7w?= =?us-ascii?Q?NR7G0l3wFbiz4jxKDWJKrmk3B1hzaUsFTD3J4LubU/0rYZH9vPrGaWV1Z4rV?= =?us-ascii?Q?DmKakwrg/ODFEOe6+0b0pTM+iRpNJnyOwWkXpfdV3THNzMUH5HCae57QR49B?= =?us-ascii?Q?D1t5oxVDCGnHN6stID1nHzhEMd/pFSPcaXVPFJC6rEV8bfskloIcYtVkZMsW?= =?us-ascii?Q?BCt5Fcvtn8MassyTqeArzM8qfojf28zTOQVYlPEgtFRS/abvEuTgaTW8ktxx?= =?us-ascii?Q?MDPnSA8LCkjgqlYDzxKr9LFgvw9RK0XzHeRjW1UlQwdsfSoFPkZp78Gif6sh?= =?us-ascii?Q?AcycF/dMl9+al3FjE5kJzt7mRvtJ60sjxquPLO2XLNuZUWVzI3JYPHLQefWP?= =?us-ascii?Q?4y9zHIqa/pjOTWoaFM1qK1DTy+XfNtEEle1UxaUrstjW1Bnc6CAux5+AjiJ8?= =?us-ascii?Q?8lzG/fF3Y8+UaI49rnS60bkM6zN6?= 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)(36860700004)(376005)(1800799015)(82310400017); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2024 18:35:44.4806 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e96ea73b-65e7-4e8e-3863-08dc858e4f98 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: BL02EPF00021F6B.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7347 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 When template table is created, list of unmasked actions is recorded for future flow rule insertions. This patch expands entries for RTE_FLOW_ACTION_TYPE_MODIFY_FIELD actions in this list with a copy of the action from the template. This will be used in follow up commits which add flow rule operation validation. Specifically, to validate that RTE_FLOW_ACTION_TYPE_MODIFY_FIELD action passed by the user is correctly configured. Signed-off-by: Dariusz Sosnowski Acked-by: Ori Kam --- drivers/net/mlx5/mlx5_flow.h | 2 ++ drivers/net/mlx5/mlx5_flow_hw.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5/mlx5_flow.h index cd6fed4723..5ea3f22a2e 100644 --- a/drivers/net/mlx5/mlx5_flow.h +++ b/drivers/net/mlx5/mlx5_flow.h @@ -1439,6 +1439,8 @@ struct mlx5_action_construct_data { * PRM actions. */ uint32_t mask[MLX5_ACT_MAX_MOD_FIELDS]; + /* Copy of action passed to the action template. */ + struct rte_flow_action_modify_field action; } modify_header; struct { bool symmetric_hash_function; /* Symmetric RSS hash */ diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c index 5e9d43ab22..a04e8647cb 100644 --- a/drivers/net/mlx5/mlx5_flow_hw.c +++ b/drivers/net/mlx5/mlx5_flow_hw.c @@ -883,6 +883,7 @@ __flow_hw_act_data_hdr_modify_append(struct mlx5_priv *priv, enum rte_flow_action_type type, uint16_t action_src, uint16_t action_dst, + const struct rte_flow_action_modify_field *mf, uint16_t mhdr_cmds_off, uint16_t mhdr_cmds_end, bool shared, @@ -895,6 +896,7 @@ __flow_hw_act_data_hdr_modify_append(struct mlx5_priv *priv, act_data = __flow_hw_act_data_alloc(priv, type, action_src, action_dst); if (!act_data) return -1; + act_data->modify_header.action = *mf; act_data->modify_header.mhdr_cmds_off = mhdr_cmds_off; act_data->modify_header.mhdr_cmds_end = mhdr_cmds_end; act_data->modify_header.shared = shared; @@ -1372,7 +1374,7 @@ flow_hw_modify_field_compile(struct rte_eth_dev *dev, if (shared) return 0; ret = __flow_hw_act_data_hdr_modify_append(priv, acts, RTE_FLOW_ACTION_TYPE_MODIFY_FIELD, - src_pos, mhdr->pos, + src_pos, mhdr->pos, conf, cmds_start, cmds_end, shared, field, dcopy, mask); if (ret) -- 2.39.2