1# Copyright (c) 2006-2015 Roy Marples 2# All rights reserved 3 4# DHCP option definitions for dhcpcd(8) 5# These are used to translate DHCP options into shell variables 6# for use in dhcpcd-run-hooks(8) 7# See dhcpcd.conf(5) for details 8 9############################################################################## 10# DHCP RFC2132 options unless otheriwse stated 11define 1 request ipaddress subnet_mask 12# RFC3442 states that the CSR has to come before all other routes 13# For completeness we also specify static routes then routers 14define 121 rfc3442 classless_static_routes 15# Option 249 is an IANA assigned private number used by Windows DHCP servers 16# to provide the exact same information as option 121, classless static routes 17define 249 rfc3442 ms_classless_static_routes 18define 33 request array ipaddress static_routes 19define 3 request array ipaddress routers 20define 2 uint32 time_offset 21define 4 array ipaddress time_servers 22define 5 array ipaddress ien116_name_servers 23define 6 array ipaddress domain_name_servers 24define 7 array ipaddress log_servers 25define 8 array ipaddress cookie_servers 26define 9 array ipaddress lpr_servers 27define 10 array ipaddress impress_servers 28define 11 array ipaddress resource_location_servers 29define 12 dname host_name 30define 13 uint16 boot_size 31define 14 string merit_dump 32# Technically domain_name is not an array, but many servers expect clients 33# to treat it as one. 34define 15 array dname domain_name 35define 16 ipaddress swap_server 36define 17 string root_path 37define 18 string extensions_path 38define 19 byte ip_forwarding 39define 20 byte non_local_source_routing 40define 21 array ipaddress policy_filter 41define 22 int16 max_dgram_reassembly 42define 23 uint16 default_ip_ttl 43define 24 uint32 path_mtu_aging_timeout 44define 25 array uint16 path_mtu_plateau_table 45define 26 uint16 interface_mtu 46define 27 byte all_subnets_local 47define 28 request ipaddress broadcast_address 48define 29 byte perform_mask_discovery 49define 30 byte mask_supplier 50define 31 byte router_discovery 51define 32 ipaddress router_solicitation_address 52define 34 byte trailer_encapsulation 53define 35 uint32 arp_cache_timeout 54define 36 uint16 ieee802_3_encapsulation 55define 37 byte default_tcp_ttl 56define 38 uint32 tcp_keepalive_interval 57define 39 byte tcp_keepalive_garbage 58define 40 string nis_domain 59define 41 array ipaddress nis_servers 60define 42 array ipaddress ntp_servers 61define 43 binhex vendor_encapsulated_options 62define 44 array ipaddress netbios_name_servers 63define 45 ipaddress netbios_dd_server 64define 46 byte netbios_node_type 65define 47 string netbios_scope 66define 48 array ipaddress font_servers 67define 49 array ipaddress x_display_manager 68define 50 ipaddress dhcp_requested_address 69define 51 request uint32 dhcp_lease_time 70define 52 byte dhcp_option_overload 71define 53 byte dhcp_message_type 72define 54 ipaddress dhcp_server_identifier 73define 55 array byte dhcp_parameter_request_list 74define 56 string dhcp_message 75define 57 uint16 dhcp_max_message_size 76define 58 request uint32 dhcp_renewal_time 77define 59 request uint32 dhcp_rebinding_time 78define 60 binhex vendor_class_identifier 79define 61 binhex dhcp_client_identifier 80define 64 string nisplus_domain 81define 65 array ipaddress nisplus_servers 82define 66 dname tftp_server_name 83define 67 string bootfile_name 84define 68 array ipaddress mobile_ip_home_agent 85define 69 array ipaddress smtp_server 86define 70 array ipaddress pop_server 87define 71 array ipaddress nntp_server 88define 72 array ipaddress www_server 89define 73 array ipaddress finger_server 90define 74 array ipaddress irc_server 91define 75 array ipaddress streettalk_server 92define 76 array ipaddress streettalk_directory_assistance_server 93 94# DHCP User Class, RFC3004 95define 77 binhex user_class 96 97# DHCP SLP Directory Agent, RFC2610 98define 78 embed slp_agent 99embed byte mandatory 100embed array ipaddress address 101define 79 embed slp_service 102embed byte mandatory 103embed ascii scope_list 104 105# DHCP Rapid Commit, RFC4039 106define 80 norequest flag rapid_commit 107 108# DHCP Fully Qualified Domain Name, RFC4702 109define 81 embed fqdn 110embed byte flags 111embed byte rcode1 112embed byte rcode2 113embed domain fqdn 114 115# Option 82 is for Relay Agents and DHCP servers 116 117# Options 83 ad 84 are unused, RFC3679 118 119# DHCP Novell Directory Services, RFC2241 120define 85 array ipaddress nds_servers 121define 86 raw nds_tree_name 122define 87 raw nds_context 123 124# DHCP Broadcast and Multicast Control Server, RFC4280 125define 88 array domain bcms_controller_names 126define 89 array ipaddress bcms_controller_address 127 128# DHCP Authentication, RFC3118 129define 90 embed auth 130embed byte protocol 131embed byte algorithm 132embed byte rdm 133embed binhex:8 replay 134embed binhex information 135 136# DHCP Leasequery, RFC4388 137define 91 uint32 client_last_transaction_time 138define 92 array ipaddress associated_ip 139 140# DHCP Options for Intel Preboot eXecution Environent (PXE), RFC4578 141# Options 93, 94 and 97 are used but of no use to dhcpcd 142 143# Option 95 used by Apple but never published RFC3679 144# Option 96 is unused, RFC3679 145 146# DHCP The Open Group's User Authentication Protocol, RFC2485 147define 98 string uap_servers 148 149# DHCP Civic Addresses Configuration Information, RFC4776 150define 99 encap geoconf_civic 151embed byte what 152embed uint16 country_code 153# The rest of this option is not supported 154 155# DHCP Timezone, RFC4883 156define 100 string posix_timezone 157define 101 string tzdb_timezone 158 159# Options 102-115 are unused, RFC3679 160 161# DHCP Auto-Configuration, RFC2563 162define 116 byte auto_configure 163 164# DHCP Name Service Search, RFC2937 165define 117 array uint16 name_service_search 166 167# DHCP Subnet Selection, RFC3011 168define 118 ipaddress subnet_selection 169 170# DHCP Domain Search, RFC3397 171define 119 array domain domain_search 172 173# DHCP Session Initiated Protocol Servers, RFC3361 174define 120 rfc3361 sip_server 175 176# Option 121 is defined at the top of this file 177 178# DHCP CableLabs Client, RFC3495 179define 122 encap tsp 180encap 1 ipaddress dhcp_server 181encap 2 ipaddress dhcp_secondary_server 182encap 3 rfc3361 provisioning_server 183encap 4 embed as_req_as_rep_backoff 184embed uint32 nominal 185embed uint32 maximum 186embed uint32 retry 187encap 5 embed ap_req_ap_rep_backoff 188embed uint32 nominal 189embed uint32 maximum 190embed uint32 retry 191encap 6 domain kerberos_realm 192encap 7 byte ticket_granting_server_utilization 193encap 8 byte provisioning_timer 194 195# DHCP Coordinate LCI, RFC6225 196# We have no means of expressing 6 bit lengths 197define 123 binhex geoconf 198 199# DHCP Vendor-Identifying Vendor Options, RFC3925 200define 124 binhex vivco 201define 125 embed vivso 202embed uint32 enterprise_number 203# Vendor options are shared between DHCP/DHCPv6 204# Their code is matched to the enterprise number defined above 205# see the end of this file for an example 206 207# Options 126 and 127 are unused, RFC3679 208 209# DHCP Options for Intel Preboot eXecution Environent (PXE), RFC4578 210# Options 128-135 are used but of no use to dhcpcd 211 212# DHCP PANA Authentication Agent, RFC5192 213define 136 array ipaddress pana_agent 214 215# DHCP Lost Server, RFC5223 216define 137 domain lost_server 217 218# DHCP CAPWAP, RFC5417 219define 138 array ipaddress capwap_ac 220 221# DHCP Mobility Services, RFC5678 222define 139 encap mos_ip 223encap 1 array ipaddress is 224encap 2 array ipaddress cs 225encap 3 array ipaddress es 226define 140 encap mos_domain 227encap 1 domain is 228encap 2 domain cs 229encap 3 domain es 230 231# DHCP SIP UA, RFC6011 232define 141 array domain sip_ua_cs_list 233 234# DHCP ANDSF, RFC6153 235define 142 array ipaddress andsf 236define 143 array ip6address andsf6 237 238# DHCP Coordinate LCI, RFC6225 239# We have no means of expressing 6 bit lengths 240define 144 binhex geoloc 241 242# DHCP FORCERENEW Nonce Capability, RFC6704 243define 145 array byte forcerenew_nonce_capable 244 245# DHCP RDNSS Selection for MIF Nodes, RFC6731 246define 146 embed rdnss_selection 247embed byte prf 248embed ipaddress primary 249embed ipaddress secondary 250embed array domain domains 251 252# Options 147, 148 and 149 are unused, RFC3942 253 254# DHCP TFTP Server Address, RFC5859 255define 150 array ipaddress tftp_servers 256 257# Options 151-157 are used for Lease Query, RFC6926 and not for dhcpcd 258# Options 158-174 are unused, RFC3942 259# Options 175-177 are tentativel assigned for Etherboot 260# Options 178-207 are unused, RFC3942 261 262# DHCP PXELINUX, RFC5071 263define 208 binhex pxelinux_magic 264define 209 string config_file 265define 210 string path_prefix 266define 211 uint32 reboot_time 267 268# DHCP IPv6 Rapid Deployment on IPv4 Infrastructures, RFC5969 269define 212 rfc5969 sixrd 270 271# DHCP Access Network Domain Name, RFC5986 272define 213 domain access_domain 273 274# Options 214-219 are unused, RFC3942 275 276# DHCP Subnet Allocation, RFC6656 277# Option 220 looks specific to Cisco hardware. 278 279# DHCP Virtual Subnet Selection, RFC6607 280define 221 encap vss 281encap 0 string nvt 282encap 1 binhex vpn_id 283encap 255 flag global 284 285# Web Proxy Auto-Discovery 286define 252 string wpad_url 287 288# Options 222 and 223 are unused, RFC3942 289# Options 224-254 are reserved for Private Use 290# Option 255 End 291 292############################################################################## 293# DHCPv6 options, RFC3315 294define6 1 binhex client_id 295define6 2 binhex server_id 296 297define6 3 norequest index embed ia_na 298embed binhex:4 iaid 299embed uint32 t1 300embed uint32 t2 301encap 5 option 302encap 13 option 303 304define6 4 norequest index embed ia_ta 305embed uint32 iaid 306encap 5 option 307encap 13 option 308 309define6 5 norequest index embed ia_addr 310embed ip6address ia_addr 311embed uint32 pltime 312embed uint32 vltime 313encap 13 option 314 315define6 6 array uint16 option_request 316define6 7 byte preference 317define6 8 uint16 elased_time 318define6 9 binhex dhcp_relay_msg 319 320# Option 10 is unused 321 322define6 11 embed auth 323embed byte protocol 324embed byte algorithm 325embed byte rdm 326embed binhex:8 replay 327embed binhex information 328 329define6 12 ip6address unicast 330 331define6 13 norequest embed status_code 332embed uint16 status_code 333embed string message 334 335define6 14 norequest flag rapid_commit 336define6 15 binhex user_class 337 338define6 16 binhex vivco 339define6 17 embed vivso 340embed uint32 enterprise_number 341# Vendor options are shared between DHCP/DHCPv6 342# Their code is matched to the enterprise number defined above 343# See the end of this file for an example 344 345define6 18 binhex interface_id 346define6 19 byte reconfigure_msg 347define6 20 flag reconfigure_accept 348 349# DHCPv6 Session Initiation Protocol Options, RFC3319 350define6 21 array domain sip_servers_names 351define6 22 array ip6address sip_servers_addresses 352 353# DHCPv6 DNS Configuration Options, RFC3646 354define6 23 array ip6address name_servers 355define6 24 array domain domain_search 356 357# DHCPv6 Prefix Options, RFC6603 358define6 25 norequest index embed ia_pd 359embed binhex:4 iaid 360embed uint32 t1 361embed uint32 t2 362encap 26 option 363define6 26 index embed prefix 364embed uint32 pltime 365embed uint32 vltime 366embed byte length 367embed ip6address prefix 368encap 13 option 369encap 67 option 370 371# DHCPv6 Network Information Service Options, RFC3898 372define6 27 array ip6address nis_servers 373define6 28 array ip6address nisp_servers 374define6 29 string nis_domain_name 375define6 30 string nisp_domain_name 376 377# DHCPv6 Simple Network Time Protocol Servers Option, RFC4075 378define6 31 array ip6address sntp_servers 379 380# DHCPv6 Information Refresh Time, RFC4242 381define6 32 uint32 info_refresh_time 382 383# DHCPv6 Broadcast and Multicast Control Server, RFC4280 384define6 33 array domain bcms_server_d 385define6 34 array ip6address bcms_server_a 386 387# DHCP Civic Addresses Configuration Information, RFC4776 388define6 36 encap geoconf_civic 389embed byte what 390embed uint16 country_code 391# The rest of this option is not supported 392 393# DHCP Relay Agent Remote-ID, RFC4649 394define6 37 embed remote_id 395embed uint32 enterprise_number 396embed binhex remote_id 397 398# DHCP Relay Agent Subscriber-ID, RFC4580 399define6 38 binhex subscriber_id 400 401# DHCPv6 Fully Qualified Domain Name, RFC4704 402define6 39 embed fqdn 403embed byte flags 404embed domain fqdn 405 406# DHCPv6 PANA Authentication Agnet, RC5192 407define6 40 array ip6address pana_agent 408 409# DHCPv6 Timezone options, RFC4883 410define6 41 string posix_timezone 411define6 42 string tzdb_timezone 412 413# DHCPv6 Relay Agent Echo Request 414define6 43 array uint16 ero 415 416# Options 44-48 are used for Lease Query, RFC5007 and not for dhcpcd 417 418# DHCPv6 Home Info Discovery in MIPv6, RFC6610 419define6 49 domain mip6_hnidf 420define6 50 encap mip6_vdinf 421encap 71 option 422encap 72 option 423encap 73 option 424 425# DHCPv6 Lost Server, RFC5223 426define6 51 domain lost_server 427 428# DHCPv6 CAPWAP, RFC5417 429define6 52 array ip6address capwap_ac 430 431# DHCPv6 Relay-ID, RFC5460 432define6 53 binhex relay_id 433 434# DHCP Mobility Services, RFC5678 435define6 54 encap mos_ip 436encap 1 array ip6address is 437encap 2 array ip6address cs 438encap 3 array ip6address es 439define6 55 encap mos_domain 440encap 1 domain is 441encap 2 domain cs 442encap 3 domain es 443 444# DHCPv6 Network Time Protocol Server, RFC5908 445define6 56 encap ntp_server 446encap 1 ip6address addr 447encap 2 ip6address mcast_addr 448encap 3 ip6address fqdn 449 450# DHCPv6 LIS Discovery, RFC5986 451define6 57 domain access_domain 452 453# DHCPv6 SIP UA, RFC6011 454define6 58 array domain sip_ua_cs_list 455 456# DHCPv6 Network Boot, RFC5970 457define6 59 string bootfile_url 458# We presently cannot decode bootfile_param 459define6 60 binhex bootfile_param 460define6 61 array uint16 architecture_types 461define6 62 embed nii 462embed byte type 463embed byte major 464embed byte minor 465 466# DHCPv6 Coordinate LCI, RFC6225 467# We have no means of expressing 6 bit lengths 468define6 63 binhex geoloc 469 470# DHCPv6 AFTR-Name, RFC6334 471define6 64 domain aftr_name 472 473# DHCPv6 Prefix Exclude Option, RFC6603 474define6 67 embed pd_exclude 475embed byte prefix_len 476embed binhex subnetID 477 478# DHCPv6 Home Info Discovery in MIPv6, RFC6610 479define6 69 encap mip6_idinf 480encap 71 option 481encap 72 option 482encap 73 option 483define6 70 encap mip6_udinf 484encap 71 option 485encap 72 option 486encap 73 option 487define6 71 embed mip6_hnp 488embed byte prefix_len 489embed ip6address prefix 490define6 72 ip6address mip6_haa 491define6 73 domain mip6_haf 492 493# DHCPv6 RDNSS Selection for MIF Nodes, RFC6731 494define6 74 embed rdnss_selection 495embed ip6address server 496embed byte prf 497embed array domain domains 498 499# DHCPv6 Kerberos, RFC6784 500define6 75 string krb_principal_name 501define6 76 string krb_realm_name 502define6 78 embed krb_kdc 503embed uint16 priority 504embed uint16 weight 505embed byte transport_type 506embed uint16 port 507embed ip6address address 508embed string realm_name 509 510# DHCPv6 Client Link-Layer Address, RFC6939 511# Section 7 states that clients MUST ignore the option 79 512 513# DHCPv6 Relay-Triggered Reconfiguraion, RFC6977 514define6 80 ip6address link_address 515 516# DHCPv6 Radius, RFC7037 517# Section 7 states that clients MUST ignore the option 81 518 519# DHCPv6 SOL_MAX_RT, RFC7083 520define6 82 request uint32 sol_max_rt 521define6 83 request uint32 inf_max_rt 522 523# DHCPv6 Address Selection Policy 524# Currently not supported 525 526# Options 86-65535 are unasssinged 527 528############################################################################## 529# Vendor-Identifying Vendor Options 530# An example: 531#vendopt 12345 encap frobozzco 532#encap 1 string maze_location 533#encap 2 byte grue_probability 534