NAME
libnvmf_config_resolve_discovered - parameters for a controller that is not in the configuration.
SYNOPSIS
const struct libnvmf_params * libnvmf_config_resolve_discovered (const struct libnvmf_config *config , const struct libnvmf_config_conn *via_dc , bool is_dc );
ARGUMENTS
- config
-
the resolved configuration
- via_dc
-
the DC connection the controller was discovered through, or NULL for a controller with no configured origin (e.g. an mDNS-discovered DC)
- is_dc
-
true for a discovered discovery controller (a referral), false for a discovered I/O controller
DESCRIPTION
A controller learned at runtime -- from a discovery log page, an AEN, or mDNS -- has no section in the configuration, but still draws parameters from it: the defaults of the file scope it was discovered through, or the top-level scope when it has no configured origin. The four combinations:
(via_dc = DC, is_dc = true) a referral: a DC discovered via a DC; draws that DC's DC-defaults scope (via_dc = DC, is_dc = false) a DLP-discovered IOC; draws that DC's IOC-defaults scope (via_dc = NULL, is_dc = true) a DC with no configured origin (e.g. mDNS); draws the top-level DC scope (via_dc = NULL, is_dc = false) an IOC with no configured origin; draws the top-level IOC scope
RETURN
borrowed parameter set, valid while config is alive. via_dc must be a connection of config; an I/O-controller via_dc yields NULL. Passing a connection that does not belong to config is undefined.