From 589986012c4b3ab68e299a2eadca18f90080113b Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 14 Jul 2022 20:28:04 +0200 Subject: Merging upstream version 2.0. Signed-off-by: Daniel Baumann --- Documentation/nvme-config.txt | 210 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 210 insertions(+) create mode 100644 Documentation/nvme-config.txt (limited to 'Documentation/nvme-config.txt') diff --git a/Documentation/nvme-config.txt b/Documentation/nvme-config.txt new file mode 100644 index 0000000..5b76925 --- /dev/null +++ b/Documentation/nvme-config.txt @@ -0,0 +1,210 @@ +nvme-config(1) +=============== + +NAME +---- +nvme-config - NVMe-over-Fabrics configuration. + +SYNOPSIS +-------- +[verse] +'nvme config' + [--scan | -R] + [--modify | -M] + [--update | -U] + [--dump | -O] + [--config= | -J ] + [--transport= | -t ] + [--nqn= | -n ] + [--traddr= | -a ] + [--trsvcid= | -s ] + [--host-traddr= | -w ] + [--host-iface= | -f ] + [--hostnqn= | -q ] + [--hostid= | -I ] + [--dhchap-secret= | -S ] + [--dhchap-ctrl-secret= | -C ] + [--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] + +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/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 :: +--config=:: + 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 :: +--transport=:: + 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 :: +--nqn :: + This field specifies the name for the NVMe subsystem to connect to. + +-a :: +--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=:: + 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 :: +--host-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 :: +--host-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=:: + 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=:: + UUID(Universally Unique Identifier) to be discovered which should be + formatted. + +-S :: +--dhchap-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 :: +--dhchap-ctrl-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). + +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/doc/config-schema.json + + +AUTHORS +------- +This was written by mailto:hare@suse.com[Hannes Reinecke] + +NVME +---- +Part of the nvme-user suite -- cgit v1.2.3