2
0
mirror of https://gitlab.isc.org/isc-projects/dhcp synced 2025-08-30 05:47:45 +00:00

99 Commits

Author SHA1 Message Date
David Hankins
6368a1bd72 - Multiple (up to "delayed-ack x;" maximum) DHCPv4 packets are now queued and
released in bursts after single fsync() events when the upper limit is
  reached or if the receiving sockets go dry.  The practical upshot is
  that fsync-coupled server performance is now multiplicitively increased.
  The default delayed ack limit is 28.  Thanks entirely to a patch from
  Christof Chen.
2008-01-21 19:53:21 +00:00
David Hankins
2574fdb165 Declare variables prior to code so as to produce code that can be compiled
without C99 compliance.
2008-01-08 17:51:01 +00:00
Francis Dupont
be62cf0675 finer granularity timers 2008-01-03 00:30:14 +00:00
David Hankins
3c12f7461b - The warning logged when an address range doesn't fit in the subnets
they were declared has been updated to be more helpful and identify the
  typo in configuration that created the spanning addresses.
  [ISC-Bugs #17270]
2007-12-13 16:50:17 +00:00
Francis Dupont
20ae1affb0 almost editorial stuff 2007-11-30 21:51:43 +00:00
David Hankins
aa3e348e8b - An assertion in lease counting relating to reserved leases was repaired.
[ISC-Bugs #17130]
2007-10-01 15:12:19 +00:00
Shane Kerr
28868515f6 Code cleanup to remove warnings from "gcc -Wall".
See RT ticket #16988 for more.
2007-07-13 06:43:43 +00:00
David Hankins
b8221d9512 - supersede_lease() now requeues leases in their respective hardware
address hash bucket.  This mirrors client identifier behaviour.
  [ISC-Bugs #16936]
2007-06-08 18:56:30 +00:00
David Hankins
706792c9d3 Copyright++ 2007-05-19 19:16:28 +00:00
David Hankins
fe5b0fdd70 - Replaced ./configure shellscripting with GNU Autoconf. [ISC-Bugs #16405b]
- RELNOTES/README++
- s/wether/whether/ in dhcp-options.5 manpage edits.
2007-05-19 18:47:15 +00:00
David Hankins
98bd7ca099 DHCPv6 branch merged to HEAD. 2007-05-08 23:05:22 +00:00
David Hankins
9163e15d4e - Error in rt16831 repaired...append the n_hw tail of the insert point to
the n_hw point of the current lease...not the n_uid tail.
2007-05-04 21:46:50 +00:00
David Hankins
d5b6835f89 - The server's "by client-id" and "by hardware address" hash table lists
are now sorted according to the preference to re-allocate that lease to
  returning clients.  This should eliminate pool starvation problems
  arising when "INIT" clients were given new leases rather than presently
  active ones. [ISC-Bugs #16831]
2007-04-26 20:06:25 +00:00
David Hankins
6708d944e1 - Some default hash table sizes were tweaked, some upwards, some downwards.
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]
2006-10-27 22:54:13 +00:00
David Hankins
616d67cb0a - The servers now try harder to transmit pending binding updates when
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]
2006-09-27 18:27:27 +00:00
David Hankins
808d45fd9d Head bugfix, dueling BNDUPD/ACKs [ISC-Bugs #16346b] 2006-08-28 21:35:03 +00:00
Shane Kerr
6d103865fb Merged rt12324, DHCPLEASEQUERY. 2006-07-25 13:26:00 +00:00
David Hankins
8757898765 - Abandoned or dissociated (err condition) leases now remove any related
dynamic dns bindings.  Thanks to a patch from Patrick Schoo.
  [ISC-Bugs #15836]
2006-07-18 18:15:53 +00:00
David Hankins
2426234f7c - Failover pairs now implement 'MAC Affinity' on leases moving from the
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]
2006-06-16 19:26:45 +00:00
David Hankins
b500bd4c23 - Some patches to improve DHCP Server startup speed from Andrew Matheson
have been incorporated. [ISC-Bugs #3154]
2006-06-09 15:51:02 +00:00
David Hankins
f7fdb21693 - Varying option space code and length bit widths (8/16/32) are now
supported.  This is a milestone in acheiving RFC 3925 "VIVSO" and
  DHCPv6 support. [ISC-Bugs #15979]
2006-06-01 20:23:18 +00:00
David Hankins
2d767ea0a4 There are 6 lease pools now, not 5. [ISC-Bugs #16051] 2006-05-30 19:46:37 +00:00
David Hankins
3a16098f0b Pulling work between V3-0-4B3 and present v3-release-branch to HEAD. 2006-05-05 20:32:31 +00:00
David Hankins
a55ccdd037 - Support for 'reserved' (psuedo-static) and BOOTP leases via failover
was introduced. [ISC-Bugs #13672]
- The failover implementation was updated to comply with revision 12 of
  the protocol draft. [ISC-Bugs #13672]
2006-04-27 17:26:42 +00:00
David Hankins
ba65ea235f Silence sign change warnings. [ISC-Bugs #15884] 2006-03-02 19:02:56 +00:00
David Hankins
88cd8aca9e - Merge changes between 3.0.3RC1 and 3.0.4-BETA-3 into HEAD (silence
robie).
2006-02-24 23:16:32 +00:00
David Hankins
06e77c34fb Corrections to changes made on HEAD pursuant to review of changes between
V3.0.3 and HEAD.  [ISC-Bugs #15348]
2005-09-30 17:57:32 +00:00
David Hankins
98311e4ba9 MASSIVE merge from V3-RELEASE-BRANCH into HEAD. HEAD and V3-RELEASE are
now synced as of tag V3-0-3-BETA-1.
2005-03-17 20:15:29 +00:00
James Brister
f3fe382d68 Fixes for QoS support. 2001-07-10 20:36:06 +00:00
Ted Lemon
d758ad8cac Merge changes between 3.0rc7 and 3.0rc8pl2. 2001-06-27 00:31:20 +00:00
James Brister
899d754f27 OMAPI class and subclass support. 2001-06-22 16:47:20 +00:00
Ted Lemon
31bbee784c Sync with 3.0rc7 2001-05-17 19:04:09 +00:00
Ted Lemon
4d1a48ebef Don't free null uid buffers. 2001-05-02 07:09:36 +00:00
Ted Lemon
ed1dc2c57c Fix (I hope!) the billing-class bug. 2001-04-30 22:38:34 +00:00
Ted Lemon
9750d9ca62 Fix various places where refcounting of hosts is needed. 2001-04-27 21:30:59 +00:00
Ted Lemon
f921423e4d Get rid of a couple of spurious debugging statements. 2001-04-24 02:31:27 +00:00
Ted Lemon
f381868210 Fix up some mistakes in the last commit. Fix a zero-length malloc. 2001-04-24 01:18:08 +00:00
Ted Lemon
86c60cbea0 Don't malloc zero-length uid buffer. 2001-04-24 01:02:24 +00:00
Ted Lemon
18529fb0c5 Unbill classes before dereferencing them. 2001-04-24 00:55:31 +00:00
Ted Lemon
5b9b3c1f96 When a release expires or is released, unbill it. 2001-04-20 20:39:54 +00:00
Ted Lemon
a58978f058 Fix lease binding state transitions. 2001-04-16 22:32:58 +00:00
Ted Lemon
ff591474e0 Make compiles work without NSUPDATE. 2001-04-09 01:18:15 +00:00
Ted Lemon
77f5b2d92e Process the state transition if we're doing a deferred update. 2001-04-06 01:03:39 +00:00
Ted Lemon
940e5b93bd Initialize a couple of pointers. 2001-03-16 01:57:00 +00:00
Ted Lemon
cb8176c4ae Always reference count leases. 2001-03-15 23:22:33 +00:00
Ted Lemon
0240e57c46 Check comp->uid instead of lease->uid when entering a lease's ID info. 2001-03-14 15:45:41 +00:00
Damien Neil
15c24b882b Changed supersede_lease() to return 1, even if the commit option is
not specified.  (Before, it would always return 0 if commit was not
given.)  Fixed up the one call to supersede_lease() which expected
the old behavior.

Added a check to supersede_lease() to return an error if the pimmediate
flag is given, and commit is not.  (You should never be sending information
on an uncommitted lease to a peer.)

Separated the failover queue update (the propogate flag) test from
the commit test in supersede_lease(), so that you can now enqueue an
update on an uncommitted lease.
2001-02-15 21:34:08 +00:00
Ted Lemon
25f11933ac - Get rid of lease -> hostname, which doesn't do anything.
- Fix a bug in uid handling that could cause core dumps with long uids.
2001-02-12 21:09:21 +00:00
Ted Lemon
6fb139d337 - Fix a core dump pointed out by Albert Herranz.
- Fix handling of agent options.
2001-01-25 08:36:36 +00:00
Ted Lemon
e7bd704742 Do not delete a client's DNS entry on entry to a transitory state (e.g., expired). 2001-01-19 11:10:32 +00:00