1NVME-CONNECT(1)                   NVMe Manual                  NVME-CONNECT(1)
2
3
4

NAME

6       nvme-connect - Connect to a Fabrics controller.
7

SYNOPSIS

9       nvme connect
10                       [--transport=<trtype>     | -t <trtype>]
11                       [--nqn=<subnqn>           | -n <subnqn>]
12                       [--traddr=<traddr>        | -a <traddr>]
13                       [--trsvcid=<trsvcid>      | -s <trsvcid>]
14                       [--host-traddr=<traddr>   | -w <traddr>]
15                       [--host-iface=<iface>     | -f <iface>]
16                       [--hostnqn=<hostnqn>      | -q <hostnqn>]
17                       [--hostid=<hostid>        | -I <hostid>]
18                       [--config-file=<cfg>      | -J <cfg> ]
19                       [--dhchap-secret=<secret> | -S <secret>]
20                       [--dhchap-ctrl-secret=<secret> | -C <secret>]
21                       [--nr-io-queues=<#>       | -i <#>]
22                       [--nr-write-queues=<#>    | -W <#>]
23                       [--nr-poll-queues=<#>     | -P <#>]
24                       [--queue-size=<#>         | -Q <#>]
25                       [--keep-alive-tmo=<#>     | -k <#>]
26                       [--reconnect-delay=<#>    | -c <#>]
27                       [--ctrl-loss-tmo=<#>      | -l <#>]
28                       [--tos=<#>                | -T <#>]
29                       [--keyring=<#>                    ]
30                       [--tls_key=<#>                    ]
31                       [--duplicate-connect      | -D]
32                       [--disable-sqflow         | -d]
33                       [--hdr-digest             | -g]
34                       [--data-digest            | -G]
35                       [--tls                        ]
36                       [--dump-config            | -O]
37                       [--output-format=<fmt>    | -o <fmt>]
38                       [--application=<id>                 ]
39

DESCRIPTION

41       Create a transport connection to a remote system (specified by --traddr
42       and --trsvcid) and create a NVMe over Fabrics controller for the NVMe
43       subsystem specified by the --nqn option.
44

OPTIONS

46       -t <trtype>, --transport=<trtype>
47           This field specifies the network fabric being used for a
48           NVMe-over-Fabrics network. Current string values include:
49
50           ┌──────┬────────────────────────────┐
51           │Value │ Definition                 │
52           ├──────┼────────────────────────────┤
53           │rdma  │ The network fabric is an   │
54           │      │ rdma network (RoCE, iWARP, │
55           │      │ Infiniband, basic rdma,    │
56           │      │ etc)                       │
57           ├──────┼────────────────────────────┤
58           │fc    │ WIP The network fabric is  │
59           │      │ a Fibre Channel network.   │
60           ├──────┼────────────────────────────┤
61           │tcp   │ The network fabric is a    │
62           │      │ TCP/IP network.            │
63           ├──────┼────────────────────────────┤
64           │loop  │ Connect to a NVMe over     │
65           │      │ Fabrics target on the      │
66           │      │ local host                 │
67           └──────┴────────────────────────────┘
68
69       -n <subnqn>, --nqn <subnqn>
70           This field specifies the name for the NVMe subsystem to connect to.
71
72       -a <traddr>, --traddr=<traddr>
73           This field specifies the network address of the Controller. For
74           transports using IP addressing (e.g. rdma) this should be an
75           IP-based address (ex. IPv4).
76
77       -s <trsvcid>, --trsvcid=<trsvcid>
78           This field specifies the transport service id. For transports using
79           IP addressing (e.g. rdma) this field is the port number. By
80           default, the IP port number for the RDMA transport is 4420.
81
82       -w <traddr>, --host-traddr=<traddr>
83           This field specifies the network address used on the host to
84           connect to the Controller. For TCP, this sets the source address on
85           the socket.
86
87       -f <iface>, --host-iface=<iface>
88           This field specifies the network interface used on the host to
89           connect to the Controller (e.g. IP eth1, enp2s0, enx78e7d1ea46da).
90           This forces the connection to be made on a specific interface
91           instead of letting the system decide.
92
93       -q <hostnqn>, --hostnqn=<hostnqn>
94           Overrides the default Host NQN that identifies the NVMe Host. If
95           this option is not specified, the default is read from
96           /etc/nvme/hostnqn first. If that does not exist, the autogenerated
97           NQN value from the NVMe Host kernel module is used next. The Host
98           NQN uniquely identifies the NVMe Host.
99
100       -I <hostid>, --hostid=<hostid>
101           UUID(Universally Unique Identifier) to be discovered which should
102           be formatted.
103
104       -J <cfg>, --config-file=<cfg>
105           Use the specified JSON configuration file instead of the default
106           /etc/nvme/config.json file or none to not read in an existing
107           configuration file. The JSON configuration file format is
108           documented in
109           https://github.com/linux-nvme/libnvme/doc/config-schema.json
110
111       -S <secret>, --dhchap-secret=<secret>
112           NVMe In-band authentication secret; needs to be in ASCII format as
113           specified in NVMe 2.0 section 8.13.5.8 Secret representation. If
114           this option is not specified, the default is read from
115           /etc/nvme/hostkey. If that does not exist no in-band authentication
116           is attempted.
117
118       -C <secret>, --dhchap-ctrl-secret=<secret>
119           NVMe In-band authentication controller secret for bi-directional
120           authentication; needs to be in ASCII format as specified in NVMe
121           2.0 section 8.13.5.8 Secret representation. If not present
122           bi-directional authentication is not attempted.
123
124       -i <#>, --nr-io-queues=<#>
125           Overrides the default number of I/O queues create by the driver.
126
127       -W <#>, --nr-write-queues=<#>
128           Adds additional queues that will be used for write I/O.
129
130       -P <#>, --nr-poll-queues=<#>
131           Adds additional queues that will be used for polling latency
132           sensitive I/O.
133
134       -Q <#>, --queue-size=<#>
135           Overrides the default number of elements in the I/O queues created
136           by the driver.
137
138       -k <#>, --keep-alive-tmo=<#>
139           Overrides the default keep alive timeout (in seconds).
140
141       -c <#>, --reconnect-delay=<#>
142           Overrides the default delay (in seconds) before reconnect is
143           attempted after a connect loss.
144
145       -l <#>, --ctrl-loss-tmo=<#>
146           Overrides the default controller loss timeout period (in seconds).
147
148       -T <#>, --tos=<#>
149           Type of service for the connection (TCP)
150
151       --keyring=<#>
152           Keyring for TLS key lookup.
153
154       --tls_key=<#>
155           TLS key for the connection (TCP).
156
157       -D, --duplicate-connect
158           Allows duplicated connections between same transport host and
159           subsystem port.
160
161       -d, --disable-sqflow
162           Disables SQ flow control to omit head doorbell update for
163           submission queues when sending nvme completions.
164
165       -g, --hdr-digest
166           Generates/verifies header digest (TCP).
167
168       -G, --data-digest
169           Generates/verifies data digest (TCP).
170
171       --tls
172           Enable TLS encryption (TCP).
173
174       -O, --dump-config
175           Print out resulting JSON configuration file to stdout.
176
177       -o <format>, --output-format=<format>
178           Set the reporting format to normal or json. Only one output format
179           can be used at a time. When this option is specified, the device
180           associated with the connection will be printed. Nothing is printed
181           otherwise.
182
183       --context <STR>
184           Set the execution context to <STR>. This allows to coordinate the
185           management of the global resources.
186

EXAMPLES

188       •   Connect to a subsystem named
189           nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432 on the IP4
190           address 192.168.1.3. Port 4420 is used by default:
191
192               # nvme connect --transport=rdma --traddr=192.168.1.3 \
193               --nqn=nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
194

SEE ALSO

196       nvme-discover(1) nvme-connect-all(1)
197

AUTHORS

199       This was co-written by Jay Freyensee[1] and Christoph Hellwig[2]
200

NVME

202       Part of the nvme-user suite
203

NOTES

205        1. Jay Freyensee
206           mailto:james.p.freyensee@intel.com
207
208        2. Christoph Hellwig
209           mailto:hch@lst.de
210
211
212
213NVMe                              09/29/2023                   NVME-CONNECT(1)
Impressum