# Copyright (c) 2006-2015 Roy Marples # All rights reserved # DHCP option definitions for dhcpcd(8) # These are used to translate DHCP options into shell variables # for use in dhcpcd-run-hooks(8) # See dhcpcd.conf(5) for details ############################################################################## # DHCP RFC2132 options unless otheriwse stated define 1 request ipaddress subnet_mask # RFC3442 states that the CSR has to come before all other routes # For completeness we also specify static routes then routers define 121 rfc3442 classless_static_routes # Option 249 is an IANA assigned private number used by Windows DHCP servers # to provide the exact same information as option 121, classless static routes define 249 rfc3442 ms_classless_static_routes define 33 request array ipaddress static_routes define 3 request array ipaddress routers define 2 uint32 time_offset define 4 array ipaddress time_servers define 5 array ipaddress ien116_name_servers define 6 array ipaddress domain_name_servers define 7 array ipaddress log_servers define 8 array ipaddress cookie_servers define 9 array ipaddress lpr_servers define 10 array ipaddress impress_servers define 11 array ipaddress resource_location_servers define 12 dname host_name define 13 uint16 boot_size define 14 string merit_dump # Technically domain_name is not an array, but many servers expect clients # to treat it as one. define 15 array dname domain_name define 16 ipaddress swap_server define 17 string root_path define 18 string extensions_path define 19 byte ip_forwarding define 20 byte non_local_source_routing define 21 array ipaddress policy_filter define 22 int16 max_dgram_reassembly define 23 uint16 default_ip_ttl define 24 uint32 path_mtu_aging_timeout define 25 array uint16 path_mtu_plateau_table define 26 uint16 interface_mtu define 27 byte all_subnets_local define 28 request ipaddress broadcast_address define 29 byte perform_mask_discovery define 30 byte mask_supplier define 31 byte router_discovery define 32 ipaddress router_solicitation_address define 34 byte trailer_encapsulation define 35 uint32 arp_cache_timeout define 36 uint16 ieee802_3_encapsulation define 37 byte default_tcp_ttl define 38 uint32 tcp_keepalive_interval define 39 byte tcp_keepalive_garbage define 40 string nis_domain define 41 array ipaddress nis_servers define 42 array ipaddress ntp_servers define 43 binhex vendor_encapsulated_options define 44 array ipaddress netbios_name_servers define 45 ipaddress netbios_dd_server define 46 byte netbios_node_type define 47 string netbios_scope define 48 array ipaddress font_servers define 49 array ipaddress x_display_manager define 50 ipaddress dhcp_requested_address define 51 request uint32 dhcp_lease_time define 52 byte dhcp_option_overload define 53 byte dhcp_message_type define 54 ipaddress dhcp_server_identifier define 55 array byte dhcp_parameter_request_list define 56 string dhcp_message define 57 uint16 dhcp_max_message_size define 58 request uint32 dhcp_renewal_time define 59 request uint32 dhcp_rebinding_time define 60 binhex vendor_class_identifier define 61 binhex dhcp_client_identifier define 64 string nisplus_domain define 65 array ipaddress nisplus_servers define 66 dname tftp_server_name define 67 string bootfile_name define 68 array ipaddress mobile_ip_home_agent define 69 array ipaddress smtp_server define 70 array ipaddress pop_server define 71 array ipaddress nntp_server define 72 array ipaddress www_server define 73 array ipaddress finger_server define 74 array ipaddress irc_server define 75 array ipaddress streettalk_server define 76 array ipaddress streettalk_directory_assistance_server # DHCP User Class, RFC3004 define 77 binhex user_class # DHCP SLP Directory Agent, RFC2610 define 78 embed slp_agent embed byte mandatory embed array ipaddress address define 79 embed slp_service embed byte mandatory embed ascii scope_list # DHCP Rapid Commit, RFC4039 define 80 norequest flag rapid_commit # DHCP Fully Qualified Domain Name, RFC4702 define 81 embed fqdn embed byte flags embed byte rcode1 embed byte rcode2 embed domain fqdn # Option 82 is for Relay Agents and DHCP servers # Options 83 ad 84 are unused, RFC3679 # DHCP Novell Directory Services, RFC2241 define 85 array ipaddress nds_servers define 86 raw nds_tree_name define 87 raw nds_context # DHCP Broadcast and Multicast Control Server, RFC4280 define 88 array domain bcms_controller_names define 89 array ipaddress bcms_controller_address # DHCP Authentication, RFC3118 define 90 embed auth embed byte protocol embed byte algorithm embed byte rdm embed binhex:8 replay embed binhex information # DHCP Leasequery, RFC4388 define 91 uint32 client_last_transaction_time define 92 array ipaddress associated_ip # DHCP Options for Intel Preboot eXecution Environent (PXE), RFC4578 # Options 93, 94 and 97 are used but of no use to dhcpcd # Option 95 used by Apple but never published RFC3679 # Option 96 is unused, RFC3679 # DHCP The Open Group's User Authentication Protocol, RFC2485 define 98 string uap_servers # DHCP Civic Addresses Configuration Information, RFC4776 define 99 encap geoconf_civic embed byte what embed uint16 country_code # The rest of this option is not supported # DHCP Timezone, RFC4883 define 100 string posix_timezone define 101 string tzdb_timezone # Options 102-115 are unused, RFC3679 # DHCP Auto-Configuration, RFC2563 define 116 byte auto_configure # DHCP Name Service Search, RFC2937 define 117 array uint16 name_service_search # DHCP Subnet Selection, RFC3011 define 118 ipaddress subnet_selection # DHCP Domain Search, RFC3397 define 119 array domain domain_search # DHCP Session Initiated Protocol Servers, RFC3361 define 120 rfc3361 sip_server # Option 121 is defined at the top of this file # DHCP CableLabs Client, RFC3495 define 122 encap tsp encap 1 ipaddress dhcp_server encap 2 ipaddress dhcp_secondary_server encap 3 rfc3361 provisioning_server encap 4 embed as_req_as_rep_backoff embed uint32 nominal embed uint32 maximum embed uint32 retry encap 5 embed ap_req_ap_rep_backoff embed uint32 nominal embed uint32 maximum embed uint32 retry encap 6 domain kerberos_realm encap 7 byte ticket_granting_server_utilization encap 8 byte provisioning_timer # DHCP Coordinate LCI, RFC6225 # We have no means of expressing 6 bit lengths define 123 binhex geoconf # DHCP Vendor-Identifying Vendor Options, RFC3925 define 124 binhex vivco define 125 embed vivso embed uint32 enterprise_number # Vendor options are shared between DHCP/DHCPv6 # Their code is matched to the enterprise number defined above # see the end of this file for an example # Options 126 and 127 are unused, RFC3679 # DHCP Options for Intel Preboot eXecution Environent (PXE), RFC4578 # Options 128-135 are used but of no use to dhcpcd # DHCP PANA Authentication Agent, RFC5192 define 136 array ipaddress pana_agent # DHCP Lost Server, RFC5223 define 137 domain lost_server # DHCP CAPWAP, RFC5417 define 138 array ipaddress capwap_ac # DHCP Mobility Services, RFC5678 define 139 encap mos_ip encap 1 array ipaddress is encap 2 array ipaddress cs encap 3 array ipaddress es define 140 encap mos_domain encap 1 domain is encap 2 domain cs encap 3 domain es # DHCP SIP UA, RFC6011 define 141 array domain sip_ua_cs_list # DHCP ANDSF, RFC6153 define 142 array ipaddress andsf define 143 array ip6address andsf6 # DHCP Coordinate LCI, RFC6225 # We have no means of expressing 6 bit lengths define 144 binhex geoloc # DHCP FORCERENEW Nonce Capability, RFC6704 define 145 array byte forcerenew_nonce_capable # DHCP RDNSS Selection for MIF Nodes, RFC6731 define 146 embed rdnss_selection embed byte prf embed ipaddress primary embed ipaddress secondary embed array domain domains # Options 147, 148 and 149 are unused, RFC3942 # DHCP TFTP Server Address, RFC5859 define 150 array ipaddress tftp_servers # Options 151-157 are used for Lease Query, RFC6926 and not for dhcpcd # Options 158-174 are unused, RFC3942 # Options 175-177 are tentativel assigned for Etherboot # Options 178-207 are unused, RFC3942 # DHCP PXELINUX, RFC5071 define 208 binhex pxelinux_magic define 209 string config_file define 210 string path_prefix define 211 uint32 reboot_time # DHCP IPv6 Rapid Deployment on IPv4 Infrastructures, RFC5969 define 212 rfc5969 sixrd # DHCP Access Network Domain Name, RFC5986 define 213 domain access_domain # Options 214-219 are unused, RFC3942 # DHCP Subnet Allocation, RFC6656 # Option 220 looks specific to Cisco hardware. # DHCP Virtual Subnet Selection, RFC6607 define 221 encap vss encap 0 string nvt encap 1 binhex vpn_id encap 255 flag global # Web Proxy Auto-Discovery define 252 string wpad_url # Options 222 and 223 are unused, RFC3942 # Options 224-254 are reserved for Private Use # Option 255 End ############################################################################## # DHCPv6 options, RFC3315 define6 1 binhex client_id define6 2 binhex server_id define6 3 norequest index embed ia_na embed binhex:4 iaid embed uint32 t1 embed uint32 t2 encap 5 option encap 13 option define6 4 norequest index embed ia_ta embed uint32 iaid encap 5 option encap 13 option define6 5 norequest index embed ia_addr embed ip6address ia_addr embed uint32 pltime embed uint32 vltime encap 13 option define6 6 array uint16 option_request define6 7 byte preference define6 8 uint16 elased_time define6 9 binhex dhcp_relay_msg # Option 10 is unused define6 11 embed auth embed byte protocol embed byte algorithm embed byte rdm embed binhex:8 replay embed binhex information define6 12 ip6address unicast define6 13 norequest embed status_code embed uint16 status_code embed string message define6 14 norequest flag rapid_commit define6 15 binhex user_class define6 16 binhex vivco define6 17 embed vivso embed uint32 enterprise_number # Vendor options are shared between DHCP/DHCPv6 # Their code is matched to the enterprise number defined above # See the end of this file for an example define6 18 binhex interface_id define6 19 byte reconfigure_msg define6 20 flag reconfigure_accept # DHCPv6 Session Initiation Protocol Options, RFC3319 define6 21 array domain sip_servers_names define6 22 array ip6address sip_servers_addresses # DHCPv6 DNS Configuration Options, RFC3646 define6 23 array ip6address name_servers define6 24 array domain domain_search # DHCPv6 Prefix Options, RFC6603 define6 25 norequest index embed ia_pd embed binhex:4 iaid embed uint32 t1 embed uint32 t2 encap 26 option define6 26 index embed prefix embed uint32 pltime embed uint32 vltime embed byte length embed ip6address prefix encap 13 option encap 67 option # DHCPv6 Network Information Service Options, RFC3898 define6 27 array ip6address nis_servers define6 28 array ip6address nisp_servers define6 29 string nis_domain_name define6 30 string nisp_domain_name # DHCPv6 Simple Network Time Protocol Servers Option, RFC4075 define6 31 array ip6address sntp_servers # DHCPv6 Information Refresh Time, RFC4242 define6 32 uint32 info_refresh_time # DHCPv6 Broadcast and Multicast Control Server, RFC4280 define6 33 array domain bcms_server_d define6 34 array ip6address bcms_server_a # DHCP Civic Addresses Configuration Information, RFC4776 define6 36 encap geoconf_civic embed byte what embed uint16 country_code # The rest of this option is not supported # DHCP Relay Agent Remote-ID, RFC4649 define6 37 embed remote_id embed uint32 enterprise_number embed binhex remote_id # DHCP Relay Agent Subscriber-ID, RFC4580 define6 38 binhex subscriber_id # DHCPv6 Fully Qualified Domain Name, RFC4704 define6 39 embed fqdn embed byte flags embed domain fqdn # DHCPv6 PANA Authentication Agnet, RC5192 define6 40 array ip6address pana_agent # DHCPv6 Timezone options, RFC4883 define6 41 string posix_timezone define6 42 string tzdb_timezone # DHCPv6 Relay Agent Echo Request define6 43 array uint16 ero # Options 44-48 are used for Lease Query, RFC5007 and not for dhcpcd # DHCPv6 Home Info Discovery in MIPv6, RFC6610 define6 49 domain mip6_hnidf define6 50 encap mip6_vdinf encap 71 option encap 72 option encap 73 option # DHCPv6 Lost Server, RFC5223 define6 51 domain lost_server # DHCPv6 CAPWAP, RFC5417 define6 52 array ip6address capwap_ac # DHCPv6 Relay-ID, RFC5460 define6 53 binhex relay_id # DHCP Mobility Services, RFC5678 define6 54 encap mos_ip encap 1 array ip6address is encap 2 array ip6address cs encap 3 array ip6address es define6 55 encap mos_domain encap 1 domain is encap 2 domain cs encap 3 domain es # DHCPv6 Network Time Protocol Server, RFC5908 define6 56 encap ntp_server encap 1 ip6address addr encap 2 ip6address mcast_addr encap 3 ip6address fqdn # DHCPv6 LIS Discovery, RFC5986 define6 57 domain access_domain # DHCPv6 SIP UA, RFC6011 define6 58 array domain sip_ua_cs_list # DHCPv6 Network Boot, RFC5970 define6 59 string bootfile_url # We presently cannot decode bootfile_param define6 60 binhex bootfile_param define6 61 array uint16 architecture_types define6 62 embed nii embed byte type embed byte major embed byte minor # DHCPv6 Coordinate LCI, RFC6225 # We have no means of expressing 6 bit lengths define6 63 binhex geoloc # DHCPv6 AFTR-Name, RFC6334 define6 64 domain aftr_name # DHCPv6 Prefix Exclude Option, RFC6603 define6 67 embed pd_exclude embed byte prefix_len embed binhex subnetID # DHCPv6 Home Info Discovery in MIPv6, RFC6610 define6 69 encap mip6_idinf encap 71 option encap 72 option encap 73 option define6 70 encap mip6_udinf encap 71 option encap 72 option encap 73 option define6 71 embed mip6_hnp embed byte prefix_len embed ip6address prefix define6 72 ip6address mip6_haa define6 73 domain mip6_haf # DHCPv6 RDNSS Selection for MIF Nodes, RFC6731 define6 74 embed rdnss_selection embed ip6address server embed byte prf embed array domain domains # DHCPv6 Kerberos, RFC6784 define6 75 string krb_principal_name define6 76 string krb_realm_name define6 78 embed krb_kdc embed uint16 priority embed uint16 weight embed byte transport_type embed uint16 port embed ip6address address embed string realm_name # DHCPv6 Client Link-Layer Address, RFC6939 # Section 7 states that clients MUST ignore the option 79 # DHCPv6 Relay-Triggered Reconfiguraion, RFC6977 define6 80 ip6address link_address # DHCPv6 Radius, RFC7037 # Section 7 states that clients MUST ignore the option 81 # DHCPv6 SOL_MAX_RT, RFC7083 define6 82 request uint32 sol_max_rt define6 83 request uint32 inf_max_rt # DHCPv6 Address Selection Policy # Currently not supported # Options 86-65535 are unasssinged ############################################################################## # Vendor-Identifying Vendor Options # An example: #vendopt 12345 encap frobozzco #encap 1 string maze_location #encap 2 byte grue_probability