Network Client Provider Instance#
Client Providers → NCINetwork Client Provider Instances
The Network Client Provider is an operator that continuously discovers hosts and devices attached to the network fabric. It reads endpoint information from managed SRL and SROS nodes — MAC tables, ARP and neighbor tables — and correlates that data with services topology to produce a unified inventory of connected endpoints.
Each record in the inventory includes the endpoint's MAC and IP address, the BridgeDomain or Router through which it is reachable, and the node and interface where the endpoint is learned. Dual-homed or multi-homed endpoints appear as multiple records, one per node and subinterface attachment point.
The operator is opt-in: it does not run until a NetworksClientProviderInstance CR is created. Each instance monitors a single EDA namespace and spawns one operator pod. Discovered endpoints are written to the networks Client Table in that namespace.
Viewing discovered endpoints
Use the Discovered Networks Endpoints dashboard in the EDA UI to browse the client table populated by the Network Client Provider.
Instance configuration#
Each NetworksClientProviderInstance declares which EDA namespace the operator monitors through the namespace property. Create one instance per namespace that requires endpoint discovery. The operator pod reads node state and services topology only within that namespace.
The optional confidenceLevelOffset property adjusts the confidence level reported for IP addresses that are inferred from another provider's client-table entry rather than observed directly on the node. The base confidence for such cross-table borrow entries is 80%; the offset is added to this value and the result is clamped to the range [0, 100].
Operational status#
The status.operationalStatus field reports the health of the operator instance:
Pending— the provider has been created but has not yet completed its startup scan of existing client-table entriesOperational— the provider has completed startup and is actively discovering endpointsError— the provider encountered a fatal error; seestatus.errorMessagefor details
Discovery behavior#
The Network Client Provider correlates layer-2 and layer-3 information from each managed node to build complete client records. Endpoints are indexed in the networks client table by MAC address, IP address, BridgeDomain, and Router.
For endpoints learned on a BridgeDomain, the provider correlates MAC table entries with proxy-ARP, proxy-ND, and IRB neighbor tables to resolve the IP address and associated Router. For endpoints reachable only through a Router — for example on a RoutedInterface — the provider uses the router-only path and leaves the bridgeDomain key empty.
Endpoints that have a known MAC address but no discoverable IP address are not written to the client table. The inventory is updated automatically when endpoints connect or disconnect from the fabric.
To discover IP addresses in a BridgeDomain the following spec attributes should be set:
IRBInterface the following spec attributes should be set: Dependencies#
The Network Client Provider has no required CR dependencies. However, endpoint discovery requires a deployed Fabric with managed leaf and/or border-leaf nodes running SRL or SROS in the monitored namespace.
Services resources such as BridgeDomains, Routers, VLANs, and RoutedInterfaces must be deployed in the monitored namespace so the provider can enrich discovered endpoints with topology-canonical interface and VLAN names.
Referenced resources#
EDA Namespace#
The namespace property selects the EDA namespace whose fabric nodes and services topology the provider monitors.
Examples#
Custom Resource Definition#
To browse the Custom Resource Definition go to crd.eda.dev.
NetworksClientProviderInstance
SPEC
Definition of one instance of the Network Client Provider. One Instance is always tied to a single Namespace to monitor.
-
Adjust the confidence level reported by this provider for uncertain data, such as cross-referenced IP address information. The base cross-table borrow confidence is 80%; this offset is added to it, allowing operators to tune the reported confidence for their environment. The resulting confidence is clamped to the range [0, 100].
default: 0range: -80 to 80 -
The Namespace this Instance will monitor and collect Client information for.
STATUS
Status of this Networks Client Provider instance.
-
ErrorMessage contains a human-readable description of the last error when OperationalStatus is Error. Empty when the provider is Pending or Operational.
-
Reports whether the provider is running and discovering clients.
enum: "Pending", "Operational", "Error"