1# Copyright (c) 2006-2021 Roy Marples <roy@marples.name> 2# All rights reserved 3 4# Bare essentials for automatic IP configuration 5 6############################################################################## 7# DHCP RFC2132 options unless otheriwse stated 8define 1 request ipaddress subnet_mask 9# RFC3442 states that the CSR has to come before all other routes 10# For completeness we also specify static routes then routers 11define 121 rfc3442 classless_static_routes 12define 3 request array ipaddress routers 13define 6 array ipaddress domain_name_servers 14define 12 dname host_name 15define 15 array dname domain_name 16define 26 uint16 interface_mtu 17define 28 request ipaddress broadcast_address 18define 33 request array ipaddress static_routes 19define 50 ipaddress dhcp_requested_address 20define 51 request uint32 dhcp_lease_time 21define 52 byte dhcp_option_overload 22define 53 byte dhcp_message_type 23define 54 ipaddress dhcp_server_identifier 24define 55 array byte dhcp_parameter_request_list 25define 56 string dhcp_message 26define 57 uint16 dhcp_max_message_size 27define 58 request uint32 dhcp_renewal_time 28define 59 request uint32 dhcp_rebinding_time 29define 60 string vendor_class_identifier 30define 61 binhex dhcp_client_identifier 31 32# DHCP Rapid Commit, RFC4039 33define 80 norequest flag rapid_commit 34 35# DHCP Fully Qualified Domain Name, RFC4702 36define 81 embed fqdn 37embed bitflags=0000NEOS flags 38embed byte rcode1 39embed byte rcode2 40# dhcpcd always sets the E bit which means the fqdn itself is always 41# RFC1035 encoded. 42# The server MUST use the encoding as specified by the client as noted 43# in RFC4702 Section 2.1. 44embed optional domain fqdn 45 46# DHCP Domain Search, RFC3397 47define 119 array domain domain_search 48 49# Option 249 is an IANA assigned private number used by Windows DHCP servers 50# to provide the exact same information as option 121, classless static routes 51define 249 rfc3442 ms_classless_static_routes 52 53############################################################################## 54# ND6 options, RFC4861 55definend 1 binhex source_address 56definend 2 binhex target_address 57 58definend 3 index embed prefix_information 59embed byte length 60embed bitflags=LAH flags 61embed uint32 vltime 62embed uint32 pltime 63embed uint32 reserved 64embed array ip6address prefix 65 66# option 4 is only for Redirect messages 67 68definend 5 embed mtu 69embed uint16 reserved 70embed uint32 mtu 71 72# ND6 options, RFC6101 73definend 25 index embed rdnss 74embed uint16 reserved 75embed uint32 lifetime 76embed array ip6address servers 77 78definend 31 index embed dnssl 79embed uint16 reserved 80embed uint32 lifetime 81embed domain search 82 83############################################################################## 84# DHCPv6 options, RFC3315 85define6 1 binhex client_id 86define6 2 binhex server_id 87 88define6 3 norequest index embed ia_na 89embed binhex:4 iaid 90embed uint32 t1 91embed uint32 t2 92encap 5 option 93encap 13 option 94 95define6 4 norequest index embed ia_ta 96embed uint32 iaid 97encap 5 option 98encap 13 option 99 100define6 5 norequest index embed ia_addr 101embed ip6address ia_addr 102embed uint32 pltime 103embed uint32 vltime 104encap 13 option 105 106define6 12 ip6address unicast 107 108define6 13 norequest embed status_code 109embed uint16 status_code 110embed optional string message 111 112define6 18 binhex interface_id 113define6 19 byte reconfigure_msg 114define6 20 flag reconfigure_accept 115 116# DHCPv6 DNS Configuration Options, RFC3646 117define6 23 array ip6address name_servers 118define6 24 array domain domain_search 119 120# DHCPv6 Fully Qualified Domain Name, RFC4704 121define6 39 embed fqdn 122embed bitflags=00000NOS flags 123embed optional domain fqdn 124 125# DHCPv6 SOL_MAX_RT, RFC7083 126define6 82 request uint32 sol_max_rt 127define6 83 request uint32 inf_max_rt 128