Documentation in ARM surrounding "ip-reservations-unique" flag is misleading
In the ARM in both the DHCPv4 and DHCPv6 sections entitled "Multiple Reservations for the Same IP", this paragraph appears:
This setting is currently supported by the most popular host database backends, i.e. MySQL and PostgreSQL. Host Cache (see host_cache: Host Cache Reservations for Improved Performance), or the RADIUS backend (see radius: RADIUS Server Support). An attempt to set ip-reservations-unique to false when any of these three backends is in use yields a configuration error.
This seems to imply that the flag ip-reservations-unique
cannot be set to false
if MySQL, PostgreSQL, or RADIUS are being used for reservation storage. This is, in fact, not the case. No configuration error is shown, the server will start and run / work correctly with this simple configuration:
{
"Dhcp4": {
"control-socket": {
"socket-type": "unix",
"socket-name": "/tmp/kea-dhcp4-socket"
},
"interfaces-config": {
"interfaces": [ "ens256" ]
},
"cache-threshold": .25,
"valid-lifetime": 40,
"lease-database": {
"type": "memfile",
"persist": false
},
"hosts-database": {
"type": "mysql",
"name": "kea",
"user": "kea",
"password": "kea"
},
"loggers": [
{
"name": "kea-dhcp4",
"output_options": [
{
"output": "stdout"
}
],
"severity": "DEBUG",
"debuglevel": 99
}
],
"hooks-libraries": [
{
"library": "/usr/local/kea/2.3.6/lib/kea/hooks/libdhcp_host_cmds.so"
}
],
"ip-reservations-unique": false,
"reservations-global": false,
"reservations-in-subnet": true,
"reservations-out-of-pool": true,
"subnet4": [
{
"subnet": "10.1.2.0/24",
"id": 1
}
]
}
}
One can add multiple reservations for the same IP using libdhcp_host_cmds.so
hook with no errors emitted. The associated client(s) will receive the IP address assigned correctly.