Reference

libnvmf_tid_set_identity-libnvme3(2)

Set the subsystem and host identity together.

NAME

libnvmf_tid_set_identity - Set the subsystem and host identity together.

SYNOPSIS

int libnvmf_tid_set_identity (struct libnvmf_tid *tid , const char *subsysnqn , const char *hostnqn , const char *hostid );

ARGUMENTS

tid

The transport ID.

subsysnqn

Subsystem NQN, or NULL to leave it unchanged.

hostnqn

Host NQN, or NULL to leave it unchanged.

hostid

Host Identifier, or NULL to leave it unchanged (or derive it).

DESCRIPTION

Identity is applied after addressing -- which subsystem, and which host persona, are decided by context. A NULL argument leaves that field as-is, which is why the three are set through one call rather than per-field setters (addressing has none: it is construction-only).

hostid is never left to chance: when no hostid is set but the resulting hostnqn carries a UUID (nqn.2014-08.org.nvmexpress:uuid:<X>), the hostid is derived from it -- the deterministic, per-host value (TP4126), never a random one. A hostid without a hostnqn is rejected: one host is one (hostnqn, hostid) pair.

RETURN

0 on success; -EINVAL for a NULL tid or a hostid without a hostnqn; -ENOMEM on allocation failure.