1 # SPDX-License-Identifier: GPL-2.0-only
3 tristate "vDPA drivers"
6 Enable this module to support vDPA device that uses a
7 datapath which complies with virtio specifications with
8 vendor specific control path.
13 tristate "vDPA device simulator core"
14 depends on RUNTIME_TESTING_MENU
18 Enable this module to support vDPA device simulators. These devices
19 are used for testing, prototyping and development of vDPA.
22 tristate "vDPA simulator for networking device"
24 select GENERIC_NET_UTILS
26 vDPA networking device simulator which loops TX traffic back to RX.
29 tristate "vDPA simulator for block device"
32 vDPA block device simulator which terminates IO request in a
36 tristate "VDUSE (vDPA Device in Userspace) support"
37 depends on EVENTFD && MMU && HAS_DMA
39 # This driver incorrectly tries to override the dma_ops. It should
40 # never have done that, but for now keep it working on architectures
43 depends on ARCH_HAS_DMA_OPS
47 With VDUSE it is possible to emulate a vDPA Device
48 in a userspace program.
51 tristate "Intel IFC VF vDPA driver"
54 This kernel module can drive Intel IFC VF NIC to offload
55 virtio dataplane traffic to hardware.
56 To compile this driver as a module, choose M here: the module will
63 Support library for Mellanox VDPA drivers. Provides code that is
64 common for all types of VDPA drivers. The following drivers are planned:
68 tristate "vDPA driver for ConnectX devices"
73 VDPA network driver for ConnectX6 and newer. Provides offloading
74 of virtio net datapath such that descriptors put on the ring will
75 be executed by the hardware. It also supports a variety of stateless
76 offloads depending on the actual device used and firmware version.
78 config MLX5_VDPA_STEERING_DEBUG
79 bool "expose steering counters on debugfs"
82 Expose RX steering counters in debugfs to aid in debugging. For each VLAN
83 or non VLAN interface, two hardware counters are added to the RX flow
84 table: one for unicast and one for multicast.
85 The counters counts the number of packets and bytes and exposes them in
86 debugfs. Once can read the counters using, e.g.:
87 cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/ucast/packets
88 cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/mcast/bytes
91 tristate "Virtio PCI bridge vDPA driver"
95 This kernel module bridges virtio PCI device to vDPA bus.
97 config ALIBABA_ENI_VDPA
98 tristate "vDPA driver for Alibaba ENI"
99 select VIRTIO_PCI_LIB_LEGACY
100 depends on PCI_MSI && X86
102 VDPA driver for Alibaba ENI (Elastic Network Interface) which is built upon
103 virtio 0.9.5 specification.
106 tristate "SolidRun's vDPA driver for SolidNET"
107 depends on PCI_MSI && PCI_IOV && (HWMON || HWMON=n)
109 # This driver MAY create a HWMON device.
110 # Depending on (HWMON || HWMON=n) ensures that:
111 # If HWMON=n the driver can be compiled either as a module or built-in.
112 # If HWMON=y the driver can be compiled either as a module or built-in.
113 # If HWMON=m the driver is forced to be compiled as a module.
114 # By doing so, IS_ENABLED can be used instead of IS_REACHABLE
117 vDPA driver for SolidNET DPU.
118 With this driver, the VirtIO dataplane can be
119 offloaded to a SolidNET DPU.
120 This driver includes a HW monitor device that
121 reads health values from the DPU.
124 tristate "vDPA driver for AMD/Pensando DSC devices"
125 select VIRTIO_PCI_LIB
129 vDPA network driver for AMD/Pensando's PDS Core devices.
130 With this driver, the VirtIO dataplane can be
131 offloaded to an AMD/Pensando DSC device.
134 tristate "vDPA driver for Octeon DPU devices"
138 This is a vDPA driver designed for Marvell's Octeon DPU devices.
139 This driver enables the offloading of the VirtIO dataplane to an
141 Please note that this driver must be built as a module and it
142 cannot be loaded until the Octeon emulation software is running.