Changes for version 0.001 - 2026-05-26

  • Initial release: DHCPv6 packet codec
  • Encode/decode message types (Solicit, Advertise, Request, etc.)
  • Encode/decode options (ClientId, ServerId, IANA, IAAddr, etc.)
  • DUID parsing and construction (LLT, EN, LL, UUID)
  • Three-tier error handling: decode_or_croak, decode_or_null, decode_with_error

Documentation

Modules

DHCPv6 packet decoder/encoder
DHCPv6 numeric constants (message types, option codes, status codes, DUID types)
DUID parse/emit and helper constructors
Advertise message (type 2)
Confirm message (type 4)
Decline message (type 9)
Information-Request message (type 11)
Rebind message (type 6)
Reconfigure message (type 10)
Relay-Forward message (type 12)
Relay-Reply message (type 13)
Release message (type 8)
Renew message (type 5)
Reply message (type 7)
Request message (type 3)
Solicit message (type 1)
DHCPv6 option base class
AFTR Name option (code 88) — RFC 6334 domain name
Authentication option (code 11) — protocol/algorithm/rdm/replay/auth-info
Boot File Parameters option (code 60) — list of boot parameters
Boot File URL option (code 59) — URL for network boot
DHCP Captive-Portal option (code 103) — captive portal API URI
Client System Architecture Type option (code 61) — 16-bit architecture type
Client FQDN option (code 39) — flags + domain name
Client Identifier option (code 1)
Client Link-Layer Address option (code 79) — link-layer type + address
DNS Recursive Name Servers option (code 23)
Domain Search List option (code 24) — RFC 1035 domain names
Elapsed Time option (code 8) — 16-bit centiseconds
Fallback option for unknown codes — stores raw code+data
IA Address option (code 5) — address + lifetimes + sub-options
Identity Association for Non-temporary Addresses option (code 3)
Identity Association for Prefix Delegation option (code 25)
IA Prefix option (code 26) — prefix delegation sub-option
Identity Association for Temporary Addresses option (code 4)
INF_MAX_RT option (code 83) — maximum Information-Request retransmission duration
Information Refresh Time option (code 32) — 32-bit refresh duration
Interface-ID option (code 18) — opaque interface identifier
MUD URL option (code 112) — Manufacturer Usage Description URL
NEW_POSIX_TIMEZONE option (code 41) — POSIX timezone string
NEW_TZDB_TIMEZONE option (code 42) — IANA timezone DB name
NIS Domain Name option (code 29) — RFC 1035 domain name
NIS Servers option (code 27) — list of IPv6 addresses
NIS+ Domain Name option (code 30) — NIS+ domain name string
NIS+ Server option (code 28) — list of IPv6 addresses
SNTP Servers option (code 31) — list of IPv6 addresses
Option Request option (code 6)
PD Exclude option (code 67) — prefix to exclude from IA_PD
Preference option (code 7) — 8-bit server preference value
Relay-Supplied Options option (code 66) — opaque
Rapid Commit option (code 14) — zero-length data
Reconfigure Accept option (code 20) — zero-length data
Reconfigure Message option (code 19) — 1-byte msg-type
Relay Message option (code 9) — encapsulated relay message
Remote ID option (code 37) — enterprise-number + opaque data
Server Identifier option (code 2)
SIP Server A option (code 22) — list of IPv6 addresses
SIP Server Domain Name option (code 21) — list of domain names
SOL_MAX_RT option (code 10) — maximum solicit retransmission duration (32-bit)
Status Code option (code 13)
Subscriber ID option (code 38) — opaque subscriber identification
UNICAST option (code 12) — server IPv6 address
User Class option (code 15) — list of opaque user class data
Vendor Class option (code 16) — enterprise-number + opaque data
Vendor-specific Information option (code 17) — enterprise + sub-options
Shared container for a collection of DHCPv6 options
DHCPv6 packet base class
Base class for DHCPv6 relay messages (RelayForw/RelayReply)
Exception base class for Net::DHCPv6
Thrown when DUID data is invalid
Thrown when a message header is invalid
Thrown when option data violates expected format
Thrown on internal logic errors in the library
Thrown when a buffer is too short for expected data