Kea Significant Features
Kea Significant Features Matrix
Updated on
Jun 26, 2025
Published on May 30, 2018
6 minute(s) read
Prev
Next
This table lists the major feature differences for different releases of Kea. A "✔︎" in the table below indicates that feature is present in that branch. When all currently supported versions of Kea have the feature, we remove the row (because there is no difference to highlight).
See Release Notes for More Detailed Changes
This list does not include many smaller changes, including changes in existing features or minor new features. For more detail, we recommend checking release notes. The release notes for the first release on a new stable branch (e.g. 3.0.0) include significant changes since the last stable version.
Please use the slider underneath each table to scroll left and right.
Feature
Kea 3.0 Stable
Kea 2.6 Stable
Kea 2.4 EOL
Kea 2.2 EOL
Kea 2.0 EOL
Kea 1.8 EOL
Access Control (see also TLS Support)
✔︎
✔︎
✔︎
new RBAC hook
basic local authentication
Address Allocation
iterative, random, free leases queue
offer-lifetime allows early allocation
iterative
iterative
iterative
Bulk Leasequery
✔︎
new command and query added
new hook lib, DHCPv4 & DHCPv6
Cache Threshold - Minimize Updates to Existing Leases
✔︎
✔︎
✔︎
✔︎
Client Class Tagging
✔︎
Database - Cassandra Backend
REMOVED
deprecated, will be removed in 2.2
✔︎
Database - Configuration Backend Using PostgreSQL
✔︎
✔︎
✔︎
✔︎
Database - Reconnect
✔︎
✔︎
✔︎
✔︎
updated in 1.9.4, see `on-fail` logic for how to handle failures
✔︎
DDNS Controls
ddns-ttl, ddns-ttl-min, ddns-ttl-max, per-pool DNS parameters
✔︎
`ddns-ttl-percent`
new DDNS-Tuning hook
✔︎
✔︎
Drop Class for Clients with Reservations
✔︎
✔︎
✔︎
✔︎
✔︎
High Availability
✔︎
hub-and-spoke model for multiple HA relationships
✔︎
✔︎
now multi-threaded
paged updates
Host Reservations Mode - Global
reservations in-subnet enabled by default
reservations in-subnet enabled by default
reservations with address out-of-subnet overridden
options/modes changed, `early-global-reservations-lookup`
✔︎
✔︎
Host Reservations Mode - Multiple
✔︎
auto-generated subnet IDs removed
empty host reservations
`reservations-lookup-first`
separate controls for global, in-subnet, or out-of-pool reservation modes
Lease Migration Between Backends
✔︎
✔︎
✔︎
leases can now be exported from one backend and imported into another
Lease-lifetime
✔︎
✔︎
new DHCPv4 offer-lifetime parameter,
DHCPv6 preferred lifetime is calculated as
0.625 * valid-lifetime unless explicitly specified,
or if specified value > valid lifetime
affinity for release leases
✔︎
preferred and valid lease lifetimes added to client classes
Libreload
REMOVED
Meson Build System
✔︎
Multiple MAC Reservations for the Same IP
✔︎
✔︎
✔︎
✔︎
✔︎
Multithreading Support
✔ MT enabled by default
✔ MT enabled by default
✔ MT enabled by default
✔︎
✔︎ (added MT for HA, bypassing the CA)
✔︎ (not including HA)
MySQL, PostgreSQL Hooks
✔︎
Native HTTP/TLS Support
Open Source Hooks
all hooks are open source except the RBAC and Configuration Backend hooks
Options
NTP servers DHCPv6 Option #136 and its associated suboptions as per RFC5908
new stash-agent option, updated implementation of the DNR option, new classless static route option
multiple vendor options with multiple
vivco suboptions and different enterprise IDs
multiple instances of DHCPv6
vendor-class and vendor-opts.
DNR encrypted DNS options
DHCPv4 Option #143 and DHCPv6 Option #136 per RFC8572
`never-send` flag
✔︎
✔︎ (added MT for HA, bypassing the CA)
✔︎
Statistics
per-pool statistics added
Template Classes
✔︎
✔︎
✔︎
TLS Support
✔︎
✔︎
✔︎
TLS secures connections between Kea and MySQL & PostgreSQL backends
CA can require client identification and can use TLS encryption for client connections
YANG/NETCONF Model Support
✔︎
NETCONF model updated, vivso-option support added
updated to libyang 2.x, Sysrepo 2.x
YANG model updated, Sysrepo 1.4
✔︎
✔︎
Kea hook libraries extend the base functionality of the open source Kea DHCP server. The hooks shown below are included in the Kea open source, unless marked below as included in the Premium, Subscriber, or Enterprise commercial packages (for versions prior to Kea 3.0.0).
Most hooks are now open source!
As of Kea 3.0.0, all hook libraries are now open source
except
the RBAC and Configuration Backend libraries. Those two remain commercially licensed and are only available with an ISC support subscription. Some of the hooks for Kea version 2.6 are still commercially licensed; administrators wishing to use that version may purchase those hooks on our website at
. For more information, please fill out our contact form at
This table lists the versions of Kea and the Kea hook libraries ISC supports, starting with Kea 3.0.0.
The table at the bottom of this page details the commercially licensed and open source hook libraries through Kea 2.6.
Hook Libraries
Kea 3.0 Stable - Open Source
Kea 3.0 Stable - ISC Subscriber-Only
BOOTP
(RFC 1497)
✔︎
Class Commands
✔︎
Configuration Backend Commands
✔︎
Database Backend for MySQL
Database Backend for PostgreSQL
DDNS Tuning
✔︎
Flexible Identifier
✔︎
Flexible Options
✔︎
Forensic Logging
Syslog support
GSS-TSIG
✔︎
High Availability
HA listener restrict-commands configuration flag defaults to true
Host Cache
✔︎
Host Commands
✔︎
Lease Commands
✔︎
Leasequery
✔︎
Limits
✔︎
Ping Check
✔︎
RADIUS Server Support
✔︎
Role-Based Access Control
✔︎
Run Script
✔︎
Statistics Commands
✔︎
Subnet Commands
subnet4-select-test, subnet6-select-test, and subnet4o6-select-test added
User Check
(example hook)
✔︎
This table lists the versions of Kea and the supported Kea hook libraries, for each version prior to Kea 3.0.0.
Hook Libraries
Kea 2.6 Stable
Kea 2.4 EOL
Kea 2.2 EOL
Kea 2.0 EOL
Kea 1.8 EOL
Premium package
Subscriber package
Enterprise package
BOOTP
(RFC 1497)
✔︎
✔︎
✔︎
✔︎
✔︎
Class Commands
✔︎
✔︎
✔︎
✔︎
✔︎
Configuration Backend Commands
, requires either
Configuration Backend for PostgreSQL
or
Configuration Backend for MySQL
new global parameters added
✔︎
support for PostgreSQL backend, options preserved from client classes in cfg backend
support for client-classes added
✔︎
✔︎
DDNS Tuning
✔︎
✔︎
✔︎
Flexible Identifier
✔︎
✔︎
✔︎
✔︎
✔︎
Flexible Options
✔︎
✔︎
new CSV-format, support for sub-options
✔︎ new
Forensic Logging
✔︎
now records whether the lease change is an administrative action or an automated HA update
added timestamp format
configurable with expressions
✔︎
GSS-TSIG
✔︎
✔︎
perform GSS-TSIG updates via Kerberos
High Availability
✔︎
✔`max-rejected-lease-updates` added
✔︎
significantly updated for better performance with MT, CA bypass, added communication-recovery state, delayed updates, improved DHCP enable/disable
✔︎
Host Cache
✔︎
✔︎
✔︎
✔︎
✔︎
Host Commands
✔︎
`reservation-get-by-address`, `reservation-update` added
subnet-id parameter is now optional
lease4(6)-get-by-clientid(duid, hostname, hwaddress)
reservation-get-all, reservation-get-page
Lease Commands
✔︎
✔︎
✔︎
lease4-write and lease6-write
new lease conflict status codes
lease lifetimes based on client class
Leasequery
✔︎
added support for DHCPv6 Bulk Leasequery (RFC 5460)and DHCPv4 Bulk Leasequery (RFC 6926) using the memfile lease backend
✔︎
✔︎
✔︎
Limits
✔︎
✔︎
new hook limits leases per second, leases per class
MySQL Configuration Backend
✔︎
✔︎
✔︎
✔︎
✔︎
Performance Monitoring
✔︎
Ping Check
✔︎ perform a ping check of a candidate IPv4 address prior to offering it
PostgreSQL Configuration Backend
✔︎
✔︎
✔︎
RADIUS Integration
multi-threading enabled
✔︎
RADIUS subnet selection added
✔︎
cache-size, cache-get-by-id
Role-Based Access Control
✔︎
✔︎
Run Script
✔︎
✔︎
✔︎
✔︎
✔︎
Statistics Commands
✔︎
✔︎
✔︎
✔︎
✔︎
Subnet Commands
✔︎
✔︎
✔︎
✔︎
subnet4-update, subnet6-update
User Check
(example hook)
✔︎
✔︎
✔︎
✔︎
✔︎
Tags
features
kea dhcp
releases
versions
US