NAME
Net::DHCPv6::Constants - DHCPv6 numeric constants (message types, option codes, status codes, DUID types, client architecture types, link-layer types)
VERSION
version 0.003
SYNOPSIS
use Net::DHCPv6::Constants;
print $CLIENT_ARCH_X86_UEFI; # 6
print $DUID_LLT; # 1
print $LINK_TYPE_ETHERNET; # 1
print $SOLICIT; # 1
print $OPTION_CLIENTID; # 1
print $CLIENT_FQDN_S; # 1
print $STATUS_SUCCESS; # 0
print arch_name(6); # X86_UEFI
print is_valid_message_type(1); # 1
print link_type_name(1); # ETHERNET
print message_type_name(1); # SOLICIT
print option_name(23); # DNS_SERVERS
print status_name(0); # SUCCESS
DESCRIPTION
Defines all DHCPv6 numeric constants as read-only package variables: message types, option codes, status codes, DUID types, client architecture types per RFC 8415 and RFC 5970, and link-layer types from the IANA ARP Hardware Type registry. All constants are exported by default via Const::Fast::Exporter.
ALPHA STATUS
ALPHA SOFTWARE. This is an early release. The interface is experimental and subject to change without notice.
CONSTANTS
Message Types (RFC 8415 §14)
$SOLICIT(1)$ADVERTISE(2)$REQUEST(3)$CONFIRM(4)$RENEW(5)$REBIND(6)$REPLY(7)$RELEASE(8)$DECLINE(9)$RECONFIGURE(10)$INFORMATION_REQUEST(11)$RELAY_FORW(12)$RELAY_REPLY(13)
Option Codes (RFC 8415 §21)
$OPTION_CLIENTID(1)$OPTION_SERVERID(2)$OPTION_IA_NA(3)$OPTION_IA_TA(4)$OPTION_IAADDR(5)$OPTION_ORO(6)$OPTION_PREFERENCE(7)$OPTION_ELAPSED_TIME(8)$OPTION_RELAY_MSG(9)$OPTION_AUTH(11)$OPTION_UNICAST(12)$OPTION_STATUS_CODE(13)$OPTION_RAPID_COMMIT(14)$OPTION_USER_CLASS(15)$OPTION_VENDOR_CLASS(16)$OPTION_VENDOR_OPTS(17)$OPTION_INTERFACE_ID(18)$OPTION_RECONF_MSG(19)$OPTION_RECONF_ACCEPT(20)$OPTION_SIP_SERVER_D(21)$OPTION_SIP_SERVER_A(22)$OPTION_DNS_SERVERS(23)$OPTION_DOMAIN_LIST(24)$OPTION_IA_PD(25)$OPTION_IAPREFIX(26)$OPTION_NIS_SERVERS(27)$OPTION_NISP_SERVERS(28)$OPTION_NIS_DOMAIN_NAME(29)$OPTION_NISP_DOMAIN_NAME(30)$OPTION_SNTP_SERVERS(31)$OPTION_INFORMATION_REFRESH_TIME(32)$OPTION_REMOTE_ID(37)$OPTION_SUBSCRIBER_ID(38)$OPTION_CLIENT_FQDN(39)$OPTION_NEW_POSIX_TIMEZONE(41)$OPTION_NEW_TZDB_TIMEZONE(42)$OPTION_NTP_SERVER(56)$OPTION_BOOTFILE_URL(59)$OPTION_BOOTFILE_PARAM(60)$OPTION_CLIENT_ARCH_TYPE(61)$OPTION_AFTR_NAME(64)$OPTION_RSOO(66)$OPTION_PD_EXCLUDE(67)$OPTION_CLIENT_LINKLAYER_ADDR(79)$OPTION_SOL_MAX_RT(82)$OPTION_INF_MAX_RT(83)$OPTION_CAPTIVE_PORTAL(103)$OPTION_MUD_URL(112)
NOTE: The constants above cover the most commonly used DHCPv6 option codes from RFC 8415 §21 and related RFCs. Approximately 85 additional option codes are registered with IANA (leasequery, MIP6, S46, ANI, KRB, bulk leasequery, and others). If you need a constant or subclass for one of those codes, either add it to your own code following the pattern in this module's source or file a feature request.
Status Codes (RFC 8415 §18.3)
$STATUS_SUCCESS(0)$STATUS_UNSPEC_FAIL(1)$STATUS_NO_ADDRS_AVAIL(2)$STATUS_NO_BINDING(3)$STATUS_NOT_ON_LINK(4)$STATUS_USE_MULTICAST(5)$STATUS_NO_PREFIX_AVAIL(6)
DUID Types (RFC 8415 §11)
Client Architecture Types (RFC 5970)
$CLIENT_ARCH_X86_BIOS(0)$CLIENT_ARCH_NEC_PC98(1) -- DEPRECATED$CLIENT_ARCH_ITANIUM(2)$CLIENT_ARCH_DEC_ALPHA(3) -- DEPRECATED$CLIENT_ARCH_ARC_X86(4) -- DEPRECATED$CLIENT_ARCH_INTEL_LEAN_CLIENT(5) -- DEPRECATED$CLIENT_ARCH_X86_UEFI(6)$CLIENT_ARCH_X64_UEFI(7)$CLIENT_ARCH_EFI_XSCALE(8) -- DEPRECATED$CLIENT_ARCH_EBC(9)$CLIENT_ARCH_ARM_32_UEFI(10)$CLIENT_ARCH_ARM_64_UEFI(11)$CLIENT_ARCH_PPC_OPEN_FIRMWARE(12)$CLIENT_ARCH_PPC_EPAPR(13)$CLIENT_ARCH_POWER_OPAL_V3(14)$CLIENT_ARCH_X86_UEFI_HTTP(15)$CLIENT_ARCH_X64_UEFI_HTTP(16)$CLIENT_ARCH_EBC_HTTP(17)$CLIENT_ARCH_ARM_32_UEFI_HTTP(18)$CLIENT_ARCH_ARM_64_UEFI_HTTP(19)$CLIENT_ARCH_PC_AT_BIOS_HTTP(20)$CLIENT_ARCH_ARM_32_UBOOT(21)$CLIENT_ARCH_ARM_64_UBOOT(22)$CLIENT_ARCH_ARM_UBOOT_32_HTTP(23)$CLIENT_ARCH_ARM_UBOOT_64_HTTP(24)$CLIENT_ARCH_RISCV_32_UEFI(25)$CLIENT_ARCH_RISCV_32_UEFI_HTTP(26)$CLIENT_ARCH_RISCV_64_UEFI(27)$CLIENT_ARCH_RISCV_64_UEFI_HTTP(28)$CLIENT_ARCH_RISCV_128_UEFI(29)$CLIENT_ARCH_RISCV_128_UEFI_HTTP(30)$CLIENT_ARCH_S390_BASIC(31)$CLIENT_ARCH_S390_EXTENDED(32)$CLIENT_ARCH_MIPS_32_UEFI(33)$CLIENT_ARCH_MIPS_64_UEFI(34)$CLIENT_ARCH_SUNWAY_32_UEFI(35)$CLIENT_ARCH_SUNWAY_64_UEFI(36)$CLIENT_ARCH_LOONGARCH_32_UEFI(37)$CLIENT_ARCH_LOONGARCH_32_UEFI_HTTP(38)$CLIENT_ARCH_LOONGARCH_64_UEFI(39)$CLIENT_ARCH_LOONGARCH_64_UEFI_HTTP(40)$CLIENT_ARCH_ARM_RPIBOOT(41)
Link-layer Types (IANA ARP Hardware Type registry)
$LINK_TYPE_RESERVED(0)$LINK_TYPE_ETHERNET(1)$LINK_TYPE_EXP_ETHERNET(2)$LINK_TYPE_AX25(3)$LINK_TYPE_PRONET(4)$LINK_TYPE_CHAOS(5)$LINK_TYPE_IEEE802(6)$LINK_TYPE_ARCNET(7)$LINK_TYPE_HYPERCHANNEL(8)$LINK_TYPE_LANSTAR(9)$LINK_TYPE_AUTONET(10)$LINK_TYPE_LOCALTALK(11)$LINK_TYPE_LOCALNET(12)$LINK_TYPE_ULTRA(13)$LINK_TYPE_SMDS(14)$LINK_TYPE_FRAME_RELAY(15)$LINK_TYPE_ATM(16)$LINK_TYPE_HDLC(17)$LINK_TYPE_FIBRE_CHANNEL(18)$LINK_TYPE_ATM_RFC2225(19)$LINK_TYPE_SERIAL(20)$LINK_TYPE_ATM_ALT(21)$LINK_TYPE_MIL_STD_188_220(22)$LINK_TYPE_METRICOM(23)$LINK_TYPE_IEEE1394(24)$LINK_TYPE_MAPOS(25)$LINK_TYPE_TWINAXIAL(26)$LINK_TYPE_EUI64(27)$LINK_TYPE_HIPARP(28)$LINK_TYPE_ISO7816(29)$LINK_TYPE_ARP_SEC(30)$LINK_TYPE_IPSEC_TUNNEL(31)$LINK_TYPE_INFINIBAND(32)$LINK_TYPE_TIA_102(33)$LINK_TYPE_WIEGAND(34)$LINK_TYPE_PURE_IP(35)$LINK_TYPE_HW_EXP1(36)$LINK_TYPE_HFI(37)$LINK_TYPE_UNIFIED_BUS(38)$LINK_TYPE_HW_EXP2(256)$LINK_TYPE_AETHERNET(257)$LINK_TYPE_RESERVED_HIGH(65_535)
Client FQDN Flags (RFC 4704 §4)
$CLIENT_FQDN_S(0x01) -- Server should NOT update DNS$CLIENT_FQDN_O(0x02) -- Server override$CLIENT_FQDN_N(0x04) -- Server should update DNS
LOOKUP HELPERS
- message_type_name($code)
-
Returns the message type name string (e.g.
SOLICIT) for a numeric code, orundefif unknown. - option_name($code)
-
Returns the option name string (e.g.
CLIENTID) for a numeric code, orundefif unknown. - status_name($code)
-
Returns the status name string (e.g.
SUCCESS) for a numeric code, orundefif unknown. - is_valid_message_type($code)
-
Returns true if the numeric code corresponds to a known message type.
- arch_name($code)
-
Returns the client architecture type name string (e.g.
X86_UEFI) for a numeric code, orundefif unknown. - link_type_name($code)
-
Returns the link-layer type name string (e.g.
ETHERNET) for a numeric code, orundefif unknown.
REVERSE HASHES
The following package hashes are available for direct lookup:
SEE ALSO
Net::DHCPv6, RFC 8415
AUTHOR
Dean Hamstead <dean@fragfest.com.au>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2026 by Dean Hamstead.
This is free software, licensed under:
The MIT (X11) License