1 # $NetBSD: dhcpcd-definitions.conf,v 1.9 2015/07/09 10:15:34 roy Exp $
3 # Copyright (c) 2006-2015 Roy Marples
6 # DHCP option definitions for dhcpcd(8)
7 # These are used to translate DHCP options into shell variables
8 # for use in dhcpcd-run-hooks(8)
9 # See dhcpcd.conf(5) for details
11 ##############################################################################
12 # DHCP RFC2132 options unless otheriwse stated
13 define 1 request ipaddress subnet_mask
14 # RFC3442 states that the CSR has to come before all other routes
15 # For completeness we also specify static routes then routers
16 define 121 rfc3442 classless_static_routes
17 # Option 249 is an IANA assigned private number used by Windows DHCP servers
18 # to provide the exact same information as option 121, classless static routes
19 define 249 rfc3442 ms_classless_static_routes
20 define 33 request array ipaddress static_routes
21 define 3 request array ipaddress routers
22 define 2 uint32 time_offset
23 define 4 array ipaddress time_servers
24 define 5 array ipaddress ien116_name_servers
25 define 6 array ipaddress domain_name_servers
26 define 7 array ipaddress log_servers
27 define 8 array ipaddress cookie_servers
28 define 9 array ipaddress lpr_servers
29 define 10 array ipaddress impress_servers
30 define 11 array ipaddress resource_location_servers
31 define 12 dname host_name
32 define 13 uint16 boot_size
33 define 14 string merit_dump
34 # Technically domain_name is not an array, but many servers expect clients
36 define 15 array dname domain_name
37 define 16 ipaddress swap_server
38 define 17 string root_path
39 define 18 string extensions_path
40 define 19 byte ip_forwarding
41 define 20 byte non_local_source_routing
42 define 21 array ipaddress policy_filter
43 define 22 int16 max_dgram_reassembly
44 define 23 uint16 default_ip_ttl
45 define 24 uint32 path_mtu_aging_timeout
46 define 25 array uint16 path_mtu_plateau_table
47 define 26 uint16 interface_mtu
48 define 27 byte all_subnets_local
49 define 28 request ipaddress broadcast_address
50 define 29 byte perform_mask_discovery
51 define 30 byte mask_supplier
52 define 31 byte router_discovery
53 define 32 ipaddress router_solicitation_address
54 define 34 byte trailer_encapsulation
55 define 35 uint32 arp_cache_timeout
56 define 36 uint16 ieee802_3_encapsulation
57 define 37 byte default_tcp_ttl
58 define 38 uint32 tcp_keepalive_interval
59 define 39 byte tcp_keepalive_garbage
60 define 40 string nis_domain
61 define 41 array ipaddress nis_servers
62 define 42 array ipaddress ntp_servers
63 define 43 binhex vendor_encapsulated_options
64 define 44 array ipaddress netbios_name_servers
65 define 45 ipaddress netbios_dd_server
66 define 46 byte netbios_node_type
67 define 47 string netbios_scope
68 define 48 array ipaddress font_servers
69 define 49 array ipaddress x_display_manager
70 define 50 ipaddress dhcp_requested_address
71 define 51 request uint32 dhcp_lease_time
72 define 52 byte dhcp_option_overload
73 define 53 byte dhcp_message_type
74 define 54 ipaddress dhcp_server_identifier
75 define 55 array byte dhcp_parameter_request_list
76 define 56 string dhcp_message
77 define 57 uint16 dhcp_max_message_size
78 define 58 request uint32 dhcp_renewal_time
79 define 59 request uint32 dhcp_rebinding_time
80 define 60 string vendor_class_identifier
81 define 61 binhex dhcp_client_identifier
82 define 64 string nisplus_domain
83 define 65 array ipaddress nisplus_servers
84 define 66 dname tftp_server_name
85 define 67 string bootfile_name
86 define 68 array ipaddress mobile_ip_home_agent
87 define 69 array ipaddress smtp_server
88 define 70 array ipaddress pop_server
89 define 71 array ipaddress nntp_server
90 define 72 array ipaddress www_server
91 define 73 array ipaddress finger_server
92 define 74 array ipaddress irc_server
93 define 75 array ipaddress streettalk_server
94 define 76 array ipaddress streettalk_directory_assistance_server
96 # DHCP User Class, RFC3004
97 define 77 binhex user_class
99 # DHCP SLP Directory Agent, RFC2610
100 define 78 embed slp_agent
102 embed array ipaddress address
103 define 79 embed slp_service
105 embed ascii scope_list
107 # DHCP Rapid Commit, RFC4039
108 define 80 norequest flag rapid_commit
110 # DHCP Fully Qualified Domain Name, RFC4702
112 embed bitflags=0000NEOS flags
115 # dhcpcd always sets the E bit which means the fqdn itself is always
117 # The server MUST use the encoding as specified by the client as noted
118 # in RFC4702 Section 2.1.
121 # Option 82 is for Relay Agents and DHCP servers
123 # Options 83 ad 84 are unused, RFC3679
125 # DHCP Novell Directory Services, RFC2241
126 define 85 array ipaddress nds_servers
127 define 86 raw nds_tree_name
128 define 87 raw nds_context
130 # DHCP Broadcast and Multicast Control Server, RFC4280
131 define 88 array domain bcms_controller_names
132 define 89 array ipaddress bcms_controller_address
134 # DHCP Authentication, RFC3118
139 embed binhex:8 replay
140 embed binhex information
142 # DHCP Leasequery, RFC4388
143 define 91 uint32 client_last_transaction_time
144 define 92 array ipaddress associated_ip
146 # DHCP Options for Intel Preboot eXecution Environent (PXE), RFC4578
147 # Options 93, 94 and 97 are used but of no use to dhcpcd
149 # Option 95 used by Apple but never published RFC3679
150 # Option 96 is unused, RFC3679
152 # DHCP The Open Group's User Authentication Protocol, RFC2485
153 define 98 string uap_servers
155 # DHCP Civic Addresses Configuration Information, RFC4776
156 define 99 encap geoconf_civic
158 embed uint16 country_code
159 # The rest of this option is not supported
161 # DHCP Timezone, RFC4883
162 define 100 string posix_timezone
163 define 101 string tzdb_timezone
165 # Options 102-115 are unused, RFC3679
167 # DHCP Auto-Configuration, RFC2563
168 define 116 byte auto_configure
170 # DHCP Name Service Search, RFC2937
171 define 117 array uint16 name_service_search
173 # DHCP Subnet Selection, RFC3011
174 define 118 ipaddress subnet_selection
176 # DHCP Domain Search, RFC3397
177 define 119 array domain domain_search
179 # DHCP Session Initiated Protocol Servers, RFC3361
180 define 120 rfc3361 sip_server
182 # Option 121 is defined at the top of this file
184 # DHCP CableLabs Client, RFC3495
186 encap 1 ipaddress dhcp_server
187 encap 2 ipaddress dhcp_secondary_server
188 encap 3 rfc3361 provisioning_server
189 encap 4 embed as_req_as_rep_backoff
193 encap 5 embed ap_req_ap_rep_backoff
197 encap 6 domain kerberos_realm
198 encap 7 byte ticket_granting_server_utilization
199 encap 8 byte provisioning_timer
201 # DHCP Coordinate LCI, RFC6225
202 # We have no means of expressing 6 bit lengths
203 define 123 binhex geoconf
205 # DHCP Vendor-Identifying Vendor Options, RFC3925
206 define 124 binhex vivco
207 define 125 embed vivso
208 embed uint32 enterprise_number
209 # Vendor options are shared between DHCP/DHCPv6
210 # Their code is matched to the enterprise number defined above
211 # see the end of this file for an example
213 # Options 126 and 127 are unused, RFC3679
215 # DHCP Options for Intel Preboot eXecution Environent (PXE), RFC4578
216 # Options 128-135 are used but of no use to dhcpcd
218 # DHCP PANA Authentication Agent, RFC5192
219 define 136 array ipaddress pana_agent
221 # DHCP Lost Server, RFC5223
222 define 137 domain lost_server
224 # DHCP CAPWAP, RFC5417
225 define 138 array ipaddress capwap_ac
227 # DHCP Mobility Services, RFC5678
228 define 139 encap mos_ip
229 encap 1 array ipaddress is
230 encap 2 array ipaddress cs
231 encap 3 array ipaddress es
232 define 140 encap mos_domain
237 # DHCP SIP UA, RFC6011
238 define 141 array domain sip_ua_cs_list
240 # DHCP ANDSF, RFC6153
241 define 142 array ipaddress andsf
242 define 143 array ip6address andsf6
244 # DHCP Coordinate LCI, RFC6225
245 # We have no means of expressing 6 bit lengths
246 define 144 binhex geoloc
248 # DHCP FORCERENEW Nonce Capability, RFC6704
249 define 145 array byte forcerenew_nonce_capable
251 # DHCP RDNSS Selection for MIF Nodes, RFC6731
252 define 146 embed rdnss_selection
254 embed ipaddress primary
255 embed ipaddress secondary
256 embed array domain domains
258 # Options 147, 148 and 149 are unused, RFC3942
260 # DHCP TFTP Server Address, RFC5859
261 define 150 array ipaddress tftp_servers
263 # Options 151-157 are used for Lease Query, RFC6926 and not for dhcpcd
264 # Options 158-174 are unused, RFC3942
265 # Options 175-177 are tentativel assigned for Etherboot
266 # Options 178-207 are unused, RFC3942
268 # DHCP PXELINUX, RFC5071
269 define 208 binhex pxelinux_magic
270 define 209 string config_file
271 define 210 string path_prefix
272 define 211 uint32 reboot_time
274 # DHCP IPv6 Rapid Deployment on IPv4 Infrastructures, RFC5969
275 define 212 rfc5969 sixrd
277 # DHCP Access Network Domain Name, RFC5986
278 define 213 domain access_domain
280 # Options 214-219 are unused, RFC3942
282 # DHCP Subnet Allocation, RFC6656
283 # Option 220 looks specific to Cisco hardware.
285 # DHCP Virtual Subnet Selection, RFC6607
288 encap 1 binhex vpn_id
289 encap 255 flag global
291 # Options 222 and 223 are unused, RFC3942
293 # Options 224-254 are reserved for Private Use
294 # However, an expired RFC for Web Proxy Auto Discovery Protocol does define
295 # Option 252 which is commonly used by major browsers.
296 # Apparently the code was assigned by agreement of the DHC working group chair.
297 define 252 string wpad_url
301 ##############################################################################
302 # ND6 options, RFC4861
303 definend 1 binhex source_address
304 definend 2 binhex target_address
306 definend 3 index embed prefix_information
308 embed bitflags=LA flags
311 embed uint32 reserved
312 embed array ip6address prefix
314 # option 4 is only for Redirect messages
317 embed uint16 reserved
320 # ND6 options, RFC6101
321 definend 25 index embed rdnss
322 embed uint16 reserved
323 embed uint32 lifetime
324 embed array ip6address servers
326 definend 31 index embed dnssl
327 embed uint16 reserved
328 embed uint32 lifetime
331 ##############################################################################
332 # DHCPv6 options, RFC3315
333 define6 1 binhex client_id
334 define6 2 binhex server_id
336 define6 3 norequest index embed ia_na
343 define6 4 norequest index embed ia_ta
348 define6 5 norequest index embed ia_addr
349 embed ip6address ia_addr
354 define6 6 array uint16 option_request
355 define6 7 byte preference
356 define6 8 uint16 elased_time
357 define6 9 binhex dhcp_relay_msg
359 # Option 10 is unused
361 define6 11 embed auth
365 embed binhex:8 replay
366 embed binhex information
368 define6 12 ip6address unicast
370 define6 13 norequest embed status_code
371 embed uint16 status_code
374 define6 14 norequest flag rapid_commit
375 define6 15 binhex user_class
377 define6 16 binhex vivco
378 define6 17 embed vivso
379 embed uint32 enterprise_number
380 # Vendor options are shared between DHCP/DHCPv6
381 # Their code is matched to the enterprise number defined above
382 # See the end of this file for an example
384 define6 18 binhex interface_id
385 define6 19 byte reconfigure_msg
386 define6 20 flag reconfigure_accept
388 # DHCPv6 Session Initiation Protocol Options, RFC3319
389 define6 21 array domain sip_servers_names
390 define6 22 array ip6address sip_servers_addresses
392 # DHCPv6 DNS Configuration Options, RFC3646
393 define6 23 array ip6address name_servers
394 define6 24 array domain domain_search
396 # DHCPv6 Prefix Options, RFC6603
397 define6 25 norequest index embed ia_pd
402 define6 26 index embed prefix
406 embed ip6address prefix
410 # DHCPv6 Network Information Service Options, RFC3898
411 define6 27 array ip6address nis_servers
412 define6 28 array ip6address nisp_servers
413 define6 29 string nis_domain_name
414 define6 30 string nisp_domain_name
416 # DHCPv6 Simple Network Time Protocol Servers Option, RFC4075
417 define6 31 array ip6address sntp_servers
419 # DHCPv6 Information Refresh Time, RFC4242
420 define6 32 uint32 info_refresh_time
422 # DHCPv6 Broadcast and Multicast Control Server, RFC4280
423 define6 33 array domain bcms_server_d
424 define6 34 array ip6address bcms_server_a
426 # DHCP Civic Addresses Configuration Information, RFC4776
427 define6 36 encap geoconf_civic
429 embed uint16 country_code
430 # The rest of this option is not supported
432 # DHCP Relay Agent Remote-ID, RFC4649
433 define6 37 embed remote_id
434 embed uint32 enterprise_number
435 embed binhex remote_id
437 # DHCP Relay Agent Subscriber-ID, RFC4580
438 define6 38 binhex subscriber_id
440 # DHCPv6 Fully Qualified Domain Name, RFC4704
441 define6 39 embed fqdn
442 embed bitflags=00000NOS flags
445 # DHCPv6 PANA Authentication Agnet, RC5192
446 define6 40 array ip6address pana_agent
448 # DHCPv6 Timezone options, RFC4883
449 define6 41 string posix_timezone
450 define6 42 string tzdb_timezone
452 # DHCPv6 Relay Agent Echo Request
453 define6 43 array uint16 ero
455 # Options 44-48 are used for Lease Query, RFC5007 and not for dhcpcd
457 # DHCPv6 Home Info Discovery in MIPv6, RFC6610
458 define6 49 domain mip6_hnidf
459 define6 50 encap mip6_vdinf
464 # DHCPv6 Lost Server, RFC5223
465 define6 51 domain lost_server
467 # DHCPv6 CAPWAP, RFC5417
468 define6 52 array ip6address capwap_ac
470 # DHCPv6 Relay-ID, RFC5460
471 define6 53 binhex relay_id
473 # DHCP Mobility Services, RFC5678
474 define6 54 encap mos_ip
475 encap 1 array ip6address is
476 encap 2 array ip6address cs
477 encap 3 array ip6address es
478 define6 55 encap mos_domain
483 # DHCPv6 Network Time Protocol Server, RFC5908
484 define6 56 encap ntp_server
485 encap 1 ip6address addr
486 encap 2 ip6address mcast_addr
487 encap 3 ip6address fqdn
489 # DHCPv6 LIS Discovery, RFC5986
490 define6 57 domain access_domain
492 # DHCPv6 SIP UA, RFC6011
493 define6 58 array domain sip_ua_cs_list
495 # DHCPv6 Network Boot, RFC5970
496 define6 59 string bootfile_url
497 # We presently cannot decode bootfile_param
498 define6 60 binhex bootfile_param
499 define6 61 array uint16 architecture_types
505 # DHCPv6 Coordinate LCI, RFC6225
506 # We have no means of expressing 6 bit lengths
507 define6 63 binhex geoloc
509 # DHCPv6 AFTR-Name, RFC6334
510 define6 64 domain aftr_name
512 # DHCPv6 Prefix Exclude Option, RFC6603
513 define6 67 embed pd_exclude
514 embed byte prefix_len
515 embed binhex subnetID
517 # DHCPv6 Home Info Discovery in MIPv6, RFC6610
518 define6 69 encap mip6_idinf
522 define6 70 encap mip6_udinf
526 define6 71 embed mip6_hnp
527 embed byte prefix_len
528 embed ip6address prefix
529 define6 72 ip6address mip6_haa
530 define6 73 domain mip6_haf
532 # DHCPv6 RDNSS Selection for MIF Nodes, RFC6731
533 define6 74 embed rdnss_selection
534 embed ip6address server
536 embed array domain domains
538 # DHCPv6 Kerberos, RFC6784
539 define6 75 string krb_principal_name
540 define6 76 string krb_realm_name
541 define6 78 embed krb_kdc
542 embed uint16 priority
544 embed byte transport_type
546 embed ip6address address
547 embed string realm_name
549 # DHCPv6 Client Link-Layer Address, RFC6939
550 # Section 7 states that clients MUST ignore the option 79
552 # DHCPv6 Relay-Triggered Reconfiguraion, RFC6977
553 define6 80 ip6address link_address
555 # DHCPv6 Radius, RFC7037
556 # Section 7 states that clients MUST ignore the option 81
558 # DHCPv6 SOL_MAX_RT, RFC7083
559 define6 82 request uint32 sol_max_rt
560 define6 83 request uint32 inf_max_rt
562 # DHCPv6 Address Selection Policy
563 # Currently not supported
565 # Options 86-65535 are unasssinged
567 ##############################################################################
568 # Vendor-Identifying Vendor Options
570 #vendopt 12345 encap frobozzco
571 #encap 1 string maze_location
572 #encap 2 byte grue_probability