2020-03-26 17:01:21 +03:00
# SPDX-License-Identifier: GPL-2.0-only
2020-04-12 11:36:55 +03:00
menuconfig VDPA
tristate "vDPA drivers"
2021-01-05 13:32:00 +03:00
depends on NET
2020-03-26 17:01:21 +03:00
help
Enable this module to support vDPA device that uses a
datapath which complies with virtio specifications with
vendor specific control path.
2020-03-26 17:01:24 +03:00
2020-04-12 11:36:55 +03:00
if VDPA
2020-03-26 17:01:24 +03:00
config VDPA_SIM
2020-12-15 17:42:56 +03:00
tristate "vDPA device simulator core"
2020-04-23 15:36:57 +03:00
depends on RUNTIME_TESTING_MENU && HAS_DMA
2020-07-08 10:30:00 +03:00
select DMA_OPS
2020-03-26 17:01:24 +03:00
select VHOST_RING
2021-03-15 19:34:37 +03:00
select IOMMU_IOVA
2020-12-15 17:42:56 +03:00
help
Enable this module to support vDPA device simulators. These devices
are used for testing, prototyping and development of vDPA.
config VDPA_SIM_NET
tristate "vDPA simulator for networking device"
depends on VDPA_SIM
2020-11-13 18:57:06 +03:00
select GENERIC_NET_UTILS
2020-03-26 17:01:24 +03:00
help
2020-12-15 17:42:56 +03:00
vDPA networking device simulator which loops TX traffic back to RX.
2020-03-26 17:01:24 +03:00
2021-03-15 19:34:47 +03:00
config VDPA_SIM_BLOCK
tristate "vDPA simulator for block device"
depends on VDPA_SIM
help
vDPA block device simulator which terminates IO request in a
memory buffer.
2021-08-31 13:36:33 +03:00
config VDPA_USER
tristate "VDUSE (vDPA Device in Userspace) support"
depends on EVENTFD && MMU && HAS_DMA
select DMA_OPS
select VHOST_IOTLB
select IOMMU_IOVA
help
With VDUSE it is possible to emulate a vDPA Device
in a userspace program.
2020-03-26 17:01:25 +03:00
config IFCVF
2020-04-12 11:36:55 +03:00
tristate "Intel IFC VF vDPA driver"
2020-03-26 17:01:25 +03:00
depends on PCI_MSI
help
This kernel module can drive Intel IFC VF NIC to offload
virtio dataplane traffic to hardware.
To compile this driver as a module, choose M here: the module will
be called ifcvf.
2020-08-04 19:20:46 +03:00
config MLX5_VDPA
2020-10-07 09:40:11 +03:00
bool
2020-11-29 00:39:05 +03:00
select VHOST_IOTLB
2020-08-04 19:20:46 +03:00
help
Support library for Mellanox VDPA drivers. Provides code that is
common for all types of VDPA drivers. The following drivers are planned:
net, block.
2020-08-04 19:20:48 +03:00
config MLX5_VDPA_NET
tristate "vDPA driver for ConnectX devices"
2020-10-07 09:40:11 +03:00
select MLX5_VDPA
2021-08-23 08:21:22 +03:00
select VHOST_RING
2020-10-07 09:40:11 +03:00
depends on MLX5_CORE
2020-08-04 19:20:48 +03:00
help
VDPA network driver for ConnectX6 and newer. Provides offloading
of virtio net datapath such that descriptors put on the ring will
be executed by the hardware. It also supports a variety of stateless
offloads depending on the actual device used and firmware version.
2022-11-14 16:17:59 +03:00
config MLX5_VDPA_STEERING_DEBUG
bool "expose steering counters on debugfs"
select MLX5_VDPA
help
Expose RX steering counters in debugfs to aid in debugging. For each VLAN
or non VLAN interface, two hardware counters are added to the RX flow
table: one for unicast and one for multicast.
The counters counts the number of packets and bytes and exposes them in
debugfs. Once can read the counters using, e.g.:
cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/ucast/packets
cat /sys/kernel/debug/mlx5/mlx5_core.sf.1/vdpa-0/rx/untagged/mcast/bytes
2021-02-23 09:19:05 +03:00
config VP_VDPA
tristate "Virtio PCI bridge vDPA driver"
select VIRTIO_PCI_LIB
depends on PCI_MSI
help
This kernel module bridges virtio PCI device to vDPA bus.
2021-10-29 12:14:49 +03:00
config ALIBABA_ENI_VDPA
tristate "vDPA driver for Alibaba ENI"
select VIRTIO_PCI_LIB_LEGACY
depends on PCI_MSI && X86
help
VDPA driver for Alibaba ENI (Elastic Network Interface) which is built upon
virtio 0.9.5 specification.
2023-01-10 19:56:38 +03:00
config SNET_VDPA
tristate "SolidRun's vDPA driver for SolidNET"
depends on PCI_MSI && PCI_IOV && (HWMON || HWMON=n)
# This driver MAY create a HWMON device.
# Depending on (HWMON || HWMON=n) ensures that:
# If HWMON=n the driver can be compiled either as a module or built-in.
# If HWMON=y the driver can be compiled either as a module or built-in.
# If HWMON=m the driver is forced to be compiled as a module.
# By doing so, IS_ENABLED can be used instead of IS_REACHABLE
help
vDPA driver for SolidNET DPU.
With this driver, the VirtIO dataplane can be
offloaded to a SolidNET DPU.
This driver includes a HW monitor device that
reads health values from the DPU.
2023-05-20 00:56:32 +03:00
config PDS_VDPA
tristate "vDPA driver for AMD/Pensando DSC devices"
select VIRTIO_PCI_LIB
depends on PCI_MSI
depends on PDS_CORE
help
vDPA network driver for AMD/Pensando's PDS Core devices.
With this driver, the VirtIO dataplane can be
offloaded to an AMD/Pensando DSC device.
2020-04-12 11:36:55 +03:00
endif # VDPA