dhcpcd: Add READMEs
[dragonfly.git] / contrib / dhcpcd / src / dhcpcd-definitions.conf
blobe0ab2b79f2e94dc6883592fdf04a6423c2f780a1
1 # Copyright (c) 2006-2017 Roy Marples
2 # All rights reserved
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
9 ##############################################################################
10 # DHCP RFC2132 options unless otheriwse stated
11 define 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
14 define 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
17 define 249      rfc3442                 ms_classless_static_routes
18 define 33       request array ipaddress static_routes
19 define 3        request array ipaddress routers
20 define 2        uint32                  time_offset
21 define 4        array ipaddress         time_servers
22 define 5        array ipaddress         ien116_name_servers
23 define 6        array ipaddress         domain_name_servers
24 define 7        array ipaddress         log_servers
25 define 8        array ipaddress         cookie_servers
26 define 9        array ipaddress         lpr_servers
27 define 10       array ipaddress         impress_servers
28 define 11       array ipaddress         resource_location_servers
29 define 12       dname                   host_name
30 define 13       uint16                  boot_size
31 define 14       string                  merit_dump
32 # Technically domain_name is not an array, but many servers expect clients
33 # to treat it as one.
34 define 15       array dname             domain_name
35 define 16       ipaddress               swap_server
36 define 17       string                  root_path
37 define 18       string                  extensions_path
38 define 19       byte                    ip_forwarding
39 define 20       byte                    non_local_source_routing
40 define 21       array ipaddress         policy_filter
41 define 22       uint16                  max_dgram_reassembly
42 define 23       byte                    default_ip_ttl
43 define 24       uint32                  path_mtu_aging_timeout
44 define 25       array uint16            path_mtu_plateau_table
45 define 26       uint16                  interface_mtu
46 define 27       byte                    all_subnets_local
47 define 28       request ipaddress       broadcast_address
48 define 29       byte                    perform_mask_discovery
49 define 30       byte                    mask_supplier
50 define 31       byte                    router_discovery
51 define 32       ipaddress               router_solicitation_address
52 define 34       byte                    trailer_encapsulation
53 define 35       uint32                  arp_cache_timeout
54 define 36       uint16                  ieee802_3_encapsulation
55 define 37       byte                    default_tcp_ttl
56 define 38       uint32                  tcp_keepalive_interval
57 define 39       byte                    tcp_keepalive_garbage
58 define 40       string                  nis_domain
59 define 41       array ipaddress         nis_servers
60 define 42       array ipaddress         ntp_servers
61 define 43       binhex                  vendor_encapsulated_options
62 define 44       array ipaddress         netbios_name_servers
63 define 45       ipaddress               netbios_dd_server
64 define 46       byte                    netbios_node_type
65 define 47       string                  netbios_scope
66 define 48       array ipaddress         font_servers
67 define 49       array ipaddress         x_display_manager
68 define 50       ipaddress               dhcp_requested_address
69 define 51       request uint32          dhcp_lease_time
70 define 52       byte                    dhcp_option_overload
71 define 53       byte                    dhcp_message_type
72 define 54       ipaddress               dhcp_server_identifier
73 define 55       array byte              dhcp_parameter_request_list
74 define 56       string                  dhcp_message
75 define 57       uint16                  dhcp_max_message_size
76 define 58       request uint32          dhcp_renewal_time
77 define 59       request uint32          dhcp_rebinding_time
78 define 60       string                  vendor_class_identifier
79 define 61       binhex                  dhcp_client_identifier
80 define 64       string                  nisplus_domain
81 define 65       array ipaddress         nisplus_servers
82 define 66       dname                   tftp_server_name
83 define 67       string                  bootfile_name
84 define 68       array ipaddress         mobile_ip_home_agent
85 define 69       array ipaddress         smtp_server
86 define 70       array ipaddress         pop_server
87 define 71       array ipaddress         nntp_server
88 define 72       array ipaddress         www_server
89 define 73       array ipaddress         finger_server
90 define 74       array ipaddress         irc_server
91 define 75       array ipaddress         streettalk_server
92 define 76       array ipaddress         streettalk_directory_assistance_server
94 # DHCP User Class, RFC3004
95 define 77       binhex                  user_class
97 # DHCP SLP Directory Agent, RFC2610
98 define 78       embed                   slp_agent
99 embed           byte                    mandatory
100 embed           array ipaddress         address
101 define 79       embed                   slp_service
102 embed           byte                    mandatory
103 embed           ascii                   scope_list
105 # DHCP Rapid Commit, RFC4039
106 define 80       norequest flag          rapid_commit
108 # DHCP Fully Qualified Domain Name, RFC4702
109 define 81       embed                   fqdn
110 embed           bitflags=0000NEOS       flags
111 embed           byte                    rcode1
112 embed           byte                    rcode2
113 # dhcpcd always sets the E bit which means the fqdn itself is always
114 # RFC1035 encoded.
115 # The server MUST use the encoding as specified by the client as noted
116 # in RFC4702 Section 2.1.
117 embed           optional domain         fqdn
119 # Option 82 is for Relay Agents and DHCP servers
121 # iSNS, RFC4174
122 define 83       embed                   isns
123 embed           byte                    reserved1
124 embed           bitflags=00000SAE       functions
125 embed           byte                    reserved2
126 embed           bitflags=00fFsSCE       dd
127 embed           byte                    reserved3
128 embed           bitflags=0000DMHE       admin
129 embed           uint16                  reserved4
130 embed           byte                    reserved5
131 embed           bitflags=0TXPAMSE       server_security
132 embed           array ipaddress         servers
134 # Option 84 are unused, RFC3679
136 # DHCP Novell Directory Services, RFC2241
137 define 85       array ipaddress         nds_servers
138 define 86       raw                     nds_tree_name
139 define 87       raw                     nds_context
141 # DHCP Broadcast and Multicast Control Server, RFC4280
142 define 88       array domain            bcms_controller_names
143 define 89       array ipaddress         bcms_controller_address
145 # DHCP Authentication, RFC3118
146 define 90       embed                   auth
147 embed           byte                    protocol
148 embed           byte                    algorithm
149 embed           byte                    rdm
150 embed           binhex:8                replay
151 embed           binhex                  information
153 # DHCP Leasequery, RFC4388
154 define 91       uint32                  client_last_transaction_time
155 define 92       array ipaddress         associated_ip
157 # DHCP Options for Intel Preboot eXecution Environent (PXE), RFC4578
158 # Options 93, 94 and 97 are used but of no use to dhcpcd
160 # Option 95 used by Apple but never published RFC3679
161 # Option 96 is unused, RFC3679
163 # DHCP The Open Group's User Authentication Protocol, RFC2485
164 define 98       string                  uap_servers
166 # DHCP Civic Addresses Configuration Information, RFC4776
167 define 99       encap                   geoconf_civic
168 embed           byte                    what
169 embed           uint16                  country_code
170 # The rest of this option is not supported
172 # DHCP Timezone, RFC4883
173 define 100      string                  posix_timezone
174 define 101      string                  tzdb_timezone
176 # Options 102-115 are unused, RFC3679
178 # DHCP Auto-Configuration, RFC2563
179 define 116      byte                    auto_configure
181 # DHCP Name Service Search, RFC2937
182 define 117      array uint16            name_service_search
184 # DHCP Subnet Selection, RFC3011
185 define 118      ipaddress               subnet_selection
187 # DHCP Domain Search, RFC3397
188 define 119      array domain            domain_search
190 # DHCP Session Initiated Protocol Servers, RFC3361
191 define 120      rfc3361                 sip_server
193 # Option 121 is defined at the top of this file
195 # DHCP CableLabs Client, RFC3495
196 define 122      encap                   tsp
197 encap 1         ipaddress               dhcp_server
198 encap 2         ipaddress               dhcp_secondary_server
199 encap 3         rfc3361                 provisioning_server
200 encap 4         embed                   as_req_as_rep_backoff
201 embed           uint32                  nominal
202 embed           uint32                  maximum
203 embed           uint32                  retry
204 encap 5         embed                   ap_req_ap_rep_backoff
205 embed           uint32                  nominal
206 embed           uint32                  maximum
207 embed           uint32                  retry
208 encap 6         domain                  kerberos_realm
209 encap 7         byte                    ticket_granting_server_utilization
210 encap 8         byte                    provisioning_timer
212 # DHCP Coordinate LCI, RFC6225
213 # We have no means of expressing 6 bit lengths
214 define 123      binhex                  geoconf
216 # DHCP Vendor-Identifying Vendor Options, RFC3925
217 define 124      binhex                  vivco
218 define 125      embed                   vivso
219 embed           uint32                  enterprise_number
220 # Vendor options are shared between DHCP/DHCPv6
221 # Their code is matched to the enterprise number defined above
222 # see the end of this file for an example
224 # Options 126 and 127 are unused, RFC3679
226 # DHCP Options for Intel Preboot eXecution Environent (PXE), RFC4578
227 # Options 128-135 are used but of no use to dhcpcd
229 # DHCP PANA Authentication Agent, RFC5192
230 define 136      array ipaddress         pana_agent
232 # DHCP Lost Server, RFC5223
233 define 137      domain                  lost_server
235 # DHCP CAPWAP, RFC5417
236 define 138      array ipaddress         capwap_ac
238 # DHCP Mobility Services, RFC5678
239 define 139      encap                   mos_ip
240 encap 1         array ipaddress         is
241 encap 2         array ipaddress         cs
242 encap 3         array ipaddress         es
243 define 140      encap                   mos_domain
244 encap 1         domain                  is
245 encap 2         domain                  cs
246 encap 3         domain                  es
248 # DHCP SIP UA, RFC6011
249 define 141      array domain            sip_ua_cs_list
251 # DHCP ANDSF, RFC6153
252 define 142      array ipaddress         andsf
253 define 143      array ip6address        andsf6
255 # DHCP Coordinate LCI, RFC6225
256 # We have no means of expressing 6 bit lengths
257 define 144      binhex                  geoloc
259 # DHCP FORCERENEW Nonce Capability, RFC6704
260 define 145      array byte              forcerenew_nonce_capable
262 # DHCP RDNSS Selection for MIF Nodes, RFC6731
263 define 146      embed                   rdnss_selection
264 embed           byte                    prf
265 embed           ipaddress               primary
266 embed           ipaddress               secondary
267 embed           array domain            domains
269 # Options 147, 148 and 149 are unused, RFC3942
271 # DHCP TFTP Server Address, RFC5859
272 define 150      array ipaddress         tftp_servers
274 # DHCP MUD URL, draft-ietf-opsawg-mud
275 define 161      string                  mudurl
277 # Apart from 161...
278 # Options 151-157 are used for Lease Query, RFC6926 and not for dhcpcd
279 # Options 158-174 are unused, RFC3942
281 # Options 175-177 are tentativel assigned for Etherboot
282 # Options 178-207 are unused, RFC3942
284 # DHCP PXELINUX, RFC5071
285 define 208      binhex                  pxelinux_magic
286 define 209      string                  config_file
287 define 210      string                  path_prefix
288 define 211      uint32                  reboot_time
290 # DHCP IPv6 Rapid Deployment on IPv4 Infrastructures, RFC5969
291 define 212      embed                   sixrd
292 embed           byte                    mask_len
293 embed           byte                    prefix_len
294 embed           ip6address              prefix
295 embed           array ipaddress         brip_address
297 # DHCP Access Network Domain Name, RFC5986
298 define 213      domain                  access_domain
300 # Options 214-219 are unused, RFC3942
302 # DHCP Subnet Allocation, RFC6656
303 # Option 220 looks specific to Cisco hardware.
305 # DHCP Virtual Subnet Selection, RFC6607
306 define 221      encap                   vss
307 encap 0         string                  nvt
308 encap 1         binhex                  vpn_id
309 encap 255       flag                    global
311 # Options 222 and 223 are unused, RFC3942
313 # Options 224-254 are reserved for Private Use
314 # However, an expired RFC for Web Proxy Auto Discovery Protocol does define
315 # Option 252 which is commonly used by major browsers.
316 # Apparently the code was assigned by agreement of the DHC working group chair.
317 define 252      string                  wpad_url
319 # Option 255 End
321 ##############################################################################
322 # ND6 options, RFC4861
323 definend 1      binhex                  source_address
324 definend 2      binhex                  target_address
326 definend 3      index embed             prefix_information
327 embed           byte                    length
328 embed           bitflags=LA             flags
329 embed           uint32                  vltime
330 embed           uint32                  pltime
331 embed           uint32                  reserved
332 embed           array ip6address        prefix
334 # option 4 is only for Redirect messages
336 definend 5      embed                   mtu
337 embed           uint16                  reserved
338 embed           uint32                  mtu
340 # ND6 options, RFC6101
341 definend 25     index embed             rdnss
342 embed           uint16                  reserved
343 embed           uint32                  lifetime
344 embed           array ip6address        servers
346 definend 31     index embed             dnssl
347 embed           uint16                  reserved
348 embed           uint32                  lifetime
349 embed           domain                  search
351 ##############################################################################
352 # DHCPv6 options, RFC3315
353 define6 1       binhex                  client_id
354 define6 2       binhex                  server_id
356 define6 3       norequest index embed   ia_na
357 embed           binhex:4                iaid
358 embed           uint32                  t1
359 embed           uint32                  t2
360 encap 5         option
361 encap 13        option
363 define6 4       norequest index embed   ia_ta
364 embed           uint32                  iaid
365 encap 5         option
366 encap 13        option
368 define6 5       norequest index embed   ia_addr
369 embed           ip6address              ia_addr
370 embed           uint32                  pltime
371 embed           uint32                  vltime
372 encap 13        option
374 define6 6       array uint16            option_request
375 define6 7       byte                    preference
376 define6 8       uint16                  elased_time
377 define6 9       binhex                  dhcp_relay_msg
379 # Option 10 is unused
381 define6 11      embed                   auth
382 embed           byte                    protocol
383 embed           byte                    algorithm
384 embed           byte                    rdm
385 embed           binhex:8                replay
386 embed           binhex                  information
388 define6 12      ip6address              unicast
390 define6 13      norequest embed         status_code
391 embed           uint16                  status_code
392 embed           optional string         message
394 define6 14      norequest flag          rapid_commit
395 define6 15      binhex                  user_class
397 define6 16      binhex                  vivco
398 define6 17      embed                   vivso
399 embed           uint32                  enterprise_number
400 # Vendor options are shared between DHCP/DHCPv6
401 # Their code is matched to the enterprise number defined above
402 # See the end of this file for an example
404 define6 18      binhex                  interface_id
405 define6 19      byte                    reconfigure_msg
406 define6 20      flag                    reconfigure_accept
408 # DHCPv6 Session Initiation Protocol Options, RFC3319
409 define6 21      array domain            sip_servers_names
410 define6 22      array ip6address        sip_servers_addresses
412 # DHCPv6 DNS Configuration Options, RFC3646
413 define6 23      array ip6address        name_servers
414 define6 24      array domain            domain_search
416 # DHCPv6 Prefix Options, RFC6603
417 define6 25      norequest index embed   ia_pd
418 embed           binhex:4                iaid
419 embed           uint32                  t1
420 embed           uint32                  t2
421 encap 26        option
422 define6 26      index embed             prefix
423 embed           uint32                  pltime
424 embed           uint32                  vltime
425 embed           byte                    length
426 embed           ip6address              prefix
427 encap 13        option
428 encap 67        option
430 # DHCPv6 Network Information Service Options, RFC3898
431 define6 27      array ip6address        nis_servers
432 define6 28      array ip6address        nisp_servers
433 define6 29      string                  nis_domain_name
434 define6 30      string                  nisp_domain_name
436 # DHCPv6 Simple Network Time Protocol Servers Option, RFC4075
437 define6 31      array ip6address        sntp_servers
439 # DHCPv6 Information Refresh Time, RFC4242
440 define6 32      uint32                  info_refresh_time
442 # DHCPv6 Broadcast and Multicast Control Server, RFC4280
443 define6 33      array domain            bcms_server_d
444 define6 34      array ip6address        bcms_server_a
446 # DHCP Civic Addresses Configuration Information, RFC4776
447 define6 36      encap                   geoconf_civic
448 embed           byte                    what
449 embed           uint16                  country_code
450 # The rest of this option is not supported
452 # DHCP Relay Agent Remote-ID, RFC4649
453 define6 37      embed                   remote_id
454 embed           uint32                  enterprise_number
455 embed           binhex                  remote_id
457 # DHCP Relay Agent Subscriber-ID, RFC4580
458 define6 38      binhex                  subscriber_id
460 # DHCPv6 Fully Qualified Domain Name, RFC4704
461 define6 39      embed                   fqdn
462 embed           bitflags=00000NOS       flags
463 embed           optional domain         fqdn
465 # DHCPv6 PANA Authentication Agnet, RC5192
466 define6 40      array ip6address        pana_agent
468 # DHCPv6 Timezone options, RFC4883
469 define6 41      string                  posix_timezone
470 define6 42      string                  tzdb_timezone
472 # DHCPv6 Relay Agent Echo Request
473 define6 43      array uint16            ero
475 # Options 44-48 are used for Lease Query, RFC5007 and not for dhcpcd
477 # DHCPv6 Home Info Discovery in MIPv6, RFC6610
478 define6 49      domain                  mip6_hnidf
479 define6 50      encap                   mip6_vdinf
480 encap 71        option
481 encap 72        option
482 encap 73        option
484 # DHCPv6 Lost Server, RFC5223
485 define6 51      domain                  lost_server
487 # DHCPv6 CAPWAP, RFC5417
488 define6 52      array ip6address        capwap_ac
490 # DHCPv6 Relay-ID, RFC5460
491 define6 53      binhex                  relay_id
493 # DHCP Mobility Services, RFC5678
494 define6 54      encap                   mos_ip
495 encap 1         array ip6address        is
496 encap 2         array ip6address        cs
497 encap 3         array ip6address        es
498 define6 55      encap                   mos_domain
499 encap 1         domain                  is
500 encap 2         domain                  cs
501 encap 3         domain                  es
503 # DHCPv6 Network Time Protocol Server, RFC5908
504 define6 56      encap                   ntp_server
505 encap 1         ip6address              addr
506 encap 2         ip6address              mcast_addr
507 encap 3         ip6address              fqdn
509 # DHCPv6 LIS Discovery, RFC5986
510 define6 57      domain                  access_domain
512 # DHCPv6 SIP UA, RFC6011
513 define6 58      array domain            sip_ua_cs_list
515 # DHCPv6 Network Boot, RFC5970
516 define6 59      string                  bootfile_url
517 # We presently cannot decode bootfile_param
518 define6 60      binhex                  bootfile_param
519 define6 61      array uint16            architecture_types
520 define6 62      embed                   nii
521 embed           byte                    type
522 embed           byte                    major
523 embed           byte                    minor
525 # DHCPv6 Coordinate LCI, RFC6225
526 # We have no means of expressing 6 bit lengths
527 define6 63      binhex                  geoloc
529 # DHCPv6 AFTR-Name, RFC6334
530 define6 64      domain                  aftr_name
532 # DHCPv6 Prefix Exclude Option, RFC6603
533 define6 67      embed                   pd_exclude
534 embed           byte                    prefix_len
535 embed           binhex                  subnetID
537 # DHCPv6 Home Info Discovery in MIPv6, RFC6610
538 define6 69      encap                   mip6_idinf
539 encap 71        option
540 encap 72        option
541 encap 73        option
542 define6 70      encap                   mip6_udinf
543 encap 71        option
544 encap 72        option
545 encap 73        option
546 define6 71      embed                   mip6_hnp
547 embed           byte                    prefix_len
548 embed           ip6address              prefix
549 define6 72      ip6address              mip6_haa
550 define6 73      domain                  mip6_haf
552 # DHCPv6 RDNSS Selection for MIF Nodes, RFC6731
553 define6 74      embed                   rdnss_selection
554 embed           ip6address              server
555 embed           byte                    prf
556 embed           array domain            domains
558 # DHCPv6 Kerberos, RFC6784
559 define6 75      string                  krb_principal_name
560 define6 76      string                  krb_realm_name
561 define6 78      embed                   krb_kdc
562 embed           uint16                  priority
563 embed           uint16                  weight
564 embed           byte                    transport_type
565 embed           uint16                  port
566 embed           ip6address              address
567 embed           string                  realm_name
569 # DHCPv6 Client Link-Layer Address, RFC6939
570 # Section 7 states that clients MUST ignore the option 79
572 # DHCPv6 Relay-Triggered Reconfiguraion, RFC6977
573 define6 80      ip6address              link_address
575 # DHCPv6 Radius, RFC7037
576 # Section 7 states that clients MUST ignore the option 81
578 # DHCPv6 SOL_MAX_RT, RFC7083
579 define6 82      request uint32          sol_max_rt
580 define6 83      request uint32          inf_max_rt
582 # DHCPv6 Softwire Address and Port-Mapped Clients, RFC7598
583 define6 89      embed                   s46_rule
584 embed           bitflags=0000000F       flags
585 embed           byte                    ea_len
586 embed           byte                    prefix4_len
587 embed           ipaddress               ipv4_prefix
588 embed           ip6address              ipv6_prefix
589 define6 90      ip6address              s64_br
590 define6 91      embed                   s46_dmr
591 embed           byte                    prefix_len
592 embed           binhex                  prefix
593 define6 92      embed                   s46_v4v6bind
594 embed           ipaddress               ipv4_address
595 embed           byte                    ipv6_prefix_len
596 embed           binhex                  ipv6_prefix_and_options
597 # Cannot decode options after variable length address ...
598 #encap  93      option
599 define6 93      embed                   s46_portparams
600 embed           byte                    offset
601 embed           byte                    psid_len
602 embed           uint16                  psid
603 define6 94      embed                   s46_cont_mape
604 encap   89      option
605 encap   90      option
606 define6 95      embed                   s46_cont_mapt
607 encap   89      option
608 encap   91      option
609 define6 96      embed                   s46_cont_lw
610 encap   90      option
611 encap   92      option
613 # DHCPv6 Address Selection Policy
614 # Currently not supported
616 # DHCPv6 MUD URL, draft-ietf-opsawg-mud
617 define6 112     string                  mudurl
619 # Options 86-65535 are unasssinged
621 ##############################################################################
622 # Vendor-Identifying Vendor Options
623 # An example:
624 #vendopt 12345  encap                   frobozzco
625 #encap 1        string                  maze_location
626 #encap 2        byte                    grue_probability