diff options
Diffstat (limited to 'Documentation/nvme-connect.1')
-rw-r--r-- | Documentation/nvme-connect.1 | 304 |
1 files changed, 304 insertions, 0 deletions
diff --git a/Documentation/nvme-connect.1 b/Documentation/nvme-connect.1 new file mode 100644 index 0000000..0210d8a --- /dev/null +++ b/Documentation/nvme-connect.1 @@ -0,0 +1,304 @@ +'\" t +.\" Title: nvme-connect +.\" Author: [see the "AUTHORS" section] +.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-CONNECT" "1" "02/14/2024" "NVMe" "NVMe Manual" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +nvme-connect \- Connect to a Fabrics controller\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme connect\fR [\-\-transport=<trtype> | \-t <trtype>] + [\-\-nqn=<subnqn> | \-n <subnqn>] + [\-\-traddr=<traddr> | \-a <traddr>] + [\-\-trsvcid=<trsvcid> | \-s <trsvcid>] + [\-\-host\-traddr=<traddr> | \-w <traddr>] + [\-\-host\-iface=<iface> | \-f <iface>] + [\-\-hostnqn=<hostnqn> | \-q <hostnqn>] + [\-\-hostid=<hostid> | \-I <hostid>] + [\-\-config=<filename> | \-J <filename>] + [\-\-dhchap\-secret=<secret> | \-S <secret>] + [\-\-dhchap\-ctrl\-secret=<secret> | \-C <secret>] + [\-\-nr\-io\-queues=<#> | \-i <#>] + [\-\-nr\-write\-queues=<#> | \-W <#>] + [\-\-nr\-poll\-queues=<#> | \-P <#>] + [\-\-queue\-size=<#> | \-Q <#>] + [\-\-keep\-alive\-tmo=<#> | \-k <#>] + [\-\-reconnect\-delay=<#> | \-c <#>] + [\-\-ctrl\-loss\-tmo=<#> | \-l <#>] [\-\-tos=<#> | \-T <#>] + [\-\-keyring=<#>] [\-\-tls_key=<#>] + [\-\-duplicate\-connect | \-D] [\-\-disable\-sqflow | \-d] + [\-\-hdr\-digest | \-g] [\-\-data\-digest | \-G] [\-\-tls] + [\-\-concat] [\-\-dump\-config | \-O] [\-\-application=<id>] + [\-\-output\-format=<fmt> | \-o <fmt>] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Create a transport connection to a remote system (specified by \-\-traddr and \-\-trsvcid) and create a NVMe over Fabrics controller for the NVMe subsystem specified by the \-\-nqn option\&. +.SH "OPTIONS" +.PP +\-t <trtype>, \-\-transport=<trtype> +.RS 4 +This field specifies the network fabric being used for a NVMe\-over\-Fabrics network\&. Current string values include: +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Value +T}:T{ +Definition +T} +T{ +rdma +T}:T{ +The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc) +T} +T{ +fc +T}:T{ +\fBWIP\fR +The network fabric is a Fibre Channel network\&. +T} +T{ +tcp +T}:T{ +The network fabric is a TCP/IP network\&. +T} +T{ +loop +T}:T{ +Connect to a NVMe over Fabrics target on the local host +T} +.TE +.sp 1 +.RE +.PP +\-n <subnqn>, \-\-nqn <subnqn> +.RS 4 +This field specifies the name for the NVMe subsystem to connect to\&. +.RE +.PP +\-a <traddr>, \-\-traddr=<traddr> +.RS 4 +This field specifies the network address of the Controller\&. For transports using IP addressing (e\&.g\&. rdma) this should be an IP\-based address (ex\&. IPv4)\&. +.RE +.PP +\-s <trsvcid>, \-\-trsvcid=<trsvcid> +.RS 4 +This field specifies the transport service id\&. For transports using IP addressing (e\&.g\&. rdma) this field is the port number\&. By default, the IP port number for the RDMA transport is 4420\&. +.RE +.PP +\-w <traddr>, \-\-host\-traddr=<traddr> +.RS 4 +This field specifies the network address used on the host to connect to the Controller\&. For TCP, this sets the source address on the socket\&. +.RE +.PP +\-f <iface>, \-\-host\-iface=<iface> +.RS 4 +This field specifies the network interface used on the host to connect to the Controller (e\&.g\&. IP eth1, enp2s0, enx78e7d1ea46da)\&. This forces the connection to be made on a specific interface instead of letting the system decide\&. +.RE +.PP +\-q <hostnqn>, \-\-hostnqn=<hostnqn> +.RS 4 +Overrides the default Host NQN that identifies the NVMe Host\&. If this option is not specified, the default is read from /usr/local/etc/nvme/hostnqn first\&. If that does not exist, the autogenerated NQN value from the NVMe Host kernel module is used next\&. The Host NQN uniquely identifies the NVMe Host\&. +.RE +.PP +\-I <hostid>, \-\-hostid=<hostid> +.RS 4 +UUID(Universally Unique Identifier) to be discovered which should be formatted\&. +.RE +.PP +\-J <filename>, \-\-config=<filename> +.RS 4 +Use the specified JSON configuration file instead of the default /usr/local/etc/nvme/config\&.json file or +\fInone\fR +to not read in an existing configuration file\&. The JSON configuration file format is documented in +\m[blue]\fBhttps://github\&.com/linux\-nvme/libnvme/blob/master/doc/config\-schema\&.json\fR\m[] +.RE +.PP +\-S <secret>, \-\-dhchap\-secret=<secret> +.RS 4 +NVMe In\-band authentication secret; needs to be in ASCII format as specified in NVMe 2\&.0 section 8\&.13\&.5\&.8 +\fISecret representation\fR\&. +.RE +.PP +\-C <secret>, \-\-dhchap\-ctrl\-secret=<secret> +.RS 4 +NVMe In\-band authentication controller secret for bi\-directional authentication; needs to be in ASCII format as specified in NVMe 2\&.0 section 8\&.13\&.5\&.8 +\fISecret representation\fR\&. If not present bi\-directional authentication is not attempted\&. +.RE +.PP +\-i <#>, \-\-nr\-io\-queues=<#> +.RS 4 +Overrides the default number of I/O queues create by the driver\&. +.RE +.PP +\-W <#>, \-\-nr\-write\-queues=<#> +.RS 4 +Adds additional queues that will be used for write I/O\&. +.RE +.PP +\-P <#>, \-\-nr\-poll\-queues=<#> +.RS 4 +Adds additional queues that will be used for polling latency sensitive I/O\&. +.RE +.PP +\-Q <#>, \-\-queue\-size=<#> +.RS 4 +Overrides the default number of elements in the I/O queues created by the driver\&. +.RE +.PP +\-k <#>, \-\-keep\-alive\-tmo=<#> +.RS 4 +Overrides the default keep alive timeout (in seconds)\&. +.RE +.PP +\-c <#>, \-\-reconnect\-delay=<#> +.RS 4 +Overrides the default delay (in seconds) before reconnect is attempted after a connect loss\&. +.RE +.PP +\-l <#>, \-\-ctrl\-loss\-tmo=<#> +.RS 4 +Overrides the default controller loss timeout period (in seconds)\&. +.RE +.PP +\-T <#>, \-\-tos=<#> +.RS 4 +Type of service for the connection (TCP) +.RE +.PP +\-\-keyring=<#> +.RS 4 +Keyring for TLS key lookup\&. +.RE +.PP +\-\-tls_key=<#> +.RS 4 +TLS key for the connection (TCP)\&. +.RE +.PP +\-D, \-\-duplicate\-connect +.RS 4 +Allows duplicated connections between same transport host and subsystem port\&. +.RE +.PP +\-d, \-\-disable\-sqflow +.RS 4 +Disables SQ flow control to omit head doorbell update for submission queues when sending nvme completions\&. +.RE +.PP +\-g, \-\-hdr\-digest +.RS 4 +Generates/verifies header digest (TCP)\&. +.RE +.PP +\-G, \-\-data\-digest +.RS 4 +Generates/verifies data digest (TCP)\&. +.RE +.PP +\-\-tls +.RS 4 +Enable TLS encryption (TCP)\&. +.RE +.PP +\-\-concat +.RS 4 +Enable secure concatenation (TCP)\&. +.RE +.PP +\-O, \-\-dump\-config +.RS 4 +Print out resulting JSON configuration file to stdout\&. +.RE +.PP +\-\-context <STR> +.RS 4 +Set the execution context to <STR>\&. This allows to coordinate the management of the global resources\&. +.RE +.PP +\-o <fmt>, \-\-output\-format=<fmt> +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Connect to a subsystem named nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432 on the IP4 address 192\&.168\&.1\&.3\&. Port 4420 is used by default: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme connect \-\-transport=rdma \-\-traddr=192\&.168\&.1\&.3 \e +\-\-nqn=nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "SEE ALSO" +.sp +nvme\-discover(1) nvme\-connect\-all(1) +.SH "AUTHORS" +.sp +This was co\-written by \m[blue]\fBJay Freyensee\fR\m[]\&\s-2\u[1]\d\s+2 and \m[blue]\fBChristoph Hellwig\fR\m[]\&\s-2\u[2]\d\s+2 +.SH "NVME" +.sp +Part of the nvme\-user suite +.SH "NOTES" +.IP " 1." 4 +Jay Freyensee +.RS 4 +\%mailto:james.p.freyensee@intel.com +.RE +.IP " 2." 4 +Christoph Hellwig +.RS 4 +\%mailto:hch@lst.de +.RE |