different pools based on class
Related: https://support.isc.org/Ticket/Display.html?id=16773
Scenario: Kea configured with one subnet with two pools inside, one pool is "open" second is only for client that will be assigned to class "super-fun-clients". Class will be assigned via global reservation.
Problem: I can't make it work, either all clients get all addresses or non of the clients are able to get "super-fun-clients" pool.
Example configuration (I tried more, but this one is, what I think, correct)
{
"Dhcp4": {
"client-classes": [
{
"name": "super-fun-clients",
"only-if-required": true
}
],
"hooks-libraries": [],
"interfaces-config": {
"interfaces": [
"enp0s9"
]
},
"lease-database": {
"type": "memfile"
},
"loggers": [
{
"debuglevel": 99,
"name": "kea-dhcp4",
"output_options": [
{
"output": "/home/wlodek/installed/git-thread/var/log/kea.log"
}
],
"severity": "DEBUG"
}
],
"multi-threading": {
"enable-multi-threading": true,
"packet-queue-size": 16,
"thread-pool-size": 2
},
"option-data": [],
"rebind-timer": 2000,
"renew-timer": 1000,
"reservations": [
{
"client-classes": [
"super-fun-clients"
],
"hw-address": "aa:bb:cc:dd:ee:ff"
}
],
"shared-networks": [],
"subnet4": [
{
"interface": "enp0s9",
"pools": [
{
"pool": "10.0.0.1-10.0.0.11",
"require-client-classes": [
"super-fun-clients"
]
},
{
"pool": "10.0.0.15-10.0.0.25"
}
],
"reservation-mode": "global",
"subnet": "10.0.0.0/24"
}
],
"valid-lifetime": 4000
}
}
am I making a mistake or is it a bug or pool selection is not possible this way?
EDIT: and packets are classified correctly, pkt with mac address "aa:bb:cc:dd:ee:ff" is assigned to super-fun-clients
class
DHCP4_CLASS_ASSIGNED [hwtype=1 aa:bb:cc:dd:ee:ff], cid=[no info], tid=0x3eaf28: client packet has been assigned to the following class(es): ALL, super-fun-clients, KNOWN