294 lines
8.8 KiB
Groff
294 lines
8.8 KiB
Groff
'\" t
|
|
.\" Title: nvme-connect
|
|
.\" Author: [see the "AUTHORS" section]
|
|
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
|
.\" Date: 03/31/2023
|
|
.\" Manual: NVMe Manual
|
|
.\" Source: NVMe
|
|
.\" Language: English
|
|
.\"
|
|
.TH "NVME\-CONNECT" "1" "03/31/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 <#>]
|
|
[\-\-tos=<#> | \-T <#>]
|
|
[\-\-keyring=<#> ]
|
|
[\-\-tls_key=<#> ]
|
|
[\-\-duplicate\-connect | \-D]
|
|
[\-\-disable\-sqflow | \-d]
|
|
[\-\-hdr\-digest | \-g]
|
|
[\-\-data\-digest | \-G]
|
|
[\-\-tls ]
|
|
[\-\-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
|
|
\-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
|
|
\-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
|