David W. Hankins
David_Hankins at isc.org
Fri Jan 26 17:51:24 UTC 2007
On Fri, Jan 26, 2007 at 04:46:57PM +0900, Michael Kwok wrote:
> If the statement "infinite-is-reserved" on IP Pools and DHCP failover is
> used.. what happens ?? or what should happen ?
The question isn't very specific. Selected quotes from
The infinite‐is‐reserved statement
ISC DHCP now supports ’reserved’ leases. See the section on
RESERVED LEASES below. If this flag is on, the server will automat‐
ically reserve leases allocated to clients which requested an infi‐
nite (0xffffffff) lease‐time.
The default is off.
It’s often useful to allocate a single address to a single client, in
approximate perpetuity. Host statements with fixed‐address clauses
exist to a certain extent to serve this purpose, but because host
statements are intended to approximate ’static configuration’, they
suffer from not being referenced in a littany of other Server Services,
such as dynamic DNS, failover, ’on events’ and so forth.
If a standard dynamic lease, as from any range statement, is marked
’reserved’, then the server will only allocate this lease to the client
it is identified by (be that by client identifier or hardware address).
In practice, this means that the lease follows the normal state engine,
enters ACTIVE state when the client is bound to it, expires, or is
released, and any events or services that would normally be supplied
during these events are processed normally, as with any other dynamic
lease. The only difference is that failover servers treat reserved
leases as special when they enter the FREE or BACKUP states ‐ each
server applies the lease into the state it may allocate from ‐ and the
leases are not placed on the queue for allocation to other clients.
Instead they may only be ’found’ by client identity. The result is
that the lease is only offered to the returning client.
Care should probably be taken to ensure that the client only has one
lease within a given subnet that it is identified by.
Leases may be set ’reserved’ either through OMAPI, or through the
´infinite‐is‐reserved’ configuration option (if this is applicable to
your environment and mixture of clients).
It should also be noted that leases marked ’reserved’ are effectively
treated the same as leases marked ’bootp’.
I should probably note a few things.
1) Failover on 3.1.0a3 is known to have at least one lease database
synchronization bug. Yay! Anyway, it's not ready for any kind of
2) A 'real' way to set leases reserved would be to have some extra channel
(like OMAPI) to change dynamic server state during runtime. A way to
just tick off a dynamic lease and flag it reserved. OMAPI is there,
and it might even work, but that's a pretty heavy burden...it's clunky
and hard to get going with. Editing dhcpd.leases means a lot of server
restarts. So this option was a last ditch idea at making a way folks
could at least test this feature in labs, and toy around with the idea
'reserved dynamic leases' present.
It's probably not actually useful in a production environment, unless
you have a very contrived production environment. But it seemed wierd
to put a feature out there without at least one easy way to set the
reserved status bit.
David W. Hankins "If you don't do it right the first time,
Software Engineer you'll just have to do it again."
Internet Systems Consortium, Inc. -- Jack T. Hankins
More information about the dhcp-users