Coder Social home page Coder Social logo

niederb / odhcp6c Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openwrt/odhcp6c

0.0 1.0 0.0 569 KB

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

License: GNU General Public License v2.0

CMake 1.11% C 96.30% Shell 2.59%

odhcp6c's Introduction

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: <interface> <state>


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_<num>		Custom option received as base-16
* PREFIXES		A space-separated list of prefixes currently assigned
				Format: <prefix>/<length>,preferred,valid[,excluded=<excluded-prefix>/<length>][,class=<prefix class #>]
* ADDRESSES		A space-separated list of addresses currently assigned
				Format: <address>/<length>,preferred,valid
* RA_ADDRESSES		A space-separated list of addresses from RA-prefixes
				Format: <address>/<length>,preferred,valid
* RA_ROUTES		A space-separated list of routes from the RA
				Format: <address>/<length>,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

odhcp6c's People

Contributors

sbyx avatar dedeckeh avatar bwhacks avatar kaspar030 avatar fingon avatar themiron avatar neocturne avatar alinnastac avatar neheb avatar koalatux avatar guijan avatar janakj avatar lperkov avatar maico-le-pape avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.