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 ACEEE440E1; Tue, 28 May 2024 03:55:54 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 89337406BA; Tue, 28 May 2024 03:55:35 +0200 (CEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2092.outbound.protection.outlook.com [40.107.236.92]) by mails.dpdk.org (Postfix) with ESMTP id EF821406A2 for ; Tue, 28 May 2024 03:55:33 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j9pGpbht8Es1GHOb3lhKgSVb8JKZiPWUA/hwXXw5Xv9vfiFo5bjB2jZ5hB0lGbJi8rl4897VYzeYQNS9l9EvJ+xcKf1NC93zMU/AqGhdbWL6k0OQ/8ZYysf+/pqUzUEh48mLj5lm/+VwYczhS+2CSuxPG9AlQMRvwDRQ9SWyzpMX28i67rjWAbgkl3gNu/e7kPIJ/rt9z7nZkiUZQ8cSdECQZPvs0GiS/nyYVTfkoLA05qATVbUWF2OiNzXpHUSq2icSvyJIjcE/RYPr2ly4aShzlcE5NkMrAtsESDBIyNSpOE+EAlTtDtxe08duCo/QEFxcsrl0AOL6j9MI1hWf7A== 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=P2DiU3RQq3F12yv6YqxNUhEtjpJV7bvLgZATeiDAQPE=; b=RqzCOBRsQgPdfEv3kiW/wIMbnYFkJ43faUP+l6zFLHrWSd+KF4vuz7LB6qA3qD3y6A7io0iyQOo+za9/8T0Iynu+fl1AHnTFr8BkUKUaEtlPtvXdNdPs2TEVOWtKmErNybGApSS5E0Ke/RH9JIMKvCTZ5Pwdlg6k577Yypg55cJz+Vuvv9CcIFfVZdymFJVTteDy+UEx6r5ZU58HV6rMQFd+G1s1eS9FuIxYanZiCu+FosAlN2RX15Ys8jJfS8G65rX9ZheMWt/ypdO2jxZpPY+Erf6yJO+PVwzQk8dfNVBLlopMYlr7NU+xM7CfbiBUxEbyEVodje6JpjeSRuOeRg== 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=P2DiU3RQq3F12yv6YqxNUhEtjpJV7bvLgZATeiDAQPE=; b=HUGWBBETWJcckaLlgw8moAddPFI3sF8HA4UQjfv1kAsjfM25x/dz+3tOarFZLMQluntTlBtLMzHXl24wvbJf893w9/yrYNf+gDwN1Ri0C0Bf48nKUOAvdqvLI03xSD9LvkVUknVOxzqwmEuPIBG43ONcHEGNAO8oq1fOUs2ZMHU= 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 SA1PR13MB5053.namprd13.prod.outlook.com (2603:10b6:806:1aa::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.16; Tue, 28 May 2024 01:55:32 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::b900:5f05:766f:833]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::b900:5f05:766f:833%7]) with mapi id 15.20.7633.001; Tue, 28 May 2024 01:55:32 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Chaoyong He , Long Wu , Peng Zhang Subject: [PATCH 4/4] net/nfp: support generic SCTP flow item Date: Tue, 28 May 2024 09:55:04 +0800 Message-Id: <20240528015504.2376070-5-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20240528015504.2376070-1-chaoyong.he@corigine.com> References: <20240528015504.2376070-1-chaoyong.he@corigine.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SG2PR03CA0096.apcprd03.prod.outlook.com (2603:1096:4:7c::24) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|SA1PR13MB5053:EE_ X-MS-Office365-Filtering-Correlation-Id: a8ad0d29-7d53-4b1e-f19e-08dc7eb94247 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|366007|1800799015|52116005|376005|38350700005; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?cccH5/bsdUpsfYxWResf202L7I4In4w/s/uEYOvimqHQeVjIm41le7CLxxVo?= =?us-ascii?Q?waSnq8lSBhueAIMF8AHTHF6c6ILajr7zIMrvm+kRqjI/0Bo00laIRguX5fn2?= =?us-ascii?Q?yGOurHy4pxi3t5X0d+JVfvRy67QxzzIg9NtuTDzmWR3wsUi27NoO5q4ENuYd?= =?us-ascii?Q?aiQHu7BrffOFDTjW3Ir5uKLyZcI2BZJSKWq50cmxWhZ+DBN+N1jsY/6vQcoz?= =?us-ascii?Q?oj2uHmbQKqZ2SEw+GoDPKdgLfKyeV7LP1qnjCTdh7iBI3fzEX3oWf7VCAzD9?= =?us-ascii?Q?e5062wsrJjKm+FR4wMmp8d1wLpgXOv+wPLWepAWABP9oLHFph1jBqPqZpA3U?= =?us-ascii?Q?ML8bBiC5qWqzwEmrVfroHm+/eGhqKd3bNqvlpJz+duSTj3+B49JY+KP1dh+u?= =?us-ascii?Q?P2sVPPj5RzwFXfEHZP7TyLHrEMj916RfELBrDVe3nYsO5L/TaNRiSv1FPDJU?= =?us-ascii?Q?4OJn1JP2p7SkFTKMcL765EHzt+UeJIIeiEtj2fVek0sj0JsPrm7yUbzphAc7?= =?us-ascii?Q?+e66tanQKCBs+ci0aQ9slCuUPZO7nfZ6zKvjC51wAEKRhvHnIs4UAWuMHY+l?= =?us-ascii?Q?L9DBFVYq+sksUzLXBGKbQUY5YiiopjWNJQbuXp3aminuxY3IC+evhRapf9Cv?= =?us-ascii?Q?ORHS0I8fdz7J7tRDcN4sviuIJ1F4taNK7S+QmxEJPz0rzxSzKmBSbUtUkjTZ?= =?us-ascii?Q?ey2bxmF9Zu7cxdtqNPjqBaW0/YYs27tTJoCzOT8tgEcBVkaO9Q6DxhA8EFju?= =?us-ascii?Q?ZOe+/iSzvMRFtKpll2dL9HcEXEN1esQxC6+IKnLyA4uIxG0fPAbVVm/DMMpf?= =?us-ascii?Q?YQn8fdyAaXkcnXLFQC7FAJYm/O8ieDBvf4dw7wJnff0YaTDPZorIHYH5axkB?= =?us-ascii?Q?flCOg/CRyKQhuGzImq2gpjV+UvsEjSFspf/45VeOKHyiMjSEWxw/furFLwfF?= =?us-ascii?Q?5kX6a6HQxX/y1US/Coh6bLltvbvqYUVhUOLR2n64aJfNBx+7BLUJJhdyp3P2?= =?us-ascii?Q?bMAuPlVfWxSc06BJDjjh0wTpiCaziCTDx+qiKPQW4PLCFCCludrgJvN33myB?= =?us-ascii?Q?HgRAwp06UEblhi0SBek8VL0TObvws124vsNwB3I8W2eZCKvnBMdBk3qMrYgo?= =?us-ascii?Q?YnWacFTvVcFvKyOkRrUmYAKwZXnWNUQOZuOoz6yAcDnlf8HclsOqf/53mp7W?= =?us-ascii?Q?3tTj6BawkDo14M4HNqYCoSTruDRfcXdu6vplUWk+Y+h/wjzE8CFXGQkyW5V3?= =?us-ascii?Q?Bf19TQeU7RqGZBdCRu89hRSUns0Y32byY26h1/3ToyE9HPnxq1CASzfQy9Yo?= =?us-ascii?Q?aNb36jQYHkdIRbP1RC42bfDsjsjHcs6V/3nqquz0DPZXNQ=3D=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:(13230031)(366007)(1800799015)(52116005)(376005)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?X+7CsgjVW0GBPmhLFT66DwwpTSydwxxaLzJvHFCsydPQUPIGdqZuDqFx0yZ2?= =?us-ascii?Q?PyDmckwq+BDr0PIUnebkopZ/oeXmgch4TxYFMXTV4RJSaE5vPkLnHQI7aj93?= =?us-ascii?Q?JuPVK0XelYtWhyhaCfak0e6I82h9EjVGYRWqdVt+qn5tR29cMD3JAtjkfEEh?= =?us-ascii?Q?mBHolO0u3DgXXAVNdUc25Ru4zAX/zUFmadXhIMKsKeTQTXfykNdpxRppseS6?= =?us-ascii?Q?/tWJO2h5QoSPUB2GrteG6KShw073W7UMtCzWJLkIGq8O6rkx3Fl1Fi4n/6a2?= =?us-ascii?Q?VV10Tq3JIoBHL7QPyv2HCtDTBzWzCq4kIPCXUfesKYnoRsmk2F6kHl3ReF4R?= =?us-ascii?Q?MlvckoQhEgAHCGuxPfURhvZtFCYXQUrQkKe12MZZCgAyY1ezo+WWK7NDOfNN?= =?us-ascii?Q?/RJpmx5L93xjkHcP9FXfL72NCLYTIa7yCOYoJZinB5uTij91X5T1yAFS088d?= =?us-ascii?Q?00ViroC4d5KE0EgBk76PdvT8FUhw18QT8kHpvtTGE4JDMRlYsnYD5SKmHCJm?= =?us-ascii?Q?Bmqk/5NysVe3eBp7blZjng19Okrkbac+oLfrDpXpOR4tCqq1Fsvkgbk8vFkB?= =?us-ascii?Q?oq5IT3uoXqQ/3t8oRWmPHlSFaASKsQN2qFGxD1AgnOrBINb++aLdAqWB3idF?= =?us-ascii?Q?Z6/ZIpBVDl15CQmJ9UQv+lI2LpEdk4GGZT+cER8tRVi0lmecnmT0mbM8Oroa?= =?us-ascii?Q?sZdYs1GUQcSnWYYAq1Wk/heBa/ab5JVDc45SLqwXcMam8h+6ArQ47YVpekua?= =?us-ascii?Q?27seWOh3zjSMrjR4zt2m1aWinjtxblxG1gpkkYNqNiFNbxYcnE6eTuj7C5S0?= =?us-ascii?Q?oelbLe4pKtccOpmXVvsYctGTJv6TrvSLen1m9GKYwMrJCgh1nsfByEvea+01?= =?us-ascii?Q?qgVV9+1ETODBENFL10KkQh2AsoGZctGn0O7qaww0yQ1hq1uNBCvlw7qMekmQ?= =?us-ascii?Q?2Fz50st/L4nryj+5Cih0zQasXCjK54nWgl6A/7KIGXmmCMybW7KkQTKTPXw1?= =?us-ascii?Q?3i6IdgsVGV5Vunz3gNSqcmhgGba8mWYksBzvBvRF95duCyswGQfDzWDRegKT?= =?us-ascii?Q?tylPs3MfqFu57NhdCMOidrWBIsgjzgDW1d+25NgRKhFKxjhzHffs06XDNUrH?= =?us-ascii?Q?zm34cTSZlYuQPFJVaZ+ti/TgHg6v8GR5xZqkaWDM639Edsbo66UaNokQ68eD?= =?us-ascii?Q?bgFC57fVfE72Ese5+SDZ9wXC5xHHomfGgpjD0pn4TY2DFOcHk2pKHQNs4eTU?= =?us-ascii?Q?S17BL1Tqvt9ffCnRAnXUPLEODci9ESaYmqaGOvtxlGyw9U9aoK2Q/1ng+5BA?= =?us-ascii?Q?YSMZTyvxhc7xcs2iUcmJqffosaidd9/0k5DoQQz3AINHK2pHEDQATqu8JEAB?= =?us-ascii?Q?mtI80yjsAOuC/eRVR7A1RuG5MK+7za0W8TWJdzv3cvpaoHHvgePYJyoz/S1F?= =?us-ascii?Q?XiqFMDphSU7iAjrweCHSNdSBwTSUpAtLkVt2rwx9eHCZFGi/O9hidJ9Gso/6?= =?us-ascii?Q?eUdCTN13qX59sJ1uwzjY1wUbCwjvWNk5UGppH2afRc7oNytjQygAjBArvglX?= =?us-ascii?Q?5/gRne/fdGS2v2yPE2oE4YiGWXhttPStEFuThoxU7LCJCGOwCit6kZ7+ww1V?= =?us-ascii?Q?nQ=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: a8ad0d29-7d53-4b1e-f19e-08dc7eb94247 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2024 01:55:32.7172 (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: TyTQpvSEcthh75nFWAmKlIbSINAbiFgP6Uua5UcvPjD9Tha/rWTSGdlqZArUzZUHhE6bPxNj+e/SFZL/wRKbSVwR5JUwEB9nKbcHVfzWw1M= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR13MB5053 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 Add support of SCTP flow item with a NULL 'item->spec' value. Signed-off-by: Chaoyong He Reviewed-by: Long Wu Reviewed-by: Peng Zhang --- drivers/net/nfp/flower/nfp_flower_flow.c | 37 +++++++++++++++++------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/drivers/net/nfp/flower/nfp_flower_flow.c b/drivers/net/nfp/flower/nfp_flower_flow.c index 4cbdfd02b8..bd77807db0 100644 --- a/drivers/net/nfp/flower/nfp_flower_flow.c +++ b/drivers/net/nfp/flower/nfp_flower_flow.c @@ -1586,28 +1586,43 @@ nfp_flow_merge_sctp(__rte_unused struct nfp_app_fw_flower *app_fw_flower, bool is_mask, __rte_unused bool is_outer_layer) { - char *ports_off; struct nfp_flower_tp_ports *ports; + struct nfp_flower_ipv4 *ipv4 = NULL; + struct nfp_flower_ipv6 *ipv6 = NULL; struct nfp_flower_meta_tci *meta_tci; const struct rte_flow_item_sctp *spec; const struct rte_flow_item_sctp *mask; + meta_tci = (struct nfp_flower_meta_tci *)nfp_flow->payload.unmasked_data; + if ((meta_tci->nfp_flow_key_layer & NFP_FLOWER_LAYER_IPV4) != 0) { + ipv4 = (struct nfp_flower_ipv4 *) + (*mbuf_off - sizeof(struct nfp_flower_ipv4)); + if (is_mask) + ipv4->ip_ext.proto = 0xFF; + else + ipv4->ip_ext.proto = IPPROTO_SCTP; + ports = (struct nfp_flower_tp_ports *) + ((char *)ipv4 - sizeof(struct nfp_flower_tp_ports)); + } else if ((meta_tci->nfp_flow_key_layer & NFP_FLOWER_LAYER_IPV6) != 0) { + ipv6 = (struct nfp_flower_ipv6 *) + (*mbuf_off - sizeof(struct nfp_flower_ipv6)); + if (is_mask) + ipv6->ip_ext.proto = 0xFF; + else + ipv6->ip_ext.proto = IPPROTO_SCTP; + ports = (struct nfp_flower_tp_ports *) + ((char *)ipv6 - sizeof(struct nfp_flower_tp_ports)); + } else { + PMD_DRV_LOG(ERR, "nfp flow merge sctp: no L3 layer!"); + return -EINVAL; + } + spec = item->spec; if (spec == NULL) { PMD_DRV_LOG(DEBUG, "nfp flow merge sctp: no item->spec!"); return 0; } - meta_tci = (struct nfp_flower_meta_tci *)nfp_flow->payload.unmasked_data; - if ((meta_tci->nfp_flow_key_layer & NFP_FLOWER_LAYER_IPV4) != 0) { - ports_off = *mbuf_off - sizeof(struct nfp_flower_ipv4) - - sizeof(struct nfp_flower_tp_ports); - } else { /* IPv6 */ - ports_off = *mbuf_off - sizeof(struct nfp_flower_ipv6) - - sizeof(struct nfp_flower_tp_ports); - } - ports = (struct nfp_flower_tp_ports *)ports_off; - mask = item->mask ? item->mask : proc->mask_default; if (is_mask) { ports->port_src = mask->hdr.src_port; -- 2.39.1