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 AE468458A7; Fri, 30 Aug 2024 13:29:05 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 63DCF42E91; Fri, 30 Aug 2024 13:29:01 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2103.outbound.protection.outlook.com [40.107.94.103]) by mails.dpdk.org (Postfix) with ESMTP id C4DAE40268 for ; Fri, 30 Aug 2024 13:28:58 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Yhp5Kui7Vhmnnya2HZpoMelfuAzFa1fbvbtLzgeQLrVXpIqP4x17LqfChZU9a1VoVNghqw/sqPDFgdjMRQKxgrUPf3dWwBLeEUZOYZ5ziZ22aqE1x2lcTsmlwbBo+1Q39SzOHP3il78xQxn/UGFi/9N+2lNzeFmul4OAiwGS7V6jwkrmcFs/ur755CpTqjH+FDwfz7jLejhmuwyAOlQKP2z44L2ZLhTC3D7+M90qWZ1WuW4DlyyhFmpSHll4qJhg3Te7Nn4LQ5A2tggZRZ3GEgyLPPh1M2hxC27iF59Oi4eJI6jO8ok6PvHFvIUOh/AGoQu98Iochkk3YTCwPkLlAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=+2m1SVnaVi0DJDRYfxprrFePPj3hVLzDY0l5fiXnsoQ=; b=n6RrXQyV7q8UTxyXNX7ySJAsx4VWcP5gRxJbOfWsk5c+h+H2NDzmVKl4MP2ipS28pZXaVoEfVAvryIhgLJvQn92O9a/6+xeVBeoc3997dNP3vP9FhNutcBNKb86t9YS1mp4wHqR5wkkh2ziaj9ifOsDlK0KNnVl97yRc81TGh931tQDlAc0RlYEK5CqiSr0/BSqrAILOX4yTO2I/mtKBazYOTxc9k8h++BdCAe4u4Xyok/hDkNZZ9l7jUXM1LwsiSGcgiRrCbTLZLz0Dlndkz7dP6aQi0/mGIL4M6W52NCB1vu6oLkQwgm2m8KCnGzLRrXsyfHMJdMzExYqIM12nEQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+2m1SVnaVi0DJDRYfxprrFePPj3hVLzDY0l5fiXnsoQ=; b=AxKqs7kQL9/YXIi9jKjFRMLSx+oiecfcsiCLp1fORszSilBO/bf0gp79hOlvrDNNUqoI61mLSqt6Fa/mzEMjM+CBhM1rg9Xa6QbtaL2gTYRW9JoCMdc6/7Iwmy6QSx8WeWUJvLPnmcLJmPI67dUYVPqPhuQgwkJLplr/986i4iA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by MN0PR13MB6790.namprd13.prod.outlook.com (2603:10b6:208:4a5::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7897.22; Fri, 30 Aug 2024 11:28:56 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::b900:5f05:766f:833]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::b900:5f05:766f:833%4]) with mapi id 15.20.7897.021; Fri, 30 Aug 2024 11:28:56 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Long Wu , Chaoyong He Subject: [PATCH v3 1/2] net/nfp: refactor flow item calculate function arguments Date: Fri, 30 Aug 2024 19:28:28 +0800 Message-Id: <20240830112829.2586795-2-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20240830112829.2586795-1-chaoyong.he@corigine.com> References: <20240830071323.2581557-1-chaoyong.he@corigine.com> <20240830112829.2586795-1-chaoyong.he@corigine.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SG2PR02CA0104.apcprd02.prod.outlook.com (2603:1096:4:92::20) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|MN0PR13MB6790:EE_ X-MS-Office365-Filtering-Correlation-Id: 6d24dd4b-8384-4fdf-f821-08dcc8e6ef38 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|1800799024|52116014|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?hJzPzs6ip7ZCbaMfh3zeFSqAT4ZmneV4R4ll9S5La21Dh2nPzrdmn5nDUNZl?= =?us-ascii?Q?1MkXxUTsCePiPreWbmU+7lAkV2UIYrYVzj4ViBpEyAwqbS4z+TVifU5WuQjC?= =?us-ascii?Q?pK1eYEgWLyoReI7VazIriuWfCjC9Qq2csNHtGsACA51dyPNdBPwLM7gsO4C6?= =?us-ascii?Q?NO5t4yjxBX5/yY6AiFjblzJxpkQixm6cc+kIMuKDo+B6cogU356eO3ZLO7Bx?= =?us-ascii?Q?7Uo3aRMBDNx3EyI1cCRerKugVLm1lOKiqFPuHPnPVDxpPNaceAHVvdlXptkk?= =?us-ascii?Q?19TJLGNCSociFvxl2iWsWXEk0l/usU/xPlfW08Jc2i0NCdc30fXbx488YSwv?= =?us-ascii?Q?Omq9f7Iw+XZqrK8mLML7LsmyrWKeFrFsXrxFX2G/1fiSFB75JpaAx8KL3pA7?= =?us-ascii?Q?v/AOGxCQ0cCDSj8ZUHHtvJvjtpRPcGeb7rIk9/nszt+pQb+EyLqTWmsEFC19?= =?us-ascii?Q?+D3/rAjmzeMSoEqF6zlJGb8KPfDAqw4fhTPtm5fDfp7ki9XUQBrs+DcISXlN?= =?us-ascii?Q?ccYazYj0e6FX6eapCTl37PTnjquioXfp4Mv38/830xLyDWJbVITO4Hzh5q5u?= =?us-ascii?Q?JsuG4mFArpJzvp+C81BMe/I+DB4znsfdLWWqQ5+yJCgMbdK77jO79NpOJTwo?= =?us-ascii?Q?4hHjQQ6ogGa3DA5Rmqz916EKrN2nBVQ34f9sGa7P5CR96Pm82oW7Z5BBHP5/?= =?us-ascii?Q?h5mCeYzyJ3Ib1+EHenVsxDvK7IznYWrJS7zOyZ6W7+3jwJULjmVqLfMG8XA/?= =?us-ascii?Q?/JEPGFQxHVY2A1+JPX9H83G/UuGIDtU7wY4cE8LJaOrYopQ+31+iJjeXaUKL?= =?us-ascii?Q?CS4V1RLxGNerZpmZTiCSR/QnyXGGMBdZ3EECHd1VTvIutwFLfzLxAvWWabnF?= =?us-ascii?Q?HWKuDzkYVf/xvCKZs450A/fAnf4tTxYE57QksJ5zlRC50BkrO99A0C5DOLOO?= =?us-ascii?Q?dIKE5vP9Gwi7crdoqELh4IMAMXXJH1UlxBcm3IVm07FtEKLL9vApSzosQ8OB?= =?us-ascii?Q?iDcxHCcsXUZVfccDfGZr95/zVZKwxjpjgGQE9vHA1FOrf+v1eNBbtWwm6TtY?= =?us-ascii?Q?TlxFWxUQr2+E7MO8ou1vfoc4irzynPPCT14CSS/a6a2+YogACuErFIEu/r76?= =?us-ascii?Q?LUTcox8fa/5dcLckRHjTr8YyWwN+hStsSuKFYrnwPQ8j3PSZyWnMcv6SaEVZ?= =?us-ascii?Q?9ljfg50Uq6JMPAUQZPgESmXpEqBNNMTvmFzzmYxAGX84KQM2S6iIdTHgbe5H?= =?us-ascii?Q?6Eq7IA5W7b2WlpBzQKM+JBV9e2ZuX4kC1oD7clSc4hk0VM+Y3jobWmaMACBr?= =?us-ascii?Q?CXRInx1/rfwAGJMBQT05jvR0Z+7P0lP7IPJi5u/6nzspI7XDZraHnsovFTag?= =?us-ascii?Q?NO0K1Uq9h2ZN0tWXZURuK60EPJO2jWlrXb1BzlcBcsNYnXizyw=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(52116014)(366016)(38350700014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?8Nz8H6fUEkfG8M5h5e4clRr3xWFS57WJR2C5psAE8ZnrQE+Sg+G/MUdDMXlK?= =?us-ascii?Q?wJmvgDmmWAccOj7XXYj0hI1B66GKJSdUNKIcokQXQfeKqP4nCzr2SnnwiHvg?= =?us-ascii?Q?bNcOEvp+XHFciGwjlDIAr1P8OfrOR+sy7jIWEPA7XsnQC/ShFZzKVSrZT2C1?= =?us-ascii?Q?OpzRzNWu3gFDeC5bMgd/X0cUzMuNXOf2eeqymPPGu5rqd7jJ3ufaE5FO487G?= =?us-ascii?Q?9cb+n7aPF3Oj9r0cvxWSzfjK09l63vRXOzhBkAYvsnwKAchW2E0+mmRCQkU+?= =?us-ascii?Q?1LlZrfD8eV6073c0Pr/KQBCtL0F27IQqLXMlM3J4rBLOxXrXswATPueuyLfo?= =?us-ascii?Q?5N133CzrGZ/IVj9dwXHaHwnPGmgnO2cTVxLoyU27p2WZek971A8QCXmOZkgk?= =?us-ascii?Q?BrKemTTx6sfYzvpIh1LBszCNtdzvBjO0z/PpXdF1K7CqonTkA4VA++n+hQgT?= =?us-ascii?Q?ZU6wENNfQXY/8hVke2fQuYKgMPJDGi46DpBzhkThUGNanIc8NkvkSznFMtTe?= =?us-ascii?Q?HNWxe+F4DmK5zwwaxEotM2tx255zC63q5vx08JE2zpIWwJJYuaOkl0sN1iKW?= =?us-ascii?Q?UugKz5dOJomyJe0uRsC/G4zEljIROLVDaUDmPNm42l4WJYwEfJWUaQO9GA1T?= =?us-ascii?Q?TWRZy+XP4vwCvBNCF3XQDWnjuZbX0MqJoxW5XsLxIuyH/mCAOxhhJ3nKZh7d?= =?us-ascii?Q?BRx4Pzw2+5JWxP3lfVfVjkc56NJYWqW8X+967ldPjLcLwcHwRVMe848YdAnG?= =?us-ascii?Q?brsl5cXCNo7UvWXkY7IUyZ0SpzwSPPIq9C1LYJY74z9b14iIh2irI5x4SPNg?= =?us-ascii?Q?ErWq2A4pmVAMem6Tcvh5d5JIpE9CGSMlhOTn63ChdJ8QQIRYc6YUADUu571A?= =?us-ascii?Q?mgb8uLsxrP3/EZKNCybUg5mxLK1otpLCcm2wPazRLve+92N5bzJ4ZN1EYFvN?= =?us-ascii?Q?9GZ1qNsWv+AguRSWRQRqxy+pKxFrzX3731akS780CPTscFxyIjvr1AtuIrN4?= =?us-ascii?Q?wU+8JDyPfMY8j9V0MA67m0eMLPs1t/eU2M7lrsCrwtp27HhyOUZRGdF4UCYh?= =?us-ascii?Q?KajFNakRlpdYaNlNfohCjoFeewicx88bespV0pvDuA9iI+65EcRyMsBYSTf0?= =?us-ascii?Q?Ibs27ONd+Lm33JXlH9pT4J2oyAOGju5l5l48Zt7D0eG9uT3R8WdKoBD9ca0/?= =?us-ascii?Q?6htXnXLzMkUiVAFgHhk96Orw1n07PFFOj3fMmtRIMiaeP20auGSghXhDLHT0?= =?us-ascii?Q?KeOzvNMez1yJYRz+EQDIyB0yWZU4OfKVnxvwgI8ZdiQ4sl/xdgv1XG1PiyV8?= =?us-ascii?Q?R/1vgMMkei67LftMN2tDwMzQZCmvPyf3bK+31tEeyT4rrk4NHoXFxGyIqJDB?= =?us-ascii?Q?blejTt5q2Zr6ur72OqOrd0NFE1C+xyY15FGdW7jwJIFP7Thq26CnTKuXflq1?= =?us-ascii?Q?n6ApwgueyrbBOhTvwlacMclt5VxOdwyh0ENNs4LjzZEjXAqyNQVPJXGlGt5p?= =?us-ascii?Q?APintQkb3vvWc2Gl66kIoGUrw2XVhYgljX1O9CGtUxKD0Rc0/y8KNhdZYI7o?= =?us-ascii?Q?moH8OCLLs5kFn7EgTbvhF0ZDLIRkm34VWjxZgIz9XD3mpqsRuQfalybQhq7/?= =?us-ascii?Q?+g=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6d24dd4b-8384-4fdf-f821-08dcc8e6ef38 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2024 11:28:56.3178 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: HWX0uhIUHG6iVlEml2Z6qPBxhKWfmRii5LlKHemmQ1EkK6oopxsBkKxNQIlViukbXdvQj75KYdYwQ2GVbNJLX/2yhiHjrH3jmUsjAy/+QBQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR13MB6790 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: Long Wu Refactor the flow item calculate function, unify the arguments of item check and calculate function, make the Ethernet item calculate function more readable. Signed-off-by: Long Wu Reviewed-by: Chaoyong He --- drivers/net/nfp/flower/nfp_flower_flow.c | 47 +++++++++++++----------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/drivers/net/nfp/flower/nfp_flower_flow.c b/drivers/net/nfp/flower/nfp_flower_flow.c index 0078455658..f24e9cee9c 100644 --- a/drivers/net/nfp/flower/nfp_flower_flow.c +++ b/drivers/net/nfp/flower/nfp_flower_flow.c @@ -1044,14 +1044,11 @@ static nfp_flow_key_check_item_fn check_item_fns[] = { }; static int -nfp_flow_key_layers_check_items(const struct rte_flow_item items[]) +nfp_flow_key_layers_check_items(const struct rte_flow_item items[], + struct nfp_item_calculate_param *param) { int ret; - struct nfp_item_flag flag = {}; const struct rte_flow_item *item; - struct nfp_item_calculate_param param = { - .flag = &flag, - }; for (item = items; item->type != RTE_FLOW_ITEM_TYPE_END; ++item) { if (item->type >= RTE_DIM(check_item_fns)) { @@ -1062,8 +1059,8 @@ nfp_flow_key_layers_check_items(const struct rte_flow_item items[]) if (check_item_fns[item->type] == NULL) continue; - param.item = item; - ret = check_item_fns[item->type](¶m); + param->item = item; + ret = check_item_fns[item->type](param); if (ret != 0) { PMD_DRV_LOG(ERR, "Flow item %d check fail", item->type); return ret; @@ -1081,10 +1078,17 @@ nfp_flow_item_calculate_stub(struct nfp_item_calculate_param *param __rte_unused static void nfp_flow_item_calculate_eth(struct nfp_item_calculate_param *param) { - if (param->item->spec != NULL) { - param->key_ls->key_layer |= NFP_FLOWER_LAYER_MAC; - param->key_ls->key_size += sizeof(struct nfp_flower_mac_mpls); - } + struct nfp_fl_key_ls *key_ls; + const struct rte_flow_item_eth *spec; + + spec = param->item->spec; + if (spec == NULL) + return; + + key_ls = param->key_ls; + + key_ls->key_layer |= NFP_FLOWER_LAYER_MAC; + key_ls->key_size += sizeof(struct nfp_flower_mac_mpls); } static void @@ -1238,14 +1242,9 @@ static nfp_flow_key_calculate_item_fn item_fns[] = { static int nfp_flow_key_layers_calculate_items(const struct rte_flow_item items[], - struct nfp_fl_key_ls *key_ls) + struct nfp_item_calculate_param *param) { - struct nfp_item_flag flag = {}; const struct rte_flow_item *item; - struct nfp_item_calculate_param param = { - .key_ls = key_ls, - .flag = &flag, - }; for (item = items; item->type != RTE_FLOW_ITEM_TYPE_END; ++item) { if (item->type >= RTE_DIM(item_fns) || item_fns[item->type] == NULL) { @@ -1253,8 +1252,8 @@ nfp_flow_key_layers_calculate_items(const struct rte_flow_item items[], return -ERANGE; } - param.item = item; - item_fns[item->type](¶m); + param->item = item; + item_fns[item->type](param); } return 0; @@ -1799,6 +1798,8 @@ nfp_flow_key_layers_calculate(struct rte_eth_dev *dev, struct nfp_fl_key_ls *key_ls) { int ret; + struct nfp_item_flag flag = {}; + struct nfp_item_calculate_param param = {}; key_ls->key_layer_two = 0; key_ls->key_layer = NFP_FLOWER_LAYER_PORT; @@ -1809,13 +1810,17 @@ nfp_flow_key_layers_calculate(struct rte_eth_dev *dev, key_ls->vlan = 0; key_ls->tun_type = NFP_FL_TUN_NONE; - ret = nfp_flow_key_layers_check_items(items); + param.key_ls = key_ls; + param.flag = &flag; + + ret = nfp_flow_key_layers_check_items(items, ¶m); if (ret != 0) { PMD_DRV_LOG(ERR, "flow items check failed"); return ret; } - ret = nfp_flow_key_layers_calculate_items(items, key_ls); + memset(param.flag, 0, sizeof(struct nfp_item_flag)); + ret = nfp_flow_key_layers_calculate_items(items, ¶m); if (ret != 0) { PMD_DRV_LOG(ERR, "flow items calculate failed"); return ret; -- 2.39.1