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 6C456440E1; Tue, 28 May 2024 03:55:46 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 499A540698; Tue, 28 May 2024 03:55:33 +0200 (CEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2107.outbound.protection.outlook.com [40.107.236.107]) by mails.dpdk.org (Postfix) with ESMTP id D0ADE402D2 for ; Tue, 28 May 2024 03:55:31 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ezGprOuHYyknqcrLOpzNUhgAjRTAIDa5/SbZNvpdrG1GCI2l9sh04LxUxL7aK1A5Xwz8m0WlvPoDg47LeNV1hAkfK2aYjNlGcqYlkRCfbV0k5bhngwUPyG1C0HE7mR/h70r7DrbEQ3TyOfuoyI4j48tLdi6ohThj+4fBA/l7S4qIc8iAgZueBvlQ7gn6ue4jpFLO9joBmfQqm7+45QM/BOSo7HVVGPDRiPFTdGVjUA7PUWsFdM7reO5foJNy1Popgeec68nIkm7AzrsRb0+8zoB77IQv3NMKT9TryyQjTwTCC4x/WBSNReF6bE4B+OwQRoK900muLRC/LPdjPvzFiQ== 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=9OFyVgAAzDB0+VqEhMDX0y5Q9USxbFvhT56+I3XPFAE=; b=FKxybyzm/Rnf6bNQuKze2ztl19wZUvDJbKZu9tDR1t2Bk2NHJfJyjDIX91i+LimFErDsmOX1aftWIM+vIn9ApVd4IJzIgOipP1/HILMzr8I4xmRQ4pT4uxRZtg/0TB1s0BJTBt7IvHDTUOE1h8DD7mcLSgiWcBNlwiBPN/RgoKMpLFKNqZxyGwkb7rDufk6wM+nEdVj2oIYaPiZJNe0WojG9brzlEfPrLT/9gLVGXl8NriPa/6AWaxthmM1hGsKa31JQlw2AH/VlLMHq7CHncUuNqBfWeyAqlGhFEmxefjWTs6e1pqYBenHgA95m5GU7yVdwlnyVM5md54QmFXnSxA== 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=9OFyVgAAzDB0+VqEhMDX0y5Q9USxbFvhT56+I3XPFAE=; b=ZBA81sKSIfY+SMAFhGjm/6BkIOVgJ/mxi8BxANW3hNjFtAvS1rKv8g0z4yypbguY2hdXVltPAC5pH7V8OD7vH7X5X+/mU+dEeVhAP7KbP4KYXeYUAwRpZKfUpZxGJOV/Ges95he0qmd3KNigWavnk4A7qAFDtnelk+CDAabLue4= 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:30 +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:30 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Chaoyong He , Long Wu , Peng Zhang Subject: [PATCH 3/4] net/nfp: support generic UDP flow item Date: Tue, 28 May 2024 09:55:03 +0800 Message-Id: <20240528015504.2376070-4-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: 908ea25d-8f34-47c6-31c9-08dc7eb94104 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?xhNDez6LIK+BveXW28haJAKbT+w0hBg5z9NaSynnenTt3h7ZVc/NEXjWFPIU?= =?us-ascii?Q?rhAFxcNEaEGlbwfZWvvav9Y5e3nk9AHseqClqRQU57BZ8Vhx/vDxjgcH0+wI?= =?us-ascii?Q?0yh2svdP9mTF5yVq5RpKyfB7B64pb2WCvrIse9GCZS3DQ7HoKzj+MZq0eoxF?= =?us-ascii?Q?kyh560U9FtwJg8bMzbt+A+Jkb1Bux7DAaqQPItNszWXGIS542Ugs7Ug6PlRN?= =?us-ascii?Q?vwAZz8Z028BeP1dsFNBPEL8d+wX8ymlvq7iEE50XdlI668OJXFmYWRgUT2z9?= =?us-ascii?Q?PaHWEhrDT9JvfhT7uD0nNJrZwwIdF7dLvYRZ0stY276+tn78QUpSNMBrsnWb?= =?us-ascii?Q?E/W289Z3lmqwwjyagf9riB+GFzmZYqDn97pouJK5/7N2I+etiJ1HpWgnmjza?= =?us-ascii?Q?VhcBY8sXzh7WDbo3hcn0NC1Crt/tTmbBtCw0iTwGs2pntF01eDpLbaqPNa61?= =?us-ascii?Q?NyjmjdzmT7RXULJWxa/7M5COnAcGkkXn3tAlaRolQWZ/gyEZmdTYd6j0X6dX?= =?us-ascii?Q?aIMQ9wyga5c/8MFWRFzMfXuPtFaIQqxmfxHq90jqNXw+C8fDSylp6bcAvrri?= =?us-ascii?Q?o9B/cNGyEmN/7PxhFMrJrk8ONZge09qNKa7WlXyzB3YXS8nIzDvVicmpYLzV?= =?us-ascii?Q?+uArwG+K/GZL3xx/nMzDox3QH3UiEQisLddLPisXOPvqX23LDHJKiUn9A7zL?= =?us-ascii?Q?v7dxK69OKBTSPnSTXobrqWUfRuqnYzQVmSmKhJ7VJv6h45v0V6yrUQzD9GU2?= =?us-ascii?Q?IkcucntjgOcM4LIQykajEZFlPgYJFB/01MaY7plvqaQNGjXG4Ys1loXP+p0x?= =?us-ascii?Q?OLn+MzDF9fy8/pxrTmPFFY7FPNPbPC9D7BaQ4SJvJxu3YDg6FoJ2H3BTny4b?= =?us-ascii?Q?7RMSC+x+xyjPySFTa6EgpiHCYH0K3Ss2ZlS/GGVqJrwZ40iczLyrXbALify9?= =?us-ascii?Q?XTeelvnKRXtSElcjRfa8Yl7hhHgNVmQ5ktuvBhfHtv4a1DHlpSJbMThqi9e4?= =?us-ascii?Q?F8QRFPT4H1vRzZGTGSSpZCl/sPnFzwFOFSlyZJ+wy1PWDLYsdpkxt7NaHrrq?= =?us-ascii?Q?iHDbyfe4/yOqhMrzyEjtLiF026ZoW05cUrZvq8OrabZ483bhtMfdZsAGHIlY?= =?us-ascii?Q?DGkLiqrnhB75k7S72S6gNnAZhOdiwv7ALHY7ubSSjYI8JkL0U59kMUFUER6+?= =?us-ascii?Q?iYoGb9C4hGuWTvCv92XzvKAv8ej8CXNWi05/PrOhZxHJmZIjZ5zH2R4InGg4?= =?us-ascii?Q?3koV4jLeUhbWJRHV7Bw3GR2Wxuv2wx7A26xEPth0eEeSmY4NuKjVde5f21En?= =?us-ascii?Q?LQP46PKrOZtQMnJTKJOYg8qfRy8TXj1HboFrv6I3tqHegg=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?nWqh6uGM7rK4m9/yyTEtP1jK2WlebdU0u9fvPOlzmnkAz4fRxkOVjK8PflN7?= =?us-ascii?Q?IEn/KfN1BFcKSKjtUuqvzcrfV6gi0cKeHgLA679vQtPzg8fdWimfcvAEJ7GZ?= =?us-ascii?Q?B2qVq1ZRr+7FTRoEz3BqEhCe+JXbeMfVdOBzBSSIOc4COFt/6psNc86LFiHR?= =?us-ascii?Q?pfpNYUddcdRgfCHzJUy7HUHVWdvXj8eV6UkPlO/u5Kk0Peos1reTlWhA/GNV?= =?us-ascii?Q?ET7tIMcAMi3Zi7YwaicmqqfaVci4yL2A8+DQugI0w7mLTeFrLDQ+XAanGpzp?= =?us-ascii?Q?qUHgmmmj7VnSBFdYKOuWX7IkUGhRNi5opzyc8BvCJ1bTzXo2i1kVOmH0L7zz?= =?us-ascii?Q?/eKhk72wLp7XXv17EnXE77gXmYei662QWt5e1jrcqlOsR9nw8A2+iNS5SZkj?= =?us-ascii?Q?FcdsVoj+awNNhgGclDndMkKXRrmy58MUWFeJYGtcI0wrfEDwpd2KCkE/KOGv?= =?us-ascii?Q?wQaKc14595kQrhLfPSBsMLQF9wG0udDVqOLjVzQAEeydlXReIBYBoc0Lf7gs?= =?us-ascii?Q?dWoIdY4Su8oaP8nFFbj9VKkglbttcnWJ72cKzjVXpllGc49J3CAHdkc61osW?= =?us-ascii?Q?nwgDgdM2pTGQGxAUHh6RwsFjSf8puDBensRXNRzDONmPcncGkO55cvMYQKpk?= =?us-ascii?Q?wCmDZgXR8OP4Xi3HlIqYBHch8F3kvKSx0edfuEZ85YR2PDJ3L0VOm89jxRMs?= =?us-ascii?Q?HM/JxwcEttvDRBSFE38xo/IZ1p/TquMTHeUbYp0vA8ok7mV68/xawpzrpRGh?= =?us-ascii?Q?Rbiu37rCjx288CI5rvPqbuwv85oCNhJ8QceTjLFrS7Jq8213jL827GKnoVdW?= =?us-ascii?Q?SvofKWzbp3xNFiehyIetF4BApT/qmgAuPJoLw1iafy4VT+F5D9SGV7d/2MKf?= =?us-ascii?Q?IOz79SCDJ5fvKhqp76qIEwmso4HHetbJ3XcIvMMWoTreOLReFnCps9GmKIYc?= =?us-ascii?Q?1iELFMeq1QuwDAe68jqFGCAT5QsFYIISRzNXilX9heYy53i4jvgXRoaLB/9Q?= =?us-ascii?Q?R0OCbC3nViIvR+fHxiFFumQRCiEWJdqKqGF2+sZiA1masJZmfBDM7gBwSyS9?= =?us-ascii?Q?zDMAZloLg8/qYXArVaHpvv1l3En5Nb2GW0CY7jGeYA4gs2bN31Mz5zueu+pL?= =?us-ascii?Q?OVRU5BV2rPYXIHKPOZ8uTDeCsoBT3Vn3aFeCREGoN5tphx3lVcxlb7vW9Khm?= =?us-ascii?Q?6oHiDRTiyCTOQlDfOSh67qAuXvP2+ZksangBmQLYMx7ua8iO5Ubu/lYoT6dE?= =?us-ascii?Q?rBetvV8E2+duhHeAISf7ZIKgqlodVfUh7h9nbEy9tMluCk7C4vJ2oVaki7Hx?= =?us-ascii?Q?WpBT5KsRxpeqQwWZcKn9FKJJxwnLYrZt/ONirmf3wrzvAZO8CYBHAzZL/8Qr?= =?us-ascii?Q?uLSLoSpV7w5g8UtMMxW7YCS+YjOt5hY+LuXNvPUuLTppmg1l7er8XLZCjuNL?= =?us-ascii?Q?tLMfMtgvZiYAa4bXkIWkCTX+X+SsAhULLffUR7S5gKBZKdjEjPiwNvbcm+2n?= =?us-ascii?Q?WozPYylQSC+VxqNyCXYs2vzVHEtvFQyXJepiaxdvNXj+I0cHwGxhwazAzLdY?= =?us-ascii?Q?w5iG3sHp9wHXc/o4T6WwJAm/UyUyjbAwziifZ0McTqhKFUmZ5vbwJdooO1P3?= =?us-ascii?Q?sg=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 908ea25d-8f34-47c6-31c9-08dc7eb94104 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:30.5943 (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: 7yo+qicaDW52uzTveC1sirOroxfzksrmDRo8QbmjuB1dyTxI0FmDEi2Xz8j096e8dlbdsZXifw4SeSscBaX38B30aRRr8eDOPW8AwrUZ2vo= 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 UDP 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 | 41 ++++++++++++++++-------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/drivers/net/nfp/flower/nfp_flower_flow.c b/drivers/net/nfp/flower/nfp_flower_flow.c index 810f55f805..4cbdfd02b8 100644 --- a/drivers/net/nfp/flower/nfp_flower_flow.c +++ b/drivers/net/nfp/flower/nfp_flower_flow.c @@ -1522,18 +1522,13 @@ nfp_flow_merge_udp(__rte_unused struct nfp_app_fw_flower *app_fw_flower, bool is_mask, 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; const struct rte_flow_item_udp *spec; const struct rte_flow_item_udp *mask; struct nfp_flower_meta_tci *meta_tci; - spec = item->spec; - if (spec == NULL) { - PMD_DRV_LOG(DEBUG, "nfp flow merge udp: no item->spec!"); - return 0; - } - /* Don't add L4 info if working on a inner layer pattern */ if (!is_outer_layer) { PMD_DRV_LOG(INFO, "Detected inner layer UDP, skipping."); @@ -1542,13 +1537,33 @@ nfp_flow_merge_udp(__rte_unused struct nfp_app_fw_flower *app_fw_flower, 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); + 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_UDP; + 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_UDP; + ports = (struct nfp_flower_tp_ports *) + ((char *)ipv6 - sizeof(struct nfp_flower_tp_ports)); + } else { + PMD_DRV_LOG(ERR, "nfp flow merge udp: no L3 layer!"); + return -EINVAL; + } + + spec = item->spec; + if (spec == NULL) { + PMD_DRV_LOG(DEBUG, "nfp flow merge udp: no item->spec!"); + return 0; } - ports = (struct nfp_flower_tp_ports *)ports_off; mask = item->mask ? item->mask : proc->mask_default; if (is_mask) { -- 2.39.1