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.

ftp://roy.marples.name/pub/dhcpcd/dhcpcd-7.0.2.tar.xz
ftp://roy.marples.name/pub/dhcpcd/dhcpcd-7.0.2.tar.xz.distinfo.asc
https://roy.marples.name/downloads/dhcpcd/dhcpcd-7.0.2.tar.xz
https://roy.marples.name/downloads/dhcpcd/dhcpcd-7.0.2.tar.xz.distinfo.asc