Reference

libnvmf_config_resolve_discovered-libnvme3(2)

parameters for a controller that is not in the configuration.

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.