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 AD005458A2; Fri, 30 Aug 2024 09:13:53 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EF70142E79; Fri, 30 Aug 2024 09:13:48 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2119.outbound.protection.outlook.com [40.107.223.119]) by mails.dpdk.org (Postfix) with ESMTP id 0553042E4C for ; Fri, 30 Aug 2024 09:13:45 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IerOpmbpiWeqX4AHeamyjMZC7IOFl0TFCs3hTqgBGVEz20U3EVcqp3oyJX2w7wJMtMnyTAzQXg1A054JONeMmVz1sPFBpRnouB1580Ce06UbrpOJBoT3d0zqzQHkUcQJH2jLjPQvdp4iCWKMAg8ecKfgR/KgQJyontYhTdAsXNLAB6KmdrBonmRRYyaC86uqhXTESSaLvZIiTIgaNnIMhFh9/wnZ2zZaVchchXXOHcPXFVwy4ShwVuq5sdx9l4ygDC5YztwP+bw8YoGWk4dAjiWdJ8nUm/+jmzalkCSS4jgyR289q9EVhXtLL7ui8mbn4qx+q+LBNSQsszd5WULrVg== 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=bz5JK76UK3jY8OHAv52eHEoFI9wpRvLshU5yBqGIrZhi2zK9AQo8gJ/MvAmdRvUvQH2zZJDaUeQZXfhAw/Tzp/dEg5IlgpcAi9ZDw9g63OhnGQuSoCCo4/xwseR8AaIurpHNnbxj4ZcHtgnpx7vHAgI7BxxKNCBcbOcrnLIoQ2Qj9MWINaoU12hzmcjE1jhn+hwX9FA1tVO6CQ+gAC8LqqvqfEpTp0plt0778DDS87yIxCvmyQZnOneDWN96IrwH6DgReqjJcqKTdKMydE/eYTiwb/9QhHCyll4XEQSg7QMS6D++J2sHv/fKNnyHYp64/+YVh55hGWQtUN8gbr4aYQ== 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=Ao/L4zLBDRjgppDQhnwjk0jAnNXI5aj6ynOhPPAutY5E+h6uP2MG5fMwB59La0DvXYnbyCNJsyZbw1Vl3suGcKZWpvnYp6i9selU+h/I+SqsB8j16pqRVhrze0bVHpikrnTNXvEnznJzL7Wq8DM5vf4ecj4/2LFdbF8XoVO26co= 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 CH4PR13MB7195.namprd13.prod.outlook.com (2603:10b6:610:243::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7897.24; Fri, 30 Aug 2024 07:13:42 +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 07:13:42 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Long Wu , Chaoyong He Subject: [PATCH 1/2] net/nfp: refactor flow item calculate function arguments Date: Fri, 30 Aug 2024 15:13:22 +0800 Message-Id: <20240830071323.2581557-2-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20240830071323.2581557-1-chaoyong.he@corigine.com> References: <20240830071323.2581557-1-chaoyong.he@corigine.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: CYZPR14CA0044.namprd14.prod.outlook.com (2603:10b6:930:a0::28) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|CH4PR13MB7195:EE_ X-MS-Office365-Filtering-Correlation-Id: 0428e72f-5f79-4166-9f2c-08dcc8c34740 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?5MZKdH2LQSMwIG0GZJj/KY5zQvBXMEjw0OEaivJoR2gQbRYgmxboDdjlle6p?= =?us-ascii?Q?i/K6IyTITEOPktYmvttGFz4hCuZnxGcB8UBuDGBULaKwAo41thObKMrBuvkb?= =?us-ascii?Q?Ss897QVmA+8Z1CoUdBNhqGRs21Xmh8B5OBKN06kV1fopAH9AQHFleM+8J8TG?= =?us-ascii?Q?gwAc9qy1yXSsK/x0gcAg70DKT1St26YvJumkfqXuqcbgMm71Ha1CAWT6PnSy?= =?us-ascii?Q?uD7DLigpl+hQ+dUibAOscXZFTnjNE14+3ORNTa7IiIiMalAECSpm1cYLtXWe?= =?us-ascii?Q?6eaYn9WM7TYTb/UVtZ87hB75zwQWozvbnd1Qfv1sK126kTHBdJJKuoWWYLZ4?= =?us-ascii?Q?YNsnK235bwr8W6x0BZxb2v62f4K/S/PdEgbLGit8az5/dJlBLe3DNKRvpH0v?= =?us-ascii?Q?+MwxOv1JFOVBj9yUueEuaYIX+mixREoJ/S1Kmtvkk54r4PksJ5hh/23CqqLh?= =?us-ascii?Q?7D95u7IC+ZIViMxahg7NkMjzlHbkQ/YkzaxoIlTS8tYa9VB7bf1x5eLcQqZS?= =?us-ascii?Q?ngIwizS98NeZWd4k601n3+D7rEYNh7Ak3ZBgEmoxBYQrLQCxIWvKgayjxZPE?= =?us-ascii?Q?eRcPpJW/QnnV18CiTWqKjAxwixu5aw7hEiJ/BikUENiQvRPjMRmRQhimgg7Q?= =?us-ascii?Q?NdrRzxVRpyFZVW2b1dCzaiRHQRSCzVdw7B+P9zOQqx8F1MgJN2Ca6alT+0u8?= =?us-ascii?Q?tjfnfhA6MQOLbZLIH7PvcuQfnRA2BL1IG/IbfEXj99iYYGUt7A8YyAD2Qo0G?= =?us-ascii?Q?pbGB0E6Qk7mmiybRA3T8ZzflGdhy3bKXM8cNwbgbXtMiw+YmCpzmkhiGG9c1?= =?us-ascii?Q?kSvvj+hnOy7fLMl/EZaYDLMdF9MMbdKs9VVnCuWp9/H7xN8M36ahYyqF9t//?= =?us-ascii?Q?5G9GRLJ5WtNtO9nvJfB/Qkk93rAH5gjw+JFfttM97qiOPphpce5M1zgS/YXC?= =?us-ascii?Q?ZZCrjo/nNGEnFdoHYdXnPZo8OOZAEt1KlQRUT+wgsVUCmUtT7eYbuMg/P60B?= =?us-ascii?Q?3DXZzQtqhb3xEO/O9TSCLbvxuxRGOh75UHZi16MVsUIRqDAjAbQusMVJUwod?= =?us-ascii?Q?5fzq/bT/JiVsAqrLXGQUICwsQxNXIawt4QjFLRAokEvihkOcCL/4LwJUSIiP?= =?us-ascii?Q?3IMWsrFsHav4qHam5ddlTmK2M5dp4BxXRZzkuLSOY7GepK+uSPr1IrTaIjtj?= =?us-ascii?Q?mltGupoWqYtQvNV1CqojEpw4W8w5KSBhRretwhucSeZD9gO8f7Tu7PFQ33SS?= =?us-ascii?Q?QEw/Yh7ZVkD+3cmSd3mqvEYb1XCv1EYFm8dxngFWExlDzqOnnQ9G2A9PH4B6?= =?us-ascii?Q?tUG3DgfaIqhpvggXKeNj8R0pBD9spauJKChrHNOb+FrcpV/ApSySX0gDZ+x3?= =?us-ascii?Q?BFJZnG4zcsN+5zakOACKCBJu4YeWllMiVNrwLYYqHdE8Wdu4GQ=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)(52116014)(366016)(1800799024)(38350700014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?YmOTiCKRnrNifZAaT64thBzpZQ+vscfiZs+23F4IGLE3QX/dxP+jUZilxQOf?= =?us-ascii?Q?NNgOWaEaU5l4gqaA5fP5fhpGSf2y1TeA/cZLwuox9wzZEkTNXS/J+XD33K8N?= =?us-ascii?Q?Oyq0A17UeEtZ659zG357kCsSuws6Ss+vxuUWQhrTFjZ8BNyeAJNkLFuc/G2e?= =?us-ascii?Q?U8KSdCUW76wZauA6XMrBNoTfIW7bPwJjc3cxpUpw8SyG/swPVB4Rk76cg/BZ?= =?us-ascii?Q?Qr4yFVHnz2zj0cUwMb7bQEOfU7Ro/PzxfikD8NEU6slqWmvxtR6VKFpdGXWs?= =?us-ascii?Q?QhHVi40vEPywlH6m8z2dNrGQDOE9+2KY9HhdDr2S4YK75qqki+gYFLbsNzAm?= =?us-ascii?Q?qS7E2hdggcZZapK0oi1C+GlEaA/LWxUpbTwruVHLal+VJ7Ut+LTrmOx2theV?= =?us-ascii?Q?MLiQVCMLpgy8MQ4z3AURZAUzmKCL+GqqrioXoWpXOHsI8hBuzYGId48pNAo7?= =?us-ascii?Q?bP20mjPQ4snhxeRhDmH1jzzmWGJXIjIo5dxTVi0vvy61KNoIZ9dFFvdMptCy?= =?us-ascii?Q?Juv4qvS96SgrEukB0cmSzHUvvTAm8qdIvhPArznHfbA1elLbc3OiMc88ifbJ?= =?us-ascii?Q?epGvmDs8fxMtFJUnI5GKhxBV4JapEuXmxAK+5u2xdflYEXgnllsLzg6icypV?= =?us-ascii?Q?3Z49twpEIB/ghlpYp/6BNaf7HVcFYUFK18DdprRecsADFL5sTFsHAQoY1q/r?= =?us-ascii?Q?64BoWN8xIRDf+F9UdUJElGp5bDYDRvDMT1M3g6jNRVIpj76vHQs/1Apyi+7o?= =?us-ascii?Q?vSvg89cuPOwZm3R1OMLYY5zUYtW/73YegpftLf5BO02sXDEO9wWWLUceS5dc?= =?us-ascii?Q?2dckz058pqjBKObPaaDdzini6SaB6ujX8iiG5oUM08Z5s6zrJdVoVVI/dpYs?= =?us-ascii?Q?wAP2cq0xhS6q+U2vNj0jQH99M8K32qnuUB7dZR31OgrkXzK5aajO3INEoS2o?= =?us-ascii?Q?ckktmGRHjmGYVvr0y7UWM/VGY3FeVU63iHPzHH4C3n2EdNhy1bXnlEIa9hGz?= =?us-ascii?Q?IdyMkBd1Onct3c+TlJ94D8a1i1wu5GSaLz0VkdWlx6G4n1sH2I/IECcVyTsO?= =?us-ascii?Q?8oNxGby0cQBNPWek4jqcXp3bAVx7BZOj95l8hUuPefuKpXeWIQM4w1Rb6Ibe?= =?us-ascii?Q?SM2n0Av+Retn+uPjc0b0VnlVmHiy4FH30h/2j0hlETLqtrqJlQ4BoqU61QPs?= =?us-ascii?Q?Oiwe7Hc33U7iNh/dXrZpZDBVhdiCfBaQBFvuyMOrxef1Lv1djgSr46rhZVxJ?= =?us-ascii?Q?Wyr+9O5+qrqIUHV4ZsDIvAGXJeHkey/2Z5KNPvdmAMZW33A72vp9V/WITp8P?= =?us-ascii?Q?nlWIvjkcJNC6OuPP6JMARxf/JQXr07zTC4zzrTFPPlFpsGav1SOsmvESQ61V?= =?us-ascii?Q?xTmoedku7YARG/6OsgbmtgJ2blIJK2cE5Ysm8nT58/ZpRn7QJXGt1iCFyu1g?= =?us-ascii?Q?9Bg8qlhG/nO28OWd+aZGlny1LRD1K1zJdbpZZx4DO1MHUwIuT4GPk4IgbD+Z?= =?us-ascii?Q?9q1iox41B/DKwWNDsMqSu5llrhSgWdhZQAnheLLeE6wp8VDYi2ZwoUXqy59E?= =?us-ascii?Q?cZRmHyxhdxzLEiVtvlrOZDd9wkmqTRjg5sK0DzxarvU0JaZwiGCX4E4bDc1L?= =?us-ascii?Q?kg=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0428e72f-5f79-4166-9f2c-08dcc8c34740 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2024 07:13:42.2446 (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: yXFdTtxDXQMJt25LsmLKLkZhjYtgbg6V5/OOxmahz/h9mr+UaW3FeSflFFfieng1ICB4cNWwzSV6+QTKUPmDyp1q90UddmwHy506S9H8uYI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH4PR13MB7195 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