Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only
2menuconfig VDPA
3 tristate "vDPA drivers"
4 depends on NET
5 help
6 Enable this module to support vDPA device that uses a
7 datapath which complies with virtio specifications with
8 vendor specific control path.
9
10if VDPA
11
12config VDPA_SIM
13 tristate "vDPA device simulator core"
14 depends on RUNTIME_TESTING_MENU
15 select VHOST_RING
16 select IOMMU_IOVA
17 help
18 Enable this module to support vDPA device simulators. These devices
19 are used for testing, prototyping and development of vDPA.
20
21config VDPA_SIM_NET
22 tristate "vDPA simulator for networking device"
23 depends on VDPA_SIM
24 select GENERIC_NET_UTILS
25 help
26 vDPA networking device simulator which loops TX traffic back to RX.
27
28config VDPA_SIM_BLOCK
29 tristate "vDPA simulator for block device"
30 depends on VDPA_SIM
31 help
32 vDPA block device simulator which terminates IO request in a
33 memory buffer.
34
35config VDPA_USER
36 tristate "VDUSE (vDPA Device in Userspace) support"
37 depends on EVENTFD && MMU
38 select VHOST_IOTLB
39 select IOMMU_IOVA
40 help
41 With VDUSE it is possible to emulate a vDPA Device
42 in a userspace program.
43
44config IFCVF
45 tristate "Intel IFC VF vDPA driver"
46 depends on PCI_MSI
47 help
48 This kernel module can drive Intel IFC VF NIC to offload
49 virtio dataplane traffic to hardware.
50 To compile this driver as a module, choose M here: the module will
51 be called ifcvf.
52
53config MLX5_VDPA
54 bool
55 select VHOST_IOTLB
56 help
57 Support library for Mellanox VDPA drivers. Provides code that is
58 common for all types of VDPA drivers. The following drivers are planned:
59 net, block.
60
61config MLX5_VDPA_NET
62 tristate "vDPA driver for ConnectX devices"
63 select MLX5_VDPA
64 select VHOST_RING
65 depends on MLX5_CORE
66 help
67 VDPA network driver for ConnectX6 and newer. Provides offloading
68 of virtio net datapath such that descriptors put on the ring will
69 be executed by the hardware. It also supports a variety of stateless
70 offloads depending on the actual device used and firmware version.
71
72config MLX5_VDPA_STEERING_DEBUG
73 bool "expose steering counters on debugfs"
74 select MLX5_VDPA
75 help
76 Expose RX steering counters in debugfs to aid in debugging. For each VLAN
77 or non VLAN interface, two hardware counters are added to the RX flow
78 table: one for unicast and one for multicast.
79 The counters counts the number of packets and bytes and exposes them in
80 debugfs. Once can read the counters using, e.g.:
81 cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/ucast/packets
82 cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/mcast/bytes
83
84config VP_VDPA
85 tristate "Virtio PCI bridge vDPA driver"
86 select VIRTIO_PCI_LIB
87 depends on PCI_MSI
88 help
89 This kernel module bridges virtio PCI device to vDPA bus.
90
91config ALIBABA_ENI_VDPA
92 tristate "vDPA driver for Alibaba ENI"
93 select VIRTIO_PCI_LIB_LEGACY
94 depends on PCI_MSI && X86
95 help
96 VDPA driver for Alibaba ENI (Elastic Network Interface) which is built upon
97 virtio 0.9.5 specification.
98
99 config SNET_VDPA
100 tristate "SolidRun's vDPA driver for SolidNET"
101 depends on PCI_MSI && PCI_IOV && (HWMON || HWMON=n)
102
103 # This driver MAY create a HWMON device.
104 # Depending on (HWMON || HWMON=n) ensures that:
105 # If HWMON=n the driver can be compiled either as a module or built-in.
106 # If HWMON=y the driver can be compiled either as a module or built-in.
107 # If HWMON=m the driver is forced to be compiled as a module.
108 # By doing so, IS_ENABLED can be used instead of IS_REACHABLE
109
110 help
111 vDPA driver for SolidNET DPU.
112 With this driver, the VirtIO dataplane can be
113 offloaded to a SolidNET DPU.
114 This driver includes a HW monitor device that
115 reads health values from the DPU.
116
117config PDS_VDPA
118 tristate "vDPA driver for AMD/Pensando DSC devices"
119 select VIRTIO_PCI_LIB
120 depends on PCI_MSI
121 depends on PDS_CORE
122 help
123 vDPA network driver for AMD/Pensando's PDS Core devices.
124 With this driver, the VirtIO dataplane can be
125 offloaded to an AMD/Pensando DSC device.
126
127config OCTEONEP_VDPA
128 tristate "vDPA driver for Octeon DPU devices"
129 depends on m
130 depends on PCI_MSI
131 help
132 This is a vDPA driver designed for Marvell's Octeon DPU devices.
133 This driver enables the offloading of the VirtIO dataplane to an
134 Octeon DPU device.
135 Please note that this driver must be built as a module and it
136 cannot be loaded until the Octeon emulation software is running.
137
138endif # VDPA