From eeb08505d9b40066de894123c8604115ac3f4327 Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Wed, 22 Feb 2017 16:00:18 -0700 Subject: [PATCH] doc: add a page about NVMe library NVMe-oF support Change-Id: I64afae66273a487c7232bb22f380e324e725d4e2 Signed-off-by: Daniel Verkamp --- doc/Doxyfile | 1 + doc/nvme/fabrics.md | 24 ++++++++++++++++++++++++ doc/nvme/index.md | 1 + doc/nvmf/index.md | 2 ++ 4 files changed, 28 insertions(+) create mode 100644 doc/nvme/fabrics.md diff --git a/doc/Doxyfile b/doc/Doxyfile index 77446c793..c4fc9a274 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -766,6 +766,7 @@ INPUT = ../include/spdk \ ioat/index.md \ nvme/index.md \ nvme/async_completion.md \ + nvme/fabrics.md \ nvme/initialization.md \ nvme/io_submission.md \ nvmf/index.md \ diff --git a/doc/nvme/fabrics.md b/doc/nvme/fabrics.md new file mode 100644 index 000000000..fa7dc9676 --- /dev/null +++ b/doc/nvme/fabrics.md @@ -0,0 +1,24 @@ +# NVMe over Fabrics Host Support {#nvme_fabrics_host} + +The NVMe driver supports connecting to remote NVMe-oF targets and +interacting with them in the same manner as local NVMe controllers. + +# Specifying Remote NVMe over Fabrics Targets {#nvme_fabrics_trid} + +The method for connecting to a remote NVMe-oF target is very similar +to the normal enumeration process for local PCIe-attached NVMe devices. +To connect to a remote NVMe over Fabrics subsystem, the user may call +spdk_nvme_probe() with the `trid` parameter specifying the address of +the NVMe-oF target. +The caller may fill out the spdk_nvme_transport_id structure manually +or use the spdk_nvme_transport_id_parse() function to convert a +human-readable string representation into the required structure. + +The spdk_nvme_transport_id may contain the address of a discovery service +or a single NVM subsystem. If a discovery service address is specified, +the NVMe library will call the spdk_nvme_probe() `probe_cb` for each +discovered NVM subsystem, which allows the user to select the desired +subsystems to be attached. Alternatively, if the address specifies a +single NVM subsystem directly, the NVMe library will call `probe_cb` +for just that subsystem; this allows the user to skip the discovery step +and connect directly to a subsystem with a known address. diff --git a/doc/nvme/index.md b/doc/nvme/index.md index 5afbb99d9..9b88f6d1c 100644 --- a/doc/nvme/index.md +++ b/doc/nvme/index.md @@ -22,3 +22,4 @@ spdk_nvme_ctrlr_process_admin_completions() | @copybrief spdk_nvme_ctrlr_process - @ref nvme_initialization - @ref nvme_io_submission - @ref nvme_async_completion +- @ref nvme_fabrics_host diff --git a/doc/nvmf/index.md b/doc/nvmf/index.md index 43bfbb6a9..008974ea1 100644 --- a/doc/nvmf/index.md +++ b/doc/nvmf/index.md @@ -1,3 +1,5 @@ # NVMe over Fabrics {#nvmf} - @ref nvmf_getting_started + +@sa @ref nvme_fabrics_host