STAFCTL(1) STAFCTL(1)

stafctl - STorage Appliance Finder (STAF) utility program

stafctl [OPTIONS...] {COMMAND} [OPTIONS...]

stafctl is a tool that can be used to communicate with the stafd(8) daemon to retrieve operational data.

The following commands are understood:

tron

Trace ON. Enable code tracing, which is to say that lots of debug information will be printed to the syslog (e.g. systemd-journal).

troff

Trace OFF. Disable code tracing.

status

Show runtime status information.

ls

Show the list of discovery controllers. This will list all the controllers configured in stafd.conf(5) as well as those discovered with mDNS service discovery.

dlp

Show discovery log pages.

adlp

Show all discovery log pages.

The following options are understood:

-h, --help

Print the help text and exit.

--version

Print the version string and exit.

-d, --detailed

Print additional details.

-tTRTYPE, --transport=TRTYPE

NVMe-over-Fabrics fabric type (default: "tcp").

-aTRADDR, --traddr=TRADDR

Discovery controller's network address.

-sTRSVCID, --trsvcid=TRSVCID

Transport service id (for IP addressing, e.g. tcp, rdma, this field is the port number).

-wTRADDR, --host-traddr=TRADDR

Network source address used on the host to connect to the controller.

-fIFACE, --host-iface=IFACE

This field specifies the network interface used on the host to connect to the controller.

-nNQN, --nqn=NQN

This field specifies the Controller's NVMe Qualified Name.

This field is mandatory for I/O Controllers, but is optional for Discovery Controllers (DC). For the latter, the NQN will default to the well-known DC NQN: nqn.2014-08.org.nvmexpress.discovery if left undefined.

TRTYPE

rdma, fc, tcp, loop.

TRADDR

IP or Fibre Channel address. E.g. 10.10.0.100.

TRSVCID

E.g., 8009.

IFACE

Network interface name. E.g., eth1, enp0s8, wlp0s20f3.

NQN

NVMe Qualified Name.

On success, 0 is returned; otherwise, a non-zero failure code is returned.

Example 1. List all the discovery controllers

$ stafctl ls
[{'device':      'nvme0',
  'host-iface':  '',
  'host-traddr': '',
  'subsysnqn':   'nqn.2014-08.org.nvmexpress.discovery',
  'traddr':      '::1',
  'transport':   'tcp',
  'trsvcid':     '8009'}]

Example 2. Enable tracing

$ stafctl tron

Example 3.  Show discovery log pages from a specific discovery controller

$ stafctl dlp --transport tcp --traddr ::1 --trsvcid 8009
[{'adrfam':  'ipv6',
  'asqsz':   '32',
  'cntlid':  '65535',
  'portid':  '1',
  'subnqn':  'nqn.1988-11.com.dell:PowerSANxxx:01:20210225100113-454f73093ceb4847a7bdfc6e34ae8e28',
  'subtype': 'nvme',
  'traddr':  '::1',
  'treq':    'disable sqflow',
  'trsvcid': '8009',
  'trtype':  'tcp'},
 {'adrfam':  'ipv6',
  'asqsz':   '32',
  'cntlid':  '65535',
  'portid':  '1',
  'subnqn':  'nqn.1988-11.com.dell:PowerSANxxx:01:20210225100113-454f73093ceb4847a7bdfc6e34aedead',
  'subtype': 'nvme',
  'traddr':  '::1',
  'treq':    'disable sqflow',
  'trsvcid': '8009',
  'trtype':  'tcp'},
 {'adrfam':  'ipv6',
  'asqsz':   '32',
  'cntlid':  '65535',
  'portid':  '1',
  'subnqn':  'nqn.1988-11.com.dell:PowerSANxxx:01:20210225100113-454f73093ceb4847a7bdfc6e34aebeef',
  'subtype': 'nvme',
  'traddr':  '::1',
  'treq':    'disable sqflow',
  'trsvcid': '8009',
  'trtype':  'tcp'}]

stafd.conf(5), stafd(8) ()

nvme-stas 2.3.1