summaryrefslogtreecommitdiffstats
path: root/Documentation/nvme-connect.1
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/nvme-connect.1')
-rw-r--r--Documentation/nvme-connect.1270
1 files changed, 270 insertions, 0 deletions
diff --git a/Documentation/nvme-connect.1 b/Documentation/nvme-connect.1
new file mode 100644
index 0000000..f657eb1
--- /dev/null
+++ b/Documentation/nvme-connect.1
@@ -0,0 +1,270 @@
+'\" t
+.\" Title: nvme-connect
+.\" Author: [see the "AUTHORS" section]
+.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Date: 01/30/2023
+.\" Manual: NVMe Manual
+.\" Source: NVMe
+.\" Language: English
+.\"
+.TH "NVME\-CONNECT" "1" "01/30/2023" "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\-file=<cfg> | \-J <cfg> ]
+ [\-\-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 <#>]
+ [\-\-duplicate\-connect | \-D]
+ [\-\-disable\-sqflow | \-d]
+ [\-\-hdr\-digest | \-g]
+ [\-\-data\-digest | \-G]
+ [\-\-dump\-config | \-O]
+ [\-\-output\-format=<fmt> | \-o <fmt>]
+.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 <cfg>, \-\-config\-file=<cfg>
+.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/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\&. If this option is not specified, the default is read from /usr/local/etc/nvme/hostkey\&. If that does not exist no in\-band authentication is attempted\&.
+.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
+\-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
+\-O, \-\-dump\-config
+.RS 4
+Print out resulting JSON configuration file to stdout\&.
+.RE
+.PP
+\-o <format>, \-\-output\-format=<format>
+.RS 4
+Set the reporting format to
+\fInormal\fR
+or
+\fIjson\fR\&. Only one output format can be used at a time\&. When this option is specified, the device associated with the connection will be printed\&. Nothing is printed otherwise\&.
+.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