ISC DHCP 3.1.0a1 is now available!

David W. Hankins David_Hankins at
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
  was introduced.

- Support for adding, removing, and managing class and subclass statements
  via OMAPI.

- 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
  DHCPv6 support.

- 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
  formally supported.

ISC Training!  October 16-20, 2006, in the San Francisco Bay Area,
covering topics from DNS to DDNS & DHCP.  Email training at
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
or send mail to dhcp-announce-request at with the subject line of

More information about the dhcp-announce mailing list