Kconfig 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. config NVME_TARGET
  3. tristate "NVMe Target support"
  4. depends on BLOCK
  5. depends on CONFIGFS_FS
  6. select BLK_DEV_INTEGRITY_T10 if BLK_DEV_INTEGRITY
  7. select SGL_ALLOC
  8. help
  9. This enabled target side support for the NVMe protocol, that is
  10. it allows the Linux kernel to implement NVMe subsystems and
  11. controllers and export Linux block devices as NVMe namespaces.
  12. You need to select at least one of the transports below to make this
  13. functionality useful.
  14. To configure the NVMe target you probably want to use the nvmetcli
  15. tool from http://git.infradead.org/users/hch/nvmetcli.git.
  16. config NVME_TARGET_PASSTHRU
  17. bool "NVMe Target Passthrough support"
  18. depends on NVME_TARGET
  19. depends on NVME_CORE=y || NVME_CORE=NVME_TARGET
  20. help
  21. This enables target side NVMe passthru controller support for the
  22. NVMe Over Fabrics protocol. It allows for hosts to manage and
  23. directly access an actual NVMe controller residing on the target
  24. side, incuding executing Vendor Unique Commands.
  25. If unsure, say N.
  26. config NVME_TARGET_LOOP
  27. tristate "NVMe loopback device support"
  28. depends on NVME_TARGET
  29. select NVME_CORE
  30. select NVME_FABRICS
  31. select SG_POOL
  32. help
  33. This enables the NVMe loopback device support, which can be useful
  34. to test NVMe host and target side features.
  35. If unsure, say N.
  36. config NVME_TARGET_RDMA
  37. tristate "NVMe over Fabrics RDMA target support"
  38. depends on INFINIBAND && INFINIBAND_ADDR_TRANS
  39. depends on NVME_TARGET
  40. select SGL_ALLOC
  41. help
  42. This enables the NVMe RDMA target support, which allows exporting NVMe
  43. devices over RDMA.
  44. If unsure, say N.
  45. config NVME_TARGET_FC
  46. tristate "NVMe over Fabrics FC target driver"
  47. depends on NVME_TARGET
  48. depends on HAS_DMA
  49. select SGL_ALLOC
  50. help
  51. This enables the NVMe FC target support, which allows exporting NVMe
  52. devices over FC.
  53. If unsure, say N.
  54. config NVME_TARGET_FCLOOP
  55. tristate "NVMe over Fabrics FC Transport Loopback Test driver"
  56. depends on NVME_TARGET
  57. select NVME_CORE
  58. select NVME_FABRICS
  59. select SG_POOL
  60. depends on NVME_FC
  61. depends on NVME_TARGET_FC
  62. help
  63. This enables the NVMe FC loopback test support, which can be useful
  64. to test NVMe-FC transport interfaces.
  65. If unsure, say N.
  66. config NVME_TARGET_TCP
  67. tristate "NVMe over Fabrics TCP target support"
  68. depends on INET
  69. depends on NVME_TARGET
  70. help
  71. This enables the NVMe TCP target support, which allows exporting NVMe
  72. devices over TCP.
  73. If unsure, say N.