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 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> 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: 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?B?T1JiaEFXbitoNDJ4WlhmT2tmQUtMUHdVTUVkWW5JUFMvSGx2M2ZyNW5zRkd0?= =?utf-8?B?NzJqakxUbjJ4YW92R1pET1k4U2w5NjhXdUxNSnV0ak0zcUk1VHdQeHJpbnJm?= =?utf-8?B?YnQ5c29OZ0o1cWFqSm9FWHB5bndjZmZGbllCaldtcnRweEFVbHpQUHpoS2lS?= =?utf-8?B?aTVQMTBoaTlFMkMwMkZQbkt2b21Nb2dIRHpRK1pOaVdvOEJhYWY4Q3l3R0dr?= =?utf-8?B?ODJxYUI2SHJvQjNJK2lueHFUKzJMYnNiRU1kbktScnFwRVdrZGxkZGhoN3do?= =?utf-8?B?UVNUSXN4a1g1YWltWW80Q2VnbFovMExQZEVtVmR6Y0JxTHFYK3VEV09YNlph?= =?utf-8?B?NGZDUm9FanBiazhqSldOYXhrZDVUZjJDZ3BMNndZNFJWNWE3OFJjVzRjNnlr?= =?utf-8?B?NU02YVlIeFB6TFFtbnNYR3o2bDhhVzRQNFdLNVA4SlU4Wld4RXlLTjRvcm9X?= =?utf-8?B?MkdrdDR3N2QxdFpmYXlnNUNXTW1wUTZMaFdVc3pFSWhGRlQ5bElRY0xvNzVV?= =?utf-8?B?SUZOUHJ4NHFYR1RiWWJlMk9KRE56QXh0UTVOaExuSUtDQTY0Z0VBMFhqVnVa?= =?utf-8?B?NU1tWGJqb2xYbmxDeE1wak8yeFd5VFZjZlJlWXJ6UkVFVGZiRjBSMU4zNkRu?= =?utf-8?B?R2hOejdRZ0ZaTFI2Y0RPRnduRHE1dUo1TzdhL1lqRFBUdURSUW0xWlcvOEpi?= =?utf-8?B?WEQwTWVyYzl6dmMwK0lXSFowTXJrT0dpNWtMSTZ4dTE2aGtSQ0cyOEtXc2ZZ?= =?utf-8?B?YXM2NWdycm5FcEpoVnppaW5MZjdMaW9yTjh6WTVoVXdVWHRoSVJBNkJWaExw?= =?utf-8?B?UU9xaXNrcGlGQm9EYzZnT1ZqcElDb3g0THE3eU0rOXZwUkloWmlqUWZkRFdQ?= =?utf-8?B?ZUVoa0FQd1VYbVlmczB6b0FSdmZMbmdUMjlUVkZSY2ZEc3hUWEJMSytnVFdX?= =?utf-8?B?Z0NvTHlmSTAzR2VtVkM1QzV5Zitick5JSkZ6ejVhc2xGYjMxbzUyVzRITlF1?= =?utf-8?B?M0IzeGF3VjhReS9obXNrWDY1WmxrcnphMHlaeWswcWtBL0tJMHdEczR3VDBY?= =?utf-8?B?NDRLUnV4MFNYVXlQLzgza0wra29aUG1yVlRwZG1WY3ZEZTVNTzd5Ti9EdFZK?= =?utf-8?B?WkpUeTEzV2psWGYrNW9nV0tPUEprY3BXazM5YTF0NHliV05KaUZTQ0t6ZGhL?= =?utf-8?B?SVE5b1loNWsvSXVxMVErTzdZSG5VSDIzMWE0SVRCODgrSHVBMGgyQjlHakhX?= =?utf-8?B?azdnL0JrRnNXYjJGa1ZjSWR3SzFEQ1ZmSTVDTzg4UXFwanRlYmM0eHVXK1RX?= =?utf-8?B?K25PRE9BMUxYVHltam1TeXl3c3RQWGZFcW9aU0FVT2lXMFVFYXVLRFBBTU12?= =?utf-8?B?ZGpZVWlJWmxZaFkxclkzZm04anZESHR3VzlpNmd4dnFCdVdxQnBwaVRVZnpk?= =?utf-8?B?b2tHdmZSVTFNL2ZvUkhObUl6VG90dkpUaSt1QkMwSXcxZndzZkNtSVFZc0pm?= =?utf-8?B?WG82b1RSTnpsQWxHUGRrZFdyRUtkTGFOY3Q4dVdLQ0ZFdkdsai9yZkdZcTA0?= =?utf-8?B?aEM5T0ozbDFhSjlRYnNDTkFQNFAyYmVreUU5eGNTSWdCZVB3STZyenI0MjQz?= =?utf-8?B?WXVCSHZienduUnFBd3U5Y0IyWHdlbGl6M3didHpUQVJQR1RsWDFPUEd1QTRE?= =?utf-8?B?Sk9zMCtSZUZuQ1VOa2J0RVFLV0NBcVYwM0NWbEFSTDdJYXg0Z2ZKbzhpK3Vh?= =?utf-8?B?V3hsMHBVM3QzWDlxRld4MTF1c2FJbFoxcUU0ZGNlRVRTWWF2SllWQ0I2N3NU?= =?utf-8?B?a0tGYUt0dFVCUVhqK2pjb1piYkYrRmoycW5YTWJLNTFndUJoaXkxcnAyb0cx?= =?utf-8?B?ekp0eitJclMwT1BJdEJ0b3VmQW93ZE5XREloZDhORXFJckJ1alB1L0dqejV6?= =?utf-8?B?N0toNkFxdUd0QStMTGVIa3B5NXJobkdackYxb1B3dW9tYlV5UXowNnMvSEVx?= =?utf-8?B?Rzl5alB0L2c4LzBkUlREUkhBS1puZjNoMnZONE80b2NoNmVWUGViZmRQWHg4?= =?utf-8?B?WHlmTXBVLzN5Tm05Q0I4QzBNc3YwWWtQQ043RnpEdnVURVpsV0JQTkQ1ZXh3?= =?utf-8?B?dUxWWk5YV0RLS0k4cVZQeDhGTmt3WjJlMDFWaGVLN3h3ZFp1ckRiVklwaVRY?= =?utf-8?B?c3c9PQ==?= 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_ */ -- 2.39.1