1NVME-CONNECT(1) NVMe Manual NVME-CONNECT(1)
2
3
4
6 nvme-connect - Connect to a Fabrics controller.
7
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
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
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
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
196 nvme-discover(1) nvme-connect-all(1)
197
199 This was co-written by Jay Freyensee[1] and Christoph Hellwig[2]
200
202 Part of the nvme-user suite
203
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)