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 3D12C4548E; Wed, 19 Jun 2024 11:15:49 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4486E41156; Wed, 19 Jun 2024 11:15:22 +0200 (CEST) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2107.outbound.protection.outlook.com [40.107.101.107]) by mails.dpdk.org (Postfix) with ESMTP id 73ECE4021D for ; Wed, 19 Jun 2024 11:14:46 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cShURNjI0JnQaZtXcmY4urhvHQuUvRtehWnWxr6zXMuiwC0AAYqbvmEWbSQYjnmjaVSwRUG1KSg4Augm7EC4mTsfswFkvD/i4JR3KOnKmtmJCMc0/hPKD8J4vJc4yXIG6fY7BMknTaOKho6dpciXG8uQhfo4d7MXq7uZFGKZsza1QXS8TYUy4QbC1Izcu06UYH2NSuDZhbpShlR8jPk6hQnthBa6hj9E6zc11nPsBd15/L2GIIQeeYHqhsO2kU+fLslIpZ5FxfoANxUrfzYvTFP0i+xOgUrntlcBRwDNSoJYXJhKv+HhQaCAfsY0g7v5qpYXlNjbsduHMvr7PjUz2g== 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=8ZnNgUIQHrHfnhEhZYc+f2mor51K5GL9T9iI+rTHzJY=; b=J2TKuUtuNNNjKwOkJ7t8TIL+gWIs1wZdLKE581Bwr6Nr42Gl6KWutZZYByFTHcmii2x2fEsu9OLuENTV5L4LJPYQUN5Ik1nT/Plo6IH9A+t/D0meN1TVlnVynzF/jFwx181jtlUgV3vngPa+OFdpE8/iT1MnJEVwSD0u6NF/PR/6M5DAMmuyBxdA4hihi2ArKnZsGTrnJf90r0v8VEGUE5a2WOg3x56r02ZFehxxFY2zijHa/atLf0edimT0hfR0Cl/nRD70zT9ZGiJO1GsCy+OZNZwMBUy4o4Rx3fPYhPNOGuTT7YEKnpni58Q0ddhDQSoPSb9qcggXWKrrShmP7Q== 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=8ZnNgUIQHrHfnhEhZYc+f2mor51K5GL9T9iI+rTHzJY=; b=Ho7WgQ1RcYJbQLm2oDH3C7ircEBxwJNItYZ07kssxdD3+iRsVP5auKPmi/YB63AYtdvFrn4FaKWwRj8aibJEyMaafzIWj7iriNU26YIzzybrCwevIXIhnCKibalIre8/j+4gyRWZxEx1FpncsNX4/tIkvOeAo+mjGdecKgXOrk0= 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 SJ0PR13MB5523.namprd13.prod.outlook.com (2603:10b6:a03:425::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.31; Wed, 19 Jun 2024 09:14:45 +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.7677.030; Wed, 19 Jun 2024 09:14:45 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Chaoyong He , Long Wu , Peng Zhang Subject: [PATCH 06/21] net/nfp: pack various flags of flow item Date: Wed, 19 Jun 2024 17:13:43 +0800 Message-Id: <20240619091358.3479247-7-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20240619091358.3479247-1-chaoyong.he@corigine.com> References: <20240619091358.3479247-1-chaoyong.he@corigine.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: BYAPR05CA0027.namprd05.prod.outlook.com (2603:10b6:a03:c0::40) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|SJ0PR13MB5523:EE_ X-MS-Office365-Filtering-Correlation-Id: 4078e345-8786-4fde-b78e-08dc904041f0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230037|52116011|376011|1800799021|366013|38350700011; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?UTfLC3+YZMLVIKD6h4vs723TzUn+GtnXsS/Ez2tgYie8RP4fBa2UiBK5EoMg?= =?us-ascii?Q?8cCzQFDeDPUlTWGvt7tMhHivhuLUWgIOo9cNXLOYaOeiCukHhI1xkoPmTIDD?= =?us-ascii?Q?jQ5hBXNqYjtkkqqs9rGMsLXB2PKK8XhNMU6mszBQ0vpdDXIOa3QH43vRXdoj?= =?us-ascii?Q?fATZ/KKVdSVXBftdnweWaZ37EVhEGuqfyo8IpchkvIj/o6jNg1wnlWc1jmTy?= =?us-ascii?Q?hHgQ43J+uhv/sneXK4Gvrl2ckHiqOJDH7RsEHjrQ9DLo7W3oSc6vBZ1xk0Pl?= =?us-ascii?Q?rxY8un5/D/TP1JUpUYr1soLS43cIEn2sq4GhsP7cyavBXxvgpRQQ6z2+PW+n?= =?us-ascii?Q?jJmpFCK1J+Va1MfskF7JYxkRDX3lL45Tye1h2nTZt5GRdDtMmGSPA06VFjt8?= =?us-ascii?Q?uaHPJC7+l4IrfhuVJYoClcR8Tl2wBEcgIm72PTxOE16jqbB0z2qudPiYXNQJ?= =?us-ascii?Q?1bbz3Rn+W49QWoxaKMpK4PKJkaplml0R3Fk44i8m0I3RoYDhbeCl0P8PLpKr?= =?us-ascii?Q?KNwUINVJHc98HM/sclz+tYYXy+igY4RlqjiXVe3LCWfws3HY353XwhnfuS2a?= =?us-ascii?Q?rHYtgqWTF+FHt1i64/diSkolsH43Y0jHiTdo1oXDnUzhijDOcQRWa7Cxm9xH?= =?us-ascii?Q?7JfZ5Ckoz77X+WXOWeWRaqB1hA0SXvvKVYu6/yItIu+dkr7e3SsS3EohgErp?= =?us-ascii?Q?Y0IZUWhf43KWwZx/9qJUiBe+hjWdobjDfuJ6otZnG+C96BcViLX+mtqCRdip?= =?us-ascii?Q?ahLS/nB1s2Mt2ZsTNSuMeGrVp2Vpe9ogjCnO4WliJufPncFBL5exteTjYyFZ?= =?us-ascii?Q?wnJZc85+PLRxXgdroVZXylL+1SN/IHvq0V8of2N0mwAe0qcmNh4UPk+9cVNm?= =?us-ascii?Q?bmTJ0tI2jK5saLfIZaVZ2ZXcCnBgsGyOVWrHwIn+3K1JX1mKwmXhPXZHnGqY?= =?us-ascii?Q?aj/WXzoXkb479C2PuDlGtVRTjQT/nRQCWboHF+6yRPQlxzrl8mXXXcZ18xza?= =?us-ascii?Q?fPdaGfiA7BH5pu2OqoYEJrMwlI46IaCc4p2fXA48lWifkg/Dkwb1YDWQ4OHz?= =?us-ascii?Q?wz7BgEzel0Iyh4d/uj7W95IIbKrkP9mGIhiglHQZiOCS9bZE0EALmE4gfHf4?= =?us-ascii?Q?5lvw0qy5Oab6Knx69bz3xyQDjdhuNK+orM6AJJXMsl0ZMvwOvATzlw4gCdTW?= =?us-ascii?Q?lkfkWBrgPq8mgOlKOG78p/yWARnbPrxz75dbT+20+cKHTvs7XVMHCmwBiuix?= =?us-ascii?Q?ahYF9NuxYBMzX4uVcZtdW2mXW/eUKQiO5ZfHq5ZWlLHovhJ0iB0EPzxg/q9x?= =?us-ascii?Q?R39ZICue9YXNPjVTkp/c44Gg+gWQqzT/2zv4vIZU/NBbFwoAObykw6hlez/s?= =?us-ascii?Q?M80eVlw=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230037)(52116011)(376011)(1800799021)(366013)(38350700011); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?PYR6S0baO9dDEOwIpK+jtDyogrEh5rmFgXIz4GIi/9ktgpG9FqO+3iEwTu7u?= =?us-ascii?Q?8KclCnxnWtgRCFcHw7xuPMEPk5bgRLv/X9hmsGCeuyU46vad53QSbqucvKe0?= =?us-ascii?Q?58+5iyHPJIC6VE9nB/XbZFYU/R3ddB4JUFKa/K0aOcFzzeBGOOP1aC4kMSaF?= =?us-ascii?Q?D5wyMlTkstfBKd1sCanEqTVMpngXHHCsfUtq144yAzYKCF5O81WrRT4bZK1h?= =?us-ascii?Q?QUZzfhdw0YYesQYA4lVxMUrwVq8vh1jVx5sP3lxaoAvFUxhSASjAUzLfuuCG?= =?us-ascii?Q?Xr7D2qfNNokfaTQGCeKSVegpwK8xO+1WE3gOru1MJ+xRN9tJZagUxY/SwtxY?= =?us-ascii?Q?ttQ0RWM5dlTjIH8eWIaLUkXQW5V1XfoNiD3jLLsgy6TALiuFNvgDIbWR05pc?= =?us-ascii?Q?g+CbaSOpWjZYprlDsnFzuLGDtMMf9cBWBRmdypgIXgzw+P/R/0q2a0Vihq3y?= =?us-ascii?Q?qSWP/qVpyC/LLcNAHiCMr2V7YTezt9izCKaNxqKXzw+85+CPdRwCbWuek84/?= =?us-ascii?Q?hhXddiB8StdVvx/WTK3/snnzhIDq8OBUEbygSu4Tqsmw3VwFIRnY+aNkDDHr?= =?us-ascii?Q?hMVwg9Ipq7OFkmHcykrqhgBj6d7muaOcxMWCKKztlUQdyreJ3GuwVm+Zt7dE?= =?us-ascii?Q?S7knzfMk60hJ0nX96iubmwzNtIJyQKCtUwUEaovnLkdtQCpuRE/YHMYRTnxc?= =?us-ascii?Q?UhAT74lKocL9Ol7FC0Mg0hjTZV9KcWFRA8nkBqLeQl/kjH4KxCYihmkhjtPs?= =?us-ascii?Q?9CbOiesniaSvFA2yvgAhAuVvUhBMcyNRNMLAAKdU2wimgb2BBoTYWlJLoQ1X?= =?us-ascii?Q?CPTkkXc/ibDTdIp2Xxk47JTFhqSV2RdjTWHDjElHVH3j39iqfpGClv8TWWPG?= =?us-ascii?Q?rrJ+ebXn/XiB2tT2nF7OydhdI7H3Wq+MbpkOYVPgp91VR7J5VaGBCPOGennR?= =?us-ascii?Q?JTQabnA4Kce4AgE64Yq02jKaQvZl0mGgT7Gib9TrBPMRQyAxs6ou3iorRY/W?= =?us-ascii?Q?ROTaqq+j8JltE7ZkmrtLRON/x25L5CoZ3ZARXEVjlqmnd2SOq1mtRiC8eeL+?= =?us-ascii?Q?FI7lQkZgTZf8lJZ+30I9cpPYYzX3AoDpzuMkubjHZVPBLOujDXH6kQOsZ0wL?= =?us-ascii?Q?yK37OzZXuA9Sp/THzBDWGK9GbEzJncIe9WlFExA2+9JdDODKRKc1/Ae0wVgm?= =?us-ascii?Q?CV6wUNDMg4QSbPYdp99zWVFvV1jIkNToxBk6ryFYn5qBspYKzjxpeg157Yuy?= =?us-ascii?Q?AFlh3mXUzkX+X8/yc+jZoXgLyvB8N2sexRRBcDda1MQiNAxYkr2+CqipbzNt?= =?us-ascii?Q?AhZzgWtSsrNh1RKztZ7dhNTAvTzbf6egUPYfjsaXFWKaY/cmvNqjMF0hJbP1?= =?us-ascii?Q?Xx9ce1BuZcmjBAEVoxPP/VqO8USvHBeEtBgvwDXd6F00aJJLyAfY7ChErouc?= =?us-ascii?Q?mP7uuEB5H78ycG+l5Vhw7imHL4KrRZK2ONCjGi+ElxKS7V8L3tebW/SRDg37?= =?us-ascii?Q?n2czvSRpynJbxLRabBHRTgErCNZMk5tUeDVCUMGMtVSjhzRnwsg/Tvf2kDi5?= =?us-ascii?Q?ZomH3/7dfoJDQTkhf/WA+pRqbdXt6wohJ8jOcxHDRGxVzztb3hSMZ+we9ILw?= =?us-ascii?Q?4g=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4078e345-8786-4fde-b78e-08dc904041f0 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2024 09:14:45.2012 (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: E0b71x8tapp40/9m1W6+mRRiP++D4ZuS+1S4Raaiy6onaUFFqA39RR28/uiYWCMy4HLMQjUaQCXEBsRGnpMd9lk+7Ygmi2MHxe9KswDXemA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR13MB5523 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 Pack various flags of the flow item into single structure, also refactor the related logic. Signed-off-by: Chaoyong He Reviewed-by: Long Wu Reviewed-by: Peng Zhang --- drivers/net/nfp/flower/nfp_flower_flow.c | 28 ++++++++++++++---------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/drivers/net/nfp/flower/nfp_flower_flow.c b/drivers/net/nfp/flower/nfp_flower_flow.c index bfd4645afb..db4551d98b 100644 --- a/drivers/net/nfp/flower/nfp_flower_flow.c +++ b/drivers/net/nfp/flower/nfp_flower_flow.c @@ -809,13 +809,17 @@ nfp_flow_compile_metadata(struct nfp_flow_priv *priv, mbuf_off_mask += sizeof(struct nfp_flower_in_port); } +struct nfp_item_flag { + bool outer_ip4_flag; + bool outer_ip6_flag; +}; + static int nfp_flow_key_layers_calculate_items(const struct rte_flow_item items[], struct nfp_fl_key_ls *key_ls) { struct rte_eth_dev *ethdev; - bool outer_ip4_flag = false; - bool outer_ip6_flag = false; + struct nfp_item_flag flag = {}; const struct rte_flow_item *item; struct nfp_flower_representor *representor; const struct rte_flow_item_port_id *port_id; @@ -850,15 +854,15 @@ nfp_flow_key_layers_calculate_items(const struct rte_flow_item items[], PMD_DRV_LOG(DEBUG, "RTE_FLOW_ITEM_TYPE_IPV4 detected"); key_ls->key_layer |= NFP_FLOWER_LAYER_IPV4; key_ls->key_size += sizeof(struct nfp_flower_ipv4); - if (!outer_ip4_flag) - outer_ip4_flag = true; + if (!flag.outer_ip4_flag) + flag.outer_ip4_flag = true; break; case RTE_FLOW_ITEM_TYPE_IPV6: PMD_DRV_LOG(DEBUG, "RTE_FLOW_ITEM_TYPE_IPV6 detected"); key_ls->key_layer |= NFP_FLOWER_LAYER_IPV6; key_ls->key_size += sizeof(struct nfp_flower_ipv6); - if (!outer_ip6_flag) - outer_ip6_flag = true; + if (!flag.outer_ip6_flag) + flag.outer_ip6_flag = true; break; case RTE_FLOW_ITEM_TYPE_TCP: PMD_DRV_LOG(DEBUG, "RTE_FLOW_ITEM_TYPE_TCP detected"); @@ -882,14 +886,14 @@ nfp_flow_key_layers_calculate_items(const struct rte_flow_item items[], key_ls->key_layer &= ~NFP_FLOWER_LAYER_IPV6; key_ls->tun_type = NFP_FL_TUN_VXLAN; key_ls->key_layer |= NFP_FLOWER_LAYER_VXLAN; - if (outer_ip4_flag) { + if (flag.outer_ip4_flag) { key_ls->key_size += sizeof(struct nfp_flower_ipv4_udp_tun); /* * The outer l3 layer information is * in `struct nfp_flower_ipv4_udp_tun`. */ key_ls->key_size -= sizeof(struct nfp_flower_ipv4); - } else if (outer_ip6_flag) { + } else if (flag.outer_ip6_flag) { key_ls->key_layer |= NFP_FLOWER_LAYER_EXT_META; key_ls->key_layer_two |= NFP_FLOWER_LAYER2_TUN_IPV6; key_ls->key_size += sizeof(struct nfp_flower_ext_meta); @@ -913,14 +917,14 @@ nfp_flow_key_layers_calculate_items(const struct rte_flow_item items[], key_ls->key_layer |= NFP_FLOWER_LAYER_EXT_META; key_ls->key_layer_two |= NFP_FLOWER_LAYER2_GENEVE; key_ls->key_size += sizeof(struct nfp_flower_ext_meta); - if (outer_ip4_flag) { + if (flag.outer_ip4_flag) { key_ls->key_size += sizeof(struct nfp_flower_ipv4_udp_tun); /* * The outer l3 layer information is * in `struct nfp_flower_ipv4_udp_tun`. */ key_ls->key_size -= sizeof(struct nfp_flower_ipv4); - } else if (outer_ip6_flag) { + } else if (flag.outer_ip6_flag) { key_ls->key_layer_two |= NFP_FLOWER_LAYER2_TUN_IPV6; key_ls->key_size += sizeof(struct nfp_flower_ipv6_udp_tun); /* @@ -942,14 +946,14 @@ nfp_flow_key_layers_calculate_items(const struct rte_flow_item items[], key_ls->key_layer |= NFP_FLOWER_LAYER_EXT_META; key_ls->key_layer_two |= NFP_FLOWER_LAYER2_GRE; key_ls->key_size += sizeof(struct nfp_flower_ext_meta); - if (outer_ip4_flag) { + if (flag.outer_ip4_flag) { key_ls->key_size += sizeof(struct nfp_flower_ipv4_gre_tun); /* * The outer l3 layer information is * in `struct nfp_flower_ipv4_gre_tun`. */ key_ls->key_size -= sizeof(struct nfp_flower_ipv4); - } else if (outer_ip6_flag) { + } else if (flag.outer_ip6_flag) { key_ls->key_layer_two |= NFP_FLOWER_LAYER2_TUN_IPV6; key_ls->key_size += sizeof(struct nfp_flower_ipv6_gre_tun); /* -- 2.39.1