| # SPDX-License-Identifier: GPL-2.0-only |
| menuconfig VDPA |
| tristate "vDPA drivers" |
| depends on NET |
| help |
| Enable this module to support vDPA device that uses a |
| datapath which complies with virtio specifications with |
| vendor specific control path. |
| |
| if VDPA |
| |
| config VDPA_SIM |
| tristate "vDPA device simulator core" |
| depends on RUNTIME_TESTING_MENU |
| select VHOST_RING |
| select IOMMU_IOVA |
| 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 |
| select GENERIC_NET_UTILS |
| help |
| vDPA networking device simulator which loops TX traffic back to RX. |
| |
| 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. |
| |
| config VDPA_USER |
| tristate "VDUSE (vDPA Device in Userspace) support" |
| depends on EVENTFD && MMU && HAS_DMA |
| # |
| # This driver incorrectly tries to override the dma_ops. It should |
| # never have done that, but for now keep it working on architectures |
| # that use dma ops |
| # |
| depends on ARCH_HAS_DMA_OPS |
| select VHOST_IOTLB |
| select IOMMU_IOVA |
| help |
| With VDUSE it is possible to emulate a vDPA Device |
| in a userspace program. |
| |
| config IFCVF |
| tristate "Intel IFC VF vDPA driver" |
| 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. |
| |
| config MLX5_VDPA |
| bool |
| select VHOST_IOTLB |
| 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. |
| |
| config MLX5_VDPA_NET |
| tristate "vDPA driver for ConnectX devices" |
| select MLX5_VDPA |
| select VHOST_RING |
| depends on MLX5_CORE |
| 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. |
| |
| 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 |
| |
| 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. |
| |
| 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. |
| |
| 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. |
| |
| 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. |
| |
| config OCTEONEP_VDPA |
| tristate "vDPA driver for Octeon DPU devices" |
| depends on m |
| depends on PCI_MSI |
| help |
| This is a vDPA driver designed for Marvell's Octeon DPU devices. |
| This driver enables the offloading of the VirtIO dataplane to an |
| Octeon DPU device. |
| Please note that this driver must be built as a module and it |
| cannot be loaded until the Octeon emulation software is running. |
| |
| endif # VDPA |