Skip to content

Commit c534320

Browse files
jsmart-ghsagigrimberg
authored andcommitted
nvme-fabrics: Add target support for FC transport
Implements the FC-NVME T11 definition of how nvme fabric capsules are performed on an FC fabric. Utilizes a lower-layer API to FC host adapters to send/receive FC-4 LS operations and perform the FCP transactions necessary to perform and FCP IO request for NVME. The T11 definitions for FC-4 Link Services are implemented which create NVMeOF connections. Implements the hooks with nvmet layer to pass NVME commands to it for processing and posting of data/response base to the host via the different connections. Signed-off-by: James Smart <[email protected]> Reviewed-by: Jay Freyensee <[email protected]> Reviewed-by: Johannes Thumshirn <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
1 parent e399441 commit c534320

File tree

4 files changed

+2302
-0
lines changed

4 files changed

+2302
-0
lines changed

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8666,6 +8666,7 @@ S: Supported
86668666
F: include/linux/nvme-fc.h
86678667
F: include/linux/nvme-fc-driver.h
86688668
F: drivers/nvme/host/fc.c
8669+
F: drivers/nvme/target/fc.c
86698670

86708671
NVMEM FRAMEWORK
86718672
M: Srinivas Kandagatla <[email protected]>

drivers/nvme/target/Kconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,14 @@ config NVME_TARGET_RDMA
3434
devices over RDMA.
3535

3636
If unsure, say N.
37+
38+
config NVME_TARGET_FC
39+
tristate "NVMe over Fabrics FC target driver"
40+
depends on NVME_TARGET
41+
depends on HAS_DMA
42+
help
43+
This enables the NVMe FC target support, which allows exporting NVMe
44+
devices over FC.
45+
46+
If unsure, say N.
47+

drivers/nvme/target/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22
obj-$(CONFIG_NVME_TARGET) += nvmet.o
33
obj-$(CONFIG_NVME_TARGET_LOOP) += nvme-loop.o
44
obj-$(CONFIG_NVME_TARGET_RDMA) += nvmet-rdma.o
5+
obj-$(CONFIG_NVME_TARGET_FC) += nvmet-fc.o
56

67
nvmet-y += core.o configfs.o admin-cmd.o io-cmd.o fabrics-cmd.o \
78
discovery.o
89
nvme-loop-y += loop.o
910
nvmet-rdma-y += rdma.o
11+
nvmet-fc-y += fc.o

0 commit comments

Comments
 (0)