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.