---
name: "libnvmf_config_resolve_discovered-libnvme3"
section: "2"
platform: "linux"
package: "nvme-cli"
version: "3.2-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libnvmf_config_resolve_discovered-libnvme3"
---

# 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.
