From patchwork Wed Jun 7 01:57:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 128240 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 6E08E42C45; Wed, 7 Jun 2023 03:58:32 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A6B8442D44; Wed, 7 Jun 2023 03:58:03 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2100.outbound.protection.outlook.com [40.107.220.100]) by mails.dpdk.org (Postfix) with ESMTP id A7F8242D40 for ; Wed, 7 Jun 2023 03:58:02 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=moW4wF7QhdiZxJejxkC+7/KpMbQJnh5/OmSzkkwJU20MyTee0wSYZu4jEOxlaIo/DVHtDVXzFyYWVJCqiCA6PHlAF2VlZEAYucZXoSqdo49HHHO75FmFyHyK64uruZQsaYR4u5HN975+IsfVKnlilwriEWxBr16qxELGgx3nCRNmLVw+SC9WYYP/CMPFvzIFvMOAxwi87UhsrZHhy13AXKceawcTKiHsG2eLptiXHMwhPRTYWaKsoxlzTA/rC7CEQsaKDsn5THdTEUz+9ri9++tsy6uh5vW75zwuNGGZygJXZlC73oH/LqzMj7maT4Tl5L7t1KMjPuojfUKeH6z+5Q== 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=qBNsaAxk5r6HP9yC0J1mpCL/QwjU4qUU+BWSuPy99E4=; b=V9Cmuz7a/HtgNm+pfJRAJKL6JHSegu0gACMaIqEPer5F67Ldtl/HcfeKiA6D75Wzr/qZazFMGqjTd9KI2W3eK+Qy2gEHXnjFJn4y0Z1YBeLBQo4VS4/XL40he/HEIYuVjNGOXkJJeyRjJvhJcrMYNYDZzWRMoxJWgdU0iPT9UEleBNGsua4SX8NrM9C3Et9wpenXMAM5Areolu2G9UkPboeLdIg44l6P8TZPvsOpLTqLcgXd2ZhiR+NvJKmxhOOv19BJ85WFc1qjOb7b9j9CaVc0rPRknaw9nvls9xAv5/uPvbobo3m78RImbQZoxlAci9IT/9itVAvrT2S/7NcXoA== 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=qBNsaAxk5r6HP9yC0J1mpCL/QwjU4qUU+BWSuPy99E4=; b=d+ZkUsmznLwsBYTmWsuSgnyVIdWm7XTWaZ7hOayscctVR5kQUK/6jGUmQc1E3BtnkzrpfuiyXuePXIPWDxLOaBu90uTugTNIlODwAzPPYm3NDqhQ9kSMqZvGpS73ea8/fRZlaWm6f9GqMG4u4DLMwvH8e4vU+HVUy6X9iDdCzEw= 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:58:01 +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:58:01 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, niklas.soderlund@corigine.com, Chaoyong He Subject: [PATCH 05/10] net/nfp: add a dispatch layer for Tx function of ctrl VNIC Date: Wed, 7 Jun 2023 09:57:04 +0800 Message-Id: <20230607015709.336420-6-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: 70203063-2e0a-4889-88a9-08db66fa9fb7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MSwE7+i84XzLLWMW00HxnJh2ac1I1Jd4sjjyYxlYlmR5XFtLM+envNTYj7ttieZuYV0+WHF5kjzdETnDIb+xcuxYqHuLnIrZnPrdEo/PO7bBynZMRLZFdyMXNJdFN+XuAp9EcIK8VLOOqlwhcMGMzeLxnlafvygWBQEioiYj7ZMXaK2GXsY6ph0J9dg2b3G9i/KOMTsqakiJ3MjU9a/qSSlFRMBY1kA8L+qe5PZRUXHU8aMI/KDndiNO9HUuT2ryY6gXSxAl7Ylr3xrO3Rc8qKuFiIRZPQ54OCB+DT1ZHBwxYPlfMBmrX3vWrwO7jm+OIssEoOXbO2j0CiJNQZmLFj0BjFEv3tzsSw4RBeMTe+XVk79QhGWgqdgQhcPkgOM76N7ZGDMC1Ah3fQZ7W20mDvJvpMyhRCL93DfBpA+eCoJSxpyrXfh6W/1qycowt8iHoTklYEaxAKv79o8k6qdiEI1hp/RXSUQFovyFA371WXQWduCHg8RsSs4MsHVv7dibtKuOwcgLcDf2t7UBc2vL+HEKQL0og1Tq+C2f3byYz3Hj6Sb/x4q7a0jAV65jlu1p+RDZDPH4tfIxBYF26L607alAn+W73jpYKKg4FSusAc61eH2vhlbjTQZijEVJMxbO 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)(83380400001)(38350700002)(86362001)(38100700002)(186003)(2616005)(8676002)(4326008)(41300700001)(44832011)(6916009)(478600001)(66946007)(66476007)(2906002)(316002)(8936002)(5660300002)(6486002)(52116002)(66556008); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?ORbhAWn+h42xZXfOkfAKLPwUMEdY?= =?utf-8?q?nIPS/Hlv3fr5nsFGt72jjLTn2xaovGZDOY8Sl968WuLMJutjM3qI5TwPxrinrfbt9?= =?utf-8?q?soNgJ5qajJoEXpynwcffFnYBjWmrtpxAUlzPPzhKiRi5P10hi9E2C02FPnKvomMog?= =?utf-8?q?HDzQ+ZNiWo8Baaf8CywGGk82qaB6HroB3I+inxqT+2LbsbEMdnKRrqpEWkdlddhh7?= =?utf-8?q?whQSTIsxkX5aimYo4CeglZ/0LPdEmVdzcBqLqX+uDWOX6Za4fCRoEjpbk8jJWNaxk?= =?utf-8?q?d5Tf2CgpL6wY4RV5a78RcW4c6yk5M6aYHxPzLQmnsXGz6l8aW4P4WK5P8JU8ZWxEy?= =?utf-8?q?KN4oroW2Gkt4w7d1tZfayg5CWMmpQ6LhWUszEIhFFT9lIQcLo75UIFNPrx4qXGTbY?= =?utf-8?q?be2OJDNzAxtQ5NhLnIKCA64gEA0XjVuZ5MmXbjolXnlCxMpjO2xWyTVcfReYrzREE?= =?utf-8?q?TfbF0R1N36DnGhNz7QgFZLR6cDOFwnDq5uJ5O7a/YjDPTuDRQm1ZW/8JbXD0Merc9?= =?utf-8?q?zvc0+IWHZ0MrkOGi5kLI6xu16hkRCG28KWsfYas65grrnEpJhVziinLf7LiorN8zY?= =?utf-8?q?5hUwUXthIRA6BVhLpQOqiskpiFBoDc6gOVjpICox4Lq7yM+9vpRIhZijQfdDWPeEh?= =?utf-8?q?kAPwUXmYfs0zoARvfLngT29TVFRcfDsxTXBLK+gTWWgCoLyfI03GemVC5C5yf+brN?= =?utf-8?q?IJFzz5aslFb31o52W4HNQu3B3xawV8Qy/hmskX65Zlkrza0yZyk0qkA/KI0wDs4wT?= =?utf-8?q?0X44KRux0SXUyP/83kL+koZPmrVTpdmVcvDe5MO7yN/DtVJZJTy13WjlXf+5ogWKO?= =?utf-8?q?PJkcpWk39a1t4ybWNJiFSCKzdhKIQ9oYh5k/Iuq1Q+O7YHnUH231a4ITB88+HuA0h?= =?utf-8?q?2B9GjHWk7g/BkFsWb2FkVcIdwK1DCVfI5CO88Qqpjtebc4xuW+TW+nODOA1LXTymj?= =?utf-8?q?mSyywstPXfEqoZSAUOiW0UEauKDPAMMvdjYUiIZlYhY1rY3fm8jvDHtwW9i6gxvqB?= =?utf-8?q?uWqBppiTUfzdokGvfRU1M/foRHNmIzTotvJTi+uBC0Iw1fwsfCmIQYsJfXo6oTRNz?= =?utf-8?q?lAlGPdkdWrEKdLaNct8uWKCFEvGlj/rfGYq04hC9OJ3l1aJ9QbsCNAP4P2bekyE9x?= =?utf-8?q?cSIgBePwI6rzr4243YuBHvbzwnRqAwu9cB2Xweliz3wbtzTARPGTlX1OPGuA4DJOs?= =?utf-8?q?0+ReFnCUNkbtEQKWCAqV03CVlARL7Iax4gfJo8i+uaWxl0pU3t3X9qFWx11usaIlZ?= =?utf-8?q?1qE4dceETSYavJYVCB67sTkKFaKttUBQXj+jcoZbbF+Fj2qnXMbK51guBhiy1rp2o?= =?utf-8?q?G1zJtz+IrS0OPItBtoufAowdNWDIhd8NEqIrBujPu/Gjz5z7Kh6AquGtA+LLeHkpy?= =?utf-8?q?5rhnGZrF1oPwuombUyQz06s/HEqG9yjPt/g8/0dRTDRHAKZnf3h2vN4O4och6eVPe?= =?utf-8?q?bfdPXx8XyfMpU/3yNm9CB8C0Msv0YkPCN7FzDvuTEZlWBPND5exwuLVZNXWDKKI8q?= =?utf-8?q?VPx8FNkwZ2e01VheK7xwdZurDbVIpiTXsw=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 70203063-2e0a-4889-88a9-08db66fa9fb7 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:58:01.2723 (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: oGZl+T4uhgoVIT6WIWsaRIRcZ1dgPpyqooetjRSS5ngTaeDoczdWcrTek9mlwPFS7ZHyzJFVZ+HDLHrUsvWiQZli/PIyS98xND9V2DUFNQ0= 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 The dispatch layer aims to choose the corresponding Tx function within NFD3 version and NFDk version for ctrl VNIC. Signed-off-by: Chaoyong He Reviewed-by: Niklas Söderlund --- drivers/net/nfp/flower/nfp_flower.c | 1 + drivers/net/nfp/flower/nfp_flower.h | 3 +++ drivers/net/nfp/flower/nfp_flower_ctrl.c | 21 +++++++++++++++++++-- drivers/net/nfp/flower/nfp_flower_ctrl.h | 1 + 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/drivers/net/nfp/flower/nfp_flower.c b/drivers/net/nfp/flower/nfp_flower.c index 8631664180..6d86145755 100644 --- a/drivers/net/nfp/flower/nfp_flower.c +++ b/drivers/net/nfp/flower/nfp_flower.c @@ -1086,6 +1086,7 @@ static void nfp_flower_nfd_func_register(struct nfp_app_fw_flower *app_fw_flower) { nfp_flower_pkt_add_metadata_register(app_fw_flower); + nfp_flower_ctrl_vnic_xmit_register(app_fw_flower); } int diff --git a/drivers/net/nfp/flower/nfp_flower.h b/drivers/net/nfp/flower/nfp_flower.h index 3bc5924b71..808321dffe 100644 --- a/drivers/net/nfp/flower/nfp_flower.h +++ b/drivers/net/nfp/flower/nfp_flower.h @@ -41,6 +41,9 @@ struct nfp_flower_nfd_func { /** Function used to add metadata into pkt. */ uint32_t (*pkt_add_metadata_t)(struct rte_mbuf *mbuf, uint32_t port_id); + /** Function used to xmit pkt through ctrl vnic. */ + uint16_t (*ctrl_vnic_xmit_t)(struct nfp_app_fw_flower *app_fw_flower, + struct rte_mbuf *mbuf); }; /* The flower application's private structure */ diff --git a/drivers/net/nfp/flower/nfp_flower_ctrl.c b/drivers/net/nfp/flower/nfp_flower_ctrl.c index 406dfe0d1d..bafcf5b017 100644 --- a/drivers/net/nfp/flower/nfp_flower_ctrl.c +++ b/drivers/net/nfp/flower/nfp_flower_ctrl.c @@ -154,8 +154,8 @@ nfp_flower_ctrl_vnic_recv(void *rx_queue, return avail; } -uint16_t -nfp_flower_ctrl_vnic_xmit(struct nfp_app_fw_flower *app_fw_flower, +static uint16_t +nfp_flower_ctrl_vnic_nfd3_xmit(struct nfp_app_fw_flower *app_fw_flower, struct rte_mbuf *mbuf) { uint16_t cnt = 0; @@ -224,6 +224,23 @@ nfp_flower_ctrl_vnic_xmit(struct nfp_app_fw_flower *app_fw_flower, return cnt; } +void +nfp_flower_ctrl_vnic_xmit_register(struct nfp_app_fw_flower *app_fw_flower) +{ + struct nfp_flower_nfd_func *nfd_func; + + nfd_func = &app_fw_flower->nfd_func; + + nfd_func->ctrl_vnic_xmit_t = nfp_flower_ctrl_vnic_nfd3_xmit; +} + +uint16_t +nfp_flower_ctrl_vnic_xmit(struct nfp_app_fw_flower *app_fw_flower, + struct rte_mbuf *mbuf) +{ + return app_fw_flower->nfd_func.ctrl_vnic_xmit_t(app_fw_flower, mbuf); +} + static void nfp_flower_cmsg_rx_stats(struct nfp_flow_priv *flow_priv, struct rte_mbuf *mbuf) diff --git a/drivers/net/nfp/flower/nfp_flower_ctrl.h b/drivers/net/nfp/flower/nfp_flower_ctrl.h index 1e385787e5..b7e836cf7e 100644 --- a/drivers/net/nfp/flower/nfp_flower_ctrl.h +++ b/drivers/net/nfp/flower/nfp_flower_ctrl.h @@ -9,5 +9,6 @@ void nfp_flower_ctrl_vnic_poll(struct nfp_app_fw_flower *app_fw_flower); uint16_t nfp_flower_ctrl_vnic_xmit(struct nfp_app_fw_flower *app_fw_flower, struct rte_mbuf *mbuf); +void nfp_flower_ctrl_vnic_xmit_register(struct nfp_app_fw_flower *app_fw_flower); #endif /* _NFP_FLOWER_CTRL_H_ */