summaryrefslogtreecommitdiffstats
path: root/Documentation/nvme-config.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/nvme-config.txt')
-rw-r--r--Documentation/nvme-config.txt213
1 files changed, 213 insertions, 0 deletions
diff --git a/Documentation/nvme-config.txt b/Documentation/nvme-config.txt
new file mode 100644
index 0000000..8a66644
--- /dev/null
+++ b/Documentation/nvme-config.txt
@@ -0,0 +1,213 @@
+nvme-config(1)
+===============
+
+NAME
+----
+nvme-config - NVMe-over-Fabrics configuration.
+
+SYNOPSIS
+--------
+[verse]
+'nvme config' [--scan | -R] [--modify | -M] [--update | -U] [--dump | -O]
+ [--config=<cfg> | -J <cfg>]
+ [--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>]
+ [--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]
+ [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
+
+DESCRIPTION
+-----------
+Read in the NVMe over Fabrics configuration from the specified JSON
+configuration file and allow to update or modify the contents.
+The JSON configuration file format is documented in
+https://github.com/linux-nvme/libnvme/blob/master/doc/config-schema.json
+
+OPTIONS
+-------
+-R::
+--scan::
+ Additionally read the current configuration from sysfs.
+
+-M::
+--modify::
+ Add or modify entries in the configuration based on the values from
+ the commandline.
+
+-U::
+--update::
+ Write updated configuration into the JSON configuration file.
+
+-O::
+--dump::
+ Print out resulting JSON configuration file to stdout.
+
+-J <cfg>::
+--config=<cfg>::
+ Use the specified JSON configuration file instead of the
+ default @SYSCONFDIR@/nvme/config.json file or 'none' to not read in
+ an existing configuration file.
+
+-t <trtype>::
+--transport=<trtype>::
+ This field specifies the network fabric being used for
+ a NVMe-over-Fabrics network. Current string values include:
++
+[]
+|=================
+|Value|Definition
+|rdma|The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc)
+|fc |The network fabric is a Fibre Channel network.
+|tcp |The network fabric is a TCP/IP network.
+|loop|Connect to a NVMe over Fabrics target on the local host
+|=================
+
+-n <subnqn>::
+--nqn <subnqn>::
+ This field specifies the name for the NVMe subsystem to connect to.
+
+-a <traddr>::
+--traddr=<traddr>::
+ 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).
+
+-s <trsvcid>::
+--trsvcid=<trsvcid>::
+ 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.
+
+-w <traddr>::
+--host-traddr=<traddr>::
+ 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.
+
+-f <iface>::
+--host-iface=<iface>::
+ 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.
+
+-q <hostnqn>::
+--hostnqn=<hostnqn>::
+ Overrides the default Host NQN that identifies the NVMe Host.
+ If this option is not specified, the default is read from
+ @SYSCONFDIR@/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.
+
+-I <hostid>::
+--hostid=<hostid>::
+ UUID(Universally Unique Identifier) to be discovered which should be
+ formatted.
+
+-S <secret>::
+--dhchap-secret=<secret>::
+ NVMe In-band authentication secret; needs to be in ASCII format as
+ specified in NVMe 2.0 section 8.13.5.8 'Secret representation'.
+ If this option is not specified, the default is read from
+ @SYSCONFDIR@/nvme/hostkey. If that does not exist no in-band authentication
+ is attempted.
+
+-C <secret>::
+--dhchap-ctrl-secret=<secret>::
+ 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 'Secret representation'.
+ If not present bi-directional authentication is not attempted.
+
+-i <#>::
+--nr-io-queues=<#>::
+ Overrides the default number of I/O queues create by the driver.
+
+-W <#>::
+--nr-write-queues=<#>::
+ Adds additional queues that will be used for write I/O.
+
+-P <#>::
+--nr-poll-queues=<#>::
+ Adds additional queues that will be used for polling latency sensitive I/O.
+
+-Q <#>::
+--queue-size=<#>::
+ Overrides the default number of elements in the I/O queues created
+ by the driver.
+
+-k <#>::
+--keep-alive-tmo=<#>::
+ Overrides the default keep alive timeout (in seconds).
+
+-c <#>::
+--reconnect-delay=<#>::
+ Overrides the default delay (in seconds) before reconnect is attempted
+ after a connect loss.
+
+-l <#>::
+--ctrl-loss-tmo=<#>::
+ Overrides the default controller loss timeout period (in seconds).
+
+-D::
+--duplicate-connect::
+ Allows duplicated connections between same transport host and subsystem
+ port.
+
+-d::
+--disable-sqflow::
+ Disables SQ flow control to omit head doorbell update for submission
+ queues when sending nvme completions.
+
+-g::
+--hdr-digest::
+ Generates/verifies header digest (TCP).
+
+-G::
+--data-digest::
+ Generates/verifies data digest (TCP).
+
+-o <fmt>::
+--output-format=<fmt>::
+ Set the reporting format to 'normal', 'json' or 'binary'. Only one
+ output format can be used at a time.
+
+-v::
+--verbose::
+ Increase the information detail in the output.
+
+EXAMPLES
+--------
+* Read the current system configuration and write the contents to /tmp/config.json:
++
+------------
+# nvme config --config /tmp/config.json --scan --update
+------------
+
+SEE ALSO
+--------
+nvme-discover(1)
+nvme-connect(1)
+https://github.com/linux-nvme/libnvme/blob/master/doc/config-schema.json
+
+AUTHORS
+-------
+This was written by mailto:hare@suse.com[Hannes Reinecke]
+
+NVME
+----
+Part of the nvme-user suite