]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blob - drivers/nvme/target/Kconfig
8056955e652c6d7529b22965d76adda5f8a4de42
[mirror_ubuntu-hirsute-kernel.git] / drivers / nvme / target / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2
3 config 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
19 config 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, incuding executing Vendor Unique Commands.
28
29 If unsure, say N.
30
31 config 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
43 config 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
54 config 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
65 config 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
79 config 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.