fix(network): exclude virtual ether links and prune stale ones from networkd (#2505)
The networkd backend treated any link reporting Type=ether as a wired uplink. Podman bridges and veth pairs report Type=ether, so they were classified as ethernet: isWired() short-circuited on Type and never consulted looksVirtual(), which also lacked a podman prefix. The link map was also never pruned. Links discovered at enumeration or via signals were kept forever, so torn-down container interfaces lingered as routable and could win the wired-uplink slot over the real NIC -- leaving the indicator showing WiFi while a wired connection was active and default-routed. - isWired()/isWireless() exclude virtual interfaces before consulting Type, and looksVirtual() now recognises podman. - enumerateLinks() reconciles the cached map against ListLinks via syncLinks(), pruning links that no longer appear so dead interfaces don't accumulate.
G
Graeme Foster committed
e51ceed17556d8f13c0550aaa5af0d3c2827e73c
Parent: 304baf6
Committed by GitHub <noreply@github.com>
on 6/1/2026, 1:45:49 PM