• Share
  • Dark

Kea 0.9.1 Release Notes

  • Updated on 24 Sep 2018
  • 5 minutes to read
  • Contributors 


Kea is a new DHCP implementation being developed by Internet Systems Consortium, Inc. that features fully functional DHCPv4, DHCPv6 and Dynamic DNS servers. Both DHCP servers fully support server discovery, address assignment, renewal, rebinding, release, DNS updates and host reservation. The DHCPv6 server supports prefix delegation. 

This document summarizes features added or significantly changed since the previous release, Kea 0.9. Bug fixes since Kea 0.91 beta are also summarized. Please see the ChangeLog file in the source code release for a complete list of all changes.


The latest versions of Kea software can always be found on our website at https://www.isc.org/downloads/ or from ftp.isc.org (this release is https://ftp.isc.org/isc/kea/0.9.1/kea-0.9.1.tar.gz). A PGP signature of the distribution is at https://ftp.isc.org/isc/kea/0.9.1/kea-0.9.1.tar.gz.sha512.asc. The signature was generated with the ISC code signing key which is available at https://www.isc.org/about/openpgp.

Kea provides detailed documentation, including installation instructions and usage tutorials. In addition, all logging messages have unique documented explanations. This documentation is included with the installation or via https://kea.isc.org/docs/ in HTML, plain text, or PDF formats. We also maintain a public open source code tree and wiki pages with roadmap and issue tracking at https://kea.isc.org/.

Limitations and known issues with this DHCP release can be found at https://kea.isc.org/wiki/KeaKnownIssues.

We would like testers of this software to please let us know how it worked for you and what operating system you tested on. Feel free to share your configuration or use case. Also we would like to hear whether the documentation is adequate and accurate (please open tickets for documentation omissions and errors). We want to hear from you even if everything worked.

If you have any comments or questions about working with Kea, please share them to the Kea Users List or join the Kea Jabber room at dhcp@conference.jabber.isc.org. Bugs and feature requests may be submitted via the ticket tracking system at https://kea.isc.org/.


Professional support will be available when Kea reaches Release 1.0. Free best-effort support is provided by our user community via a mailing list. Information on all public email lists is available at https://www.isc.org/community/mailing-list/.

New Features

  • Host Reservation, the ability to add static reservations of addresses (DHCPv4 & DHCPv6), prefixes (DHCPv6) and hostnames (DHCPv4 & DHCPv6) for clients.
  • For DHCPv6 clients, several methods have been provided to extract the client's MAC address from information it sends to the server.
  • Support for the DHCPv6 Information-Request message.
  • The periodic removal of redundant information from the "memfile" lease file. (Prior to this, the lease file would grow without bound.)
  • A tool, 'kea-admin', for administrators to create and update the databases used for the MySQL and PostgreSQL backends.

Note: When migrating from Kea 0.9 to 0.91:

  • The JSON configuration file must be updated.
  • The MySQL or PostgreSQL lease databases must be updated (if used).


The following summarizes the significant changes and important upgrade notes since the previous release (Kea 0.9). (See the git history for more details and additional development.)

  1. [doc] stephen

Corrected some configuration examples in the documentation. (Trac #3772 git e9f084525bc1eec1cca635c00f33228bf7fac6a4)

  1. [func] tomek,tmark

DHCPv6 server now supports static reservations of hostnames for clients. Note this resolves #3708 by reducing the number of calls to select Subnet to once per client request. (Trac #3689 git c13c824d9948f7e3f71a65ed43798f3b5c14042c)

  1. [bug] marcin

DHCPv4 server may allocate lease for the client which is using a non-unique identifier (HW address or client id), if the other identifier is unique. (Trac #3768, git 0f7a029e2a2a7652d49a0bcd9f49e879fac9136f)

  1. [func] sar

Add a log message that indicates when the v4, v6 or DHCP-DDNS server has completed processing its configuration and is about to enter the loop to process messages. (Trac #3755, git c71c7836804842bae51fe79fd599c57f5b3d007d)

  1. [func] tomek, marcin

The DHCPv6 server now supports the Relay-Supplied Options option, as defined in RFC 6422. The relay can insert options in the relay forward message that the server will send back to the client if certain criteria are met. (Trac #3705, git 4772ee589712f5359ecbd79ebf71fbc7bb68741b)

  1. [bug] marcin

DHCPv4 server: corrected the logging message issued when the server could not allocate or offer the lease for the client. The corrected message contains the client-id, hardware address, ciaddr and requested-ip-address. (Trac #3737, git 4c56e1348c5d50eaa5b3083a0a8c346966e1b603)

  1. [bug] sar

Handle recovery properly should the LFC crash while manipulating files after completing processing. (Trac #3759, git bb3b4d14119392261a1766da2b406fa46d4c0f21)

  1. [doc] sar

Added sections on LFC to the administrators and developers guides. (Trac #3720, git 828b801e6a4616de331588076ab9c4c35677595)

  1. [func]* marcin

libdhcp++: the C++ objects representing network interfaces (Iface objects) are now non-copyable. As a result, the API of the Interface Manager functions returning the pointers to the Iface objects has changed. (Trac #3715, git 7415c74e38e13385a75e7200cb23b7d6ca86df7f)

  1. [func] marcin

DHCPv4 server supports static reservations of the hostnames for the clients. (Trac #3688, git b5c50e2aff64da05b439da8d5fa4913fc8a704ca)

  1. [bug] marcin

Removed many cppcheck errors in the code. Also removed the dhcp-ubench test tool. (Trac #3736, git 552aea126e968b78292ae80c1c6a03c9ef4dcdcd)

  1. [bug] marcin

Handle overflows during time conversions in the MySQL and PostgreSQL lease database backends. (Trac #3673, git 27b4e4590fdee507f0e877d7b771dc6c6457a4b5)

  1. [doc] tmark

Corrected depictions of kea-admin command line options for database-name in Kea Administrator Reference. Prior to this, the document showed "-d" as the database name option, when in fact it is "-n". (Trac #3742, git ec427e4c9d008abc800f87eda3c0024b35e4c2e2)

  1. [doc] tmark

Added description of a restriction on extracting a MAC address from an IPv6 link-local address to the Kea Administrator Reference, section 8.8, item "ipv6-link-local". (Trac #3691, git ca9f5541cb36f815ac614c5c21088d545eafcac6)

  1. [func] marcin

DHCPv4 server assigns an address from the dynamic address pool if the reserved address is in use by another client. (Trac #3694, git 95b09ff53b941691cba172c933de0682b05a0d85)

  1. [bug] marcin

FreeBSD-only change: Disabled unit test expecting the death of the process when conditional variable was destroyed when the thread was still waiting for the variable. This is due to invalid behavior of the pthread_cond_destroy on FreeBSD which should return EBUSY in such case, whereas it returns success error code. (Trac #3710, git bdb442402ef023055715baf597c401c9974a7fb2)

  1. [bug] stephen

Corrected arithmetical error in the rate control module of perfdhcp which led to the incorrect calculation of the rate at which packets should be sent. (Trac #3729, git bb5bca3d9b68abc4b83abdd204bfb075dda630ac)

  1. [bug] marcin

Fixed the bug in the DHCPv4 server whereby the server reconfiguration (using the SIGHUP signal) failed because of sockets remaining open since the previous configuration. (Trac #3730, git 3ceb0cd97cf5e44e8fc151d0a38db553530dd3ed)

Thank You

Thank you to everyone who assisted us in making this release possible. If you would like to contribute to ISC to assist us in continuing to make quality open source software, please visit our donations page at https://www.isc.org/donate. We look forward to your feedback.

Problems with this site? Email us at marketing@isc.org