<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-1x.git/src/systemd/vyos-net-name-resolve.service, branch rolling</title>
<subtitle>VyOS command definitions, scripts, and utilities (mirror of https://github.com/vyos/vyos-1x.git)
</subtitle>
<id>https://git.amelek.net/vyos/vyos-1x.git/atom?h=rolling</id>
<link rel='self' href='https://git.amelek.net/vyos/vyos-1x.git/atom?h=rolling'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/'/>
<updated>2026-08-08T16:33:38+00:00</updated>
<entry>
<title>T3871: make boot-time interface naming deterministic and hw-id aware</title>
<updated>2026-08-08T16:33:38+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-08-06T19:59:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=22cfee116c9935f4a33da4923eff189f2f646371'/>
<id>urn:sha1:22cfee116c9935f4a33da4923eff189f2f646371</id>
<content type='text'>
Multi-vendor PCIe NIC systems could lose or rename Ethernet/wireless
interfaces on boot, because naming was decided from a single per-device
udev event before all hardware had a chance to enumerate.

Replace that with one authoritative pass, run once configuration is
available during router startup: wait for configured hardware, apply
every hw-id binding, and name whatever has none yet by PCIe distance
from the root complex and MAC address - the same result every boot.

A node with its hw-id deleted (NIC replacement) or its whole
configuration removed is treated as an ordinary open slot, filled the
same way - recovering its original hardware whenever the interfaces
that vacated slots this boot also show up as candidates.

Boot now reports any interface still unresolved, and the pass is covered
by a new test suite in vyos-build named: make testifname

Assisted-by: Claude:claude-sonnet-5
</content>
</entry>
</feed>
