numam-spdk/doc
Jim Harris b68f2eeb0b bdev_nvme: add bdev_nvme_start_discovery RPC
This patch adds the framework for a discovery
service in the bdev/nvme module.

Users can specify an IP/port of a discovery service.
The bdev/nvme module will connect to a discovery
controller, get the discovery log page, and then
register for AERs.  It will connect to each
subsystem specified in the initial log page.
AER completions will trigger fetching the log
page again, at which point new subsystems will
be connected to, or removed subsystems will be
detached.

This patch does the following:
* Adds the new start_discovery RPC
* Connects to the discovery controller
* Gets the discovery log page
* Registers for AERs
* Detach from discovery controllers at shutdown

Subsequent patches in this series will:
* Connect to subsystems listed in discovery log page
* Detach from subsystems that were listed in earlier
  discovery log pages but subsequently removed
* Add a stop_discovery RPC

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I54bfa896a48c5619676f156b5ea9f2d1f886c72f
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10694
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
2022-01-10 15:23:39 +00:00
..
img spdk_top: update spdk_top docs for spdk.io 2021-03-08 10:48:47 +00:00
.gitignore doc: add output directory to .gitignore 2018-06-19 07:15:50 +00:00
about.md Fix Markdown MD026 linter warnings - trailing punctuation in header 2020-02-17 10:07:21 +00:00
accel_fw.md doc: fix accel_idxd_kernel link 2021-12-02 15:41:33 +00:00
applications.md markdownlint: enable rule MD040 2021-09-08 21:53:48 +00:00
bdev_module.md doc: remove mentions of legacy config 2020-10-22 17:08:41 +00:00
bdev_pg.md bdev: Add spdk_bdev_open_ext function 2019-08-26 19:07:56 +00:00
bdev.md markdownlint: enable rule MD040 2021-09-08 21:53:48 +00:00
bdevperf.md markdownlint: enable rule MD032 2021-08-26 19:27:22 +00:00
blob.md markdownlint: enable rule MD046 2021-09-08 21:53:48 +00:00
blobfs.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
ci_tools.md doc: Add page describing OS distros used by the CI 2021-09-20 10:48:56 +00:00
compression.md markdownlint: enable rule MD040 2021-09-08 21:53:48 +00:00
concepts.md doc: Add concept page on submitting I/O to an NVMe device 2019-05-09 04:33:19 +00:00
concurrency.md markdownlint: enable rule MD046 2021-09-08 21:53:48 +00:00
containers.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
distributions.md doc: Add page describing OS distros used by the CI 2021-09-20 10:48:56 +00:00
Doxyfile doc: do not document void returns 2021-12-02 15:41:33 +00:00
driver_modules.md doc: add IDXD docs and changelog entry 2020-04-23 15:48:32 +00:00
event.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
footer.html doc: simplify HTML header and stylesheet 2017-04-28 13:13:48 -07:00
ftl.md markdownlint: enable rule MD046 2021-09-08 21:53:48 +00:00
gdb_macros.md spelling: doc 2021-11-30 09:05:19 +00:00
general.md doc: added scheduler framework documentation 2021-01-29 18:21:13 +00:00
getting_started.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
header.html doc: Remove mobile responsiveness 2018-12-10 15:56:50 +00:00
idxd.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
index.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
intro.md deprecation: add a file to gather all deprecation notices 2021-04-26 06:55:03 +00:00
ioat.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
iscsi.md spelling: doc 2021-11-30 09:05:19 +00:00
jsonrpc_proxy.md markdownlint: enable rule MD040 2021-09-08 21:53:48 +00:00
jsonrpc.md bdev_nvme: add bdev_nvme_start_discovery RPC 2022-01-10 15:23:39 +00:00
libraries.md spelling: doc 2021-11-30 09:05:19 +00:00
lvol.md markdownlint: enable rule MD040 2021-09-08 21:53:48 +00:00
Makefile doc/Makefile: include mk/spdk.common.mk 2018-06-19 17:29:06 +00:00
memory.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
misc.md doc/rpms: add reference to rpms doc page 2021-06-22 23:47:52 +00:00
notify.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
nvme_spec.md doc: correct explanation of NVMe SQ command submission 2021-01-25 12:52:08 +00:00
nvme.md markdownlint: enable rule MD040 2021-09-08 21:53:48 +00:00
nvmf_tgt_pg.md lib/nvmf: remove deprecated API 2021-03-18 14:43:08 +00:00
nvmf_tracing.md nvmf_tracing.md: explain how extended -e option works 2022-01-05 08:52:40 +00:00
nvmf.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
overview.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
peer_2_peer.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
performance_reports.md doc: add SPDK NVMe Bdev 21.10 performance report link 2021-12-08 08:31:49 +00:00
pkgconfig.md markdownlint: enable rule MD040 2021-09-08 21:53:48 +00:00
porting.md markdownlint: enable rule MD046 2021-09-08 21:53:48 +00:00
prog_guides.md doc/notify: add missing links about notify 2019-05-07 06:11:45 +00:00
README.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
rpm.md doc/rpm: Add information about new functionality 2022-01-05 09:24:59 +00:00
scheduler.md doc: added scheduler framework documentation 2021-01-29 18:21:13 +00:00
shfmt.md doc/shfmt: Add note about minimal version of Bash 2021-11-10 23:11:41 +00:00
spdk_top.md markdownlint: enable rule MD032 2021-08-26 19:27:22 +00:00
spdkcli.md markdownlint: enable rule MD006 2021-08-05 07:42:35 +00:00
ssd_internals.md doc: Rename directory_structure.md to overview.md 2019-05-09 04:33:19 +00:00
stylesheet.css doc: Remove mobile responsiveness 2018-12-10 15:56:50 +00:00
system_configuration.md spelling: doc 2021-11-30 09:05:19 +00:00
template_pg.md spelling: doc 2021-11-30 09:05:19 +00:00
tools.md test: remove spdk/nvme-cli references 2021-01-04 16:28:01 +00:00
two.min.js doc: Add license header to two.js source 2018-08-06 16:27:58 +00:00
usdt.md markdownlint: enable rule MD040 2021-09-08 21:53:48 +00:00
user_guides.md doc: add a page for USDT 2021-06-08 08:27:15 +00:00
userspace.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
vagrant.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
vhost_processing.md markdownlint: enable rule MD040 2021-09-08 21:53:48 +00:00
vhost.md doc/vhost: remove vhost-nvme description 2021-12-23 08:33:24 +00:00
virtio.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00
vmd.md markdownlint: enable rule MD025 2021-08-26 19:27:22 +00:00

SPDK Documentation

The current version of the SPDK documentation can be found online at http://www.spdk.io/doc/

Building the Documentation

To convert the documentation into HTML run make in the doc directory. The output will be located in doc/output/html. Before running make ensure all pre-requisites are installed. See Installing Prerequisites for more details.