dhcpcd-7.0.2 released

    27 Mar 2018 • 2 min read

    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.