Network Connectivity Issues
Use this playbook when a state-machine stall appears to come from BMC, DHCP, PXE/HTTP boot, DPU agent, BGP/HBN, or API reachability.
Connectivity Matrix
BMC or OOB Unreachable
NICo cannot discover, provision, or manage a machine when its BMC is unreachable.
Check:
Common causes:
- BMC is powered off or on the wrong network.
- OOB route or VLAN is missing.
- Credential lookup failed in the credential store (Vault or Postgres).
- BMC certificate or TLS settings changed.
- Redfish endpoint is slow or rate-limited.
DHCP Failures
DHCP appears in two places:
- site DHCP through
nico-dhcp - DPU-local DHCP or relay for host-facing networking
Check site DHCP:
Check pool pressure:
carbide_available_ips_countcarbide_reserved_ips_countcarbide_resourcepool_free_count
Common causes:
A prior DHCPDECLINE can make Kea reject the correct address with a NAK because the lease is temporarily marked unavailable. nico-dhcp.config.kea.declineProbationPeriod now defaults to 900 seconds, instead of the kea default of 24 hours, limiting how long the address remains quarantined.
Scout Boot NIC Selection
During discovery, Scout keeps network configuration only on the interface
whose MAC address NICo supplied as the single mac= kernel command-line
argument. The script requires exactly one valid mac= value, exactly one
matching interface, carrier on that interface, and at least one global IP
address before it changes any other interface.
For other predictable Ethernet interface names (enx*, enp*, and enP*)
that are using Scout’s default DHCP network definition, Scout writes
/run/systemd/network/00-forge-scout-nonpreferred.network. This runtime rule
disables DHCP and IPv6 router advertisements and then reloads systemd-networkd.
Scout waits roughly 30 seconds for global addresses and routes on those
interfaces to disappear.
This networkd cleanup is MAC-based and does not administratively bring the other links down. Scout separately classifies auxiliary interfaces during registration using Mellanox SF/VF and PCI virtual-function metadata. If validation, networkd reload, or address removal fails, Scout logs the reason and continues startup so discovery remains fail-open.
When Scout uses the wrong path or retains multiple global routes, check:
Look in the Scout console or journal for Selected preferred network interface
and Skipping Scout network configuration. A skip message includes a reason
that identifies which prerequisite was not met.
PXE and HTTP Boot
nico-pxe serves discovery images, iPXE scripts, cloud-init, kickstart, BFB
URLs, and root CA content used by install paths.
If there are no PXE or HTTP requests, inspect the serial console and boot order. If requests exist but the host does not advance, inspect scout or DPU agent logs.
DPU Agent Cannot Reach nico-api
NICo waits for the DPU agent to report health and applied network config.
Check:
On the DPU:
Common causes:
- DPU OS did not boot.
nico-dpu-agentis not running.- DPU cannot resolve or reach
nico-api. - TLS root CA is missing or stale.
- DPU network config version does not match desired state.
BGP, HBN, and Edge Connectivity
When DPU services are up but network health is not, inspect HBN and FRR.
Common causes:
- TOR or route-server peering is down.
- DPU interface is down.
- HBN container is unhealthy.
- DPU config version is stale.
- Fabric configuration is not applied.