DHCPv6 client in base

Roy Marples roy at marples.name
Mon Oct 7 20:31:23 UTC 2019


On 07/10/2019 20:20, Julian Elischer wrote:
 > On 10/7/19 12:05 PM, Roy Marples wrote:
 >> On 07/10/2019 19:45, Julian Elischer wrote:
 >>> I'm not HRS, but as it uses netlink, how does NetBSD use it?  (i.e.
 >>> how do we simulate that?)
 >>
 >> dhcpcd has a driver per OS:
 >> BSD == route(4)
 >
 > though sometimes I wonder if that could not be improved.. it's now what?
 > 35 years old?

OpenBSD added:
    route overflow detection
    route message filtering which I ported to NetBSD and DragonFlyBSD

I added in NetBSD and DragonFlyBSD:
    addition of address flags and process id to ifa_msghdr
    ported route message filtering

For overflow detection I took a different path from OpenBSD and added it 
per socket via an ioctl which cleared up some FIXME comments that have 
existed since the code was in the repository.

Just because something is old does not mean it won't improve or get 
maintained.

 > I guess the question is really "How compatible with ISC/dhclient is it
 > (seems somewhat so), does it give us advantages over staying with the
 > current tools, and how supported are the other tools, vs these?

As far as dhclient calling a script is concerned. It's a near 100% 
compatibility for DHCP4.
For all other protocols or options after I released dhcpcd-4, there is 
none because dhcpcd got there first in all cases.

But the real question is how is compatible with the OpenBSD port of 
dhclient? From a command line perspective, it's not.
There is no capsicum(4), chroot(4) or process seperation support either.
I don't know how much of a show stopper that is.

 > Every tool set comes with advocates and someone is sure to be upset if
 > we choose one. :-)

I won't be upset if you do choose dhcpcd.
I also won't advocate for it, this is entirely something for FreeBSD 
folk to decide.

I am happy to answer any questions though and if you peruse dhcpcd or 
netbsd mailing lists you'll find I solve issues fairly promptly.

 > A dhcp Client is a necessary part of the OS (though a bit less so with
 > IPV6) but the serer side can be a port. (as it is).

How is FreeBSD handling DNSSL + RDNSS over IPv6RA? That's pretty 
standard now and I don't see a userland compoenent for it.

Client side DHCPv6 is disabled by default unless an IPv6RA is received 
with either the Managed or Other flag set which then starts DHCPv6.
Enterprise setups like IPv6RA to handle the default router but the 
address used by DHCPv6 which they can provision.
Of course, that's my view, yours may differ.

Roy


More information about the freebsd-net mailing list