diff --git a/changelog_unreleased/266-adaptive-lease-time-threshold b/changelog_unreleased/266-adaptive-lease-time-threshold new file mode 100644 index 0000000000..9802eca838 --- /dev/null +++ b/changelog_unreleased/266-adaptive-lease-time-threshold @@ -0,0 +1,7 @@ +[func] fdupont + Added the new "adaptive-lease-time-threshold" parameter + for the FLQ (Free Lease Queue) allocator which reduces + lifetime of leases when pools of a subnet have an + occupancy rate above a configured threshold (new feature + from ISC DHCP). + (Gitlab #226) diff --git a/doc/sphinx/arm/dhcp4-srv.rst b/doc/sphinx/arm/dhcp4-srv.rst index aec25d71c2..a669cff9ba 100644 --- a/doc/sphinx/arm/dhcp4-srv.rst +++ b/doc/sphinx/arm/dhcp4-srv.rst @@ -8985,3 +8985,20 @@ avoiding unnecessary impact on the server's startup time. As a result, the servers will not be able to offer some of the available leases to the clients. Only a server reclaiming a particular lease will be able to offer it. + +In Kea 3.1 a new parameter ``adaptive-lease-time-threshold`` was added. +It can be specified at global, shared network and subnet levels and +takes a floating point value between ``0.`` (excluded) and ``1.``. +It is disabled by default or when set to ``1.``. It is active only with +he FLQ allocator and when the occupancy rate of pools of subnet is +above the specified value the server decreases the lease valid lifetime +to the applicable ``min-valid-lifetime`` for new clients. Clients +renewing an already existing lease get at least the remaining lifetime +from the current lease. Since the leases expire faster, the server may +either recover more quickly or avoid pool exhaustion entirely. + +The occupancy rate is defined as being the number of already assigned +addresses (including the address being assigned) divided by the total +number of addresses in pools where the address can be allocated from +(i.e. if the query is not member of a ``client-classes`` guard of a pool +this pool is not taken into account). diff --git a/doc/sphinx/arm/dhcp6-srv.rst b/doc/sphinx/arm/dhcp6-srv.rst index 268804cf1d..6bf1c1c8d9 100644 --- a/doc/sphinx/arm/dhcp6-srv.rst +++ b/doc/sphinx/arm/dhcp6-srv.rst @@ -8730,3 +8730,21 @@ avoiding unnecessary impact on the server's startup time. As a result, the servers will not be able to offer some of the available leases to the clients. Only a server reclaiming a particular lease will be able to offer it. + +In Kea 3.1 a new parameter ``adaptive-lease-time-threshold`` was added. +It can be specified at global, shared network and subnet levels and +takes a floating point value between ``0.`` (excluded) and ``1.``. +It is disabled by default or when set to ``1.``. It is active only with +he FLQ allocator and when the occupancy rate of pools of subnet is +above the specified value the server decreases the lease valid lifetime +to the applicable ``min-valid-lifetime`` for new clients. Clients +renewing an already existing lease get at least the remaining lifetime +from the current lease. Since the leases expire faster, the server may +either recover more quickly or avoid pool exhaustion entirely. + +The occupancy rate is defined as being the number of already assigned +delegated prefixes (including the address being assigned) divided by the total +number of prefixes in pools where the address can be allocated from +(i.e. if the query is not member of a ``client-classes`` guard of a pool, +or if the delegated prefix length is not compatible this pool is not taken +into account).