Kconfig 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. menuconfig VDPA
  3. tristate "vDPA drivers"
  4. depends on NET
  5. help
  6. Enable this module to support vDPA device that uses a
  7. datapath which complies with virtio specifications with
  8. vendor specific control path.
  9. if VDPA
  10. config VDPA_SIM
  11. tristate "vDPA device simulator core"
  12. depends on RUNTIME_TESTING_MENU && HAS_DMA
  13. select DMA_OPS
  14. select VHOST_RING
  15. select IOMMU_IOVA
  16. help
  17. Enable this module to support vDPA device simulators. These devices
  18. are used for testing, prototyping and development of vDPA.
  19. config VDPA_SIM_NET
  20. tristate "vDPA simulator for networking device"
  21. depends on VDPA_SIM
  22. select GENERIC_NET_UTILS
  23. help
  24. vDPA networking device simulator which loops TX traffic back to RX.
  25. config VDPA_SIM_BLOCK
  26. tristate "vDPA simulator for block device"
  27. depends on VDPA_SIM
  28. help
  29. vDPA block device simulator which terminates IO request in a
  30. memory buffer.
  31. config VDPA_USER
  32. tristate "VDUSE (vDPA Device in Userspace) support"
  33. depends on EVENTFD && MMU && HAS_DMA
  34. select DMA_OPS
  35. select VHOST_IOTLB
  36. select IOMMU_IOVA
  37. help
  38. With VDUSE it is possible to emulate a vDPA Device
  39. in a userspace program.
  40. config IFCVF
  41. tristate "Intel IFC VF vDPA driver"
  42. depends on PCI_MSI
  43. help
  44. This kernel module can drive Intel IFC VF NIC to offload
  45. virtio dataplane traffic to hardware.
  46. To compile this driver as a module, choose M here: the module will
  47. be called ifcvf.
  48. config MLX5_VDPA
  49. bool
  50. select VHOST_IOTLB
  51. help
  52. Support library for Mellanox VDPA drivers. Provides code that is
  53. common for all types of VDPA drivers. The following drivers are planned:
  54. net, block.
  55. config MLX5_VDPA_NET
  56. tristate "vDPA driver for ConnectX devices"
  57. select MLX5_VDPA
  58. select VHOST_RING
  59. depends on MLX5_CORE
  60. help
  61. VDPA network driver for ConnectX6 and newer. Provides offloading
  62. of virtio net datapath such that descriptors put on the ring will
  63. be executed by the hardware. It also supports a variety of stateless
  64. offloads depending on the actual device used and firmware version.
  65. config VP_VDPA
  66. tristate "Virtio PCI bridge vDPA driver"
  67. select VIRTIO_PCI_LIB
  68. depends on PCI_MSI
  69. help
  70. This kernel module bridges virtio PCI device to vDPA bus.
  71. config ALIBABA_ENI_VDPA
  72. tristate "vDPA driver for Alibaba ENI"
  73. select VIRTIO_PCI_LIB_LEGACY
  74. depends on PCI_MSI && X86
  75. help
  76. VDPA driver for Alibaba ENI (Elastic Network Interface) which is built upon
  77. virtio 0.9.5 specification.
  78. endif # VDPA