forked from Minki/linux
nvme-rdma: add a NVMe over Fabrics RDMA host driver
This patch implements the RDMA host (initiator in SCSI speak) driver. It can be used to connect to remote NVMe over Fabrics controllers over Infiniband, RoCE or iWarp, and uses the existing NVMe core driver as well a the new fabrics library. To connect to all NVMe over Fabrics controller reachable on a given taget port using RDMA/CM use the following command: nvme connect-all -t rdma -a $IPADDR This requires the latest version of nvme-cli with Fabrics support. Signed-off-by: Jay Freyensee <james.p.freyensee@intel.com> Signed-off-by: Ming Lin <ming.l@ssi.samsung.com> Signed-off-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Steve Wise <swise@opengridcomputing.com> Tested-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
8f000cac6e
commit
7110230719
@ -27,3 +27,19 @@ config BLK_DEV_NVME_SCSI
|
|||||||
|
|
||||||
config NVME_FABRICS
|
config NVME_FABRICS
|
||||||
tristate
|
tristate
|
||||||
|
|
||||||
|
config NVME_RDMA
|
||||||
|
tristate "NVM Express over Fabrics RDMA host driver"
|
||||||
|
depends on INFINIBAND
|
||||||
|
depends on BLK_DEV_NVME
|
||||||
|
select NVME_FABRICS
|
||||||
|
select SG_POOL
|
||||||
|
help
|
||||||
|
This provides support for the NVMe over Fabrics protocol using
|
||||||
|
the RDMA (Infiniband, RoCE, iWarp) 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.
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
obj-$(CONFIG_NVME_CORE) += nvme-core.o
|
obj-$(CONFIG_NVME_CORE) += nvme-core.o
|
||||||
obj-$(CONFIG_BLK_DEV_NVME) += nvme.o
|
obj-$(CONFIG_BLK_DEV_NVME) += nvme.o
|
||||||
obj-$(CONFIG_NVME_FABRICS) += nvme-fabrics.o
|
obj-$(CONFIG_NVME_FABRICS) += nvme-fabrics.o
|
||||||
|
obj-$(CONFIG_NVME_RDMA) += nvme-rdma.o
|
||||||
|
|
||||||
nvme-core-y := core.o
|
nvme-core-y := core.o
|
||||||
nvme-core-$(CONFIG_BLK_DEV_NVME_SCSI) += scsi.o
|
nvme-core-$(CONFIG_BLK_DEV_NVME_SCSI) += scsi.o
|
||||||
@ -9,3 +10,5 @@ nvme-core-$(CONFIG_NVM) += lightnvm.o
|
|||||||
nvme-y += pci.o
|
nvme-y += pci.o
|
||||||
|
|
||||||
nvme-fabrics-y += fabrics.o
|
nvme-fabrics-y += fabrics.o
|
||||||
|
|
||||||
|
nvme-rdma-y += rdma.o
|
||||||
|
2021
drivers/nvme/host/rdma.c
Normal file
2021
drivers/nvme/host/rdma.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user