Ted Lemon
d07ccee395
Don't ignore 'no-op' peer state changes when we're disconnected.
2001-04-20 18:48:25 +00:00
Ted Lemon
837d4342f8
Oops, keep the old stos but take the new state when moving to recover_wait!
2001-04-20 18:34:27 +00:00
Ted Lemon
fd273e02d9
- Add recover_wait state.
...
- 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.
2001-04-20 18:11:40 +00:00
Ted Lemon
f67a7be59e
- Don't print out spurious messages and initiate reconnect timeouts when
...
dhcp_failover_link_initiate returns ISC_R_INCOMPLETE.
2001-04-20 15:14:40 +00:00
Ted Lemon
755acf8875
- Add some informational statements in recover mode when it looks like nothing
...
is happening.
- Fix another compile option incompatibility.
2001-04-18 19:00:42 +00:00
Ted Lemon
294d641edb
Fix a couple of ifdef compatibility mistakes.
2001-04-17 04:10:47 +00:00
Ted Lemon
da2928331e
Rototill the failover protocol support.
2001-04-16 22:28:50 +00:00
Ben Cottrell
fa0b47093f
Fix RT #1100 . This was due to incorrect refcounting of failover messages
...
in two places, and also the fact that failover_message_dereference() was
not zeroing out the pointer.
2001-03-28 23:07:10 +00:00
Ted Lemon
d588b01f6e
- Return a correct status in lease_ours_to_reallocate even if the lease isn't
...
in a failover pool.
2001-03-16 01:56:32 +00:00
Ted Lemon
d2ff2ec298
Don't reference/dereference failover_listeners if it's null.
2001-03-14 17:40:59 +00:00
Ted Lemon
7c6a9da029
Fix up a couple of type errors
2001-03-01 07:25:47 +00:00
Damien Neil
311dbab63d
Allow failover_state objects to have their local-state field to be changed
...
via OMAPI. In addition, attempts to set other fields in a state object
will return success without modifying the object; this is very ugly, but
required to allow an open -> modify -> update sequence of OMAPI operations
to work properly.
2001-02-27 01:17:34 +00:00
Ted Lemon
12fd607507
Fix up function declaration formatting.
2001-02-22 07:30:21 +00:00
Damien Neil
988c1ca71f
Added failover ack queueing. Failover update messages are no longer
...
immediately responded to, but are placed on a queue (attached to
the dhcp_failover_state_t structure). Updated leases are committed
only when the queue is drained, giving a significant performance
increase.
The toack queue is drained:
a) when the queue size exceeds half the partner's max-unacked-updates
setting, or
b) two seconds after the last update message is received.
Added 'refcnt' and 'next' fields to the failover_message_t structure,
to allow messages to be placed on the toack queue.
On the sending side, leases are no longer committed immediately after
being acked. Rather, the commit is deferred until no further acks are
pending. This also gives a major gain in performance.
2001-02-22 00:15:54 +00:00
Damien Neil
382f3632a9
Removed a log message from dhcp_failover_pool_rebalance() which generates
...
a bit too much spam.
2001-02-15 22:14:41 +00:00
Damien Neil
0980d1f7f9
Changed dhcp_failover_pool_rebalance() to defer committing updated
...
leases until the rebalance has completed. This gives a significant
performance gain when rebalancing large numbers of leases.
2001-02-15 21:35:30 +00:00
Ted Lemon
5f236d89ed
Don't use snprintf on platforms that don't have it.
2001-01-25 08:35:24 +00:00
Ted Lemon
54bdf6c75e
- Be more verbose about bogus state transitions.
...
- Don't accidentally do the transition when we decide not to.
2001-01-19 11:06:45 +00:00
Ted Lemon
9e3831637a
Pass client state to eval functions. Lots of other stuff.
2000-11-28 23:27:24 +00:00
Ted Lemon
812022ffd6
Add in a couple of missing break statements.
2000-11-24 04:19:05 +00:00
Ted Lemon
8998f8dff8
Don't print silly error messages
2000-09-29 22:04:35 +00:00
Ted Lemon
380da6c0dc
Fix misnamed function call.
2000-09-20 10:13:43 +00:00
Ted Lemon
db6960a7fa
- When partner disconnects (or stops responding to keepalives), try
...
to reconnect.
2000-09-20 09:06:39 +00:00
Ted Lemon
de8dfadfb6
Fix a core dump when a listen address is not specified (Joseph Breu).
2000-09-04 22:32:34 +00:00
Ted Lemon
d9539882ba
Explicitly handle some impossible states.
2000-09-01 17:22:48 +00:00
Ted Lemon
02ca1b45b7
Fix lots of state change problems.
2000-08-31 04:41:10 +00:00
Ted Lemon
5f0c7be134
- Add a bunch of support for all the funny recovery states.
...
- Clean up existing state machine support.
2000-08-24 18:41:42 +00:00
Ted Lemon
00c272ee8b
Fix another signed vs. unsigned char pointer issue.
2000-06-29 20:02:50 +00:00
Ted Lemon
0096c63929
Fix an unprotected call to failover_print.
2000-06-24 06:30:11 +00:00
Ted Lemon
999992c91e
Fix a couple of problems with the ack and update queue code.
2000-06-12 20:19:21 +00:00
Ted Lemon
e651f9b234
Fix up handling of failover peer disconnects.
2000-06-08 21:29:02 +00:00
Ted Lemon
6f0b9ed09c
- Break ack queue chain when a lease is removed from the ack queue, so that
...
its successor doesn't wind up back on the update queue when the lease is
next updated.
- Print the reject reason when a BNDACK includes one, but still remove the
lease from the update queue.
- Don't use the lease to send the BNDACK, since there may not be one locally.
- Support contact message, and inter-message-arrival timeouts.
2000-06-07 00:05:17 +00:00
Ted Lemon
007e3ee4df
Rework DHCP lease state handling to be compatible with failover protocol.
2000-06-02 21:27:21 +00:00
Ted Lemon
165bce70b2
Fix up various platform-specific errors.
2000-05-17 16:04:26 +00:00
Ted Lemon
20916cae75
- Fix all the OMAPI objects in the DHCP server and client that weren't
...
being correctly reference-counted.
- Make and use object-specific allocators.
- Add reference/dereference support to hash functions and to timeout
functions.
2000-05-16 23:03:49 +00:00
Ted Lemon
8c8e27c53e
Implement pool request and response so that secondary can operate.
2000-05-04 18:58:16 +00:00
Ted Lemon
25a69ca115
Miscellaneous bug fixes.
2000-05-03 23:07:54 +00:00
Ted Lemon
84fe3bd0c1
Fix an unitialized pointer reference.
2000-05-03 07:01:16 +00:00
Ted Lemon
9f3da356fd
More infrastructure, bug fixes: servers are talking.
2000-05-03 06:43:26 +00:00
Ted Lemon
85a537351f
- Support load balancing.
...
- Actually start the failover protocol.
- Fixes to get the protocol to the point of a completed handshake.
- Initial failover state machine (needs work yet).
2000-05-02 00:17:30 +00:00
Ted Lemon
49733f31d3
Go back to the BSD license.
2000-03-17 04:00:32 +00:00
Ted Lemon
4bd8800e89
Fix compilation errors introduced in the last set of checkins.
2000-01-26 14:56:18 +00:00
Ted Lemon
dd53dc5a99
Add lots more pieces of failover support.
2000-01-05 18:21:01 +00:00
Ted Lemon
d8a417b2ad
Output routines.
1999-11-23 22:25:07 +00:00
Ted Lemon
d9eefc5dec
Mass commit for Brian Murrell.
1999-11-20 18:36:32 +00:00
Ted Lemon
d50d0b8289
Backup commit - code isn't yet working.
1999-11-14 00:42:57 +00:00
Ted Lemon
f39b6e0089
Update license.
1999-03-16 05:50:46 +00:00
Ted Lemon
c68d2a87b1
Failover-specific code.
1999-02-23 19:26:21 +00:00