wiki:WikiStart
DOWNLOAD User's Guide Developer's Guide Mailing lists Problems Roadmap
stable / devel stable / devel devel Users / Developers Known Issues / Defects 1.0 (beta,final) / 1.1 (beta, final) / 1.2 (beta)

Kea DHCP Server

Kea is an open source DHCPv4/DHCPv6 server being developed by Internet Systems Consortium. Kea is a high-performance, extensible DHCP server engine that is designed to be easily modified and extended with hooks libraries.

Kea is free open source, and we welcome community engagement, via the Kea-users mailing list, this wiki, and our Github repository. There is a small core team of dedicated software engineers developing it and we need your contributions and support contracts to support them.

DHCP Standardization efforts: The lead developer on KEA is co-chair of the Dynamic Host Configuration working group in the IETF. We are committed to providing a standards-compliant implementation and are closely tracking developments in this working group and evaluating them for inclusion in KEA.

Kea News

2016-10-03: Kea receives MOSS Award from Mozilla to add remote management to Kea

On October 3rd, 2016, Mozilla announced they were awarding ISC a $100,000 MOSS contract to support development of the remote management capabilities of Kea. We will be working on that during the latter part of 2016 and 2017. The first set of features planned under that project are visible in the Kea 1.2 Roadmap linked above.

2016-09-30: Kea 1.1.0 released!

Kea 1.1.0 extended support Host Reservations stored in a separate database backend (both MySQL and PostgreSQL are now supported, for both DHCPv4 and DHCPv6 reservations). Kea 1.1 also significantly extended the Client Classification support, and added initial experimental support for a Cassandra backend database for lease storage. For detailed information please check Release Notes.

With Kea 1.1 we are releasing our first premium extension, a library that provides Forensic Logging. This application is described in the Kea 1.1 User Guide. Currently, this application is available at no additional charge to Kea support subscribers. If you would like to license this application separately, without a support subscription, please contact our sales team.

Kea is distributed under the MPL2.0 open source license. See the blog posting where we explain why ISC decided to adopt the MPL license.

Tarball package is available on the ISC.org downloads page or ISC ftp server.

2016-07-15: IETF Hackathon prototypes Yang support for Kea

The Kea team is typically up for the Hackathons scheduled before every IETF meeting. At the Berlin IETF in July, a team including core Kea developers Tomek and Marcin worked with engineers from the Sysrepo project and Deutsche Telekom on experimental Yang support. Read Tomek's blog post for more information. If you are a Kea user and attend IETF, we would love to meet up with you to work on Kea-related projects in future Hackathons!

2016 - July Kea tested in a HA configuration with a MySQL cluster

This was an ad-hoc test to look at use of a MySQL cluster backend as part of a high-availability solution. We are hoping that this approach, which keeps the current lease state in a database cluster, will fulfill most requirements for high availability. Kea has not implemented DHCPv4 failover, and DHCPv6 failover has not been standardized. See the link for a blog posting on the test. Kea with a MySQL Cluster backend For more details on the test set-up, read the associated article in the ISC Knowledgebase.

Status

The following major features are working:

  • Fully functional DHCPv4, DHCPv6 and Dynamic DNS servers
  • OpenSSL support
  • IPv6 prefix delegation
  • Host reservations and PXE boot
  • Leases can be stored in a CSV file, MySQL, Postgres or Cassandra (experimental) backend
  • Host Reservations can be stored in MySQL, Postgres
  • Applications API is available and documented
  • Linux, BSD and Mac OS X operating systems support
  • On-line configuration. It is possible to update the configuration file and tell the servers to reload configuration without restarting the system.
  • Statistics
  • Control channel

Known Issues List - known issues for current release.

To Do List - running list of items to be done in the future

Performance

Kea is a high performance server. It is able to handle over 1000 leases/sec (that is 4000 packets/sec) with a MySQL backend. We also have a custom memfile backend that can provision 7500 leases/sec. To assess server performance, ISC has developed perfdhcp, a tool that is able to simulate thousands of clients and assess server responses.

Installation

See Install page for details, including packages list and installation from sources.

Collaboration

Contact us via the Kea mailing list if you think you might be interested in working on Kea and sharing that work with the community. We have a Github site for working on technical contributions. We are a small team, so please be patient - it may take us a while to code-review unexpected contributions.

The primary things we need are:

  • Test coverage in different environments, with a variety of clients
  • Applications based on the Kea API, both to validate the API and to demonstrate the potential for DHCP applications.
  • Detailed, specific requirements for new functionality

Current collaborators

The best way to see who is currently contributing to Kea is to check the Github repo. Here are some of the early contributors:

How to participate in this project

1) Subscribe to the Kea developers mailing list.

2) Read the User Guide (sections 16,17,18 and 19) and the Developer's Guide.

3) Download and build a KEA instance. Released, supported versions are available here and on the ISC web site. For the latest KEA code, please use our public GIT repository.

4) Give us feedback via the mailing list or submit a bug (sub-project=dhcp). See below for information about the known issues.

5) A description of the workflow can be found here Kea Git Workflow


Documentation

Known Issues

  • Known Issues - This is a list of known issues with the current and previous releases
  • Outstanding tasks - this is a list of tasks that we are planning to do. Sometimes the difference between a bug and a missing feature is thin.
  • Submit new bug - setting the milestone as Kea-proposed is appreciated.
  • Known System Issues - list of all detected issues related to specific system configuration.
  • Our milestones - list of all milestones. KeaX.Y milestones contain the tickets we're planning to do in specific releases. Usually only the current milestone is up to date. Future milestones tend to fluctuate a bit.

Design documents

See Designs page.

Testing


Kea and BIND10

Kea was initially developed as an application within the framework of the BIND10 project. In 2014, ISC decided to discontinue active development on BIND10 and continue development of Kea as a standalone DHCP server. As a result, the BIND10 components were be removed from Kea to simplify long-term maintenance and reduce the footprint of Kea.

Getting in touch

  • Kea mailing list - feel free to post any Kea questions here
  • Kea developers list - for development discussions
  • [xmpp://dhcp@conference.jabber.isc.org DHCP Jabber chatroom] - if you want to chat with developers. (Temporarily unavailable for non-ISC people)
Last modified 5 weeks ago Last modified on Oct 31, 2016, 4:42:50 PM

Attachments (1)

Download all attachments as: .zip