2019-05-19 12:07:45 +00:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2016-06-21 16:04:20 +00:00
|
|
|
|
|
|
|
config NVME_TARGET
|
|
|
|
tristate "NVMe Target support"
|
|
|
|
depends on BLOCK
|
|
|
|
depends on CONFIGFS_FS
|
2023-11-22 22:47:18 +00:00
|
|
|
select NVME_KEYRING if NVME_TARGET_TCP_TLS
|
|
|
|
select KEYS if NVME_TARGET_TCP_TLS
|
2020-05-19 14:05:57 +00:00
|
|
|
select BLK_DEV_INTEGRITY_T10 if BLK_DEV_INTEGRITY
|
2019-04-24 10:34:39 +00:00
|
|
|
select SGL_ALLOC
|
2016-06-21 16:04:20 +00:00
|
|
|
help
|
|
|
|
This enabled target side support for the NVMe protocol, that is
|
|
|
|
it allows the Linux kernel to implement NVMe subsystems and
|
|
|
|
controllers and export Linux block devices as NVMe namespaces.
|
|
|
|
You need to select at least one of the transports below to make this
|
|
|
|
functionality useful.
|
|
|
|
|
|
|
|
To configure the NVMe target you probably want to use the nvmetcli
|
|
|
|
tool from http://git.infradead.org/users/hch/nvmetcli.git.
|
|
|
|
|
2020-07-24 17:25:20 +00:00
|
|
|
config NVME_TARGET_PASSTHRU
|
|
|
|
bool "NVMe Target Passthrough support"
|
|
|
|
depends on NVME_TARGET
|
|
|
|
depends on NVME_CORE=y || NVME_CORE=NVME_TARGET
|
|
|
|
help
|
|
|
|
This enables target side NVMe passthru controller support for the
|
|
|
|
NVMe Over Fabrics protocol. It allows for hosts to manage and
|
|
|
|
directly access an actual NVMe controller residing on the target
|
2020-11-26 22:40:29 +00:00
|
|
|
side, including executing Vendor Unique Commands.
|
2020-07-24 17:25:20 +00:00
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
2016-06-21 16:04:21 +00:00
|
|
|
config NVME_TARGET_LOOP
|
|
|
|
tristate "NVMe loopback device support"
|
2016-07-12 15:36:40 +00:00
|
|
|
depends on NVME_TARGET
|
2016-06-21 16:04:21 +00:00
|
|
|
select NVME_FABRICS
|
|
|
|
select SG_POOL
|
|
|
|
help
|
|
|
|
This enables the NVMe loopback device support, which can be useful
|
|
|
|
to test NVMe host and target side features.
|
|
|
|
|
2016-06-21 16:04:20 +00:00
|
|
|
If unsure, say N.
|
2016-07-06 12:55:51 +00:00
|
|
|
|
|
|
|
config NVME_TARGET_RDMA
|
|
|
|
tristate "NVMe over Fabrics RDMA target support"
|
2018-05-25 21:29:59 +00:00
|
|
|
depends on INFINIBAND && INFINIBAND_ADDR_TRANS
|
2016-07-12 15:36:40 +00:00
|
|
|
depends on NVME_TARGET
|
2018-01-05 16:26:49 +00:00
|
|
|
select SGL_ALLOC
|
2016-07-06 12:55:51 +00:00
|
|
|
help
|
|
|
|
This enables the NVMe RDMA target support, which allows exporting NVMe
|
|
|
|
devices over RDMA.
|
|
|
|
|
|
|
|
If unsure, say N.
|
2016-12-02 08:28:43 +00:00
|
|
|
|
|
|
|
config NVME_TARGET_FC
|
|
|
|
tristate "NVMe over Fabrics FC target driver"
|
|
|
|
depends on NVME_TARGET
|
|
|
|
depends on HAS_DMA
|
2018-01-05 16:26:48 +00:00
|
|
|
select SGL_ALLOC
|
2016-12-02 08:28:43 +00:00
|
|
|
help
|
|
|
|
This enables the NVMe FC target support, which allows exporting NVMe
|
|
|
|
devices over FC.
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
2016-12-02 08:28:44 +00:00
|
|
|
config NVME_TARGET_FCLOOP
|
|
|
|
tristate "NVMe over Fabrics FC Transport Loopback Test driver"
|
|
|
|
depends on NVME_TARGET
|
|
|
|
select NVME_FABRICS
|
|
|
|
select SG_POOL
|
|
|
|
depends on NVME_FC
|
|
|
|
depends on NVME_TARGET_FC
|
|
|
|
help
|
|
|
|
This enables the NVMe FC loopback test support, which can be useful
|
|
|
|
to test NVMe-FC transport interfaces.
|
|
|
|
|
|
|
|
If unsure, say N.
|
2018-12-04 01:52:15 +00:00
|
|
|
|
|
|
|
config NVME_TARGET_TCP
|
|
|
|
tristate "NVMe over Fabrics TCP target support"
|
|
|
|
depends on INET
|
|
|
|
depends on NVME_TARGET
|
|
|
|
help
|
|
|
|
This enables the NVMe TCP target support, which allows exporting NVMe
|
|
|
|
devices over TCP.
|
|
|
|
|
|
|
|
If unsure, say N.
|
2022-06-27 09:52:05 +00:00
|
|
|
|
2023-08-24 14:39:23 +00:00
|
|
|
config NVME_TARGET_TCP_TLS
|
|
|
|
bool "NVMe over Fabrics TCP target TLS encryption support"
|
|
|
|
depends on NVME_TARGET_TCP
|
|
|
|
select NET_HANDSHAKE
|
|
|
|
help
|
|
|
|
Enables TLS encryption for the NVMe TCP target using the netlink handshake API.
|
|
|
|
|
|
|
|
The TLS handshake daemon is available at
|
|
|
|
https://github.com/oracle/ktls-utils.
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
2022-06-27 09:52:05 +00:00
|
|
|
config NVME_TARGET_AUTH
|
2023-11-29 04:49:51 +00:00
|
|
|
bool "NVMe over Fabrics In-band Authentication in target side"
|
2022-06-27 09:52:05 +00:00
|
|
|
depends on NVME_TARGET
|
2023-10-12 12:22:48 +00:00
|
|
|
select NVME_AUTH
|
2022-06-27 09:52:05 +00:00
|
|
|
help
|
2023-11-29 04:49:51 +00:00
|
|
|
This enables support for NVMe over Fabrics In-band Authentication in
|
|
|
|
target side.
|
2022-06-27 09:52:05 +00:00
|
|
|
|
|
|
|
If unsure, say N.
|