|USER GUIDE||DEVELOPER'S GUIDE||SOURCE CODE (GIT) ACCESS||DEFECT LIST||USERS MAILING LIST||ROADMAP|
KEA DHCP Server
KEA is a new open source DHCPv4/DHCPv6 server being developed by Internet Systems Consortium. The objective of this project is to provide a very high-performance, extensible DHCP server engine for use by enterprises and service providers either as is or with extensions and modifications.
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.
The server is usable today in a non-critical application or test environment. The code is posted and is freely available for download and use today. The following major features are working.
- DHCPv4 and DHCPv6 support: assigning, renewing and releasing leases for IPv4 or IPv6 clients either directly or via a relay.
- Most DHCPv4 and DHCPv6 options. Incomplete support for DOCSIS3.0. It is possible to define custom options.
- IPv6 prefix delegation
- SQL back-end support
- Applications api is available and documented
- Linux operating system support. Support for other UNIX systems is planned but not yet available.
- Run-time configuration and control, allowing system settings to be changed without restarting the system, taking effect instantly.
Roadmap - future features, not yet implemented
To Do List - running list of items to be done in the future
Kea is a high performance server. It is able to handle over 1000 leases/sec (that is 4000 packets/sec) with MySQL backend. We also have an experimental memfile backend that can do much more. To assess server performance, ISC has developed perfdhcp, a tool that is able to simulate thousands of clients and assess server responses.
We are looking for a small group (up to 6 total) of key collaborators at this point. Contact us via Kea mailing list if you think you might be interested in working on Kea and sharing that work with the community. The primary things we need are:
- Test coverage in different environments, with a variety of clients
- Applications based on the Kea API, to validate the API and to demonstrate the potential for DHCP applications.
- ISC Forge - Python/Lettuce/Scapy DHCP validation environment under development by students of Gdansk University of Technology.
- DHCPv4-over-DHCPv6 - Tsinghua University team developed support for draft-ietf-dhc-dhcpv6-over-dhcpv4 for Kea. See and ticket #3357.
How to participate in this project
1) Subscribe to the Kea developers mailing list.
3) Download and build a KEA instance. For the latest KEA code, rather than downloading from the main ISC site, 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.
- User Guide (Stable) (development snapshot) (see sections 16,17,18 and 19).
- Developer's Guide: (Stable) (development snapshot)
- System specific notes for building Kea
- Kea coding guidelines
Known Issues with Current Release
- Known Issues - Kea is included in BIND10 1.1 release. This is a list of known issues in that release.
- Kea defects - this is a list of known bugs in engineering snapshot (a master branch in bind10 git repo)
- 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 - Just make sure that you set up Sub-project as DHCP. Setting up milestone as DHCP Outstanding Tickets is also appreciated.
- Kea Detailed Functionality: KeaRequirements
- Kea is extensible. Script hooks are provided:
- Initial design proposal for libdhcp library:
- Abstract pool/lease storage:
- Benchmarking tool:
- User-defined options:
- Other requirements:
- Test Plan
- build-bot - Kea is being built and unit-tests are being run on great variety of platforms.
- Link to Jenkins tests - ISC is using Jenkins and ISC Forge system/conformance tests to validate Kea. Unfortunately, that system is not yet publicly available.
Kea and BIND10
Kea was 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 will be removed from Kea. We hope this will simplify long-term maintenance and reduce the footprint of Kea.