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 255CC4320F; Fri, 27 Oct 2023 05:03:23 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3F91742E5C; Fri, 27 Oct 2023 05:01:13 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2115.outbound.protection.outlook.com [40.107.244.115]) by mails.dpdk.org (Postfix) with ESMTP id 3930C42E25 for ; Fri, 27 Oct 2023 05:01:01 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oP87sj/Ei21OVQ73FSwBFn8RyCcqKyUENjR+3+3Mhjpq0gKYUCOEANlxtKmRKYohtGAScTY1KqBXWPGK9fT/BuhxVw//dMrBE3+K06cbplx0toPI9WmD1kXIP0VoHDQ2iUQ58mO4zcVW8/edanaiQeBbV96G93iOJyGmHbTIAvQoNKz1ySAtDo8Fr0ZAGObWdjU5bJgKazJPryrK+bIPWXQ0v/ujyQ+aQrZEX1wkxT8VPw2zPmWhMCkyDaeXiPjJIjP6euuS1rwG0s5XOLqJB/NCpY3Rpf3Bo6ta8P6x/sj1IkGiENt2QsdZEDs/4FWLsmqpmGaWfKCkwBeCA5IanQ== 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=zpZPAv0jdrtkTzfvnJ4pHi22pnfEE0a8VK8HvHh7bE0=; b=XwX0ie0FMeI0EkaDeu0IUnBUtGbVdJhquNvjcXcqZm/HcE2wox5wXBmLj6FiuQHrn4XiEogOI5Id5imkhL8dj5GMwoXo2wyqFSIoifr9xkmcOZpJmQdgnXWe0Zuplw2WZB/Wf1JX/zoVpLslCBzHTTTRmxgg7iqe1g4nzGRCjrecN5Lbx23V4VgPYF5wmNVu5s+C4DkgRZ2mdJKcoqlvV+/SnYM9XJowv+1pQOrrGIxKiVGMm4VoZmCiuQXOkJFYurUhQ6vBsk0971XRwMOdgYCwbX+BZKoGugZ89QT/3edS/UfCRIkM2DB84GphlNVs+Cfp/rOzD1Rlm7X+ylZ8xg== 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=zpZPAv0jdrtkTzfvnJ4pHi22pnfEE0a8VK8HvHh7bE0=; b=ZPzOX70I9tOJMgHS+2Xps5kZ+wVsT4ct3cPxG9sck6CSb9x4F9eT1p8GANNcRhCc3tU4NpeTbEisxiqSb+QMAsmADnN+FHx4CDgqjPR/Zctn+5+sxXCOA/92VGlxagVjorlzKgrE8OdcrM33EhaMouZbwSi6MjISbM+lWssz6G8= 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 DM6PR13MB4493.namprd13.prod.outlook.com (2603:10b6:5:1b9::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33; Fri, 27 Oct 2023 03:00:59 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::45b3:d83c:cff2:4a1b]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::45b3:d83c:cff2:4a1b%6]) with mapi id 15.20.6933.022; Fri, 27 Oct 2023 03:00:59 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Chaoyong He , Shujing Dong , Long Wu , Peng Zhang Subject: [PATCH v4 18/24] vdpa/nfp: introduce driver Date: Fri, 27 Oct 2023 10:59:55 +0800 Message-Id: <20231027030001.602639-19-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20231027030001.602639-1-chaoyong.he@corigine.com> References: <20231026064324.177531-1-chaoyong.he@corigine.com> <20231027030001.602639-1-chaoyong.he@corigine.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: BYAPR08CA0065.namprd08.prod.outlook.com (2603:10b6:a03:117::42) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|DM6PR13MB4493:EE_ X-MS-Office365-Filtering-Correlation-Id: 0cd3556c-9b4d-49e2-bb46-08dbd698f247 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ls4tJDKiYRcZ7Hw4bnL9m+2M+PuazvvkhcqbwCBYT0NQPVcwSUMhfwIDZUYmul/TMQG+ZuJXgVhx8LAxrHrJFsHRANfYrgKDeLEJ4VC9qKrP5Vgro7Xc6yFTqv+r7eOYctpjar6t8OjiIb0Wls9e3Xv8nmQuuxEmag7Im+v/ZP+S1LXd25Tx36T/ygTkF/S6MKriwZOoVqsQSUpqHqKu851aiMwVAt2/9GMMrj0e1E5mA90iWpnolfufKsjwExTmrv+wQOaLFFnOMDYU1VNzbuJW2j1Tt/ovxI75tV6P4956xhgfFpGaV5LMB55ohHAFjWRIPAR8vny72C7mNZ2xL2HsvPRrVePTTGngYw44HN5NSvloRaUjbn6n9NOweFolWUzfWyC0RyamZaBjiujXNWatgdt15YDseiixDFPxMA9Nltw01cJIGPgSDL3BVRsCtyaTWT97troRlf13LPOJU3I8zilPqw7XiUflQ7RMI7G32Gk7SOArcputlZmHhcsyYVw6yrnHnL5cb1M3izL2kn8dxhOzZh6F3xBa6QFjGIWjDgLjNxWBKoiDB5G2Poua6420uN73vaZ53Pym/9rS4eSqbW/KFeSvYpaKMjeIESAc+2bmtRlr4VqO3LOrcc+vEyw4HwCjAFXP1UTZ+a6onkzCChD1tkvd1E6Pmm9PG3s= 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:(13230031)(396003)(136003)(366004)(346002)(376002)(39840400004)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(38350700005)(83380400001)(4326008)(52116002)(2906002)(38100700002)(107886003)(44832011)(8936002)(26005)(2616005)(1076003)(36756003)(8676002)(54906003)(6666004)(5660300002)(66476007)(6916009)(6506007)(316002)(6486002)(6512007)(41300700001)(66556008)(66946007)(86362001)(478600001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?01kvbyKJKVueCXDhzlChxqOwU/FnBGPEHqcmSpQ7CdVilBGpyMYZRwgtNaYo?= =?us-ascii?Q?iPjPFiWkWHghdxlk4+ElfV6FE/QuV2uwVEx1HOtq3o00uSGVZMqSFyx60pJa?= =?us-ascii?Q?ysjg+7BcvVvNiqbkHHj5zwv1pSP/OWFXjmNn8BNcl3sXgm1M5l1oZjw6agWI?= =?us-ascii?Q?x+/n/rck42lAqcljOUJ/tXuUyp/RzxfWtP3k2N0GMot7dpIU0Pc6hFUXX64n?= =?us-ascii?Q?SyUeLzMWP0KbctpM3zb+vpxjI+kU13QOVpglUi7gceCsN3QSHIfYZDsS0wvK?= =?us-ascii?Q?ALV2nwWCvFfA/oZy2cQh6+7TOyckqRzWhYHZ3rVcZm3Rj1gTnrnG4QDu1OvK?= =?us-ascii?Q?aY5G0zxnWNvagMswO6iee9Dehz36Wf/MUMIIfRGy4B+JCpZ60SZi29h8AEuY?= =?us-ascii?Q?kh9dtLOp7/FZS70EV75N5jJJJruRpzzrFFke/VmBQXEhQS5hlSrS7HvGUeI8?= =?us-ascii?Q?HVStJtpDfZCY4wSnPWcSsSNooS8cgb74bEOLR7OMY1LXnTl/8JBkGQjkUcT1?= =?us-ascii?Q?X1SUucv+VsaVpLez5a3XdtQ+bsUjhQnebTOA0N2XA3wt/YeFsjQVqTlO/0x7?= =?us-ascii?Q?kbcCBYFdyfJZh5y9R+4O86EaK2BwjkMzkzRzk+TSmacunIvXTduvFojUxlVC?= =?us-ascii?Q?W3v90Z40ODLO1DRqqJ28uw6/YYlTykfxPQI7TiCa71qDG9m4pkigF7bSt8jA?= =?us-ascii?Q?Tej8pikpCYlk9hvpaRN+tKaoLLGS29DI23SPGMwiiaf6qSZb/k8Qaexxm+sK?= =?us-ascii?Q?En0eXBCeGQO5HvOb3co3wn9mYSYLtV80O3OXXoi9ZUhOoQ3OqyLldyfwAdHE?= =?us-ascii?Q?ZGOx2jDYIZ4woHPle5E84gkDHos6R3aDvFN3R1bcouiieNdiirO8hSbJ4so3?= =?us-ascii?Q?wLaMBZyHQs8OZPYv2Pss/6ER1IxwcTrYRoXqnqO9w1vkYGMa4EsnWGrBSnXY?= =?us-ascii?Q?5pKs5pxpUP2S9Lyk49Ne2kzhRrI+BPqo2avEnD4vAn70atvgkbGsUJocagkt?= =?us-ascii?Q?KlgKEciN86R/3h/hfmRU6AKzz/nmni59P57wpwJsbZcY3r02UxO1hZdtH01k?= =?us-ascii?Q?ZMLK0z2bU8afagJ/zvqE7Cgud8fw/vLyFE/RsNVRnuiFRt1eNHfTYN9ZKhfQ?= =?us-ascii?Q?xgVnnIoFkz076R70t9+n88TfhOPQzunAVmHIEkN+clyLRC5OIqvGjKP3aNhO?= =?us-ascii?Q?1qmThU8QO+vbQDqGUQuwNLBxqIEoKDxV2pVk3D+nUyO6sz7TTvD8xJY3xJfG?= =?us-ascii?Q?PCkw6/CdqvsbeV/J4//++j15q4Z31670J5Q1Z896NT+sIggVerbAs7Y+pElm?= =?us-ascii?Q?kIvsHQ5mT22YPJgQ3KFzL1fUXApuVHIb1eCOUBRdpZeT2y58+v+05nrIbE/S?= =?us-ascii?Q?0ysiHU8NdXFfS1x3fNd0h97rmVU1jUA31uRBlHX0fHuL4Se46s93ZrgGToyB?= =?us-ascii?Q?9YW+XBk1l73PhZbSAUIuiy9WT6fHJfUoUEznRnvbgYaaoXIR698ILwPc922n?= =?us-ascii?Q?+8z8Eu6u0nbgBi0MS0nhy8nlr0JL/O2xf5TBrrA0kOoCzIiicUI4fNREIrUI?= =?us-ascii?Q?Sb94yqT+Vkr+0Ht45ZiPQU/oFjH5iSK87EIEWElqbPxkTy42MW4v+7+waKtd?= =?us-ascii?Q?jA=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0cd3556c-9b4d-49e2-bb46-08dbd698f247 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2023 03:00:59.4086 (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: +8gh3b7l3wlIGxNamD5xb/mp4oDhmdoHqZtRi0LPqiBiCHmPYR8vctzy9n6fcWUYWqJZb5xG8jinE/Tu+AoNz/ALW51/vMb6zhhcMFSkPgE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR13MB4493 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 Introduce the very basic NFP vDPA library, and add entry for the NFP vDPA PMD in the release notes. Signed-off-by: Shujing Dong Signed-off-by: Chaoyong He Reviewed-by: Long Wu Reviewed-by: Peng Zhang --- MAINTAINERS | 6 +++ doc/guides/rel_notes/release_23_11.rst | 5 +++ doc/guides/vdpadevs/features/nfp.ini | 8 ++++ doc/guides/vdpadevs/index.rst | 1 + doc/guides/vdpadevs/nfp.rst | 54 ++++++++++++++++++++++++++ drivers/vdpa/meson.build | 1 + drivers/vdpa/nfp/meson.build | 13 +++++++ drivers/vdpa/nfp/nfp_vdpa_log.c | 9 +++++ drivers/vdpa/nfp/nfp_vdpa_log.h | 21 ++++++++++ 9 files changed, 118 insertions(+) create mode 100644 doc/guides/vdpadevs/features/nfp.ini create mode 100644 doc/guides/vdpadevs/nfp.rst create mode 100644 drivers/vdpa/nfp/meson.build create mode 100644 drivers/vdpa/nfp/nfp_vdpa_log.c create mode 100644 drivers/vdpa/nfp/nfp_vdpa_log.h diff --git a/MAINTAINERS b/MAINTAINERS index 5273ab9812..f463188f1d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1301,6 +1301,12 @@ vDPA Drivers T: git://dpdk.org/next/dpdk-next-virtio F: drivers/vdpa/meson.build +Corigine nfp vDPA +M: Chaoyong He +F: drivers/vdpa/nfp/ +F: doc/guides/vpdadevs/nfp.rst +F: doc/guides/vdpadevs/features/nfp.ini + Intel ifc M: Xiao Wang F: drivers/vdpa/ifc/ diff --git a/doc/guides/rel_notes/release_23_11.rst b/doc/guides/rel_notes/release_23_11.rst index 0a6fc76a9d..f6dde6fb9d 100644 --- a/doc/guides/rel_notes/release_23_11.rst +++ b/doc/guides/rel_notes/release_23_11.rst @@ -153,6 +153,11 @@ New Features * Added inline IPsec offload based on the security framework. +* **Add new vDPA PMD based on Corigine NFP devices.** + + Added a new Corigine NFP vDPA (``nfp_vdpa``) PMD. + See the :doc:`../vdpadevs/nfp` guide for more details on this driver. + * **Updated Wangxun ngbe driver.** * Added 100M and auto-neg support in YT PHY fiber mode. diff --git a/doc/guides/vdpadevs/features/nfp.ini b/doc/guides/vdpadevs/features/nfp.ini new file mode 100644 index 0000000000..d830feafe0 --- /dev/null +++ b/doc/guides/vdpadevs/features/nfp.ini @@ -0,0 +1,8 @@ +; +; Supported features of the 'nfp' vDPA driver. +; +; Refer to default.ini for the full list of available driver features. +; +[Features] +Linux = Y +x86-64 = Y diff --git a/doc/guides/vdpadevs/index.rst b/doc/guides/vdpadevs/index.rst index cc2f858042..b0191a3a1d 100644 --- a/doc/guides/vdpadevs/index.rst +++ b/doc/guides/vdpadevs/index.rst @@ -14,4 +14,5 @@ which can be used from an application through vhost API. features_overview ifc mlx5 + nfp sfc diff --git a/doc/guides/vdpadevs/nfp.rst b/doc/guides/vdpadevs/nfp.rst new file mode 100644 index 0000000000..63636b2882 --- /dev/null +++ b/doc/guides/vdpadevs/nfp.rst @@ -0,0 +1,54 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright (c) 2023 Corigine, Inc. + +NFP vDPA driver +=============== + +The NFP vDPA (vhost data path acceleration) driver (**librte_nfp_vdpa**) +provides support for the Netronome and Corigine's NFP-6xxx, NFP-4xxx +and NFP-38xx product lines. + +NFP vDPA implementation +----------------------- + +NFP VF device can be configured in the net device or vDPA mode. +Adding "class=vdpa" parameter helps to specify that this device is to +be used in vDPA mode. If this parameter is not specified, device +will be probed by net/nfp driver and will used as a VF net device. + +This PMD uses (common/nfp) code to access the device firmware. + +Per-Device Parameters +~~~~~~~~~~~~~~~~~~~~~ + +The following per-device parameters can be passed via EAL PCI device +allowlist option like "-a 02:00.0,arg1=value1,...". + +- ``class`` [net|vdpa] (default **net**) + + Choose the mode of operation of nfp device. + **net** device will work as network device and will be probed by net/nfp driver. + **vdpa** device will work as vdpa device and will be probed by vdpa/nfp driver. + If this parameter is not specified then nfp device will operate as network device. + +Dynamic Logging Parameters +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +One may leverage EAL option "--log-level" to change default levels +for the log types supported by the driver. The option is used with +an argument typically consisting of two parts separated by a colon. + +Level value is the last part which takes a symbolic name (or integer). +Log type is the former part which may shell match syntax. +Depending on the choice of the expression, the given log level may +be used either for some specific log type or for a subset of types. + +NFP vDPA PMD provides the following log types available for control: + +- ``pmd.vdpa.nfp.vdpa`` (default level is **notice**) + + Affects driver-wide messages unrelated to any particular devices. + +- ``pmd.vdpa.nfp.core`` (default level is **notice**) + + Affects the core logic of this PMD. diff --git a/drivers/vdpa/meson.build b/drivers/vdpa/meson.build index 77412c7d09..896e8e0304 100644 --- a/drivers/vdpa/meson.build +++ b/drivers/vdpa/meson.build @@ -8,6 +8,7 @@ endif drivers = [ 'ifc', 'mlx5', + 'nfp', 'sfc', ] std_deps = ['bus_pci', 'kvargs'] diff --git a/drivers/vdpa/nfp/meson.build b/drivers/vdpa/nfp/meson.build new file mode 100644 index 0000000000..5eff240055 --- /dev/null +++ b/drivers/vdpa/nfp/meson.build @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright (c) 2023 Corigine, Inc. + +if not is_linux or not dpdk_conf.get('RTE_ARCH_64') + build = false + reason = 'only supported on 64-bit Linux' +endif + +sources = files( + 'nfp_vdpa_log.c', +) + +deps += ['vhost'] diff --git a/drivers/vdpa/nfp/nfp_vdpa_log.c b/drivers/vdpa/nfp/nfp_vdpa_log.c new file mode 100644 index 0000000000..f5ada20713 --- /dev/null +++ b/drivers/vdpa/nfp/nfp_vdpa_log.c @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright (c) 2023 Corigine, Inc. + * All rights reserved. + */ + +#include "nfp_vdpa_log.h" + +RTE_LOG_REGISTER_SUFFIX(nfp_logtype_core, core, NOTICE); +RTE_LOG_REGISTER_SUFFIX(nfp_logtype_vdpa, vdpa, NOTICE); diff --git a/drivers/vdpa/nfp/nfp_vdpa_log.h b/drivers/vdpa/nfp/nfp_vdpa_log.h new file mode 100644 index 0000000000..cf342329b1 --- /dev/null +++ b/drivers/vdpa/nfp/nfp_vdpa_log.h @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright (c) 2023 Corigine, Inc. + * All rights reserved. + */ + +#ifndef __NFP_VDPA_LOG_H__ +#define __NFP_VDPA_LOG_H__ + +#include + +extern int nfp_logtype_vdpa; +#define DRV_VDPA_LOG(level, fmt, args...) \ + rte_log(RTE_LOG_ ## level, nfp_logtype_vdpa, \ + "NFP_VDPA: %s(): " fmt "\n", __func__, ## args) + +extern int nfp_logtype_core; +#define DRV_CORE_LOG(level, fmt, args...) \ + rte_log(RTE_LOG_ ## level, nfp_logtype_core, \ + "NFP_CORE: %s(): " fmt "\n", __func__, ## args) + +#endif /* __NFP_VDPA_LOG_H__ */ -- 2.39.1