README 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. odhcp6c - Embedded DHCPv6 Client
  2. ** Abstract **
  3. odhcp6c is a minimal DHCPv6 and RA-client for use in embedded Linux systems
  4. especially routers. It compiles to only about 35 KB (-Os -s).
  5. ** Features **
  6. 1. IPv6 bootstrap from different environments with autodetection
  7. a) RA only
  8. b) RA + stateless DHCPv6
  9. c) RA + stateful DHCPv6 (either IA_NA or IA_PD or both)
  10. 2. Handling of non-temporary addresses (IA_NA)
  11. a) handling of valid and preferred lifetimes
  12. b) automatic fallback to stateless or PD-only mode
  13. 3. Support for DHCPv6 extension
  14. a) Reconfigure-Messages
  15. b) Prefix Delegation (including handling of valid and preferred lifetimes)
  16. c) Prefix Exclusion
  17. d) DNS Configuration Options
  18. e) NTP Options
  19. f) SIP Options
  20. g) Information-Refresh Options
  21. h) Configurable SOL_MAX_RT
  22. i) DS-Lite AFTR-Name Option
  23. j) Softwire address and port mapped clients (MAP, LW4over6)
  24. j) CER-ID (experimental)
  25. k) Server unicast Option
  26. 4. Support for requesting and parsing Router Advertisements
  27. a) parsing of prefixes, routes, MTU and RDNSS options
  28. ** Compiling **
  29. odhcp6c uses cmake:
  30. * To prepare a Makefile use: "cmake ."
  31. * To build / install use: "make" / "make install" afterwards.
  32. * To build DEB or RPM packages use: "make package" afterwards.
  33. ** State Script **
  34. The state script is called whenever the DHCPv6 state changes.
  35. The script is called with the following parameters: <interface> <state>
  36. States:
  37. * started The DHCPv6 client has been started
  38. * bound A suitable server was found and addresses or prefixes acquired
  39. * informed A stateless information request returned updated information
  40. * updated Updated information was received from the DHCPv6 server
  41. * ra-updated Updated information was received from via Router Advertisement
  42. * rebound The DHCPv6 client switched to another server
  43. * unbound The DHCPv6 client lost all DHCPv6 servers and will restart
  44. * stopped The DHCPv6 client has been stopped
  45. Environment:
  46. * RDNSS A space-separated list of recursive DNS servers
  47. * DOMAINS A space-separated list of DNS search domains
  48. * SNTP_IP A space-separated list of SNTP server IP addresses
  49. * SNTP_FQDN A space-separated list of SNTP server FQDNs
  50. * SIP_IP A space-separated list of SIP servers
  51. * SIP_DOMAIN A space-separated list of SIP domains
  52. * OPTION_<num> Custom option received as base-16
  53. * PREFIXES A space-separated list of prefixes currently assigned
  54. Format: <prefix>/<length>,preferred,valid[,excluded=<excluded-prefix>/<length>][,class=<prefix class #>]
  55. * ADDRESSES A space-separated list of addresses currently assigned
  56. Format: <address>/<length>,preferred,valid
  57. * RA_ADDRESSES A space-separated list of addresses from RA-prefixes
  58. Format: <address>/<length>,preferred,valid
  59. * RA_ROUTES A space-separated list of routes from the RA
  60. Format: <address>/<length>,gateway,valid,metric
  61. * RA_DNS A space-separated list of recursive DNS servers from the RA
  62. * RA_DOMAINS A space-separated list of DNS search domains from the RA
  63. * RA_HOPLIMIT Highest hop-limit received in RAs
  64. * RA_MTU MTU-value received in RA
  65. * RA_REACHABLE ND Reachability time
  66. * RA_RETRANSMIT ND Retransmit time
  67. * AFTR The DS-Lite AFTR domain name
  68. * MAPE / MAPT / LW4O6 Softwire rules for MAPE, MAPT and LW4O6