Kconfig 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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, including 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_FABRICS
  30. select SG_POOL
  31. help
  32. This enables the NVMe loopback device support, which can be useful
  33. to test NVMe host and target side features.
  34. If unsure, say N.
  35. config NVME_TARGET_RDMA
  36. tristate "NVMe over Fabrics RDMA target support"
  37. depends on INFINIBAND && INFINIBAND_ADDR_TRANS
  38. depends on NVME_TARGET
  39. select SGL_ALLOC
  40. help
  41. This enables the NVMe RDMA target support, which allows exporting NVMe
  42. devices over RDMA.
  43. If unsure, say N.
  44. config NVME_TARGET_FC
  45. tristate "NVMe over Fabrics FC target driver"
  46. depends on NVME_TARGET
  47. depends on HAS_DMA
  48. select SGL_ALLOC
  49. help
  50. This enables the NVMe FC target support, which allows exporting NVMe
  51. devices over FC.
  52. If unsure, say N.
  53. config NVME_TARGET_FCLOOP
  54. tristate "NVMe over Fabrics FC Transport Loopback Test driver"
  55. depends on NVME_TARGET
  56. select NVME_FABRICS
  57. select SG_POOL
  58. depends on NVME_FC
  59. depends on NVME_TARGET_FC
  60. help
  61. This enables the NVMe FC loopback test support, which can be useful
  62. to test NVMe-FC transport interfaces.
  63. If unsure, say N.
  64. config NVME_TARGET_TCP
  65. tristate "NVMe over Fabrics TCP target support"
  66. depends on INET
  67. depends on NVME_TARGET
  68. help
  69. This enables the NVMe TCP target support, which allows exporting NVMe
  70. devices over TCP.
  71. If unsure, say N.
  72. config NVME_TARGET_AUTH
  73. bool "NVMe over Fabrics In-band Authentication support"
  74. depends on NVME_TARGET
  75. select NVME_COMMON
  76. select CRYPTO
  77. select CRYPTO_HMAC
  78. select CRYPTO_SHA256
  79. select CRYPTO_SHA512
  80. select CRYPTO_DH
  81. select CRYPTO_DH_RFC7919_GROUPS
  82. help
  83. This enables support for NVMe over Fabrics In-band Authentication
  84. If unsure, say N.