Export AFTR-IP as well and update README
[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 30 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) duplicate address detection
20         c) automatic fallback to stateless or PD-only mode
21
22 3. Support for DHCPv6 extension
23         a) Reconfigure-Messages
24         b) Prefix Delegation (including handling of valid and preferred lifetimes)
25         c) Prefix Exclusion
26         d) DNS Configuration Options
27         e) NTP Options
28         f) SIP Options
29         g) Information-Refresh Options
30         h) SOL_MAX_RT default to 3600
31         i) DS-Lite AFTR-Name Option
32
33 4. Support for requesting and parsing Router Advertisements
34         a) parsing of prefixes, routes, MTU and RDNSS options
35
36
37 ** Compiling **
38
39 odhcp6c uses cmake:
40 * To prepare a Makefile use:  "cmake ." 
41 * To build / install use: "make" / "make install" afterwards.
42 * To build DEB or RPM packages use: "make package" afterwards.
43
44
45 ** State Script **
46
47 The state script is called whenever the DHCPv6 state changes.
48 The script is called with the following parameters: <interface> <state>
49
50
51 States:
52 * started               The DHCPv6 client has been started
53 * bound                 A suitable server was found and addresses or prefixes acquired          
54 * informed              A stateless information request returned updated information
55 * updated               Updated information was received from the DHCPv6 server
56 * ra-updated            Updated information was received from via Router Advertisement
57 * rebound               The DHCPv6 client switched to another server
58 * unbound               The DHCPv6 client lost all DHCPv6 servers and will restart
59 * stopped               The DHCPv6 client has been stopped
60
61
62 Environment:
63 * RDNSS                 A space-separated list of recursive DNS servers
64 * DOMAINS               A space-separated list of DNS search domains
65 * SNTP_IP               A space-separated list of SNTP server IP addresses
66 * SNTP_FQDN             A space-separated list of SNTP server FQDNs
67 * SIP_IP                A space-separated list of SIP servers
68 * SIP_DOMAIN            A space-separated list of SIP domains
69 * OPTION_<num>          Custom option received as base-16
70 * PREFIXES              A space-separated list of prefixes currently assigned
71                                 Format: <prefix>/<length>,preferred,valid,<excluded-prefix>/<length>
72 * ADDRESSES             A space-separated list of addresses currently assigned
73                                 Format: <address>/<length>,preferred,valid
74 * RA_ADDRESSES          A space-separated list of addresses from RA-prefixes
75                                 Format: <address>/<length>,preferred,valid
76 * RA_ROUTES             A space-separated list of routes from the RA
77                                 Format: <address>/<length>,gateway,valid,metric
78 * RA_DNS                A space-separated list of recursive DNS servers from the RA
79 * AFTR                  The DS-Lite AFTR domain name
80 * AFTR_IP               The DS-Lite AFTR resolved IPv6 address