odhcp6c
odhcp6c copied to clipboard
This repository is a mirror of https://git.openwrt.org/?p=project/odhcp6c.git. It is for reference only and is not active for checks-ins or reporting issues; issues should be reported at: https://bugs...
odhcp6c - Embedded DHCPv6 Client
** Abstract **
odhcp6c is a minimal DHCPv6 and RA-client for use in embedded Linux systems especially routers. It compiles to only about 35 KB (-Os -s).
** Features **
-
IPv6 bootstrap from different environments with autodetection a) RA only b) RA + stateless DHCPv6 c) RA + stateful DHCPv6 (either IA_NA or IA_PD or both)
-
Handling of non-temporary addresses (IA_NA) a) handling of valid and preferred lifetimes b) automatic fallback to stateless or PD-only mode
-
Support for DHCPv6 extension a) Reconfigure-Messages b) Prefix Delegation (including handling of valid and preferred lifetimes) c) Prefix Exclusion d) DNS Configuration Options e) NTP Options f) SIP Options g) Information-Refresh Options h) Configurable SOL_MAX_RT i) DS-Lite AFTR-Name Option j) Softwire address and port mapped clients (MAP, LW4over6) j) CER-ID (experimental) k) Server unicast Option
-
Support for requesting and parsing Router Advertisements a) parsing of prefixes, routes, MTU and RDNSS options
** Compiling **
odhcp6c uses cmake:
- To prepare a Makefile use: "cmake ."
- To build / install use: "make" / "make install" afterwards.
- To build DEB or RPM packages use: "make package" afterwards.
** State Script **
The state script is called whenever the DHCPv6 state changes.
The script is called with the following parameters:
States:
- started The DHCPv6 client has been started
- bound A suitable server was found and addresses or prefixes acquired
- informed A stateless information request returned updated information
- updated Updated information was received from the DHCPv6 server
- ra-updated Updated information was received from via Router Advertisement
- rebound The DHCPv6 client switched to another server
- unbound The DHCPv6 client lost all DHCPv6 servers and will restart
- stopped The DHCPv6 client has been stopped
Environment:
- RDNSS A space-separated list of recursive DNS servers
- DOMAINS A space-separated list of DNS search domains
- SNTP_IP A space-separated list of SNTP server IP addresses
- SNTP_FQDN A space-separated list of SNTP server FQDNs
- SIP_IP A space-separated list of SIP servers
- SIP_DOMAIN A space-separated list of SIP domains
- OPTION_
Custom option received as base-16 - PREFIXES A space-separated list of prefixes currently assigned
Format:
/ ,preferred,valid[,excluded= / ][,class=<prefix class #>] - ADDRESSES A space-separated list of addresses currently assigned
Format: /
,preferred,valid - RA_ADDRESSES A space-separated list of addresses from RA-prefixes
Format: /
,preferred,valid - RA_ROUTES A space-separated list of routes from the RA
Format: /
,gateway,valid,metric - RA_DNS A space-separated list of recursive DNS servers from the RA
- RA_DOMAINS A space-separated list of DNS search domains from the RA
- RA_HOPLIMIT Highest hop-limit received in RAs
- RA_MTU MTU-value received in RA
- RA_REACHABLE ND Reachability time
- RA_RETRANSMIT ND Retransmit time
- AFTR The DS-Lite AFTR domain name
- MAPE / MAPT / LW4O6 Softwire rules for MAPE, MAPT and LW4O6