Lines Matching +full:storage +full:- +full:target

1 # NVMe over Fabrics Target Programming Guide {#nvmf_tgt_pg}
3 ## Target Audience
6 use the SPDK NVMe-oF target library (`lib/nvmf`). It is intended to provide
8 guide will not cover how to use the SPDK NVMe-oF target application. For a
9 guide on how to use the existing application as-is, see @ref nvmf.
13 The SPDK NVMe-oF target library is located in `lib/nvmf`. The library
14 implements all logic required to create an NVMe-oF target application. It is
15 used in the implementation of the example NVMe-oF target application in
24 The library exposes a number of primitives - basic objects that the user
27 `struct spdk_nvmf_tgt`: An NVMe-oF target. This concept, surprisingly, does
28 not appear in the NVMe-oF specification. SPDK defines this to mean the
31 throughout this guide as a **target**.
33 `struct spdk_nvmf_subsystem`: An NVMe-oF subsystem, as defined by the NVMe-oF
38 `struct spdk_nvmf_ns`: An NVMe-oF namespace, as defined by the NVMe-oF
43 `struct spdk_nvmf_qpair`: An NVMe-oF queue pair, as defined by the NVMe-oF
48 by the NVMe-oF specification. The specification is designed to allow for many
54 connections that can be polled as a unit. This is an SPDK-defined concept that
55 does not appear in the NVMe-oF specification. Often, network transports have
61 `struct spdk_nvmf_listener`: A network address at which the target will accept
64 `struct spdk_nvmf_host`: An NVMe-oF NQN representing a host (initiator)
69 A user of the NVMe-oF target library begins by creating a target using
85 Once a subsystem exists and the target is listening on an address, new
105 A discovery subsystem, as defined by the NVMe-oF specification, is
106 automatically created for each NVMe-oF target constructed. Connections to the
111 The NVMe-oF specification defines multiple network transports (the "Fabrics"
113 in the future. The SPDK NVMe-oF target library implements a plugin system for
118 The SPDK NVMe-oF target is designed to be able to process I/O from multiple
123 The SPDK NVMe-oF target library does not strictly dictate threading model, but
133 to the backing storage device, without interruption. Completions are
134 discovered by polling the backing storage device and also processed to
136 do not require any cross-thread coordination, and therefore take no locks.**
158 The SPDK NVMe-oF RDMA transport is implemented on top of the libibverbs and
160 distributions. It does not use a user-space RDMA driver stack through DPDK.
162 In order to scale to large numbers of connections, the SPDK NVMe-oF RDMA
176 new NVMe-oF capsule prior to detecting the acknowledgement of a previous SEND
179 request structure is broken into two parts - an rdma_recv and an rdma_request.