1e4f0e215SChaoyong He.. SPDX-License-Identifier: BSD-3-Clause 2e4f0e215SChaoyong He Copyright (c) 2023 Corigine, Inc. 3e4f0e215SChaoyong He 4e4f0e215SChaoyong HeNFP vDPA driver 5e4f0e215SChaoyong He=============== 6e4f0e215SChaoyong He 7e4f0e215SChaoyong HeThe NFP vDPA (vhost data path acceleration) driver (**librte_nfp_vdpa**) 8e4f0e215SChaoyong Heprovides support for the Netronome and Corigine's 9e4f0e215SChaoyong HeNFP-6xxx, NFP-4xxx and NFP-38xx product lines. 10e4f0e215SChaoyong He 11e4f0e215SChaoyong HeNFP vDPA implementation 12e4f0e215SChaoyong He----------------------- 13e4f0e215SChaoyong He 14e4f0e215SChaoyong HeNFP VF device can be configured in the net device or vDPA mode. 15e4f0e215SChaoyong HeAdding "class=vdpa" parameter helps to specify 16e4f0e215SChaoyong Hethat this device is to be used in vDPA mode. 17e4f0e215SChaoyong HeIf this parameter is not specified, 18e4f0e215SChaoyong Hedevice will be probed by net/nfp driver and will used as a VF net device. 19e4f0e215SChaoyong He 20e4f0e215SChaoyong HeThis PMD uses (common/nfp) code to access the device firmware. 21e4f0e215SChaoyong He 22*adec2a5cSXinying YuSoftware Live Migration 23*adec2a5cSXinying Yu~~~~~~~~~~~~~~~~~~~~~~~ 24*adec2a5cSXinying Yu 25*adec2a5cSXinying YuNow the NFP vDPA driver only supports software assisted live migration mode. 26*adec2a5cSXinying YuIn this mode, the driver will setup a software relay thread 27*adec2a5cSXinying Yuwhen live migration happens, 28*adec2a5cSXinying Yuthis thread will help device to log dirty pages. 29*adec2a5cSXinying YuAlthough this mode does not require hardware 30*adec2a5cSXinying Yuto implement a dirty page logging function block, 31*adec2a5cSXinying Yuit will consume percentage of CPU resource depending on the network throughput. 32*adec2a5cSXinying Yu 33e4f0e215SChaoyong HePer-Device Parameters 34e4f0e215SChaoyong He~~~~~~~~~~~~~~~~~~~~~ 35e4f0e215SChaoyong He 36e4f0e215SChaoyong HeThe following per-device parameters can be passed via EAL PCI device 37e4f0e215SChaoyong Heallow-list option like "-a 02:00.0,arg1=value1,...". 38e4f0e215SChaoyong He 39e4f0e215SChaoyong He- ``class`` [net|vdpa] (default **net**) 40e4f0e215SChaoyong He 41e4f0e215SChaoyong He Choose the mode of operation of nfp device. 42e4f0e215SChaoyong He **net** device will work as network device and will be probed by net/nfp driver. 43e4f0e215SChaoyong He **vdpa** device will work as vdpa device and will be probed by vdpa/nfp driver. 44e4f0e215SChaoyong He If this parameter is not specified then nfp device will operate as network device. 45e4f0e215SChaoyong He 46e4f0e215SChaoyong HeDynamic Logging Parameters 47e4f0e215SChaoyong He~~~~~~~~~~~~~~~~~~~~~~~~~~ 48e4f0e215SChaoyong He 49e4f0e215SChaoyong HeOne may leverage EAL option "--log-level" to change default levels 50e4f0e215SChaoyong Hefor the log types supported by the driver. 51e4f0e215SChaoyong HeThe option is used with an argument 52e4f0e215SChaoyong Hetypically consisting of two parts separated by a colon. 53e4f0e215SChaoyong He 54e4f0e215SChaoyong HeLevel value is the last part which takes a symbolic name (or integer). 55e4f0e215SChaoyong HeLog type is the former part which may shell match syntax. 56e4f0e215SChaoyong HeDepending on the choice of the expression, the given log level may 57e4f0e215SChaoyong Hebe used either for some specific log type or for a subset of types. 58e4f0e215SChaoyong He 59e4f0e215SChaoyong HeNFP vDPA PMD provides the following log types available for control: 60e4f0e215SChaoyong He 61e4f0e215SChaoyong He- ``pmd.vdpa.nfp.vdpa`` (default level is **notice**) 62e4f0e215SChaoyong He 63e4f0e215SChaoyong He Affects driver-wide messages unrelated to any particular devices. 64e4f0e215SChaoyong He 65e4f0e215SChaoyong He- ``pmd.vdpa.nfp.core`` (default level is **notice**) 66e4f0e215SChaoyong He 67e4f0e215SChaoyong He Affects the core logic of this PMD. 68