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