From patchwork Wed Jun 7 01:57:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 128239 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org 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> 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?q?WIby2mzzec1urvhUMP24cyUuAZfo?= =?utf-8?q?XtLU5sWaGCUWxBNPaes2YPOObAtS4m6KKr+MHHkGkp33kQP0V7C9tOfls4D/GUBoL?= =?utf-8?q?uCInYPArSUbsqiVcE2d5TSfkjbDNrAV2Rg323dL1won9SYME8KivM442kn81JxLrm?= =?utf-8?q?X2gI8/VdYjorfrfcGcO98UKth/NvCjw+UNfHWDKMlGOWrDP5nUUWzFAU/bDxsqXDr?= =?utf-8?q?QV1UABZqoH5ei09bPKExZDQRxb3BaMw5el/9kPKptHo/9OCF5kIewZXGDTWbi7xsC?= =?utf-8?q?FIZ0WhuZgqA+CTI9PfQifBkAxvHqdKQBwTkHwkBLaQsZyW4GYffmjUw0Fqjbnt4Wf?= =?utf-8?q?XnD82tM3ec9Ztfl6rRIVctrBLVRllzTeGtUCPZl7MsAnfw7bPgWE3p24IvxhCWtsF?= =?utf-8?q?im+7/Va0LXn4ipZG3aBJSAtr7p963AaoH0Fd66eQ5Rh+U6qCHgB3T/ZzNjzu/sJN7?= =?utf-8?q?BEFPmMrpukY7JMsL7mdAex37CXATMZdyFNOZ5tZYzJW0KKb4qQrqZ/woLPhJl5WCL?= =?utf-8?q?+wq3R21fa6kqeQ8bkb5g+Av/MD++rF4NLxkanfI9bQ0ITRE859XRICxy0cxL0bMdQ?= =?utf-8?q?OVDlT9y5aLQuW2j+yTPjI1suj13rdVf8XwszW1s+KVF+OGgy1FppvH4Hc3LNWv1xK?= =?utf-8?q?by3dsgRqaP0517uKDq87SHNEDIXJHmgFXw7Xu5QdeHj1UGf2llx7yhlR9FTkNlLiY?= =?utf-8?q?7TuOsh4dVQFyqjlqCuTCiyYHmqjm8Qyid5p5OinHsVSLCvN1vsbjvvYo+GJgFRSid?= =?utf-8?q?TBQHxh0WvGP6/fW9ogWKLd5i/SPTuQBT2sCapsDTD6G1d9OQDizp2BK5/QsKkHHRK?= =?utf-8?q?5PLwJKwEWR+NgHZopV+0TyggKA0VmCIpccEdrkv+AFwO4TiKf3eh07BvAQWBDZUzy?= =?utf-8?q?ub8gW97Jc36rZ2amUl3DBra54nPQqA0vAnb0qcBjdT64BWFLg9OzE4taYo8fVIie3?= =?utf-8?q?CMTrfIMu9SLPHR7v/QlQrw59+UtDCdfXPHrOvlb2zEuPljSLVtz/QBC9xGHZ7ylpV?= =?utf-8?q?lQpnhnBW5Rd9JLPC2FeV8DC4JlQFn+J5+MadC3RE/cmwAGByqO74LtlYSN5QdDw20?= =?utf-8?q?6VXBxHjVkZTUVc6tDdmPRNUEGkGaff086GzOSaZHgRWTOwOOMxy+MP3/n/HzlRlil?= =?utf-8?q?93Mlp9EhnSCzzbUQTaGiAdKvk3BeYDkPeFnhPwzAMOGrSch7xcBOCXTXlTJhRkThn?= =?utf-8?q?MlQTio9h2LBYb2Ig/16rG4pBVlX1k0DYaNCevJ04yb5agn6fMuMRtlQ2GkmirT9aN?= =?utf-8?q?0Af4srOMqjUF0KidX+b7izGYGP91DANGHBSHLhsOmvtTAMJtAqLkjo21kXNA4ezJq?= =?utf-8?q?rqVuinLgQprsZzcHjedph1fqVTEdtd6/Tb2ZFzSgyVH+2F0dWosqhs2uIauMadXXZ?= =?utf-8?q?aXGUUJu9PZ75zVLyN2PKTt/a3A16jTJDYJd3iff5nRCK5LLMIQaeTtgLwPuADMODA?= =?utf-8?q?2KjGC1DwwOlD5n0xRONH3+Ar95gwjTz9r3sLYWQZBI3m3rM9hc2kFx5FcCCF5rabO?= =?utf-8?q?ZXqkJNq0WgCDpyCbECRX7ikyluAwK1lXlQ=3D=3D?= 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) {