| # 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 | |
| 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 |