]> git.decadent.org.uk Git - odhcp6c.git/blob - README
Merge pull request #24 from themiron/master
[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) 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         k) Prefix Class (experimental)
33         l) CER-ID (experimental)
34
35 4. Support for requesting and parsing Router Advertisements
36         a) parsing of prefixes, routes, MTU and RDNSS options
37
38
39 ** Compiling **
40
41 odhcp6c uses cmake:
42 * To prepare a Makefile use:  "cmake ." 
43 * To build / install use: "make" / "make install" afterwards.
44 * To build DEB or RPM packages use: "make package" afterwards.
45
46
47 ** State Script **
48
49 The state script is called whenever the DHCPv6 state changes.
50 The script is called with the following parameters: <interface> <state>
51
52
53 States:
54 * started               The DHCPv6 client has been started
55 * bound                 A suitable server was found and addresses or prefixes acquired          
56 * informed              A stateless information request returned updated information
57 * updated               Updated information was received from the DHCPv6 server
58 * ra-updated            Updated information was received from via Router Advertisement
59 * rebound               The DHCPv6 client switched to another server
60 * unbound               The DHCPv6 client lost all DHCPv6 servers and will restart
61 * stopped               The DHCPv6 client has been stopped
62
63
64 Environment:
65 * RDNSS                 A space-separated list of recursive DNS servers
66 * DOMAINS               A space-separated list of DNS search domains
67 * SNTP_IP               A space-separated list of SNTP server IP addresses
68 * SNTP_FQDN             A space-separated list of SNTP server FQDNs
69 * SIP_IP                A space-separated list of SIP servers
70 * SIP_DOMAIN            A space-separated list of SIP domains
71 * OPTION_<num>          Custom option received as base-16
72 * PREFIXES              A space-separated list of prefixes currently assigned
73                                 Format: <prefix>/<length>,preferred,valid[,excluded=<excluded-prefix>/<length>][,class=<prefix class #>]
74 * ADDRESSES             A space-separated list of addresses currently assigned
75                                 Format: <address>/<length>,preferred,valid
76 * RA_ADDRESSES          A space-separated list of addresses from RA-prefixes
77                                 Format: <address>/<length>,preferred,valid
78 * RA_ROUTES             A space-separated list of routes from the RA
79                                 Format: <address>/<length>,gateway,valid,metric
80 * RA_DNS                A space-separated list of recursive DNS servers from the RA
81 * AFTR                  The DS-Lite AFTR domain name
82 * AFTR_IP               The DS-Lite AFTR resolved IPv6 address
83 * MAPE / MAPT / LW4O6   Softwire rules for MAPE, MAPT and LW4O6