they had performed ddns updates on a lease that is expiring, or was
released through the primary. As part of the same fix, stale binding scopes
will now be removed if a change in identity of a lease's active client is
detected, rather than simply if a lease is noticed to have expired (which it
may have expired without a failover server noticing in some situations).
[ISC-Bugs #19826b]
environments where DHCP servers can be reasonably guaranteed to be
"down" when the failover TCP socket is severed, "auto-partner-down".
This parameter is not generally safe, and by default is disabled, so
please carefully review the documentation of this parameter in the
dhcpd.conf(5) manpage before determining to use it yourself.
[ISC-Bugs #19600]
in scheduling a failover reconnection, if the link had not negotiated a
failover connect yet (e.g.: connection refused, asynch socket connect()
timeouts). [ISC-Bugs #19684]
leak ~20-30 octets per DHCPDISCOVER packet while failover was in use
and in normal state. [ISC-Bugs #19548]
- Various compilation fixes have been included for the memory related
DEBUG #defines in includes/site.h. [ISC-Bugs #19548]
high frequency messages moved to a deeper debugging symbol.
- The CLTT parameter in failover is now only updated by client activity,
and not by failover binding updates (taking on the peer's CLTT).
- Failover BNDUPD messages are now discarded if they conflict with an
update that has been trasnmitted, but not acknowledged.
[ISC-Bugs #17577c]
version 3.0.x failover server, a warning that the failover wire protocol
is incompatible is printed. [ISC-Bugs #17129]
- The failover server no longer issues a floating point error if it encounters
a previously undefined option code. [ISC-Bugs #17129]
was repaired. [ISC-Bugs #17228]
- A flaw in failover pool rebalancing that could cause POOLREQ messages to
be sent outside of the min-balance/max-balance scheduled intervals has
been repaired. [ISC-Bugs #17228]
mapped to the primary. Virgin leases now have an interleaved preference
between primary and secondary. [ISC-Bugs #17174]
- A bug was repaired where MAC Address Affinity for clients with no client
identifier was sometimes mishashed to the peer. Load balancing during
runtime and pool rebalancing were opposing. [ISC-Bugs #17174]
(moving leases between free and back to backup where there are an
odd number of leases).
[ISC-Bugs #16910]
- The 'pool' log line has been split into two messages, one before the
rebalance run, and one after.
[ISC-Bugs #16910]
- Any queued BNDACKs are transmitted before transmitting new BNDUPDs.
This enforces the correct sequence of events for the remote server
processing these messages.
[ISC-Bugs #16910]
3.1.0a1's tables resulted in a reduction in default server memory use.
The new selected values provide more of a zero sum (increasing the size
of tables likely to be populated, decreasing the size of tables unlikely).
- Lease structures appear in three spearate hashes: by IP address, by UID,
and by hardware address. One type of table was used for all three, and
improvements to IP address hashing were applied to all three (so UID and
hardware addresses were treated like 4-byte integers). There are now two
types of tables, and the uid/hw hashes use functions more appropriate
to their needs.
- The max-lease-misbalance percentage no longer causes scheduled rebalance
runs to be skipped: it still governs the schedule, but every scheduled
run will attempt balance.
[ISC-Bugs #16396]
entering normal state. [ISC-Bugs #16412]
- UPDREQ/UPDREQALL handling was optimized - it no longer dequeues and
requeues all pending updates. This should reduce the number of spurious
'xid mismatch' log mesasges. [ISC-Bugs #16412]
active to free states. Leases that belonged to the failover secondary
are moved to BACKUP state rather than FREE upon exiting EXPIRED state.
If lease rebalancing must move leases, it tries first to move leases
that belong to the peer in need.
- The server no longer sends POOLREQ messages unless the pool is severely
misbalanced in the peer's favor (see 'man dhcpd.conf' for more details).
- Pool rebalance events no longer happen upon successfully allocating a
lease. Instead, they happen on a schedule. See 'man dhcpd.conf' for the
min-balance and max-balance statements for more information.
[ISC-Bugs #13308]
- Correctly handle an immediate peer transition to partner-down when we come
up in normal.
- Change 'peer_name' attribute of failover-state object to just 'name'.
- If we make transition from startup to recover_wait, set a timer to
get us to recover_done.
- If peer state update is received, _always_ check to see if we should
do a transition out of startup.