IPv6 Intelligence

WIDE DHCPv6 (KAME)

The KAME DHCPv6 software was part of the complete (stand-alone) KAME IPv6 stack/snapshot and is now developed and maintained separately from KAME in the WIDE project (and thus named WIDE DHCPv6). It can act as DHCPv6 client, server or relay agent.

Many open source projects ship the KAME DHCPv6 as a addon package in their various package distribution systems, including the FreeBSD and OpenBSD ports and NetBSD pkgsrc. For download links see the Further reading section.

Content from April 2009
Current version 20080615
Tested version 20060322 (from FreeBSD Ports)
Documentation for 20080615
For platforms FreeBSD, OpenBSD, NetBSD, Linux
Tested platforms FreeBSD 6.1
Other programs ISC DHCP DHCPv6, Dibbler DHCPv6

up

DHCPv6 functions and options

WIDE DHCPv6 supports different DHCPv6 options (see list further below) and features/roles (client, server and relay). We tested a subset in version 20060322:

Other options and functionality were not tested.

The following IETF DHCPv6 RFCs are supported:

Table 1: WIDE DHCPv6 20080615 supported RFCs1
Document Title
RFC3315 Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
RFC3319 Dynamic Host Configuration Protocol (DHCPv6) Options for Session Initiation Protocol (SIP) Servers
RFC3633 IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP)
RFC3646 DNS Configuration options for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
RFC3898 NIS server option, NIS domain option/NIS+ server option, NIS+ domain option
RFC4075 Simple Network Time Protocol (SNTP) Configuration Option for DHCPv6
RFC4242 Information Refresh Time Option for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
RFC4280 BCMCS server option, BCMCS domain option

up

Client DHCPv6 configuration

Stateful DHCPv6

If configured for stateful DHCPv6, the KAME client can ask for address assignments and other informations. In the below example, it asks for a permanent address (ia-na), a delegated prefix (ia-pd) and DNS-information. In the (two) empty id assoc ... { } blocks, more configuration for the address and prefix delegation queries could be configured.

The configuration file lives in /usr/local/etc/dhcp6c.conf:
(if is the used interface). interface if {
 send ia-na 1;
 send ia-pd 0;
 send domain-name-servers,domain-name;
};
id assoc na 1 {
};
id assoc pd {
};

Note: the numbers of both ID associations (ia-na and ia-pd) were not chosen arbitrarily; our tested version worked only with this combination. No further research/debugging was made into this matter.

Stateless DHCPv6

With the information-only option, the KAME DHCPv6 client sends requests for stateless DHCPv6 information. In the example below, it asks for the addresses of the nameservers and the clients’ own domain-name.

The configuration file lives in /usr/local/etc/dhcp6c.conf (if is the used interface). interface if {
 information-only;
 send domain-name-servers,domain-name;
}

up

References/Documentation

  1. README from WIDE distribution tarball. (Revision 1.3, 12.1.2005, from wide-dhcpv6-20080615) and CHANGES from WIDE distribution tarball. (15.06.2008, from wide-dhcpv6-20080615)

Further reading

  1. WIDE-DHCPv6 project page on Sourceforge. Contains download links to source packages, mailing lists and forum (Accessed April 2009)
  2. FreeBSD ports/net/dhcp6 web interface. As of this writing, ported version is 20080615, based on WIDE DHCPv6 (Accessed July 2010)
  3. OpenBSD Ports ports/net/wide-dhcpv6 web interface. As of this writing, ported version is 20080615, based on WIDE DHCPv6 (Accessed July 2010)
  4. NetBSD pkgsrc net/wide-dhcpv6 directory. As of this writing, ported version is 20080615, based on WIDE DHCPv6 (Accessed July 2010)

up