Initially dhclient used raw IP sockets to send the DHCP/BOOTP messages. As there was no API to set an 0.0.0.0 IP for the raw sockets, dhcp client assigned 0.0.0.0 ip to the interface needed to setup. Later (~1998), BPF support appeared, removing the need to use the 0.0.0.0 hack on the supported systems.
As there was no API to set the source IP to `0.0.0.0` for the raw sockets, dhcp client assigned `0.0.0.0` ip to the interface needed to setup.
Later, around 1998, BPF support appeared, removing the need to use the `0.0.0.0` hack on the systems with BPF.
As the `0.0.0.0` assignment was done in the `dhclient-script` "OS-agnostic" shell hook, it took a while to sync itremove it.
OpenBSD [[ https://github.com/openbsd/src/commit/306326da89d33a2e43ecb07a2ba26e98347a7974 | switched ]] to BPF-by-default in Feb 2004.
FreeBSD merged dhclient from the OpenBSD 3.7 (May 2005). After the 3.7 release, OpenBSD [[ https://github.com/openbsd/src/commit/d21071cd342ca1d998275b5256937803ada2287e | dropped ]] this `0.0.0.0` hack.
FreeBSD never did that.
This change removes the initial `0.0.0.0` IPv4 address assignment from the dhclient scripts, as it serves no purpose.