https://github.com/openwrt/odhcp6c
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.openwrt.org. Pull requests will be accepted which will be merged in odhcp6c.git
https://github.com/openwrt/odhcp6c
Last synced: 12 months ago
JSON representation
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.openwrt.org. Pull requests will be accepted which will be merged in odhcp6c.git
- Host: GitHub
- URL: https://github.com/openwrt/odhcp6c
- Owner: openwrt
- License: gpl-2.0
- Created: 2012-11-25T11:18:28.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2025-02-06T21:18:46.000Z (over 1 year ago)
- Last Synced: 2025-06-09T15:12:12.058Z (about 1 year ago)
- Language: C
- Homepage:
- Size: 527 KB
- Stars: 78
- Watchers: 22
- Forks: 97
- Open Issues: 23
-
Metadata Files:
- Readme: README
- License: COPYING
Awesome Lists containing this project
README
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 **
1. 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)
2. Handling of non-temporary addresses (IA_NA)
a) handling of valid and preferred lifetimes
b) automatic fallback to stateless or PD-only mode
3. 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
4. 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=]
* 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