2
0
mirror of https://gitlab.isc.org/isc-projects/dhcp synced 2025-08-31 14:25:41 +00:00

Several time related improvements:

- set initial delay to 0 to speed up client start
- added 'initial-delay' parameter to possibly revert to old behavior
- better handling of very short (1 or 2s) leases
- client lease records are recorded at most once every 15 seconds
- ICMP ping-check is now timed more precisely
- Servers that don't offer lease-time are now black-listed
[ISC-Bugs #19660]
This commit is contained in:
Tomek Mrugalski
2011-04-21 13:24:24 +00:00
parent 5ce8d6e749
commit 5d082abd92
9 changed files with 219 additions and 71 deletions

View File

@@ -754,6 +754,10 @@ struct lease_state {
# define MAX_DEFAULT_DDNS_TTL 3600
#endif
#if !defined (MIN_LEASE_WRITE)
# define MIN_LEASE_WRITE 15
#endif
/* Client option names */
#define CL_TIMEOUT 1
@@ -1082,6 +1086,8 @@ struct client_config {
TIME timeout; /* Start to panic if we don't get a
lease in this time period when
SELECTING. */
TIME initial_delay; /* Set initial delay before first
transmission. */
TIME initial_interval; /* All exponential backoff intervals
start here. */
TIME retry_interval; /* If the protocol failed to produce
@@ -1134,7 +1140,7 @@ struct client_state {
int envc; /* Number of entries in environment. */
struct option_state *sent_options; /* Options we sent. */
enum dhcp_state state; /* Current state for this interface. */
TIME last_write; /* Last time this state was written. */
/* DHCPv4 values. */
struct client_lease *active; /* Currently active lease. */