Project

General

Profile

Actions

Feature #15659

open

Feature #15650: Kea Feature Integration for parity with ISC DHCP

Kea option for ``reservations-out-of-pool`` and associated input validation (IPv4 and IPv6)

Added by Jim Pingle 8 months ago. Updated 2 days ago.

Status:
New
Priority:
Normal
Category:
DHCP (IPv4)
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Plus Target Version:
25.03
Release Notes:
Default

Description

We currently set "reservations-in-subnet": true for all subnets but we do not explicitly set reservations-out-of-pool. reservations-out-of-pool defaults to false which makes Kea respect static mappings as reservations inside defined pools, which was not viable in ISC DHCP.

Setting reservations-out-of-pool and reservations-in-subnet both to true makes Kea assume all reservations are outside of pools, which our input validation already enforces, and increases performance since Kea doesn't need to check pools for reservations.

So right now we could be benefiting from the extra performance but we do not (because the right options are not set in Kea), and/or we could be benefiting from allowing users to make reservations in pools, but we do not (because the input validation prevents it).

So we have a few choices to fix this inconsistency:

1. Set reservations-out-of-pool to false unilaterally for the performance gain alone.
2. Relax the input validation on static mappings to allow reservations inside pools, which users frequently request.
3. Make a new option on the Kea Settings tab to control this, with the backend option and input validation changing based on what the user selects.

Option 3 is the most flexible and would make users happy both ways, and we could default to the current behavior and have users opt-in only if they want the new behavior even if there is a performance hit.


Files

clipboard-202503181149-njtlb.png (27.4 KB) clipboard-202503181149-njtlb.png Christian McDonald, 03/18/2025 03:49 PM
Actions #1

Updated by Jim Pingle 8 months ago

  • Subject changed from Kea option for ``reservations-out-of-pool`` and associated input validation to Kea option for ``reservations-out-of-pool`` and associated input validation (IPv4 and IPv6)
Actions #2

Updated by Jim Pingle 5 months ago

  • Plus Target Version changed from 24.11 to 25.01
Actions #3

Updated by Denny Page 4 months ago

I was just coming to enter an enhancement request for this and found this.

A couple of comments:

For option 1, the value for reservations-out-of-pool to indicate that there are no reservations inside the pool is true rather than false.

For option 2, the value of reservations-out-of-pool could be set based upon whether any of the reservations are actually inside of the pool. And if a warning were displayed when a reservation is inside the pool, it would also obviate option 3. For all intents and purposes, the logic for this already exists in the current input validation code.

Actions #4

Updated by Jim Pingle 3 months ago

  • Plus Target Version changed from 25.01 to 25.03
Actions #5

Updated by Phil Wardt 2 days ago

I didn't understand the real use limitations of teh options.
The most important for me is to be able to make reservations out of the defined DHCP pool, letting the pool assign IPs based on connection order for devices not having a reservation outside the pool

Actions #6

Updated by Christian McDonald 2 days ago

It is now easy to test these Kea options in a way that doesn't require patching the base system (and they are backed up in config.xml).

Furthermore, if the merge "fails" (i,.e. Kea doesn't like the resulting JSON), we alert the operator via a UI notice and fallback to rendering the config json without the custom parts.

Example:

Actions

Also available in: Atom PDF