The functionality is now only available through the new runtime paramater.
[ISC-Bugs #37551]
+- During startup, when the server encounters a lease whose binding state is
+ FTS_BACKUP but whose pool has no configured failover peer, it will reset the
+ lease's binding state to FTS_FREE. This allows the leases to be reclaimed
+ by the server after a pool's configuration has changed from failover to
+ standalone. Prior to this such leases would remain stuck in the backup state
+ making them unavailable for assignment. Note this conversion will occur
+ whether or not the server is compiled for failover.
+ [ISC-Bugs #36960]
+
Changes since 4.3.1b1
- Modify the linux and openwrt dhclient scripts to process information
lease->ip_addr.len, MDL);
return ISC_R_SUCCESS;
}
+
+#if defined (FAILOVER_PROTOCOL)
+ /* If the lease is in FTS_BACKUP but there is no peer, then the
+ * pool must have been formerly configured for failover and
+ * is now configured as standalone. This means we need to
+ * move the lease to FTS_FREE to make it available. */
+ if ((lease->binding_state == FTS_BACKUP) &&
+ (lease->pool->failover_peer == NULL)) {
+#else
+ /* We aren't compiled for failover, so just move to FTS_FREE */
+ if (lease->binding_state == FTS_BACKUP) {
+#endif
+ lease->binding_state = FTS_FREE;
+ lease->next_binding_state = FTS_FREE;
+ lease->rewind_binding_state = FTS_FREE;
+ }
/* Put the lease on the right queue. Failure to queue is probably
* due to a bogus binding state. In such a case, we claim success,