## org.freedesktop.UDisks2.Manager.NVMe

org.freedesktop.UDisks2.Manager.NVMe — NVMe host management

## Methods

    SetHostNQN (IN  ay    hostnqn,
                IN  a{sv} options);
    SetHostID  (IN  ay    hostid,
                IN  a{sv} options);
    Connect    (IN  ay    subsysnqn,
                IN  s     transport,
                IN  s     transport_addr,
                IN  a{sv} options,
                OUT o     nvme_ctrl);

## Properties

    HostNQN  readable   ay
    HostID   readable   ay

## Description

Extension of the top-level manager singleton object exposing NVMe host management.

## Method Details

### The SetHostNQN() method

    SetHostNQN (IN  ay    hostnqn,
                IN  a{sv} options);

Sets the system-wide Host NQN string,

`IN ay `hostnqn``: | The Host NQN value to set.
`IN a{sv} `options``: | Options (currently unused except for standard options).

Since 2.10.0

### The SetHostID() method

    SetHostID (IN  ay    hostid,
               IN  a{sv} options);

Sets the system-wide Host ID string,

`IN ay `hostid``: | The Host ID value to set.
`IN a{sv} `options``: | Options (currently unused except for standard options).

Since 2.10.0

### The Connect() method

    Connect (IN  ay    subsysnqn,
             IN  s     transport,
             IN  s     transport_addr,
             IN  a{sv} options,
             OUT o     nvme_ctrl);

Create a transport connection to a remote system and create a NVMe over Fabrics controller for the NVMe subsystem specified by the `subsysnqn` option.

Valid values for `transport` are `rdma`, `fc`, `tcp` and `loop`.

By default, additional options are read from the system configuration file `/etc/nvme/config.json`. This follows the default behaviour of `nvme-cli`. Use the `config` option to either specify a different config file or disable use of it altogether. The naming of the additional options are generally kept consistent with the JSON config file schema and any option specified acts as an override. Available options are:

transport_svcid (type 's') | 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`.
host_traddr (type 's') | The network address used on the host to connect to the Controller. For TCP, this sets the source address on the socket.
host_iface (type 's') | The network interface used on the host to connect to the Controller (e.g. IP `eth1`, `enp2s0`). This forces the connection to be made on a specific interface instead of letting the system decide.
host_nqn (type 'ay') | Overrides the default Host NQN that identifies the NVMe Host.
host_id (type 'ay') | Overrides the default Host UUID.
config (type 'ay') | Use the specified JSON configuration file instead of the default file (see above) or specify `"none"` to avoid reading any configuration file.
dhchap_key (type 'ay') | NVMe in-band authentication secret in ASCII format as described in the NVMe 2.0 specification. When not specified, the secret is by default read from `/etc/nvme/hostkey`. In case that file does not exist no in-band authentication is attempted.
dhchap_ctrl_key (type 'ay') | NVMe in-band authentication controller secret for bi-directional authentication. When not specified, no bi-directional authentication is attempted.
nr_io_queues (type 'i') | The number of I/O queues.
nr_write_queues (type 'i') | Number of additional queues that will be used for write I/O.
nr_poll_queues (type 'i') | Number of additional queues that will be used for polling latency sensitive I/O.
queue_size (type 'i') | Number of elements in the I/O queues.
keep_alive_tmo (type 'i') | The keep alive timeout (in seconds).
reconnect_delay (type 'i') | The delay (in seconds) before reconnect is attempted after a connect loss.
ctrl_loss_tmo (type 'i') | The controller loss timeout period (in seconds). A special value of `-1` will cause reconnecting forever.
fast_io_fail_tmo (type 'i') | Fast I/O Fail timeout (in seconds).
tos (type 's') | Type of service.
duplicate_connect (type 'b') | Allow duplicated connections between same transport host and subsystem port.
disable_sqflow (type 'b') | Disables SQ flow control to omit head doorbell update for submission queues when sending nvme completions.
hdr_digest (type 'b') | Generates/verifies header digest (TCP).
data_digest (type 'b') | Generates/verifies data digest (TCP).
tls (type 'b') | Enable TLS encryption (TCP).
hostsymname (type 'ay') | TP8010: NVMe host symbolic name.
keyring (type 'ay') | Keyring to store and lookup keys.
tls_key (type 'ay') | TLS PSK for the connection.

`IN ay `subsysnqn``: | The name for the NVMe subsystem to connect to.
`IN s `transport``: | The network fabric used for a NVMe-over-Fabrics network.
`IN s `transport_addr``: | The network address of the Controller. For transports using IP addressing (e.g. `rdma`) this should be an IP-based address.
`IN a{sv} `options``: | Additional options, includes standard options.
`OUT o `nvme_ctrl``: | An object path to the connected NVMeoF controller.

Since 2.10.0

## Property Details

### The "HostNQN" property

    HostNQN  readable   ay

`since`: 2.10.0

The Host NQN configured for the system. Reflects contents of the `/etc/nvme/hostnqn` file if present or uses autogenerated NQN value otherwise.

### The "HostID" property

    HostID  readable   ay

`since`: 2.10.0

The Host ID configured for the system. Reflects contents of the `/etc/nvme/hostid` file if present.