145 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # 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
 |