OpenBSD Journal

dhcp6leased(8) imported to -current

Contributed by rueda on from the the-missing-link6 dept.

Florian Obser (florian@) has committed (to -current) dhcp6leased(8), a DHCPv6 client for handling Prefix Delegation (PD):

Module name:	src
Changes by:	2024/06/02 06:28:05

Added files:
	sbin/dhcp6leased: Makefile control.c control.h dhcp6leased.8 
	                  dhcp6leased.c dhcp6leased.conf.5 dhcp6leased.h 
	                  engine.c engine.h frontend.c frontend.h log.c 
	                  log.h parse.y printconf.c 

Log message:
Import dhcp6leased(8)

dhcp6leased is a daemon to manage IPv6 prefix delegations. It requests
a prefix from an upstream DHCPv6 server and configures downstream
network interfaces. rad(8) can be used to advertise available prefixes
to clients.
It's a transmogrified dhcpleased(8), so it's a bit rough around the
edges. But it can already request and renew prefixes and configure
interfaces. It's time to hack on it in-tree.

OK deraadt

dhcp6leased(8) is now hooked to the build.

It is reasonably common for ISPs to utilise PD for residential and SOHO services, so this development is quite a milestone, as it marks the first time that clients (of such providers) can get their IPv6 setup fully working using the base system. [Hitherto, supporting PD has required the use of a port, generally net/dhcpcd.]

Thanks and congratulations to Florian! We look forward to the release of OpenBSD 7.6!

(Comments are closed)

  1. By Anonymous Coward ( on

    This is great news. It's very useful to have DHVPv6-PD support in the base system!

  2. By thowe (2607:fda0:41::8c) on

    This is fantastic! Thank you very much for your efforts!

  3. By Anonymous Coward (2601:183:427d:7944:4c1c:8083:9d9:6816) on

    My ISP provides /128 IPv6 address and an up-to /60 prefix delegation.

    Does dhcp6leased have the ability to, say request the /128 IPv6 address and also a /60 PD?


    1. By Mike. (maple) on

      (btw, the comment I am replying to is mine. I had forgotten I had an account on this great site. Apologies for that.)

      OK, so long as we are discussing the dhcpleased programs, maybe may I add another thing?

      I am still using the old ISC-dhcp client. It works well for me.

      One thing I like about it is that it has an "exit script" ability with quite useful information. In my case: lease start time, lease duration in seconds, (for IPv4) router info, etc.

      When I look at dhcpleased for IPv4, the lease duration is in ~human terms.~ That doesn't work for my system.

      I understand there may be security issues with exit scripts. So let's take a different approach...

      Provide an option that tells the dhcpleased family to write out a lease file with, e.g. lease start time, lease duration (in seconds!), the IP addresses, etc.

      If more details are needed about that "etc.", I will be more than happy to provide them. :)

      And, by the way, I tried using dhcpcd. What I found is that after 15 or 16 IPv4 leases renewals (interesting number, btw), that program failed to properly set the IPv4 routing info. And unbound complained. Vociferously. Hundreds of log entries per second. For hours.

      Needless to say, I am now back on the ISC-dhcp client for both IPv4 and IPv6 (I know, gasp!), but it just seems to work. And attribute I have not yet found in any other DHCP client.



Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]