Feature #15659
openFeature #15650: Kea Feature Integration for parity with ISC DHCP
Kea option for ``reservations-out-of-pool`` and associated input validation (IPv4 and IPv6)
0%
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
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)
Updated by Jim Pingle 5 months ago
- Plus Target Version changed from 24.11 to 25.01
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.
Updated by Jim Pingle 3 months ago
- Plus Target Version changed from 25.01 to 25.03
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
Updated by Christian McDonald 2 days ago
- File clipboard-202503181149-njtlb.png clipboard-202503181149-njtlb.png added
- Assignee set to Christian McDonald
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: