ISC DHCP 3.1.0a1 is now available!
David W. Hankins
David_Hankins at isc.org
Thu Sep 7 16:59:40 UTC 2006
*** From dhcp-announce -- To unsubscribe, see the end of this message. ***
ISC DHCP 3.1.0a1 is now available for download. The 3.1.0 release
is ISC DHCP 3's first feature release since it was engineered in
3.1.0a1 is the first ALPHA quality release of the 3.1.0 release
cycle, and does not yet constitute a complete feature freeze
(features may be added or removed in a future alpha release).
A summary of the major new features:
- Failover protocol 'MAC Address Affinity' to reduce pool churn.
- Support for the 'reserved' and 'bootp' failover flags, which
means in lay terms that static allocations can be made to
clients in which 'on events' can be supported.
- Several other failover optimizations and changes.
- Management of class and subclass statements via OMAPI.
- Many new configuration statement functions.
- Initial formal support for VIVCO/VIVSO options.
Note that 3.1.0 engineering intended to sync ISC's failover
implementation with the failover protocol draft revision level
12. Due to our time constraints we have fallen visibly short
of that goal, but are substantially closer to it. One of the
major changes between revision levels 7 and 12 was to the protocol
message numbers: virtually everything was renumbered so that the
tables could be alphabetized. This means that failover in 3.1.x
is NOT reverse compatible with any 3.0.x version. It is reverse
compatible on a given system: the dhcpd.leases format has not
changed, so you can take an individual system forward into 3.1.0 and
backward to 3.0.5 without any issue, but you cannot run a 3.1.0 and
3.0.x system next to each other...the failover protocol will not
Note carefully also that the behaviour of 'ignore client-updates'
has changed, so if this appears in your dhcpd.conf, and you had
intended 'deny client-updates', please make that adjustment.
For a complete list of changes from any previous release, please
consult the RELNOTES file within the source distribution, or on our
This release, and its OpenPGP-signatures are available now from:
ISC's Release Signing Key can be obtained at:
Changes since 3.0 (New Features)
- A workaround for certain STSN servers that send a mangled domain-name
option was introduced for dhclient. The client will now accept corrupted
server responses, if they contain a valid DHCP_MESSAGE_TYPE (OFFER, ACK,
or NAK). The server will continue to not accept corrupt client packets.
- Support for 'reserved' (psuedo-static) and BOOTP leases via failover
- Support for adding, removing, and managing class and subclass statements
- The failover implementation was updated to comply with revision 12 of
the protocol draft.
- 'make install' now creates the initial zero-length dhcpd.leases file if
one does not already exist on the system.
- RFC3942 compliance, site-local option spaces start at 224 now, not 128.
- The Load Balance Algorithm was misimplemented. The current implementation
matches RFC 3074.
- lcase() and ucase() configuration expressions have been added which adjust
their arguments from upper to lower and lower to upper cases respectively.
Thanks to a patch from Albert Herranz.
- The dhclient 'reject ...;' statement, which rejects leases given by named
server-identifiers, now permits address ranges to be specified in CIDR
notation. Thanks to a patch from David Boyce.
- The subnet-mask option is now supplied by default, but at lowest
priority. This helps a small minority of clients that provide parameter
request lists, but do not list the subnet-mask option because they were
designed to interoperate with a server that behaves in this manner.
- The FQDN option is similarly supplied even if it does not appear on the
parameter request list, but not to the exclusion of options that do
appear at the parameter request list. Up until now it had ultimate
priority over the client's parameter request list.
- Varying option space code and length bit widths (8/16/32) are now
supported. This is a milestone in achieving RFC 3925 "VIVSO" and
- A new common (server or client) option, 'db-time-format local;', has
been added which prints the local time in /var/db/dhcpd.leases rather
than UTC. Thanks to a patch from Ken Lalonde.
- Some patches to improve DHCP Server startup speed from Andrew Matheson
have been incorporated.
- 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.
- The DHCP Relay Agent Information Option / Link Selection Sub-Option
is now supported. (See RFC3527 for details).
- A new DDNS related server option, update-conflict-detection, has been
added. If this option is enabled, dhcpd will perform normal DHCID
conflict resolution (the default). If this option is disabled, it will
instead trust the assigned name implicitly (removing any other bindings
on that name). This option has not been made available in dhclient.
- In those cases where the DHCP software manufactures an IP header (to
transmit via bpf, lpf, etc), the IP TTL the software selects has been
increased from 16 to 128. This is intended to match Microsoft Windows
DHCP Client behaviour, to increase compatibility.
- 'ignore client-updates;' now has behaviour that is different from
'deny client-updates;'. The client's request is not truly ignored,
rather it is encouraged. Should this value be configured, the server
updates DNS as though client-updates were set to 'deny'. That is, it
enters into DNS whatever it is configured to do already, provided it is
configured to. Then it sends a response to the client that lets the
client believe it is performing client updates (which it will), probably
for a different name. In essence, this lets the client do as it will,
ignoring this aspect of their request.
- Support for compressed 'domain name list' style DHCP option contents, and
in particular the domain search option (#119) was added.
- The DHCP LEASEQUERY protocol as defined in RFC4388 is now implemented.
LEASEQUERY lets you query the DHCP server for information about a lease,
using either an IP address, MAC address, or client identifier. Thanks
to a patch from Justin Haddad.
- DHCPD is now RFC2131 section 4.1 compliant (broadcast to all-ones ip and
ethernet mac address) on the SCO platform specifically without any strange
ifconfig hacks. Many thanks go to the Kroger Co. for donating the
hardware and funding the development.
- A new common configuration executable statement, execute(), has been
added. This permits dhcpd or dhclient to execute a named external
program with command line arguments specified from other configuration
language. Thanks to a patch written by Mattias Ronnblom, gotten to us
via Robin Breathe.
- A new dhcp server option 'adaptive-lease-time-threshold' has been added
which causes the server to substantially reduce lease-times if there are
few (configured percentage) remaining leases. Thanks to a patch submitted
from Christof Chen.
- Encapsulated option spaces within encapsulated option spaces is now
ISC Training! October 16-20, 2006, in the San Francisco Bay Area,
covering topics from DNS to DDNS & DHCP. Email training at isc.org.
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
To unsubscribe from this list, visit http://www.isc.org/dhcp-lists.html
or send mail to dhcp-announce-request at isc.org with the subject line of
More information about the dhcp-announce