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

Welcome to the project page. This site is addressed at developers and people familiar with the software and is more project oriented. For initial introduction and nice business oriented webpage, see http://isc.org/kea.

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

2017-04-28: Kea 1.2.0 released!

Kea 1.2.0 brings new set of control commands and REST API for them. Control Agent can connect to DHCPv6 and DHCPv4 servers using HTTP interface to relay JSON commands. For detailed information please check Release Notes.

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

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.

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-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

  • User Guide (Stable) (development snapshot) (see sections 16,17,18 and 19 in the stable version, all sections in development snapshot).
  • Manual Pages - a directory will some documentation (User's Guide, list of all messages Kea can print and more).
  • Developer's Guide - addressed at developers and contributors.
  • Intallation and system specific notes for building Kea
  • Commands - Planned and currently support Kea commands (available through REST API or control channel).
  • Designs - see how existing and upcoming features will look like.
  • Available hooks - this is a list of hook libraries, both from ISC and third parties.
  • Host reservations howto - Tips for using Host Reservations in Kea 1.1.0, especially with MySQL.
  • Kea coding guidelines - Please read those before you start writing code.

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.

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 4 days ago Last modified on May 25, 2017, 9:16:03 AM

Attachments (1)

Download all attachments as: .zip