1/* Author: Shirley Ma, xma@us.ibm.com */
2
3	DHCPv6 is a stateful address autoconfiguration protocol for
4IPv6, a counterpart to IPv6 stateless address autoconfiguration
5protocol. It can either be used independently or it can coexist with
6its counterpart protocol. This protocol uses client/server mode of
7operation but can also provide support through a Relay Agent. It is
8currently being defined by IETF DHC WG and the specification is still
9in the draft form.
10
11	This protocol is intended to support on IPv6 based networks
12only. For specific details of the protocol, refer to the draft
13specification available at IETF.
14
15	The ultimate goal of this project is to provide a protocol
16conformant implementation for Linux. The current implementation will
17slowly evolve to support per the current draft and ultimately to the
18proposed standard when it comes out of IETF.
19
20Current Implementation status: 
21
22	This implementation supports IPv6 address assignment to the
23clients.  It also has the support for prefix delegation, DNS server
24updates but those features are not validated yet. The server also
25supports messages sent through relay agents, both inbound and
26outbound.
27
28	The Linux implementation is based upon KAME's DHCPv6
29implementation on BSD which lacked the support for dynamic address
30assignment feature, now supported in Linux.
31
32A. Validated Features: 
33
34      IPv6 address Assignment & Prefix Delegation
35
36      1. Server configuration file support for both static and dynamic
37assignments.
38      2. Server lease file support for saving all the client's IPv6
39address binding
40	 info. 
41      3. Client IPv6 address assignment and temporary IPv6 address
42assignment support
43	 on the same link. 
44      4. Supported Options: Rapid commit, Server Preference,  Information 
45         Request, Unicast, Elapsed Time, ClientID, ServerID , IA_NA , IA_TA ,
46	 IA_ADDR , IA_PD, Status, Relay Message, Interface Identifier. 
47     5. Solicit/Request/Advertise/Reply/Infomation-request 
48         messages/Renew/Rebind/Release/Confirm/ messages support 
49	 for IPv6 address binding. 
50      8. Client configuration file support for IPv6 address assignment. 
51      9. Client lease file support for saving individual client ipv6address 
52         binding info. 
53      10. DNS server update support according to 
54          draft-ietf-dhc-dhcpv6-opt-dnsconfig-03.txt.
55      11. Prefix delegation support according to 
56	  draft-ietf-dhc-dhcpv6-opt-prefix-delegation-03.txt
57      12. radvd.conf update and radvd reload for prefix delegation	
58
59B. Support available but not validated yet 
60
61      1. Request option support 
62      2. Relay-Forw/Relay-Repl messages and Relay Message Option
63
64C. ToDo List: 
65
66      1. Authentication/User class/Vendor class/Interface-ID option 
67         support 
68      2. Reconfig message support. 
69
70D. INSTALLATTION:
71
72	1. tar -xvzf dhcp6.tar
73	2. ./configure
74	3. make
75	4. insmod ipv6 (if ipv6 is not compiled in the kernel)
76	5. mkdir /var/db/dhcpv6 (create dhcpv6 database directory)
77	6. cp dhcp6c.conf /etc/dhcp6c.conf (copy client configuration file)
78	7. cp dhcp6s.conf /etc/dhcp6s.conf (copy server configuration file)
79	8. ./dhcp6s -dDf [eth0 eth1 ...] (start server, turn on debug)
80	9. ./dhcp6c -dDf eth0 (start client, turn on debug)
81	
82