Fix alignment of hash buffer in dhcpv6_response_is_valid
[odhcp6c.git] / README
1 odhcp6c - Embedded DHCPv6 Client
2
3
4 ** Abstract **
5
6 odhcp6c is a minimal DHCPv6 and RA-client for use in embedded Linux systems
7 especially routers. It compiles to only about 35 KB (-Os -s).
8
9
10 ** Features **
11
12 1. IPv6 bootstrap from different environments with autodetection
13         a) RA only
14         b) RA + stateless DHCPv6
15         c) RA + stateful DHCPv6 (either IA_NA or IA_PD or both)
16
17 2. Handling of non-temporary addresses (IA_NA)
18         a) handling of valid and preferred lifetimes
19         b) automatic fallback to stateless or PD-only mode
20
21 3. Support for DHCPv6 extension
22         a) Reconfigure-Messages
23         b) Prefix Delegation (including handling of valid and preferred lifetimes)
24         c) Prefix Exclusion
25         d) DNS Configuration Options
26         e) NTP Options
27         f) SIP Options
28         g) Information-Refresh Options
29         h) Configurable SOL_MAX_RT
30         i) DS-Lite AFTR-Name Option
31         j) Softwire address and port mapped clients (MAP, LW4over6)
32         j) CER-ID (experimental)
33
34 4. Support for requesting and parsing Router Advertisements
35         a) parsing of prefixes, routes, MTU and RDNSS options
36
37
38 ** Compiling **
39
40 odhcp6c uses cmake:
41 * To prepare a Makefile use:  "cmake ." 
42 * To build / install use: "make" / "make install" afterwards.
43 * To build DEB or RPM packages use: "make package" afterwards.
44
45
46 ** State Script **
47
48 The state script is called whenever the DHCPv6 state changes.
49 The script is called with the following parameters: <interface> <state>
50
51
52 States:
53 * started               The DHCPv6 client has been started
54 * bound                 A suitable server was found and addresses or prefixes acquired          
55 * informed              A stateless information request returned updated information
56 * updated               Updated information was received from the DHCPv6 server
57 * ra-updated            Updated information was received from via Router Advertisement
58 * rebound               The DHCPv6 client switched to another server
59 * unbound               The DHCPv6 client lost all DHCPv6 servers and will restart
60 * stopped               The DHCPv6 client has been stopped
61
62
63 Environment:
64 * RDNSS                 A space-separated list of recursive DNS servers
65 * DOMAINS               A space-separated list of DNS search domains
66 * SNTP_IP               A space-separated list of SNTP server IP addresses
67 * SNTP_FQDN             A space-separated list of SNTP server FQDNs
68 * SIP_IP                A space-separated list of SIP servers
69 * SIP_DOMAIN            A space-separated list of SIP domains
70 * OPTION_<num>          Custom option received as base-16
71 * PREFIXES              A space-separated list of prefixes currently assigned
72                                 Format: <prefix>/<length>,preferred,valid[,excluded=<excluded-prefix>/<length>][,class=<prefix class #>]
73 * ADDRESSES             A space-separated list of addresses currently assigned
74                                 Format: <address>/<length>,preferred,valid
75 * RA_ADDRESSES          A space-separated list of addresses from RA-prefixes
76                                 Format: <address>/<length>,preferred,valid
77 * RA_ROUTES             A space-separated list of routes from the RA
78                                 Format: <address>/<length>,gateway,valid,metric
79 * RA_DNS                A space-separated list of recursive DNS servers from the RA
80 * RA_DOMAINS            A space-separated list of DNS search domains from the RA
81 * RA_HOPLIMIT   Highest hop-limit received in RAs
82 * RA_MTU                MTU-value received in RA
83 * RA_REACHABLE  ND Reachability time
84 * RA_RETRANSMIT ND Retransmit time
85 * AFTR                  The DS-Lite AFTR domain name
86 * MAPE / MAPT / LW4O6   Softwire rules for MAPE, MAPT and LW4O6