dhcpcd-7.0.2 released
Published: Tuesday, March 27, 2018
A long overdue release, and apologies for the wait
Fixed stuff:
- Added support for setproctitle(3)
- Kernel RA is no longer disabled when IPv6 is disabled in dhcpcd
- DHCPv6 PD is no longer stopped if no Routers are found
- If the DHCP leased address is deleted, enter the reboot state
- DHCPv6 unicast is no longer performed when not in master mode
- dhcpcd will now detect netlink/route socket overflows ad re-sync
The last point is the one that took sometime, mainly because I had to patch the NetBSD kernel on my router where this happens a lot when booting. Technically this was achieved just as in Linux- recv(2) now returns ENOBUFS when the internal receive buffer as overflowed. OpenBSD has a different approach where they flush the internal buffer and send a custom route(4) RTM_DESYNC message. This is supported as well.
Once overflowed, dhcpcd will close the socket to throw away now garbage messages and open a new one. Then it will re-learn interfaces (+ their carrier state and flags) and addresses (+ their flags and lifetimes). dhcpcd will then run the hooks for any departed/arrvied/carrier/nocarrier events resulting from this, in other words it should function as if nothing happened.