Kea Significant Features Matrix
  • 29 May 2024
  • 4 Minutes to read
  • Contributors
  • PDF

Kea Significant Features Matrix

  • PDF

Article summary

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. Release notes for the first release on a new stable branch (e.g. 2.6.0) will include significant changes since the last stable version.

Please use the slider underneath each table to scroll left and right.
Feature Kea 2.6 Stable Kea 2.4 Stable 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 ✔︎ ✔︎ ✔︎ X
Database - Cassandra Backend - - REMOVED deprecated, will be removed in 2.2 ✔︎
Database - Configuration Backend Using PostgreSQL ✔︎ ✔︎ ✔︎
Database - Reconnect ✔︎ ✔︎ ✔︎ updated 1.9.4, see `on-fail` logic for how to handle failures ✔︎
DDNS Controls ✔︎ `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 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
Multiple MAC Reservations for the Same IP ✔︎ ✔︎ ✔︎ ✔︎
Multithreading Support ✔ MT enabled by default ✔ MT enabled by default ✔︎ ✔︎ (added MT for HA, bypassing the CA) ✔︎ (not including HA)
Options 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. The Premium package is available for purchase on our website at https://www.isc.org/shop/. We also offer support subscriptions, which include both the premium hooks and several subscriber-only Kea hooks (indicated by a + in the table). If you are interested in subscribing to ISC's software support services, please visit https://www.isc.org/contact to request more information.

This table lists the versions of Kea and the Kea hook libraries ISC supports with each version. In general, we recommend updating your hook libraries every time you update Kea. ISC does not test new versions of Kea with older versions of the hook libraries and cannot guarantee they will work as expected.

Hook Libraries Kea 2.6 Stable Kea 2.4 Stable 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 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) ✔︎ ✔︎ ✔︎ ✔︎ ✔︎