blob: 0e5aa3b8961a8fbfcf3aff1348848fcf2d209584 [file] [log] [blame]
Samuel Tand7ed8512015-08-13 16:11:35 -07001# 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
Victor Dodon9c993df2016-01-14 15:14:06 -080061define 43 binhex vendor_encapsulated_options
Samuel Tand7ed8512015-08-13 16:11:35 -070062define 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
Samuel Tan471e0122015-08-13 16:49:12 -0700285# Web Proxy Auto-Discovery
286define 252 string wpad_url
287
Samuel Tand7ed8512015-08-13 16:11:35 -0700288# 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