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