130 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			130 lines
		
	
	
		
			4.0 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 && HAS_DMA
 | 
						|
	select DMA_OPS
 | 
						|
	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
 | 
						|
	select 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.
 | 
						|
 | 
						|
endif # VDPA
 |