diff options
Diffstat (limited to 'etc')
-rw-r--r-- | etc/dbus-1/system.d/meson.build | 23 | ||||
-rw-r--r-- | etc/dbus-1/system.d/org.nvmexpress.stac.in.conf | 37 | ||||
-rw-r--r-- | etc/dbus-1/system.d/org.nvmexpress.staf.in.conf | 37 | ||||
-rw-r--r-- | etc/stas/stacd.conf | 322 | ||||
-rw-r--r-- | etc/stas/stafd.conf | 277 | ||||
-rw-r--r-- | etc/stas/sys.conf.doc | 62 |
6 files changed, 758 insertions, 0 deletions
diff --git a/etc/dbus-1/system.d/meson.build b/etc/dbus-1/system.d/meson.build new file mode 100644 index 0000000..b9bc858 --- /dev/null +++ b/etc/dbus-1/system.d/meson.build @@ -0,0 +1,23 @@ +# Copyright (c) 2021, Dell Inc. or its subsidiaries. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# See the LICENSE file for details. +# +# This file is part of NVMe STorage Appliance Services (nvme-stas). +# +# Authors: Martin Belanger <Martin.Belanger@dell.com> +# +dbus_conf_dir = datadir / 'dbus-1' / 'system.d' + +configure_file( + input: 'org.nvmexpress.staf.in.conf', + output: 'org.nvmexpress.staf.conf', + configuration: conf, + install_dir: dbus_conf_dir, +) + +configure_file( + input: 'org.nvmexpress.stac.in.conf', + output: 'org.nvmexpress.stac.conf', + configuration: conf, + install_dir: dbus_conf_dir, +) diff --git a/etc/dbus-1/system.d/org.nvmexpress.stac.in.conf b/etc/dbus-1/system.d/org.nvmexpress.stac.in.conf new file mode 100644 index 0000000..56b4228 --- /dev/null +++ b/etc/dbus-1/system.d/org.nvmexpress.stac.in.conf @@ -0,0 +1,37 @@ +<!-- + Copyright (c) 2021, Dell Inc. or its subsidiaries. All rights reserved. + SPDX-License-Identifier: Apache-2.0 + See the LICENSE file for details. + + This file is part of NVMe STorage Appliance Services (nvme-stas). + + Authors: Martin Belanger <Martin.Belanger@dell.com> +--> + +<!DOCTYPE busconfig PUBLIC + "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" + "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> +<busconfig> + + <!-- Only allow root to own the bus. --> + <policy user="root"> + <allow own_prefix="@STACD_DBUS_NAME@"/> + </policy> + + <!-- Allow anyone to invoke most methods on the bus, but deny setting properties. --> + <policy context="default"> + <allow send_destination="@STACD_DBUS_NAME@"/> + + <deny send_destination="@STACD_DBUS_NAME@" + send_interface="org.freedesktop.DBus.Properties" + send_member="Set" + send_type="method_call"/> + </policy> + + <!-- Allow root to invoke everything on the bus. --> + <policy user="root"> + <allow send_destination="@STACD_DBUS_NAME@"/> + </policy> + +</busconfig> + diff --git a/etc/dbus-1/system.d/org.nvmexpress.staf.in.conf b/etc/dbus-1/system.d/org.nvmexpress.staf.in.conf new file mode 100644 index 0000000..a04877a --- /dev/null +++ b/etc/dbus-1/system.d/org.nvmexpress.staf.in.conf @@ -0,0 +1,37 @@ +<!-- + Copyright (c) 2021, Dell Inc. or its subsidiaries. All rights reserved. + SPDX-License-Identifier: Apache-2.0 + See the LICENSE file for details. + + This file is part of NVMe STorage Appliance Services (nvme-stas). + + Authors: Martin Belanger <Martin.Belanger@dell.com> +--> + +<!DOCTYPE busconfig PUBLIC + "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" + "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> +<busconfig> + + <!-- Only allow root to own the bus. --> + <policy user="root"> + <allow own_prefix="@STAFD_DBUS_NAME@"/> + </policy> + + <!-- Allow anyone to invoke most methods on the bus, but deny setting properties. --> + <policy context="default"> + <allow send_destination="@STAFD_DBUS_NAME@"/> + + <deny send_destination="@STAFD_DBUS_NAME@" + send_interface="org.freedesktop.DBus.Properties" + send_member="Set" + send_type="method_call"/> + </policy> + + <!-- Allow root to invoke everything on the bus. --> + <policy user="root"> + <allow send_destination="@STAFD_DBUS_NAME@"/> + </policy> + +</busconfig> + diff --git a/etc/stas/stacd.conf b/etc/stas/stacd.conf new file mode 100644 index 0000000..d03f0b1 --- /dev/null +++ b/etc/stas/stacd.conf @@ -0,0 +1,322 @@ +# Copyright (c) 2021, Dell Inc. or its subsidiaries. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# See the LICENSE file for details. +# +# This file is part of NVMe STorage Appliance Services (nvme-stas). + +# ============================================================================== +# STorage Appliance Connector Daemon (stacd) - configuration file +# +# In this file, options that are commented represent the default values used. +# Uncommented options override the default value. + + +[Global] +# tron: Trace-ON. Enable additional debug info +# Type: boolean +# Range: [false, true] +#tron=false + +# hdr-digest: Protocol Data Unit (PDU) Header Digest. NVMe/TCP facilitates an +# optional PDU Header digest. Digests are calculated using the +# CRC32C algorithm. +# Type: boolean +# Range: [false, true] +#hdr-digest=false + +# data-digest: Protocol Data Unit (PDU) Data Digest. NVMe/TCP facilitates an +# optional PDU Data digest. Digests are calculated using the +# CRC32C algorithm. +# Type: boolean +# Range: [false, true] +#data-digest=false + +# kato: Keep Alive Timeout (KATO): This field specifies the timeout value +# for the Keep Alive feature in seconds. The default value for this +# field is 30 seconds (2 minutes). +# Type: Unsigned integer +# Range: 0..N +# Unit: Seconds +#kato=30 + +# nr-io-queues: Overrides the default number of I/O queues create by the +# driver. +# Type: Unsigned integer +# Range: 1..N +# Default: Depends on kernel and other run time +# factors (e.g. number of CPUs). + +# nr-write-queues: Adds additional queues that will be used for write I/O. +# Type: Unsigned integer +# Range: 1..N +# Default: Depends on kernel and other run time +# factors (e.g. number of CPUs). + +# nr-poll-queues: Adds additional queues that will be used for polling +# latency sensitive I/O. +# Type: Unsigned integer +# Range: 1..N +# Default: Depends on kernel and other run time +# factors (e.g. number of CPUs). + +# queue-size: Overrides the default number of elements in the I/O queues +# created by the driver. +# Type: Unsigned integer +# Range: 16..1024 +# Default: 128 +#queue-size=128 + +# reconnect-delay: Overrides the default delay, in seconds, before reconnect +# is attempted after a connect loss. +# Type: Unsigned integer +# Range: 1..N +# Unit: Seconds +# Default: 10 (retry to connect every 10 seconds) +#reconnect-delay=10 + +# ctrl-loss-tmo: Overrides the default controller loss timeout period in +# seconds. +# Type: Unsigned integer +# Range: -1, 0..N where -1 means retry forever +# Unit: Seconds +# Default: 600 (retry to connect for up to 10 minutes) +#ctrl-loss-tmo=600 + +# disable-sqflow: Disables SQ flow control to omit head doorbell update for +# submission queues when sending nvme completions. +# Type: boolean +# Range: [false, true] +# Default: false +#disable-sqflow=false + +# ignore-iface: This option controls whether connections with I/O Controllers +# (IOC) will be forced on a specific interface or will rely on +# the routing tables to determine the interface. +# +# See the man pages for details: man stacd.conf +# +# Type: boolean +# Range: [false, true] +# Default: true +#ignore-iface=false + +# ip-family: With this you can specify whether stacd will support IPv4, IPv6, +# or both when connecting to I/O Controllers (IOC). +# +# See the man pages for details: man stacd.conf +# +# Type: String +# Range: [ipv4, ipv6, ipv4+ipv6] +# Default: ipv4+ipv6 +#ip-family=ipv4+ipv6 + + +# ============================================================================== +[I/O controller connection management] +# This section contains parameters to manage I/O controller connections. +# For example, parameters are provided to control disconnect policy. In other +# words, whether stacd will disconnect from IOCs on DLPE removal and which +# connections will be affected. +# +# Also, what should stacd do when a DLPE NCC bit (Not Connected to CDC) is +# asserted. Should stacd stop trying to connect to an I/O controller after a +# certain number of unsuccessful attempts. +# +# See the man pages for details: man stacd.conf + +# disconnect-scope: Determines which connections, if any, will be the target of +# a potential disconnect on DLPE removal. +# +# Type: String +# Range: [only-stas-connections | all-connections-matching-disconnect-trtypes | no-disconnect] +# Default: only-stas-connections +#disconnect-scope=only-stas-connections + +# disconnect-trtypes: Specify which connections should be audited based on the +# transport type. This parameter only applies when +# "disconnect-scope = all-connections-matching-disconnect-trtypes". +# +# Type: String +# Range: [tcp, rdma, fc, tcp+rdma, tcp+fc, rdma+fc, tcp+rdma+fc] +# Default: tcp +#disconnect-trtypes=tcp + +# connect-attempts-on-ncc: The NCC bit (Not Connected to CDC) returned in a +# DLPE indicates whether a connection is currently +# established between the CDC and the subsystem listed +# in the DLPE. +# +# When the NCC bit is asserted, it may mean that the +# subsystem is offline or that fabrics connectivity is +# momentarily lost. If the host is also unable to +# connect to the subsystem, then there is no point in +# continuing to try to connect. In fact, the CDC will +# monitor the situation an inform the host (AEN) when +# connectivity is restored. +# +# This field is used to tell stacd how to behave when +# the NCC bit is asserted. How many times should it try +# to connect before give-up, or whether to keep trying +# indefinitely. +# +# Type: Integer +# Range: [0, 2..N], 0 means "Never stop trying". A +# non-0 value indicates the number of attempts +# before giving up. This value should never be +# set to 1. A value of 1 will automatically be +# increased to 2. That's because a single +# failure may be normal and a mimimum of 2 +# attempts is required to conclude that a +# connection is not possible. +# Default: 0 +#connect-attempts-on-ncc=0 + +# ============================================================================== +[Controllers] +# controller: I/O Controllers (IOC) are specified with this keyword. +# +# Syntax: +# controller = transport=<trtype>;traddr=<traddr>;trsvcid=<trsvcid>;host-traddr=<traddr>;host-iface=<iface>,nqn=<subnqn> +# +# transport=<trtype> [MANDATORY] +# 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 +# +# traddr=<traddr> [MANDATORY] +# 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, IPv6). It could also be a resolvable host +# name (e.g. localhost). +# +# nqn=<subnqn> [MANDATORY] +# This field specifies the Subsystem's NVMe Qualified Name. +# +# trsvcid=<trsvcid> [OPTIONAL] +# This field specifies the transport service id. For transports using +# IP addressing (e.g. rdma) this field is the port number. +# +# Depending on the transport type, this field will default to either +# 8009 or 4420 as follows. +# +# UDP port 4420 and TCP port 4420 have been assigned by IANA +# for use by NVMe over Fabrics. NVMe/RoCEv2 controllers use UDP port +# 4420 by default. NVMe/iWARP controllers use TCP port 4420 by +# default. +# +# TCP port 4420 has been assigned for use by NVMe over Fabrics and TCP +# port 8009 has been assigned by IANA for use by NVMe over Fabrics +# discovery. TCP port 8009 is the default TCP port for NVMe/TCP +# discovery controllers. There is no default TCP port for NVMe/TCP I/O +# controllers, the Transport Service Identifier (TRSVCID) field in the +# Discovery Log Entry indicates the TCP port to use. +# +# The TCP ports that may be used for NVMe/TCP I/O controllers include +# TCP port 4420, and the Dynamic and/or Private TCP ports (i.e., ports +# in the TCP port number range from 49152 to 65535). NVMe/TCP I/O +# controllers should not use TCP port 8009. TCP port 4420 shall not be +# used for both NVMe/iWARP and NVMe/TCP at the same IP address on the +# same network. +# +# host-traddr=<traddr> [OPTIONAL] +# 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. +# +# host-iface=<iface> [OPTIONAL] +# 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. +# +# dhchap-ctrl-secret [OPTIONAL] +# NVMe In-band authentication controller secret (i.e. key) for +# bi-directional authentication; needs to be in ASCII format as +# specified in NVMe 2.0 section 8.13.5.8 'Secret representation'. +# Bi-directional authentication will be attempted when present. +# +# hdr-digest [OPTIONAL] +# See definition in [Global] section. This is used to override +# the value specified in the [Global] section. +# +# data-digest [OPTIONAL] +# See definition in [Global] section. This is used to override +# the value specified in the [Global] section. +# +# nr-io-queues [OPTIONAL] +# See definition in [Global] section. This is used to override +# the value specified in the [Global] section. +# +# nr-write-queues [OPTIONAL] +# See definition in [Global] section. This is used to override +# the value specified in the [Global] section. +# +# nr-poll-queues [OPTIONAL] +# See definition in [Global] section. This is used to override +# the value specified in the [Global] section. +# +# queue-size [OPTIONAL] +# See definition in [Global] section. This is used to override +# the value specified in the [Global] section. +# +# kato [OPTIONAL] +# See definition in [Global] section. This is used to override +# the value specified in the [Global] section. +# +# reconnect-delay [OPTIONAL] +# See definition in [Global] section. This is used to override +# the value specified in the [Global] section. +# +# ctrl-loss-tmo [OPTIONAL] +# See definition in [Global] section. This is used to override +# the value specified in the [Global] section. +# +# disable-sqflow [OPTIONAL] +# See definition in [Global] section. This is used to override +# the value specified in the [Global] section. +# +# Multiple DCs may be specified on separate lines like this (this is +# just an example and does not represent default values): +# +# controller = transport=tcp;traddr=localhost;nqn=nqn.1988-11.com.dell:PowerSANxxx:01:20210225100113-454f73093ceb4847a7bdfc6e34ae8e28 +# controller = transport=tcp;traddr=2001:db8::370:7334;host-iface=enp0s8;nqn=nqn.starship-enterprise +# controller = transport=fc;traddr=nn-0x204600a098cbcac6:pn-0x204700a098cbcac6;nqn=nqn.romulan-empire +# ... +# Type: String +# +# Default: There is no default controller. STAC will not try to +# connect to a default I/O Controller. +#controller= + + +# exclude: Excluded controllers. This keyword allows configuring I/O +# controllers that should not be connected to (whatever the +# reason may be). +# +# The syntax is the same as for "controller=", except that the key +# host-traddr does not apply. Multiple "exclude=" keywords may +# appear in the config file to define the exclusion list. +# +# Note 1: A minimal match approach is used to eliminate unwanted +# controllers. That is, you do not need to specify all the +# parameters to identify a controller. Just specifying the +# host-iface, for example, can be used to exclude all controllers +# on an interface. +# +# Note 2: "exclude=" takes precedence over "controller=". A +# controller specified by the "controller=" keyword, can be +# eliminated by the "exclude=" keyword. +# +# Syntax: Same as "controller=" above. +# Type: String +# +# Example: +# exclude = transport=tcp;traddr=fe80::2c6e:dee7:857:26bb # Eliminate a specific address +# exclude = host-iface=enp0s8 # Eliminate everything on this interface +#exclude= diff --git a/etc/stas/stafd.conf b/etc/stas/stafd.conf new file mode 100644 index 0000000..22b3f96 --- /dev/null +++ b/etc/stas/stafd.conf @@ -0,0 +1,277 @@ +# Copyright (c) 2021, Dell Inc. or its subsidiaries. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# See the LICENSE file for details. +# +# This file is part of NVMe STorage Appliance Services (nvme-stas). + +# ============================================================================== +# STorage Appliance Finder Daemon (stafd) - configuration file +# +# In this file, options that are commented represent the default values used. +# Uncommented options override the default value. + + +[Global] +# tron: Trace-ON. Enable additional debug info +# Type: boolean +# Range: [false, true] +#tron=false + +# hdr-digest: Protocol Data Unit (PDU) Header Digest. NVMe/TCP facilitates an +# optional PDU Header digest. Digests are calculated using the +# CRC32C algorithm. +# Type: boolean +# Range: [false, true] +#hdr-digest=false + +# data-digest: Protocol Data Unit (PDU) Data Digest. NVMe/TCP facilitates an +# optional PDU Data digest. Digests are calculated using the +# CRC32C algorithm. +# Type: boolean +# Range: [false, true] +#data-digest=false + +# kato: Keep Alive Timeout (KATO): This field specifies the timeout value +# for the Keep Alive feature in seconds. The default value for this +# field is 30 seconds. +# Type: Unsigned integer +# Range: 0..N +# Unit: Seconds +#kato=30 + +# queue-size: Overrides the default number of elements in the I/O queues +# created by the driver. +# Type: Unsigned integer +# Range: 16..1024 +# Default: 128 +#queue-size=128 + +# reconnect-delay: Overrides the default delay, in seconds, before reconnect +# is attempted after a connect loss. +# Type: Unsigned integer +# Range: 1..N +# Unit: Seconds +# Default: 10 (retry to connect every 10 seconds) +#reconnect-delay=10 + +# ctrl-loss-tmo: Overrides the default controller loss timeout period in +# seconds. +# Type: Unsigned integer +# Range: -1, 0..N where -1 means retry forever +# Unit: Seconds +# Default: 600 (retry to connect for up to 10 minutes) +#ctrl-loss-tmo=600 + +# disable-sqflow: Disables SQ flow control to omit head doorbell update for +# submission queues when sending nvme completions. +# Type: boolean +# Range: [false, true] +# Default: false +#disable-sqflow=false + +# ignore-iface: This option controls whether connections with Discovery +# Controllers (DC) will be forced on a specific interface or +# will rely on the routing tables to determine the interface. +# +# See the man pages for details: man stafd.conf +# +# Type: boolean +# Range: [false, true] +# Default: true +#ignore-iface=false + +# ip-family: With this you can specify whether stafd will support IPv4, IPv6, +# or both when connecting to Discovery Controllers (DC). +# +# See the man pages for details: man stafd.conf +# +# Type: String +# Range: [ipv4, ipv6, ipv4+ipv6] +# Default: ipv4+ipv6 +#ip-family=ipv4+ipv6 + +# pleo: Port Local Entries Only. If enabled and supported, when connected to a +# Direct Discovery Controller (DDC), stafd will ask the DDC to return +# records for only NVM subsystem ports that are presented through the same +# NVM subsystem port that received the Get Log Page command. When disabled +# or not supported by the DDC, the DDC may return NVM subsystems that are +# not even reachable by the host, including those using a transport +# different from the transport used for the Get Log Page command (e.g. Get +# Log Page using TCP and receiving FC subsystems). This configuration +# parameter has no effect if the DDC does not support PLEO (see PLEOS). +# +# Type: String +# Range: [disabled, enabled] +# Default: enabled +#pleo=enabled + +# ============================================================================== +[Service Discovery] +# zeroconf: Control whether DNS-SD/mDNS automatic discovery is enabled. This is +# used to enable or disable automatic discovery of Discovery +# Controllers using DNS-SD/mDNS. +# +# Type: String +# Range: [disabled, enabled] +# Default: enabled +#zeroconf=enabled + +# ============================================================================== +[Discovery controller connection management] +# persistent-connections: Whether connections to Discovery Controllers (DC) +# are persistent. If stafd is stopped, the connections +# will persists. When this is set to false, stafd will +# disconnect from all DCs it is connected to when stafd +# is stopped. +# Type: boolean +# Range: [false, true] +#persistent-connections=true + +# zeroconf-connections-persistence: DCs that are discovered with mDNS service +# discovery which are later lost (i.e. no mDNS +# and TCP connection fails), will be purged from +# the configuration after this amount of time. +# Type: Time specs. +# Unit: Takes a unit-less value in seconds, +# or a time span (TS) value such as +# "3 days 5 hours". +# Range: -1, 0, TS. +# With "-1" equal to "no timeout" and +# 0 equal to timeout immediately. +# Default: 72 hours (3 days) +#zeroconf-connections-persistence=72hours + +# ============================================================================== +[Controllers] +# controller: Discovery Controllers (DC) are specified with this keyword. +# +# Syntax: +# controller = transport=[trtype];traddr=[traddr];trsvcid=[trsvcid];host-traddr=[traddr];host-iface=[iface];nqn=<dcnqn> +# +# transport=<trtype> [MANDATORY] +# 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 +# +# traddr=<traddr> [MANDATORY] +# 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, IPv6). It could also be a resolvable host +# name (e.g. localhost). +# +# nqn=<dcnqn> [OPTIONAL] +# This field specifies the Discovery Controller's NVMe Qualified +# Name. If not specified, this will default to the well-known DC +# NQN: "nqn.2014-08.org.nvmexpress.discovery". +# +# trsvcid=<trsvcid> [OPTIONAL] +# This field specifies the transport service id. For transports using +# IP addressing (e.g. rdma) this field is the port number. +# +# Depending on the transport type, this field will default to either +# 8009 or 4420 as follows. +# +# UDP port 4420 and TCP port 4420 have been assigned by IANA +# for use by NVMe over Fabrics. NVMe/RoCEv2 controllers use UDP port +# 4420 by default. NVMe/iWARP controllers use TCP port 4420 by +# default. +# +# TCP port 4420 has been assigned for use by NVMe over Fabrics and TCP +# port 8009 has been assigned by IANA for use by NVMe over Fabrics +# discovery. TCP port 8009 is the default TCP port for NVMe/TCP +# discovery controllers. There is no default TCP port for NVMe/TCP I/O +# controllers, the Transport Service Identifier (TRSVCID) field in the +# Discovery Log Entry indicates the TCP port to use. +# +# The TCP ports that may be used for NVMe/TCP I/O controllers include +# TCP port 4420, and the Dynamic and/or Private TCP ports (i.e., ports +# in the TCP port number range from 49152 to 65535). NVMe/TCP I/O +# controllers should not use TCP port 8009. TCP port 4420 shall not be +# used for both NVMe/iWARP and NVMe/TCP at the same IP address on the +# same network. +# +# Ref: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=nvme +# +# host-traddr=<traddr> [OPTIONAL] +# 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. +# +# host-iface=<iface> [OPTIONAL] +# 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. +# +# hdr-digest [OPTIONAL] +# See definition in [Global] section. This is used to override +# the value specified in the [Global] section. +# +# data-digest [OPTIONAL] +# See definition in [Global] section. This is used to override +# the value specified in the [Global] section. +# +# kato [OPTIONAL] +# See definition in [Global] section. This is used to override +# the value specified in the [Global] section. +# +# reconnect-delay [OPTIONAL] +# See definition in [Global] section. This is used to override +# the value specified in the [Global] section. +# +# ctrl-loss-tmo [OPTIONAL] +# See definition in [Global] section. This is used to override +# the value specified in the [Global] section. +# +# disable-sqflow [OPTIONAL] +# See definition in [Global] section. This is used to override +# the value specified in the [Global] section. +# +# Multiple DCs may be specified on separate lines like this (this is +# just an example and does not represent default values): +# +# controller = transport=tcp;traddr=localhost;trsvcid=8009 +# controller = transport=tcp;traddr=2001:db8::370:7334;host-iface=enp0s8 +# controller = transport=fc;traddr=nn-0x204600a098cbcac6:pn-0x204700a098cbcac6 +# ... +# +# Type: String +# +# Default: There is no default controller. STAF will not try to +# connect to a default Discovery Controller. +#controller= + + +# exclude: Excluded controllers. Using mDNS to automatically detect +# and connect controllers, can result in unintentional connections +# being made. This keyword allows configuring the controllers that +# should not be connected to (whatever the reason may be). +# +# The syntax is the same as for "controller=", except that the key +# host-traddr does not apply. Multiple "exclude=" keywords may +# appear in the config file to define the exclusion list. +# +# Note 1: A minimal match approach is used to eliminate unwanted +# controllers. That is, you do not need to specify all the +# parameters to identify a controller. Just specifying the +# host-iface, for example, can be used to exclude all controllers +# on an interface. +# +# Note 2: "exclude=" takes precedence over "controller=". A +# controller specified by the "controller=" keyword, can be +# eliminated by the "exclude=" keyword. +# +# Syntax: Same as "controller=" above. +# Type: String +# +# Example: +# exclude = transport=tcp;traddr=fe80::2c6e:dee7:857:26bb # Eliminate a specific address +# exclude = host-iface=enp0s8 # Eliminate everything on this interface +#exclude= diff --git a/etc/stas/sys.conf.doc b/etc/stas/sys.conf.doc new file mode 100644 index 0000000..5850028 --- /dev/null +++ b/etc/stas/sys.conf.doc @@ -0,0 +1,62 @@ +# Copyright (c) 2022, Dell Inc. or its subsidiaries. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# See the LICENSE file for details. +# +# This file is part of NVMe STorage Appliance Services (nvme-stas). + +# ============================================================================== +# STorage Appliance Services (stas) - System configuration file +# +# In this file, options that are commented represent the default values used. +# Uncommented options override the default value. + + +[Host] +# nqn: The host's unique Non-Qualified Name. A value starting with "file://" +# indicates that the Host NQN can be retrieved from a separate file. +# Typically, nvme-cli saves the Host NQN in /etc/nvme/hostnqn. For +# compatibility with nvme-cli, nvme-stas defaults to looking for the +# existance of this file and will read the NQN from it. Otherwise, you +# can overwrite the default NQN by specifying its value here or +# specifying another file that contains the Host NQN to use. +# Type: string +# Default: file:///etc/nvme/hostnqn +#nqn=file:///etc/nvme/hostnqn + + +# id: The host's unique Identifier (ID). A value starting with "file://" +# indicates that the Host ID can be retrieved from a separate file. +# Typically, nvme-cli saves the Host ID in /etc/nvme/hostid. For +# compatibility with nvme-cli, nvme-stas defaults to looking for the +# existance of this file and will read the ID from it. Otherwise, you +# can overwrite the default ID by specifying its value here or +# specifying another file that contains the Host ID to use. +# Type: string +# Default: file:///etc/nvme/hostid +#id=file:///etc/nvme/hostid + + +# key: The host's DHCHAP key to be used for authentication. This is an +# optional parameter only required when authentication is needed. +# A value starting with "file://" indicates that the Host Key can +# be retrieved from a separate file. Typically, nvme-cli saves the +# Host Key in /etc/nvme/hostkey. For compatibility with nvme-cli, +# nvme-stas defaults to looking for the existance of this file and +# will read the Key from it. Otherwise, you can overwrite the default +# Key by specifying its value here or specifying another file that +# contains an alternate Host Key to use. +# Type: string +# Default: file:///etc/nvme/hostkey +#key=file:///etc/nvme/hostkey + + +# symname: The host's symbolic name. This can be a string or the name of a file +# containing the symbolic name. A value starting with "file://" +# indicates that the Symbolic Name can be retrieved from a separate +# file. +# Type: string +# Default: There is no default. The symbolic name is undefined by +# default. +#symname= + + |