Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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_FABRICS
35 select SG_POOL
36 help
37 This enables the NVMe loopback device support, which can be useful
38 to test NVMe host and target side features.
39
40 If unsure, say N.
41
42config NVME_TARGET_RDMA
43 tristate "NVMe over Fabrics RDMA target support"
44 depends on INFINIBAND && INFINIBAND_ADDR_TRANS
45 depends on NVME_TARGET
46 select SGL_ALLOC
47 help
48 This enables the NVMe RDMA target support, which allows exporting NVMe
49 devices over RDMA.
50
51 If unsure, say N.
52
53config NVME_TARGET_FC
54 tristate "NVMe over Fabrics FC target driver"
55 depends on NVME_TARGET
56 depends on HAS_DMA
57 select SGL_ALLOC
58 help
59 This enables the NVMe FC target support, which allows exporting NVMe
60 devices over FC.
61
62 If unsure, say N.
63
64config NVME_TARGET_FCLOOP
65 tristate "NVMe over Fabrics FC Transport Loopback Test driver"
66 depends on NVME_TARGET
67 select NVME_FABRICS
68 select SG_POOL
69 depends on NVME_FC
70 depends on NVME_TARGET_FC
71 help
72 This enables the NVMe FC loopback test support, which can be useful
73 to test NVMe-FC transport interfaces.
74
75 If unsure, say N.
76
77config NVME_TARGET_TCP
78 tristate "NVMe over Fabrics TCP target support"
79 depends on INET
80 depends on NVME_TARGET
81 help
82 This enables the NVMe TCP target support, which allows exporting NVMe
83 devices over TCP.
84
85 If unsure, say N.
86
87config NVME_TARGET_AUTH
88 bool "NVMe over Fabrics In-band Authentication support"
89 depends on NVME_TARGET
90 select NVME_COMMON
91 select CRYPTO
92 select CRYPTO_HMAC
93 select CRYPTO_SHA256
94 select CRYPTO_SHA512
95 select CRYPTO_DH
96 select CRYPTO_DH_RFC7919_GROUPS
97 help
98 This enables support for NVMe over Fabrics In-band Authentication
99
100 If unsure, say N.