Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3f2304f8 authored by Sagi Grimberg's avatar Sagi Grimberg Committed by Christoph Hellwig
Browse files

nvme-tcp: add NVMe over TCP host driver



This patch implements the NVMe over TCP host driver. It can be used to
connect to remote NVMe over Fabrics subsystems over good old TCP/IP.

The driver implements the TP 8000 of how nvme over fabrics capsules and
data are encapsulated in nvme-tcp pdus and exchaged on top of a TCP byte
stream. nvme-tcp header and data digest are supported as well.

To connect to all NVMe over Fabrics controllers reachable on a given taget
port over TCP use the following command:

	nvme connect-all -t tcp -a $IPADDR

This requires the latest version of nvme-cli with TCP support.

Signed-off-by: default avatarSagi Grimberg <sagi@lightbitslabs.com>
Signed-off-by: default avatarRoy Shterman <roys@lightbitslabs.com>
Signed-off-by: default avatarSolganik Alexander <sashas@lightbitslabs.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent ad4f530e
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -57,3 +57,18 @@ config NVME_FC
	  from https://github.com/linux-nvme/nvme-cli.

	  If unsure, say N.

config NVME_TCP
	tristate "NVM Express over Fabrics TCP host driver"
	depends on INET
	depends on BLK_DEV_NVME
	select NVME_FABRICS
	help
	  This provides support for the NVMe over Fabrics protocol using
	  the TCP transport.  This allows you to use remote block devices
	  exported using the NVMe protocol set.

	  To configure a NVMe over Fabrics controller use the nvme-cli tool
	  from https://github.com/linux-nvme/nvme-cli.

	  If unsure, say N.
+3 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ obj-$(CONFIG_BLK_DEV_NVME) += nvme.o
obj-$(CONFIG_NVME_FABRICS)		+= nvme-fabrics.o
obj-$(CONFIG_NVME_RDMA)			+= nvme-rdma.o
obj-$(CONFIG_NVME_FC)			+= nvme-fc.o
obj-$(CONFIG_NVME_TCP)			+= nvme-tcp.o

nvme-core-y				:= core.o
nvme-core-$(CONFIG_TRACING)		+= trace.o
@@ -21,3 +22,5 @@ nvme-fabrics-y += fabrics.o
nvme-rdma-y				+= rdma.o

nvme-fc-y				+= fc.o

nvme-tcp-y				+= tcp.o
+2242 −0

File added.

Preview size limit exceeded, changes collapsed.