The uplink's managers are modules: networkmanager, systemd-networkd, dhcpcd (hq ADR 0117) #110

Merged
jschoubben merged 3 commits from feat/the-uplink-modules into main 2026-09-26 23:00:30 +00:00
Owner

Three modules, each claiming the-uplink (node scope) — one manager per machine, a second refused.

  • networkmanager: /etc/NetworkManager/conf.d/50-mesh.conf — dns=none and [keyfile] unmanaged-devices+=interface-name:mesh0 (list-append keeps the operator's own list; strictly unmanaged, per NetworkManager.conf(5) 1.58). reload-on, never restart.
  • systemd-networkd: /etc/systemd/network/00-mesh0.network — Unmanaged=yes for mesh0 (first match wins). reload-on.
  • dhcpcd: /etc/dhcpcd.conf written into: "block", at: "start" — nohook resolv.conf, denyinterfaces mesh0; at the start because every line after interface X is that interface's. No trigger: dhcpcd cannot reload (CanReload=no) and a restart drops the address — applies at its next start.

None declares a link, address, profile, wireless network or credential.

Depends on: mesh-controller feat/the-uplink-seat-and-the-hosts-region (the seat must exist) and, for dhcpcd, mesh-host feat/a-file-written-into-a-marked-block.

Three modules, each claiming `the-uplink` (node scope) — one manager per machine, a second refused. - **networkmanager**: `/etc/NetworkManager/conf.d/50-mesh.conf` — `dns=none` and `[keyfile] unmanaged-devices+=interface-name:mesh0` (list-append keeps the operator's own list; strictly unmanaged, per NetworkManager.conf(5) 1.58). `reload-on`, never restart. - **systemd-networkd**: `/etc/systemd/network/00-mesh0.network` — `Unmanaged=yes` for mesh0 (first match wins). `reload-on`. - **dhcpcd**: `/etc/dhcpcd.conf` written `into: "block"`, `at: "start"` — `nohook resolv.conf`, `denyinterfaces mesh0`; at the start because every line after `interface X` is that interface's. No trigger: dhcpcd cannot reload (CanReload=no) and a restart drops the address — applies at its next start. None declares a link, address, profile, wireless network or credential. **Depends on:** mesh-controller `feat/the-uplink-seat-and-the-hosts-region` (the seat must exist) and, for dhcpcd, mesh-host `feat/a-file-written-into-a-marked-block`.
jschoubben added 2 commits 2026-09-26 21:59:44 +00:00
networkmanager, systemd-networkd and dhcpcd each claim the-uplink and
declare only what keeps the machine's own network manager from
contradicting the mesh: the resolver file left to resolv-conf, mesh0
left alone. Never a link, profile or credential — the link is the
mesh's only channel to the machine, so NetworkManager and networkd are
reloaded on a change, never restarted, and dhcpcd (no reload; a restart
drops the address) takes its block at its next start.
jschoubben added 1 commit 2026-09-26 22:07:29 +00:00
jschoubben merged commit ad219beee2 into main 2026-09-26 23:00:30 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#110