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 9BAD242C45; Wed, 7 Jun 2023 03:58:26 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7D34E42D3D; Wed, 7 Jun 2023 03:58:02 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2116.outbound.protection.outlook.com [40.107.220.116]) by mails.dpdk.org (Postfix) with ESMTP id 190A242D35 for ; Wed, 7 Jun 2023 03:58:01 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cwkHSn0pd/WVJE7ue2d2DinK2/ovrStdBuK4h2NNxQSQbPZZtBexmz37ikfcvq0tsenagTTlQHR2yhLhgXM1XJfv1TGRL95njYQVdHjgrO7BLaCayBTv8d4M259Jj871p47vVzNzzFKJMv5s8bXzwDzucVfUX17hGr3DlQc4/dZgmWBH1VWTBP6oRwuLVMR64f7u6nJNodDlzMYahpHC+QKwrE5iqSzV5Nm6qvS0rpkh/NH5j0E/T3L6DFMce7VhIr3xWEgOucbRhKfK9epZwl2R2Z3RHRPJQ7w8uZn/EmRwYSmpEdtxgLBhB/WtP8fIXGaGbxm26Wf5145Lr4HjTg== 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=nPmFhjSbwv5QpgeUFfQLKB3IkjZy2b7+bxlC1rgB8M4=; b=cFrxIG+YDD5rThFcLIIumPq58y5zZ2IeX3GLJPeD/6VUZhAplc967Jx4F5+IKEFyG6BmDOc2zPI59cJEh/i4nT7KIz80KYzGLner4+59r2mj9AUoHl2UJ/jrzwKoufddSIJKMkY2ryOaUcUgQfj//92ew/rvw2mE5n+t9KPOYSpH50jd+ajVcTB5A0K3VTKL5AS+PeFul/mnfV/ONyEZh9uowdEtoBrzKz5n1vikHNl14XirLlw8ztlUG2/OFIUsUrvbtZz70UUC02KziWsA3hYq4Oh3OdGUr+Hn9NCX+aCpupu3Y7+T4FB+ty/acRS96L7z/Vv9cqWKVdqVHZGLBQ== 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=nPmFhjSbwv5QpgeUFfQLKB3IkjZy2b7+bxlC1rgB8M4=; b=UULmocrC9Hcxx8YyAVIPue7w5qEW1ADePwOWr7Z+zAfUOoFkeAKjgtTbD8jJbwQ0sBY4IYm6D9Kd96NnRHsaVUJFvhS6MIQEpGDbKx5nKYuAU+0BjlyrfssbCpHxwH08If8fFxAxaNBz5KZOFTqQxtV68C/jemBi8xLtON7V2eM= 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 PH7PR13MB5453.namprd13.prod.outlook.com (2603:10b6:510:138::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.33; Wed, 7 Jun 2023 01:57:59 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::d2cb:a650:e1ce:2174]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::d2cb:a650:e1ce:2174%3]) with mapi id 15.20.6455.030; Wed, 7 Jun 2023 01:57:59 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, niklas.soderlund@corigine.com, Chaoyong He Subject: [PATCH 04/10] net/nfp: add the insert metadata logic of NFDk Date: Wed, 7 Jun 2023 09:57:03 +0800 Message-Id: <20230607015709.336420-5-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230607015709.336420-1-chaoyong.he@corigine.com> References: <20230607015709.336420-1-chaoyong.he@corigine.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: SG2PR02CA0131.apcprd02.prod.outlook.com (2603:1096:4:188::6) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|PH7PR13MB5453:EE_ X-MS-Office365-Filtering-Correlation-Id: 7e270682-cbb0-42c1-4716-08db66fa9e60 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DfCvqNc0JglJWTCOW5aK3rf9xXIMltGxIaMIHiok8n1SkVFiw+bH/WpsohUZxCdfttWo12CShu6lsu2X1BU48kgeM0LEzeJeNMkz+KA1nbTBJUDgMergf+FNnjU3+hGN5We3AvNTJSi4Jv6IlIz6ztCfjonM+JtcyoK7qdhP+KCeKJvFvo0WLqXdcG/yk2qM4cmX1rMQTCBZ/oA+dCaKnI65nK8naMKs8ndMBndQJIuzZ/rgLzGGiyV5FFN5Myy0Cy/pDu48QbN4hM8SHCswbimy8qiJJK9sKifXnYkTtvYhbM9KFhDSp5vZ27VOhA6VbNOo9uosMy9RKkGWpdFDDtfxwQOM+39eXExtgvk1ek9lAwqw9lpoH1JslynnaES1gAG8pegmmwSWGbgl3CD7F8X661fKQ8F84TqLwJl6WvyF/+ckHLVLwdK9MQ116weXGTgfwvGteEeoRV0BUuHXlMtcnU6zaj38Elhr0SqRunoWm+ecqCfID8AoA+P87d13hMXTZlADgO6Di9CJ7I+IFDzKUI1lqv3hE7q4mdAcQ+EfLTeweaAYsM3B36/5xTYPlAZoq/O45l4SvfNfiZTZ4Vn90LTxA9vCqbV3OkqzvBFyqZDUsiaSaahCobNZ07ow 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:(13230028)(4636009)(346002)(396003)(376002)(136003)(366004)(39840400004)(451199021)(107886003)(1076003)(6506007)(26005)(6512007)(36756003)(66574015)(83380400001)(38350700002)(86362001)(38100700002)(186003)(2616005)(8676002)(4326008)(41300700001)(44832011)(6916009)(478600001)(66946007)(66476007)(2906002)(316002)(8936002)(5660300002)(6486002)(52116002)(66556008)(6666004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?V0lieTJtenplYzF1cnZoVU1QMjRjeVV1QVpmb1h0TFU1c1dhR0NVV3hCTlBh?= =?utf-8?B?ZXMyWVBPT2JBdFM0bTZLS3IrTUhIa0drcDMza1FQMFY3Qzl0T2ZsczREL0dV?= =?utf-8?B?Qm9MdUNJbllQQXJTVWJzcWlWY0UyZDVUU2ZramJETnJBVjJSZzMyM2RMMXdv?= =?utf-8?B?bjlTWU1FOEtpdk00NDJrbjgxSnhMcm1YMmdJOC9WZFlqb3JmcmZjR2NPOThV?= =?utf-8?B?S3RoL052Q2p3K1VOZkhXREtNbEdPV3JEUDVuVVVXekZBVS9iRHhzcVhEclFW?= =?utf-8?B?MVVBQlpxb0g1ZWkwOWJQS0V4WkRRUnhiM0JhTXc1ZWwvOWtQS3B0SG8vOU9D?= =?utf-8?B?RjVrSWV3WlhHRFRXYmk3eHNDRklaMFdodVpncUErQ1RJOVBmUWlmQmtBeHZI?= =?utf-8?B?cWRLUUJ3VGtId2tCTGFRc1p5VzRHWWZmbWpVdzBGcWpibnQ0V2ZYbkQ4MnRN?= =?utf-8?B?M2VjOVp0Zmw2clJJVmN0ckJMVlJsbHpUZUd0VUNQWmw3TXNBbmZ3N2JQZ1dF?= =?utf-8?B?M3AyNEl2eGhDV3RzRmltKzcvVmEwTFhuNGlwWkczYUJKU0F0cjdwOTYzQWFv?= =?utf-8?B?SDBGZDY2ZVE1UmgrVTZxQ0hnQjNUL1p6Tmp6dS9zSk43QkVGUG1NcnB1a1k3?= =?utf-8?B?Sk1zTDdtZEFleDM3Q1hBVE1aZHlGTk9aNXRaWXpKVzBLS2I0cVFycVovd29M?= =?utf-8?B?UGhKbDVXQ0wrd3EzUjIxZmE2a3FlUThia2I1ZytBdi9NRCsrckY0Tkx4a2Fu?= =?utf-8?B?Zkk5YlEwSVRSRTg1OVhSSUN4eTBjeEwwYk1kUU9WRGxUOXk1YUxRdVcyait5?= =?utf-8?B?VFBqSTFzdWoxM3JkVmY4WHdzelcxcytLVkYrT0dneTFGcHB2SDRIYzNMTld2?= =?utf-8?B?MXhLYnkzZHNnUnFhUDA1MTd1S0RxODdTSE5FRElYSkhtZ0ZYdzdYdTVRZGVI?= =?utf-8?B?ajFVR2YybGx4N3lobFI5RlRrTmxMaVk3VHVPc2g0ZFZRRnlxamxxQ3VUQ2l5?= =?utf-8?B?WUhtcWptOFF5aWQ1cDVPaW5Ic1ZTTEN2TjF2c2JqdnZZbytHSmdGUlNpZFRC?= =?utf-8?B?UUh4aDBXdkdQNi9mVzlvZ1dLTGQ1aS9TUFR1UUJUMnNDYXBzRFRENkcxZDlP?= =?utf-8?B?UURpenAyQks1L1FzS2tISFJLNVBMd0pLd0VXUitOZ0hab3BWKzBUeWdnS0Ew?= =?utf-8?B?Vm1DSXBjY0Vkcmt2K0FGd080VGlLZjNlaDA3QnZBUVdCRFpVenl1YjhnVzk3?= =?utf-8?B?SmMzNnJaMmFtVWwzREJyYTU0blBRcUEwdkFuYjBxY0JqZFQ2NEJXRkxnOU96?= =?utf-8?B?RTR0YVlvOGZWSWllM0NNVHJmSU11OVNMUEhSN3YvUWxRcnc1OStVdERDZGZY?= =?utf-8?B?UEhyT3ZsYjJ6RXVQbGpTTFZ0ei9RQkM5eEdIWjd5bHBWbFFwbmhuQlc1UmQ5?= =?utf-8?B?SkxQQzJGZVY4REM0SmxRRm4rSjUrTWFkQzNSRS9jbXdBR0J5cU83NEx0bFlT?= =?utf-8?B?TjVRZER3MjA2VlhCeEhqVmtaVFVWYzZ0RGRtUFJOVUVHa0dhZmYwODZHek9T?= =?utf-8?B?YVpIZ1JXVE93T09NeHkrTVAzL24vSHpsUmxpbDkzTWxwOUVoblNDenpiVVFU?= =?utf-8?B?YUdpQWRLdmszQmVZRGtQZUZuaFB3ekFNT0dyU2NoN3hjQk9DWFRYbFRKaFJr?= =?utf-8?B?VGhuTWxRVGlvOWgyTEJZYjJJZy8xNnJHNHBCVmxYMWswRFlhTkNldkowNHli?= =?utf-8?B?NWFnbjZmTXVNUnRsUTJHa21pclQ5YU4wQWY0c3JPTXFqVUYwS2lkWCtiN2l6?= =?utf-8?B?R1lHUDkxREFOR0hCU0hMaHNPbXZ0VEFNSnRBcUxram8yMWtYTkE0ZXpKcXJx?= =?utf-8?B?VnVpbkxnUXByc1p6Y0hqZWRwaDFmcVZURWR0ZDYvVGIyWkZ6U2d5VkgrMkYw?= =?utf-8?B?ZFdvc3FoczJ1SWF1TWFkWFhaYVhHVVVKdTlQWjc1elZMeU4yUEtUdC9hM0Ex?= =?utf-8?B?NmpUSkRZSmQzaWZmNW5SQ0s1TExNSVFhZVR0Z0x3UHVBRE1PREEyS2pHQzFE?= =?utf-8?B?d3dPbEQ1bjB4Uk9OSDMrQXI5NWd3alR6OXIzc0xZV1FaQkkzbTNyTTloYzJr?= =?utf-8?B?Rng1RmNDQ0Y1cmFiT1pYcWtKTnEwV2dDRHB5Q2JFQ1JYN2lreWx1QXdLMWxY?= =?utf-8?B?bFE9PQ==?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7e270682-cbb0-42c1-4716-08db66fa9e60 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jun 2023 01:57:59.0469 (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: OloY/ZCtjv82ZpbSXVUvZTd4LATX9qF5KpM15pzqG6aaLOXjDckPskhukktJhIodJ6Y6L7FFuciM/Wu4RzTIGAFzAgKNYAgrd/VGVN29bvI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR13MB5453 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 NFD3 and NFDk have the same format metadata for the RX direction, while they are different for the TX direction. Add the insert metadata logic of NFDk. Signed-off-by: Chaoyong He Reviewed-by: Niklas Söderlund --- drivers/net/nfp/flower/nfp_flower.c | 8 +++++++- drivers/net/nfp/nfdk/nfp_nfdk.h | 2 ++ drivers/net/nfp/nfdk/nfp_nfdk_dp.c | 18 ++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/drivers/net/nfp/flower/nfp_flower.c b/drivers/net/nfp/flower/nfp_flower.c index 3636c347bb..8631664180 100644 --- a/drivers/net/nfp/flower/nfp_flower.c +++ b/drivers/net/nfp/flower/nfp_flower.c @@ -16,6 +16,7 @@ #include "../nfp_cpp_bridge.h" #include "../nfp_rxtx.h" #include "../nfd3/nfp_nfd3.h" +#include "../nfdk/nfp_nfdk.h" #include "../nfpcore/nfp_mip.h" #include "../nfpcore/nfp_rtsym.h" #include "../nfpcore/nfp_nsp.h" @@ -1061,11 +1062,16 @@ nfp_flower_enable_services(struct nfp_app_fw_flower *app_fw_flower) static void nfp_flower_pkt_add_metadata_register(struct nfp_app_fw_flower *app_fw_flower) { + struct nfp_net_hw *hw; struct nfp_flower_nfd_func *nfd_func; + hw = app_fw_flower->pf_hw; nfd_func = &app_fw_flower->nfd_func; - nfd_func->pkt_add_metadata_t = nfp_flower_nfd3_pkt_add_metadata; + if (hw->ver.extend == NFP_NET_CFG_VERSION_DP_NFD3) + nfd_func->pkt_add_metadata_t = nfp_flower_nfd3_pkt_add_metadata; + else + nfd_func->pkt_add_metadata_t = nfp_flower_nfdk_pkt_add_metadata; } uint32_t diff --git a/drivers/net/nfp/nfdk/nfp_nfdk.h b/drivers/net/nfp/nfdk/nfp_nfdk.h index c39501990a..0e3c6cc90d 100644 --- a/drivers/net/nfp/nfdk/nfp_nfdk.h +++ b/drivers/net/nfp/nfdk/nfp_nfdk.h @@ -227,6 +227,8 @@ nfp_net_nfdk_tx_tso(struct nfp_net_txq *txq, return txd.raw; } +uint32_t nfp_flower_nfdk_pkt_add_metadata(struct rte_mbuf *mbuf, + uint32_t port_id); uint16_t nfp_net_nfdk_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts); diff --git a/drivers/net/nfp/nfdk/nfp_nfdk_dp.c b/drivers/net/nfp/nfdk/nfp_nfdk_dp.c index 9b815800bb..59c507e03b 100644 --- a/drivers/net/nfp/nfdk/nfp_nfdk_dp.c +++ b/drivers/net/nfp/nfdk/nfp_nfdk_dp.c @@ -12,8 +12,26 @@ #include "../nfp_rxtx.h" #include "../nfpcore/nfp_mip.h" #include "../nfpcore/nfp_rtsym.h" +#include "../flower/nfp_flower.h" +#include "../flower/nfp_flower_cmsg.h" #include "nfp_nfdk.h" +uint32_t +nfp_flower_nfdk_pkt_add_metadata(struct rte_mbuf *mbuf, + uint32_t port_id) +{ + uint32_t header; + char *meta_offset; + + meta_offset = rte_pktmbuf_prepend(mbuf, FLOWER_PKT_DATA_OFFSET); + header = NFP_NET_META_PORTID << NFP_NET_META_NFDK_LENGTH | FLOWER_PKT_DATA_OFFSET; + *(rte_be32_t *)meta_offset = rte_cpu_to_be_32(header); + meta_offset += NFP_NET_META_HEADER_SIZE; + *(rte_be32_t *)meta_offset = rte_cpu_to_be_32(port_id); + + return FLOWER_PKT_DATA_OFFSET; +} + static inline uint16_t nfp_net_nfdk_headlen_to_segs(uint16_t headlen) { -- 2.39.1