Skip to content

Commit 7195103

Browse files
committed
configd plan: rewrite for layered model — dhcpcd Phase 1, netconfigd Phase 2+
Phase 1 implementation showed netconfigd's "own everything" architecture was wrong: dhcpcd master mode does the autoconfig grunt work better than we'd be able to (DHCPv4+v6+RA+IPv4LL+link-state+lagg/vlan/bridge in one daemon), with features we'd otherwise have to reimplement. This rewrite reflects what actually shipped + the proper Phase 2+ trajectory: Phase 1 (DONE): dhcpcd + ports wpa_supplicant run directly by launchd. NCDaemon is a stub. Network works out of box. Old org.freebsd.netconfigd.plist removed; org.freebsd.dhcpcd.plist in its place. Phase 2+ (PLANNED): netconfigd resumes — but its role is the upper layer (dynamic store, DO IPC, Network.plist watcher, scutil). It translates declarative config into dhcpcd.conf drop-ins; dhcpcd remains in charge of the actual DHCP/RA/lease lifecycle. Clean split between policy (netconfigd) and action (dhcpcd). Key changes vs. the old plan: - Architecture diagram is now layered: GUI → netconfigd → dhcpcd → kernel - Decisions table: DHCP / RA / WiFi rows changed - File-by-file plan: IPMonitor's role shrinks (no IPConfiguration to drive), PreferencesMonitor becomes the new core - Phase 1a-c marked SUPERSEDED; Phase 1d marked DONE - Phase 2-6 reorganized around the upper-layer role - Open questions: closed "internal DHCP", "rtsold for RA", repo layout, binary path. New ones around resolv.conf ownership and dhcpcd.conf drop-in vs whole-file rewrite Companion to freebsd-launchd commit f218a61.
1 parent 548b0c2 commit 7195103

1 file changed

Lines changed: 332 additions & 331 deletions

File tree

0 commit comments

Comments
 (0)