1dhcpd-options(5)              File Formats Manual             dhcpd-options(5)
2
3
4

NAME

6       dhcp-options - Dynamic Host Configuration Protocol options
7

DESCRIPTION

9       The  Dynamic  Host  Configuration protocol allows the client to receive
10       options from the DHCP server describing the network  configuration  and
11       various  services that are available on the network.   When configuring
12       dhcpd(8) or dhclient(8) , options must often be declared.   The  syntax
13       for  declaring  options,  and the names and formats of the options that
14       can be declared, are documented here.
15

REFERENCE: OPTION STATEMENTS

17       DHCP option statements always start with the option  keyword,  followed
18       by  an option name, followed by option data.  The option names and data
19       formats are described below.   It  is  not  necessary  to  exhaustively
20       specify  all  DHCP  options  -  only  those options which are needed by
21       clients must be specified.
22
23       Option data comes in a variety of formats, as defined below:
24
25       The ip-address data type can  be  entered  either  as  an  explicit  IP
26       address  (e.g.,  239.254.197.10)  or  as  a  domain  name  (e.g.,  haa‐
27       gen.isc.org).  When entering a domain name, be sure  that  that  domain
28       name resolves to a single IP address.
29
30       The   ip6-address   data   specifies  an  IPv6  address,  like  ::1  or
31       3ffe:bbbb:aaaa:aaaa::1.
32
33       The int32 data type specifies a signed  32-bit  integer.    The  uint32
34       data  type specifies an unsigned 32-bit integer.   The int16 and uint16
35       data types specify signed and unsigned 16-bit integers.   The int8  and
36       uint8  data types specify signed and unsigned 8-bit integers.  Unsigned
37       8-bit integers are also sometimes referred to as octets.
38
39       The text data type  specifies  an  NVT  ASCII  string,  which  must  be
40       enclosed in double quotes - for example, to specify a root-path option,
41       the syntax would be
42
43       option root-path "10.0.1.4:/var/tmp/rootfs";
44
45       The domain-name data type specifies a domain name, which  must  not  be
46       enclosed  in double quotes.   This data type is not used for any exist‐
47       ing DHCP options.   The domain name is stored just as if it were a text
48       option.
49
50       The domain-list data type specifies a list of domain names, enclosed in
51       double  quotes  and  separated  by  commas  ("example.com",  "foo.exam‐
52       ple.com").
53
54       The  flag data type specifies a boolean value.   Booleans can be either
55       true or false (or on or off, if that makes more sense to you).
56
57       The string data type specifies either an NVT ASCII string  enclosed  in
58       double  quotes,  or  a series of octets specified in hexadecimal, sepa‐
59       rated by colons.   For example:
60
61         option dhcp-client-identifier "CLIENT-FOO";
62       or
63         option dhcp-client-identifier 43:4c:49:45:54:2d:46:4f:4f;
64
65       The destination-descriptor describe the IP  subnet  number  and  subnet
66       mask  of a particular destination using a compact encoding. This encod‐
67       ing consists of one octet describing the width of the subnet mask, fol‐
68       lowed  by all the significant octets of the subnet number.  The follow‐
69       ing table contains some examples of how various subnet number/mask com‐
70       binations can be encoded:
71
72       Subnet number   Subnet mask      Destination descriptor
73       0               0                0
74       10.0.0.0        255.0.0.0        8.10
75       10.0.0.0        255.255.255.0    24.10.0.0
76       10.17.0.0       255.255.0.0      16.10.17
77       10.27.129.0     255.255.255.0    24.10.27.129
78       10.229.0.128    255.255.255.128  25.10.229.0.128
79       10.198.122.47   255.255.255.255  32.10.198.122.47
80

SETTING OPTION VALUES USING EXPRESSIONS

82       Sometimes  it's  helpful  to  be able to set the value of a DHCP option
83       based on some value that the client has sent.   To do this, you can use
84       expression  evaluation.   The dhcp-eval(5) manual page describes how to
85       write expressions.   To assign  the  result  of  an  evaluation  to  an
86       option, define the option as follows:
87
88         option my-option = expression ;
89
90       For example:
91
92         option hostname = binary-to-ascii (16, 8, "-",
93                                            substring (hardware, 1, 6));
94

STANDARD DHCPV4 OPTIONS

96       The documentation for the various options mentioned below is taken from
97       the latest IETF draft document on DHCP  options.   Options  not  listed
98       below  may  not  yet  be  implemented,  but  it is possible to use such
99       options by defining them in the configuration  file.   Please  see  the
100       DEFINING  NEW  OPTIONS heading later in this document for more informa‐
101       tion.
102
103       Some of the options documented here are automatically generated by  the
104       DHCP  server  or by clients, and cannot be configured by the user.  The
105       value of such an option can be used in the configuration  file  of  the
106       receiving DHCP protocol agent (server or client), for example in condi‐
107       tional expressions. However, the value of the option cannot be used  in
108       the  configuration  file  of  the  sending  agent, because the value is
109       determined only after the configuration file has been processed. In the
110       following  documentation,  such options will be shown as "not user con‐
111       figurable"
112
113       The standard options are:
114
115       option all-subnets-local flag;
116
117         This option specifies whether or not the client may assume  that  all
118         subnets  of  the  IP network to which the client is connected use the
119         same MTU as the subnet  of  that  network  to  which  the  client  is
120         directly connected.  A value of true indicates that all subnets share
121         the same MTU.  A value of false means that the client  should  assume
122         that  some subnets of the directly connected network may have smaller
123         MTUs.
124
125       option arp-cache-timeout uint32;
126
127         This option specifies the timeout in seconds for ARP cache entries.
128
129       option bcms-controller-address ip-address [, ip-address... ];
130
131         This option configures a list of IPv4 addresses for use as  Broadcast
132         and Multicast Controller Servers ("BCMS").
133
134       option bcms-controller-names domain-list;
135
136         This  option  contains the domain names of local Broadcast and Multi‐
137         cast Controller Servers ("BCMS") controllers  which  the  client  may
138         use.
139
140       option bootfile-name text;
141
142         This  option  is  used to identify a bootstrap file.  If supported by
143         the client, it should have the same effect as the  filename  declara‐
144         tion.   BOOTP clients are unlikely to support this option.  Some DHCP
145         clients will support it, and others actually require it.
146
147       option boot-size uint16;
148
149         This option specifies the length in 512-octet blocks of  the  default
150         boot image for the client.
151
152       option broadcast-address ip-address;
153
154         This  option  specifies  the broadcast address in use on the client's
155         subnet.  Legal values for broadcast addresses are specified  in  sec‐
156         tion 3.2.1.3 of STD 3 (RFC1122).
157
158       option cookie-servers ip-address [, ip-address...  ];
159
160         The  cookie  server option specifies a list of RFC 865 cookie servers
161         available to the client.  Servers should be listed in order of  pref‐
162         erence.
163
164       option default-ip-ttl uint8;
165
166         This option specifies the default time-to-live that the client should
167         use on outgoing datagrams.
168
169       option default-tcp-ttl uint8;
170
171         This option specifies the default TTL that the client should use when
172         sending TCP segments.  The minimum value is 1.
173
174       option default-url string;
175
176         The  format  and meaning of this option is not described in any stan‐
177         dards document, but is claimed to be in use by Apple Computer.  It is
178         not  known  what  clients  may  reasonably  do  if supplied with this
179         option.  Use at your own risk.
180
181       option dhcp-client-identifier string;
182
183         This option can be used to specify a DHCP client identifier in a host
184         declaration,  so  that  dhcpd  can  find  the host record by matching
185         against the client identifier.
186
187         Please be aware that some DHCP clients, when configured  with  client
188         identifiers  that  are  ASCII  text, will prepend a zero to the ASCII
189         text.   So you may need to write:
190
191              option dhcp-client-identifier "\0foo";
192
193         rather than:
194
195              option dhcp-client-identifier "foo";
196
197       option dhcp-lease-time uint32;
198
199         This option is used in a client request (DHCPDISCOVER or DHCPREQUEST)
200         to allow the client to request a lease time for the IP address.  In a
201         server reply (DHCPOFFER), a DHCP server uses this option  to  specify
202         the lease time it is willing to offer.
203
204         This option is not directly user configurable in the server; refer to
205         the  max-lease-time  and   default-lease-time   server   options   in
206         dhcpd.conf(5).
207
208       option dhcp-max-message-size uint16;
209
210         This  option,  when sent by the client, specifies the maximum size of
211         any response that the server sends to the client.   When specified on
212         the  server,  if  the  client  did  not  send a dhcp-max-message-size
213         option, the size specified on the server is used.    This  works  for
214         BOOTP as well as DHCP responses.
215
216       option dhcp-message text;
217
218         This option is used by a DHCP server to provide an error message to a
219         DHCP client in a DHCPNAK message in the event of a failure. A  client
220         may  use  this  option  in  a DHCPDECLINE message to indicate why the
221         client declined the offered parameters.
222
223         This option is not user configurable.
224
225       option dhcp-message-type uint8;
226
227         This option, sent by both client and server, specifies  the  type  of
228         DHCP  message  contained  in  the DHCP packet. Possible values (taken
229         directly from RFC2132) are:
230
231                      1     DHCPDISCOVER
232                      2     DHCPOFFER
233                      3     DHCPREQUEST
234                      4     DHCPDECLINE
235                      5     DHCPACK
236                      6     DHCPNAK
237                      7     DHCPRELEASE
238                      8     DHCPINFORM
239
240         This option is not user configurable.
241
242       option dhcp-option-overload uint8;
243
244         This option is used to indicate  that  the  DHCP  'sname'  or  'file'
245         fields  are  being  overloaded by using them to carry DHCP options. A
246         DHCP server inserts this  option  if  the  returned  parameters  will
247         exceed the usual space allotted for options.
248
249         If  this option is present, the client interprets the specified addi‐
250         tional fields after  it  concludes  interpretation  of  the  standard
251         option fields.
252
253         Legal values for this option are:
254
255                      1     the 'file' field is used to hold options
256                      2     the 'sname' field is used to hold options
257                      3     both fields are used to hold options
258
259         This option is not user configurable.
260
261       option dhcp-parameter-request-list uint16 [, uint16... ];
262
263         This  option,  when  sent  by the client, specifies which options the
264         client wishes the server to  return.    Normally,  in  the  ISC  DHCP
265         client, this is done using the request statement.   If this option is
266         not specified by the client, the DHCP  server  will  normally  return
267         every  option  that  is  valid in scope and that fits into the reply.
268         When this option is specified on the server, the server  returns  the
269         specified  options.    This  can  be  used  to force a client to take
270         options that it hasn't requested, and it can also be used  to  tailor
271         the response of the DHCP server for clients that may need a more lim‐
272         ited set of options than those the server would normally return.
273
274       option dhcp-rebinding-time uint32;
275
276         This option specifies the number of seconds from the  time  a  client
277         gets an address until the client transitions to the REBINDING state.
278
279         This option is not user configurable.
280
281       option dhcp-renewal-time uint32;
282
283         This  option  specifies  the number of seconds from the time a client
284         gets an address until the client transitions to the RENEWING state.
285
286         This option is not user configurable.
287
288       option dhcp-requested-address ip-address;
289
290         This option is used by the client in a DHCPDISCOVER to request that a
291         particular IP address be assigned.
292
293         This option is not user configurable.
294
295       option dhcp-server-identifier ip-address;
296
297         This  option  is  used in DHCPOFFER and DHCPREQUEST messages, and may
298         optionally be included in the DHCPACK  and  DHCPNAK  messages.   DHCP
299         servers  include  this  option in the DHCPOFFER in order to allow the
300         client to distinguish between lease offers.   DHCP  clients  use  the
301         contents  of the 'server identifier' field as the destination address
302         for any DHCP messages unicast to the DHCP server.  DHCP clients  also
303         indicate which of several lease offers is being accepted by including
304         this option in a DHCPREQUEST message.
305
306         The value of this option is the IP address of the server.
307
308         This option is not directly user configurable. See the server-identi‐
309         fier server option in dhcpd.conf(5).
310
311       option domain-name text;
312
313         This  option  specifies  the  domain name that client should use when
314         resolving hostnames via the Domain Name System.
315
316       option domain-name-servers ip-address [, ip-address...  ];
317
318         The domain-name-servers option specifies a list of Domain Name System
319         (STD  13,  RFC  1035)  name servers available to the client.  Servers
320         should be listed in order of preference.
321
322       option domain-search domain-list;
323
324         The domain-search option specifies a 'search list' of Domain Names to
325         be  used  by  the  client to locate not-fully-qualified domain names.
326         The difference between this option and historic use  of  the  domain-
327         name  option  for  the  same  ends  is that this option is encoded in
328         RFC1035 compressed labels on the wire.  For example:
329
330           option domain-search "example.com", "sales.example.com",
331                                "eng.example.com";
332
333       option extensions-path text;
334
335         This option specifies  the  name  of  a  file  containing  additional
336         options  to  be  interpreted  according  to the DHCP option format as
337         specified in RFC2132.
338
339       option finger-server ip-address [, ip-address... ];
340
341         The Finger server option specifies a list of Finger servers available
342         to the client.  Servers should be listed in order of preference.
343
344       option font-servers ip-address [, ip-address...  ];
345
346         This  option  specifies a list of X Window System Font servers avail‐
347         able to the client. Servers should be listed in order of preference.
348
349       option host-name string;
350
351         This option specifies the name of the client.  The name  may  or  may
352         not  be qualified with the local domain name (it is preferable to use
353         the domain-name option to specify the domain name).  See RFC 1035 for
354         character set restrictions.  This option is only honored by dhclient-
355         script(8) if the hostname for the client machine is not set.
356
357       option ieee802-3-encapsulation flag;
358
359         This option specifies whether or not the client should  use  Ethernet
360         Version  2  (RFC  894)  or IEEE 802.3 (RFC 1042) encapsulation if the
361         interface is an Ethernet.  A value of false indicates that the client
362         should  use  RFC  894  encapsulation.  A value of true means that the
363         client should use RFC 1042 encapsulation.
364
365       option ien116-name-servers ip-address [, ip-address...  ];
366
367         The ien116-name-servers option specifies  a  list  of  IEN  116  name
368         servers  available  to the client.  Servers should be listed in order
369         of preference.
370
371       option impress-servers ip-address [, ip-address...  ];
372
373         The impress-server option specifies a list of Imagen Impress  servers
374         available  to the client.  Servers should be listed in order of pref‐
375         erence.
376
377       option interface-mtu uint16;
378
379         This option specifies the MTU to use on this interface.   The minimum
380         legal value for the MTU is 68.
381
382       option ip-forwarding flag;
383
384         This  option  specifies  whether  the  client should configure its IP
385         layer for packet forwarding.  A value of false means disable IP  for‐
386         warding, and a value of true means enable IP forwarding.
387
388       option irc-server ip-address [, ip-address... ];
389
390         The  IRC  server  option specifies a list of IRC servers available to
391         the client.  Servers should be listed in order of preference.
392
393       option log-servers ip-address [, ip-address...  ];
394
395         The log-server option specifies a list of  MIT-LCS  UDP  log  servers
396         available  to the client.  Servers should be listed in order of pref‐
397         erence.
398
399       option lpr-servers ip-address  [, ip-address...  ];
400
401         The LPR server option specifies a  list  of  RFC  1179  line  printer
402         servers  available  to the client.  Servers should be listed in order
403         of preference.
404
405       option mask-supplier flag;
406
407         This option specifies whether or not the  client  should  respond  to
408         subnet mask requests using ICMP.  A value of false indicates that the
409         client should not respond.  A value of true  means  that  the  client
410         should respond.
411
412       option max-dgram-reassembly uint16;
413
414         This  option  specifies  the  maximum  size  datagram that the client
415         should be prepared to reassemble.  The minimum legal value is 576.
416
417       option merit-dump text;
418
419         This option specifies the path-name of a file to which  the  client's
420         core  image  should  be  dumped in the event the client crashes.  The
421         path is formatted as a character string consisting of characters from
422         the NVT ASCII character set.
423
424       option mobile-ip-home-agent ip-address [, ip-address... ];
425
426         This  option  specifies  a  list of IP addresses indicating mobile IP
427         home agents available to the client.   Agents  should  be  listed  in
428         order  of  preference,  although normally there will be only one such
429         agent.
430
431       option nds-context string;
432
433         The nds-context option specifies the  name  of  the  initial  Netware
434         Directory Service for an NDS client.
435
436       option nds-servers ip-address [, ip-address... ];
437
438         The  nds-servers  option  specifies  a  list  of  IP addresses of NDS
439         servers.
440
441       option nds-tree-name string;
442
443         The nds-tree-name option specifies NDS tree name that the NDS  client
444         should use.
445
446       option netbios-dd-server ip-address [, ip-address...  ];
447
448         The  NetBIOS  datagram  distribution server (NBDD) option specifies a
449         list of RFC 1001/1002 NBDD servers listed in order of preference.
450
451       option netbios-name-servers ip-address [, ip-address...];
452
453         The NetBIOS name  server  (NBNS)  option  specifies  a  list  of  RFC
454         1001/1002  NBNS name servers listed in order of preference.   NetBIOS
455         Name Service is currently more commonly referred to as  WINS.    WINS
456         servers can be specified using the netbios-name-servers option.
457
458       option netbios-node-type uint8;
459
460         The NetBIOS node type option allows NetBIOS over TCP/IP clients which
461         are configurable to be configured as described in RFC 1001/1002.  The
462         value  is  specified  as  a  single octet which identifies the client
463         type.
464
465         Possible node types are:
466
467         1    B-node: Broadcast - no WINS
468
469         2    P-node: Peer - WINS only
470
471         4    M-node: Mixed - broadcast, then WINS
472
473         8    H-node: Hybrid - WINS, then broadcast
474
475       option netbios-scope string;
476
477         The NetBIOS scope option specifies  the  NetBIOS  over  TCP/IP  scope
478         parameter  for the client as specified in RFC 1001/1002. See RFC1001,
479         RFC1002, and RFC1035 for character-set restrictions.
480
481       option netinfo-server-address ip-address [, ip-address... ];
482
483         The netinfo-server-address option has not been described in any  RFC,
484         but has been allocated (and is claimed to be in use) by Apple Comput‐
485         ers.  It's hard to say if the above is the correct  format,  or  what
486         clients  might  be  expected to do if values were configured.  Use at
487         your own risk.
488
489       option netinfo-server-tag text;
490
491         The netinfo-server-tag option has not been described in any RFC,  but
492         has  been allocated (and is claimed to be in use) by Apple Computers.
493         It's hard to say if the above is the correct format, or what  clients
494         might  be  expected to do if values were configured.  Use at your own
495         risk.
496
497       option nis-domain text;
498
499         This option specifies the name  of  the  client's  NIS  (Sun  Network
500         Information Services) domain.  The domain is formatted as a character
501         string consisting of characters from the NVT ASCII character set.
502
503       option nis-servers ip-address [, ip-address...  ];
504
505         This option specifies a list of IP addresses indicating  NIS  servers
506         available  to the client.  Servers should be listed in order of pref‐
507         erence.
508
509       option nisplus-domain text;
510
511         This option specifies the name of  the  client's  NIS+  domain.   The
512         domain  is  formatted  as a character string consisting of characters
513         from the NVT ASCII character set.
514
515       option nisplus-servers ip-address [, ip-address...  ];
516
517         This option specifies a list of IP addresses indicating NIS+  servers
518         available  to the client.  Servers should be listed in order of pref‐
519         erence.
520
521       option nntp-server ip-address [, ip-address... ];
522
523         The NNTP server option specifies a list of NNTP servesr available  to
524         the client.  Servers should be listed in order of preference.
525
526       option non-local-source-routing flag;
527
528         This  option  specifies  whether  the  client should configure its IP
529         layer to allow forwarding of datagrams with non-local  source  routes
530         (see  Section  3.3.5 of [4] for a discussion of this topic).  A value
531         of false means disallow forwarding of such datagrams, and a value  of
532         true means allow forwarding.
533
534       option ntp-servers ip-address [, ip-address...  ];
535
536         This  option  specifies  a  list  of IP addresses indicating NTP (RFC
537         1035) servers available to the client.  Servers should be  listed  in
538         order of preference.
539
540       option nwip-domain string;
541
542         The  name  of  the  NetWare/IP domain that a NetWare/IP client should
543         use.
544
545       option nwip-suboptions string;
546
547         A sequence of suboptions for NetWare/IP clients  -  see  RFC2242  for
548         details.    Normally  this  option is set by specifying specific Net‐
549         Ware/IP suboptions - see the NETWARE/IP SUBOPTIONS section  for  more
550         information.
551
552       option path-mtu-aging-timeout uint32;
553
554         This option specifies the timeout (in seconds) to use when aging Path
555         MTU values discovered by the mechanism defined in RFC 1191.
556
557       option path-mtu-plateau-table uint16 [, uint16...  ];
558
559         This option specifies a table of MTU sizes  to  use  when  performing
560         Path MTU Discovery as defined in RFC 1191.  The table is formatted as
561         a list of 16-bit unsigned integers, ordered from smallest to largest.
562         The minimum MTU value cannot be smaller than 68.
563
564       option perform-mask-discovery flag;
565
566         This option specifies whether or not the client should perform subnet
567         mask discovery using ICMP.  A  value  of  false  indicates  that  the
568         client should not perform mask discovery.  A value of true means that
569         the client should perform mask discovery.
570
571       option policy-filter ip-address ip-address
572                         [, ip-address ip-address...];
573
574         This option specifies policy filters for  non-local  source  routing.
575         The filters consist of a list of IP addresses and masks which specify
576         destination/mask pairs with which to filter incoming source routes.
577
578         Any source routed datagram whose next-hop address does not match  one
579         of the filters should be discarded by the client.
580
581         See STD 3 (RFC1122) for further information.
582
583       option pop-server ip-address [, ip-address... ];
584
585         The  POP3 server option specifies a list of POP3 servers available to
586         the client.  Servers should be listed in order of preference.
587
588       option resource-location-servers ip-address
589                                     [, ip-address...];
590
591         This option specifies a list of RFC  887  Resource  Location  servers
592         available  to the client.  Servers should be listed in order of pref‐
593         erence.
594
595       option root-path text;
596
597         This option specifies the path-name that contains the  client's  root
598         disk.   The  path  is  formatted  as a character string consisting of
599         characters from the NVT ASCII character set.
600
601       option router-discovery flag;
602
603         This option specifies  whether  or  not  the  client  should  solicit
604         routers  using the Router Discovery mechanism defined in RFC 1256.  A
605         value of false indicates that the client should  not  perform  router
606         discovery.   A  value  of  true  means that the client should perform
607         router discovery.
608
609       option router-solicitation-address ip-address;
610
611         This option specifies the address to which the client should transmit
612         router solicitation requests.
613
614       option routers ip-address [, ip-address...  ];
615
616         The  routers  option  specifies a list of IP addresses for routers on
617         the client's subnet.  Routers should be listed in  order  of  prefer‐
618         ence.
619
620       option slp-directory-agent boolean ip-address [, ip-address... ];
621
622         This  option  specifies  two  things: the IP addresses of one or more
623         Service Location Protocol Directory Agents, and whether  the  use  of
624         these addresses is mandatory.   If the initial boolean value is true,
625         the SLP agent should just use the IP addresses given.   If the  value
626         is  false, the SLP agent may additionally do active or passive multi‐
627         cast discovery of SLP agents (see RFC2165 for details).
628
629         Please note that in this option and the slp-service-scope option, the
630         term  "SLP Agent" is being used to refer to a Service Location Proto‐
631         col agent running on a machine that is  being  configured  using  the
632         DHCP protocol.
633
634         Also,  please  be  aware that some companies may refer to SLP as NDS.
635         If you have an NDS directory agent whose address you need to  config‐
636         ure, the slp-directory-agent option should work.
637
638       option slp-service-scope boolean text;
639
640         The  Service  Location  Protocol  Service  Scope Option specifies two
641         things: a list of service scopes for SLP, and whether the use of this
642         list  is  mandatory.   If  the initial boolean value is true, the SLP
643         agent should only use the list of scopes  provided  in  this  option;
644         otherwise,  it  may use its own static configuration in preference to
645         the list provided in this option.
646
647         The text string should be a comma-separated list of scopes  that  the
648         SLP  agent  should  use.    It  may be omitted, in which case the SLP
649         Agent will use the aggregated list of scopes of all directory  agents
650         known to the SLP agent.
651
652       option smtp-server ip-address [, ip-address... ];
653
654         The  SMTP server option specifies a list of SMTP servers available to
655         the client.  Servers should be listed in order of preference.
656
657       option static-routes ip-address ip-address
658                         [, ip-address ip-address...];
659
660         This option specifies a list of static routes that the client  should
661         install  in its routing cache.  If multiple routes to the same desti‐
662         nation are specified, they are listed in descending order  of  prior‐
663         ity.
664
665         The  routes consist of a list of IP address pairs.  The first address
666         is the destination address, and the second address is the router  for
667         the destination.
668
669         The  default  route  (0.0.0.0) is an illegal destination for a static
670         route.  To specify the default route, use the routers option.   Also,
671         please note that this option is not intended for classless IP routing
672         - it does not include a subnet mask.   Since classless IP routing  is
673         now  the most widely deployed routing standard, this option is virtu‐
674         ally useless, and is not implemented  by  any  of  the  popular  DHCP
675         clients, for example the Microsoft DHCP client.
676
677         NOTE to Fedora dhclient users:
678         dhclient-script  interprets  trailing 0 octets of the target as indi‐
679         cating the subnet class of the route, so for  the  following  static-
680         routes value:
681                 option static-routes 172.0.0.0 172.16.2.254,
682                                      192.168.0.0 192.168.2.254;
683         dhclient-script will create routes:
684                 172/8 via 172.16.2.254 dev $interface
685                 192.168/16 via 192.168.2.254 dev $interface
686
687       option classless-static-routes destination-descriptor ip-address
688                                   [, destination-descriptor ip-address...];
689
690         This option (see RFC3442) specifies a list of classless static routes
691         that the client should install in its routing cache.
692
693         This option can contain one or more static routes, each of which con‐
694         sists  of  a  destination descriptor and the IP address of the router
695         that should be used to reach that destination.
696
697         Many clients may not implement the Classless  Static  Routes  option.
698         DHCP  server  administrators  should  therefore  configure their DHCP
699         servers to send both a Router option and a  Classless  Static  Routes
700         option,  and  should specify the default router(s) both in the Router
701         option and in the Classless Static Routes option.
702
703         If the DHCP server returns both a Classless Static Routes option  and
704         a Router option, the DHCP client ignores the Router option.
705
706       option streettalk-directory-assistance-server ip-address
707                                                  [, ip-address...];
708
709         The  StreetTalk Directory Assistance (STDA) server option specifies a
710         list of STDA servers available to  the  client.   Servers  should  be
711         listed in order of preference.
712
713       option streettalk-server ip-address [, ip-address... ];
714
715         The  StreetTalk  server option specifies a list of StreetTalk servers
716         available to the client.  Servers should be listed in order of  pref‐
717         erence.
718
719       option subnet-mask ip-address;
720
721         The  subnet mask option specifies the client's subnet mask as per RFC
722         950.  If no subnet mask option is provided anywhere in  scope,  as  a
723         last  resort  dhcpd will use the subnet mask from the subnet declara‐
724         tion for the network on which an address is being assigned.  However,
725         any  subnet-mask  option declaration that is in scope for the address
726         being assigned will override the subnet mask specified in the  subnet
727         declaration.
728
729       option subnet-selection string;
730
731         Sent  by  the client if an address is required in a subnet other than
732         the one that would  normally  be  selected  (based  on  the  relaying
733         address  of  the  connected subnet the request is obtained from). See
734         RFC3011. Note that the option number used by this server is 118; this
735         has  not  always  been the defined number, and some clients may use a
736         different value. Use of this option should be  regarded  as  slightly
737         experimental!
738
739       This option is not user configurable in the server.
740
741       option swap-server ip-address;
742
743         This specifies the IP address of the client's swap server.
744
745       option tcp-keepalive-garbage flag;
746
747         This  option  specifies  whether  or  not  the client should send TCP
748         keepalive messages with an octet of garbage  for  compatibility  with
749         older  implementations.   A  value  of false indicates that a garbage
750         octet should not be sent. A value of true indicates  that  a  garbage
751         octet should be sent.
752
753       option tcp-keepalive-interval uint32;
754
755         This  option  specifies the interval (in seconds) that the client TCP
756         should wait before sending a keepalive message on a  TCP  connection.
757         The  time is specified as a 32-bit unsigned integer.  A value of zero
758         indicates that the client should not generate keepalive  messages  on
759         connections unless specifically requested by an application.
760
761       option tftp-server-name text;
762
763         This  option  is  used to identify a TFTP server and, if supported by
764         the client, should have the same effect as the  server-name  declara‐
765         tion.   BOOTP clients are unlikely to support this option.  Some DHCP
766         clients will support it, and others actually require it.
767
768       option time-offset int32;
769
770         The time-offset option specifies the offset of the client's subnet in
771         seconds from Coordinated Universal Time (UTC).
772
773       option time-servers ip-address [, ip-address...  ];
774
775         The  time-server  option  specifies  a  list  of RFC 868 time servers
776         available to the client.  Servers should be listed in order of  pref‐
777         erence.
778
779       option trailer-encapsulation flag;
780
781         This  option specifies whether or not the client should negotiate the
782         use of trailers (RFC 893 [14]) when using the ARP protocol.  A  value
783         of  false  indicates that the client should not attempt to use trail‐
784         ers.  A value of true means that the client  should  attempt  to  use
785         trailers.
786
787       option uap-servers text;
788
789         This option specifies a list of URLs, each pointing to a user authen‐
790         tication  service  that  is  capable  of  processing   authentication
791         requests encapsulated in the User Authentication Protocol (UAP).  UAP
792         servers can accept either HTTP 1.1 or SSLv3 connections.  If the list
793         includes  a  URL  that  does not contain a port component, the normal
794         default port is assumed (i.e., port 80 for  http  and  port  443  for
795         https).  If the list includes a URL that does not contain a path com‐
796         ponent, the path /uap is assumed.   If more than one URL is specified
797         in this list, the URLs are separated by spaces.
798
799       option user-class string;
800
801         This  option is used by some DHCP clients as a way for users to spec‐
802         ify identifying information to the client.   This can be  used  in  a
803         similar  way  to the vendor-class-identifier option, but the value of
804         the option is specified by the user, not the  vendor.    Most  recent
805         DHCP  clients  have  a way in the user interface to specify the value
806         for this identifier, usually as a text string.
807
808       option vendor-class-identifier string;
809
810         This option is used by some DHCP clients to identify the vendor  type
811         and  possibly the configuration of a DHCP client.  The information is
812         a string of bytes whose contents are specific to the vendor  and  are
813         not  specified  in  a standard.   To see what vendor class identifier
814         clients are sending, you can write the following in your DHCP  server
815         configuration file:
816
817         set vendor-string = option vendor-class-identifier;
818
819         This  will  result  in  all entries in the DHCP server lease database
820         file for clients that sent vendor-class-identifier options  having  a
821         set statement that looks something like this:
822
823         set vendor-string = "SUNW.Ultra-5_10";
824
825         The  vendor-class-identifier  option  is  normally  used  by the DHCP
826         server to determine the options that  are  returned  in  the  vendor-
827         encapsulated-options  option.    Please  see  the VENDOR ENCAPSULATED
828         OPTIONS section later in this manual page for further information.
829
830       option vendor-encapsulated-options string;
831
832         The vendor-encapsulated-options option can contain  either  a  single
833         vendor-specific  value  or  one  or  more vendor-specific suboptions.
834         This option is not normally specified in the DHCP  server  configura‐
835         tion  file - instead, a vendor class is defined for each vendor, ven‐
836         dor class suboptions are defined, values  for  those  suboptions  are
837         defined, and the DHCP server makes up a response on that basis.
838
839         Some  default  behaviours  for  well-known  DHCP client vendors (cur‐
840         rently, the Microsoft Windows 2000 DHCP client) are configured  auto‐
841         matically,  but  otherwise this must be configured manually - see the
842         VENDOR ENCAPSULATED OPTIONS section later in  this  manual  page  for
843         details.
844
845       option vivso string;
846
847         The  vivso option can contain multiple separate options, one for each
848         32-bit Enterprise ID.  Each Enterprise-ID discriminated  option  then
849         contains additional options whose format is defined by the vendor who
850         holds that ID.  This option is usually not configured  manually,  but
851         rather is configured via intervening option definitions.  Please also
852         see the VENDOR ENCAPSULATED OPTIONS section later in this manual page
853         for details.
854
855       option www-server ip-address [, ip-address... ];
856
857         The  WWW  server  option specifies a list of WWW servers available to
858         the client.  Servers should be listed in order of preference.
859
860       option x-display-manager ip-address [, ip-address...  ];
861
862         This option specifies a list of systems that are running the X Window
863         System  Display  Manager  and are available to the client.  Addresses
864         should be listed in order of preference.
865

RELAY AGENT INFORMATION OPTION

867       An IETF draft, draft-ietf-dhc-agent-options-11.txt, defines a series of
868       encapsulated  options  that a relay agent can add to a DHCP packet when
869       relaying it to the DHCP server.   The  server  can  then  make  address
870       allocation  decisions  (or  whatever other decisions it wants) based on
871       these options.   The server also returns these options in  any  replies
872       it  sends  through the relay agent, so that the relay agent can use the
873       information in these options for delivery or accounting purposes.
874
875       The current draft defines two options.   To reference these options  in
876       the  dhcp server, specify the option space name, "agent", followed by a
877       period, followed by the option name.   It is  not  normally  useful  to
878       define values for these options in the server, although it is permissi‐
879       ble.   These options are not supported in the client.
880
881       option agent.circuit-id string;
882
883         The circuit-id suboption encodes an  agent-local  identifier  of  the
884         circuit  from  which a DHCP client-to-server packet was received.  It
885         is intended for use by agents in relaying DHCP responses back to  the
886         proper  circuit.    The format of this option is currently defined to
887         be vendor-dependent, and will probably remain that way, although  the
888         current  draft  allows  for  for the possibility of standardizing the
889         format in the future.
890
891       option agent.remote-id string;
892
893         The remote-id suboption encodes information about the remote host end
894         of  a  circuit.   Examples of what it might contain include caller ID
895         information, username information, remote ATM  address,  cable  modem
896         ID, and similar things.   In principal, the meaning is not well-spec‐
897         ified, and it should generally be assumed to be an opaque object that
898         is  administratively  guaranteed  to be unique to a particular remote
899         end of a circuit.
900
901       option agent.DOCSIS-device-class uint32;
902
903         The DOCSIS-device-class suboption is intended to  convey  information
904         about the host endpoint, hardware, and software, that either the host
905         operating system or the DHCP server may not  otherwise  be  aware  of
906         (but  the  relay  is  able to distinguish).  This is implemented as a
907         32-bit field (4 octets), each bit representing a flag describing  the
908         host  in  one  of these ways.  So far, only bit zero (being the least
909         significant bit) is defined in RFC3256.  If this bit is set  to  one,
910         the  host  is  considered  a  CPE Controlled Cable Modem (CCCM).  All
911         other bits are reserved.
912
913       option agent.link-selection ip-address;
914
915         The link-selection suboption is provided by relay  agents  to  inform
916         servers what subnet the client is actually attached to.  This is use‐
917         ful in those cases where the giaddr (where responses must be sent  to
918         the  relay agent) is not on the same subnet as the client.  When this
919         option is present in a packet from a relay  agent,  the  DHCP  server
920         will use its contents to find a subnet declared in configuration, and
921         from here take one step further backwards to any  shared-network  the
922         subnet  may  be  defined within...the client may be given any address
923         within that shared network, as normally appropriate.
924

THE CLIENT FQDN SUBOPTIONS

926       The Client FQDN option, currently defined in the Internet Draft  draft-
927       ietf-dhc-fqdn-option-00.txt  is  not  a  standard yet, but is in suffi‐
928       ciently wide use already that we have implemented it.   Due to the com‐
929       plexity  of  the  option  format, we have implemented it as a suboption
930       space rather than a single option.   In general this option should  not
931       be  configured  by  the  user - instead it should be used as part of an
932       automatic DNS update system.
933
934       option fqdn.no-client-update flag;
935
936         When the client sends this, if it is true, it means the  client  will
937         not  attempt to update its A record.   When sent by the server to the
938         client, it means that the client should not update its own A record.
939
940       option fqdn.server-update flag;
941
942         When the client sends this to the server, it is requesting  that  the
943         server  update its A record.   When sent by the server, it means that
944         the server has updated (or is about to update) the client's A record.
945
946       option fqdn.encoded flag;
947
948         If true, this indicates that the domain name included in  the  option
949         is encoded in DNS wire format, rather than as plain ASCII text.   The
950         client normally sets this to false if it  doesn't  support  DNS  wire
951         format  in  the FQDN option.   The server should always send back the
952         same value that the client sent.   When this value is set on the con‐
953         figuration side, it controls the format in which the fqdn.fqdn subop‐
954         tion is encoded.
955
956       option fqdn.rcode1 flag;
957
958       option fqdn.rcode2 flag;
959
960         These options specify the result of the updates  of  the  A  and  PTR
961         records,  respectively,  and  are only sent by the DHCP server to the
962         DHCP client.  The values of these fields are those defined in the DNS
963         protocol specification.
964
965       option fqdn.fqdn text;
966
967         Specifies  the  domain name that the client wishes to use.   This can
968         be a fully-qualified domain name, or a single label.   If there is no
969         trailing generally update that name in some locally-defined domain.
970
971       option fqdn.hostname --never set--;
972
973         This  option  should  never be set, but it can be read back using the
974         option and config-option operators in an expression, in which case it
975         returns  the first label in the fqdn.fqdn suboption - for example, if
976         the value of fqdn.fqdn is "foo.example.com.", then fqdn.hostname will
977         be "foo".
978
979       option fqdn.domainname --never set--;
980
981         This  option  should  never be set, but it can be read back using the
982         option and config-option operators in an expression, in which case it
983         returns all labels after the first label in the fqdn.fqdn suboption -
984         for example, if the value of fqdn.fqdn  is  "foo.example.com.",  then
985         fqdn.hostname  will  be  "example.com.".   If this suboption value is
986         not set, it means that an unqualified  name  was  sent  in  the  fqdn
987         option, or that no fqdn option was sent at all.
988
989       If  you wish to use any of these suboptions, we strongly recommend that
990       you refer to the Client FQDN option draft (or standard, when it becomes
991       a  standard) - the documentation here is sketchy and incomplete in com‐
992       parison, and is just intended  for  reference  by  people  who  already
993       understand the Client FQDN option specification.
994

THE NETWARE/IP SUBOPTIONS

996       RFC2242  defines  a  set  of encapsulated options for Novell NetWare/IP
997       clients.  To use these options in the dhcp server, specify  the  option
998       space  name, "nwip", followed by a period, followed by the option name.
999       The following options can be specified:
1000
1001       option nwip.nsq-broadcast flag;
1002
1003         If true, the client should use the NetWare Nearest  Server  Query  to
1004         locate  a  NetWare/IP server.   The behaviour of the Novell client if
1005         this suboption is false, or is not present, is not specified.
1006
1007       option nwip.preferred-dss ip-address [, ip-address... ];
1008
1009         This suboption specifies a list of up to five IP addresses,  each  of
1010         which  should  be  the  IP address of a NetWare Domain SAP/RIP server
1011         (DSS).
1012
1013       option nwip.nearest-nwip-server ip-address
1014                                    [, ip-address...];
1015
1016         This suboption specifies a list of up to five IP addresses,  each  of
1017         which should be the IP address of a Nearest NetWare IP server.
1018
1019       option nwip.autoretries uint8;
1020
1021         Specifies the number of times that a NetWare/IP client should attempt
1022         to communicate with a given DSS server at startup.
1023
1024       option nwip.autoretry-secs uint8;
1025
1026         Specifies the number of seconds that a Netware/IP client should  wait
1027         between  retries  when  attempting to establish communications with a
1028         DSS server at startup.
1029
1030       option nwip.nwip-1-1 uint8;
1031
1032         If true, the NetWare/IP client should support NetWare/IP version  1.1
1033         compatibility.   This is only needed if the client will be contacting
1034         Netware/IP version 1.1 servers.
1035
1036       option nwip.primary-dss ip-address;
1037
1038         Specifies the IP address of the Primary Domain SAP/RIP Service server
1039         (DSS)  for  this  NetWare/IP  domain.   The NetWare/IP administration
1040         utility uses this value as Primary DSS server when configuring a sec‐
1041         ondary DSS server.
1042

STANDARD DHCPV6 OPTIONS

1044       DHCPv6 options differ from DHCPv4 options partially due to using 16-bit
1045       code and length tags, but semantically zero-length options are legal in
1046       DHCPv6,  and  multiple  options  are  treated  differently.  Whereas in
1047       DHCPv4 multiple options would be concatenated to form  one  option,  in
1048       DHCPv6  they are expected to be individual instantiations.  Understand‐
1049       ably, many options are not "allowed" to have multiple  instances  in  a
1050       packet - normally these are options which are digested by the DHCP pro‐
1051       tocol software, and not by users or applications.
1052
1053       option dhcp6.client-id string;
1054
1055         This option specifies the client's DUID identifier.  DUIDs are  simi‐
1056         lar  but  different  from DHCPv4 client identifiers - there are docu‐
1057         mented duid types:
1058
1059         duid-llt
1060
1061         duid-en
1062
1063         duid-ll
1064
1065         This value should not  be  configured,  but  rather  is  provided  by
1066         clients and treated as an opaque identifier key blob by servers.
1067
1068       option dhcp6.server-id string;
1069
1070         This option specifies the server's DUID identifier.  One may use this
1071         option to configure an opaque binary blob for your  server's  identi‐
1072         fier.
1073
1074       option dhcp6.ia-na string;
1075
1076         The  Identity Association for Non-temporary Addresses (ia-na) carries
1077         assigned addresses that are not temporary addresses for  use  by  the
1078         DHCPv6  client.   This  option is produced by the DHCPv6 server soft‐
1079         ware, and should not be configured.
1080
1081       option dhcp6.ia-ta string;
1082
1083         The Identity Association for Temporary Addresses (ia-ta) carries tem‐
1084         porary  addresses,  which may change upon every renewal.  There is no
1085         support for this in the current DHCPv6 software.
1086
1087       option dhcp6.ia-addr string;
1088
1089         The Identity Association Address option is encapsulated inside  ia-na
1090         or  ia-ta  options  in  order  to represent addresses associated with
1091         those IA's.  These options  are  manufactured  by  the  software,  so
1092         should not be configured.
1093
1094       option dhcp6.oro uint16 [ , uint16, ... ];
1095
1096         The  Option  Request  Option  ("ORO") is the DHCPv6 equivalent of the
1097         parameter-request-list.  Clients supply this option to ask servers to
1098         reply with options relevant to their needs and use.  This option must
1099         not be directly configured, the request syntax in  dhclient.conf  (5)
1100         should be used instead.
1101
1102       option dhcp6.preference uint8;
1103
1104         The preference option informs a DHCPv6 client which server is applied
1105         during the initial stages of configuration - once a client  is  bound
1106         to an IA, it will remain bound to that IA until it is no longer valid
1107         or has expired.  This value may be configured on the server,  and  is
1108         digested by the client software.
1109
1110       option dhcp6.elapsed-time uint16;
1111
1112         The elapsed-time option is constructed by the DHCPv6 client software,
1113         and is potentially consumed by intermediaries.   This  option  should
1114         not be configured.
1115
1116       option dhcp6.relay-msg string;
1117
1118         The relay-msg option is constructed by intervening DHCPv6 relay agent
1119         software.  This option is entirely used by protocol software, and  is
1120         not meant for user configuration.
1121
1122       option dhcp6.unicast ip6-address;
1123
1124         The  unicast  option  is provided by DHCPv6 servers which are willing
1125         (or prefer) to receive Renew packets from their clients by exchanging
1126         UDP  unicasts  with  them.   Normally,  DHCPv6 clients will multicast
1127         their Renew messages.  This may be  configured  on  the  server,  and
1128         should be configured as an address the server is ready to reply to.
1129
1130       option dhcp6.status-code status-code [ string ] ;
1131
1132         The  status-code  option  is  provided  by  DHCPv6  servers to inform
1133         clients of error  conditions  during  protocol  communication.   This
1134         option  is manufactured and digested by protocol software, and should
1135         not be configured.
1136
1137       option dhcp6.rapid-commit ;
1138
1139         The rapid-commit option is a zero-length option that clients  use  to
1140         indicate  their  desire  to  enter into rapid-commit with the server.
1141         This option is not supported by the  client  at  this  time,  and  is
1142         digested by the server when present, so should not be configured.
1143
1144       option dhcp6.vendor-opts string;
1145
1146         The  vendor-opts option is actually an encapsulated sub-option space,
1147         in which each Vendor-specific Information Option (VSIO) is identified
1148         by  a  32-bit  Enterprise-ID  number.  The encapsulated option spaces
1149         within these options are defined by the vendors.
1150
1151         To make use of this option, the best way is to  examine  the  section
1152         titled  VENDOR  ENCAPSULATED  OPTIONS  below,  in particular the bits
1153         about the "vsio" option space.
1154
1155       option dhcp6.interface-id string;
1156
1157         The interface-id option is manufactured by relay agents, and  may  be
1158         used  to guide configuration differentiating clients by the interface
1159         they are remotely attached to.  It does not make sense to configure a
1160         value for this option, but it may make sense to inspect its contents.
1161
1162       option dhcp6.reconf-msg dhcpv6-message;
1163
1164         The reconf-msg option is manufactured by servers, and sent to clients
1165         in Reconfigure messages to inform them of  what  message  the  client
1166         should Reconfigure using.  There is no support for DHCPv6 Reconfigure
1167         extensions, and this option is documented informationally only.
1168
1169       option dhcp6.reconf-accept ;
1170
1171         The reconf-accept option is included by DHCPv6 clients  that  support
1172         the Reconfigure extentions, advertising that they will respond if the
1173         server were to ask them to Reconfigure.   There  is  no  support  for
1174         DHCPv6 Reconfigure extensions, and this option is documented informa‐
1175         tionally only.
1176
1177       option dhcp6.sip-servers-names domain-list;
1178
1179         The sip-servers-names option allows SIP clients to locate a local SIP
1180         server  that  is  to  be  used  for  all outbound SIP requests, a so-
1181         called"outbound proxy server."  If you wish to use  manually  entered
1182         IPv6  addresses  instead, please see the sip-servers-addresses option
1183         below.
1184
1185       option dhcp6.sip-servers-addresses ip6-address [, ip6-address ... ] ;
1186
1187         The sip-servers-addresses option allows SIP clients to locate a local
1188         SIP  server  that  is to be used for all outbound SIP requests, a so-
1189         called "outbound proxy servers."  If you wish  to  use  domain  names
1190         rather  than  IPv6 addresses, please see the sip-servers-names option
1191         above.
1192
1193       option dhcp6.name-servers ip6-address [, ip6-address ... ] ;
1194
1195         The name-servers option instructs  clients  about  locally  available
1196         recursive  DNS servers.  It is easiest to describe this as the "name‐
1197         server" line in /etc/resolv.conf.
1198
1199       option dhcp6.domain-search domain-list;
1200
1201         The domain-search option specifies the client's domain search path to
1202         be  applied to recursive DNS queries.  It is easiest to describe this
1203         as the "search" line in /etc/resolv.conf.
1204
1205       option dhcp6.ia-pd string;
1206
1207         The ia-pd option is manufactured by clients and servers to  create  a
1208         Prefix Delegation binding - to delegate an IPv6 prefix to the client.
1209         There is not yet any support for prefix delegation in this  software,
1210         and this option is provided informationally only.
1211
1212       option dhcp6.ia-prefix string;
1213
1214         The ia-prefix option is placed inside ia-pd options in order to iden‐
1215         tify the prefix(es) allocated to the client.  There is  not  yet  any
1216         suport  for  prefix  delegation  in this software, and this option is
1217         provided informationally only.
1218
1219       option dhcp6.nis-servers ip6-address [, ip6-address ... ] ;
1220
1221         The nis-servers option identifies, in order, NIS servers available to
1222         the client.
1223
1224       option dhcp6.nisp-servers ip6-address [, ip6-address ... ] ;
1225
1226         The  nisp-servers option identifies, in order, NIS+ servers available
1227         to the client.
1228
1229       option nis-domain-name domain-list;
1230
1231         The nis-domain-name option specifies the NIS domain name  the  client
1232         is expected to use, and is related to the nis-servers option.
1233
1234       option nisp-domain-name domain-list;
1235
1236         The nisp-domain-name option specifies the NIS+ domain name the client
1237         is expected to use, and is related to the nisp-servers option.
1238
1239       option dhcp6.sntp-servers ip6-address [, ip6-address ... ] ;
1240
1241         The sntp-servers option specifies a list of local SNTP servers avail‐
1242         able for the client to synchronize their clocks.
1243
1244       option dhcp6.info-refresh-time uint32;
1245
1246         The  info-refresh-time option gives DHCPv6 clients using Information-
1247         request messages a hint as to how long they should between refreshing
1248         the  information they were given.  Note that this option will only be
1249         delivered to the client, and be likely to affect the client's  behav‐
1250         iour, if the client requested the option.
1251
1252       option dhcp6.bcms-server-d domain-list;
1253
1254         The  bcms-server-d  option  contains  the  domain names of local BCMS
1255         (Broadcast and Multicast  Control  Services)  controllers  which  the
1256         client may use.
1257
1258       option dhcp6.bcms-server-a ip6-address [, ip6-address ... ] ;
1259
1260         The  bcms-server-a  option  contains the IPv6 addresses of local BCMS
1261         (Broadcast and Multicast  Control  Services)  controllers  which  the
1262         client may use.
1263
1264       option dhcp6.remote-id string;
1265
1266         The  remote-id  option  is constructed by relay agents, to inform the
1267         server of details pertaining to what the relay knows about the client
1268         (such as what port it is attached to, and so forth).  The contents of
1269         this option have some vendor-specific structure  (similar  to  VSIO),
1270         but we have chosen to treat this option as an opaque field.
1271
1272       option dhcp6.subscriber-id;
1273
1274         The  subscriber-id  option  is  an opaque field provided by the relay
1275         agent, which provides additional information about the subscriber  in
1276         question.   The  exact contents of this option depend upon the vendor
1277         and/or the operator's configuration of the remote device, and as such
1278         is an opaque field.
1279
1280       option dhcp6.fqdn string;
1281
1282         The  fqdn option is normally constructed by the client or server, and
1283         negotiates the client's Fully Qualified Domain Name, as well as which
1284         party is responsible for Dynamic DNS Updates.  See the section on the
1285         Client FQDN SubOptions for full details (the DHCPv4 and  DHCPv6  FQDN
1286         options  use  the same "fqdn." encapsulated space, so are in all ways
1287         identical).
1288
1289       option dhcp6.lq-query string;
1290
1291         The lq-query option is used internally by for lease query.
1292
1293       option dhcp6.client-data string;
1294
1295         The client-data option is used internally by for lease query.
1296
1297       option dhcp6.clt-time uint32;
1298
1299         The clt-time option is used internally by for lease query.
1300
1301       option dhcp6.lq-relay-data ip6-address string;
1302
1303         The lq-relay-data option is used internally by for lease query.
1304
1305       option dhcp6.lq-client-link ip6-address [, ip6-address ... ] ;
1306
1307         The lq-client-link option is used internally by for lease query.
1308
1309       option dhcp6.bootfile-url string ;
1310
1311         The server sends this option to inform the client about a  URL  to  a
1312         boot  file.   Used primarily for UEFI network booting, it contains an
1313         RFC3986 compliant URI which the client may use to boot  an  operating
1314         system.  This option is defined in RFC5970
1315
1316       option dhcp6.arch-type arch-id [, arch-id...]  ;
1317
1318         A  client  will  send  this option to a server so that the server may
1319         make decisions on what options and addresses to offer the  requesting
1320         client.  The option consists of a list of 16 bit unsigned values that
1321         represent the architecture of the requesting  client.   These  values
1322         corespond  to the values available to the dhcpv4 option architecture-
1323         type, as defined in RFC4578, section 2.1.  This option is defined  in
1324         RFC5970
1325
1326       option dhcp6.net-id uint8 uint8 uint8 ;
1327
1328         A  client  will  send  this option to a server to inform it about the
1329         clients level of UNDI support.  The option consists of  3  octets  (a
1330         type,  major and minor value).  Specific meanings of these values are
1331         doumented in section 2.2 of  RFC4578.   This  option  is  defined  in
1332         RFC5970
1333

DEFINING NEW OPTIONS

1335       The  Internet  Systems  Consortium  DHCP  client and server provide the
1336       capability to define new options.   Each DHCP  option  has  a  name,  a
1337       code,  and  a  structure.    The  name  is  used by you to refer to the
1338       option.   The code is a number, used by the DHCP server and  client  to
1339       refer  to  an option.   The structure describes what the contents of an
1340       option looks like.
1341
1342       To define a new option, you need to choose a name for it that is not in
1343       use  for  some  other  option  - for example, you can't use "host-name"
1344       because the DHCP protocol already defines a host-name option, which  is
1345       documented  earlier  in  this  manual page.   If an option name doesn't
1346       appear in this manual page, you can use it, but it's  probably  a  good
1347       idea  to  put some kind of unique string at the beginning so you can be
1348       sure that future options don't take your name.   For example, you might
1349       define  an  option,  "local-host-name", feeling some confidence that no
1350       official DHCP option name will ever start with "local".
1351
1352       Once you have chosen a name, you must choose a code.  All codes between
1353       224  and 254 are reserved as 'site-local' DHCP options, so you can pick
1354       any one of these for your site (not for your product/application).   In
1355       RFC3942, site-local space was moved from starting at 128 to starting at
1356       224.  In practice, some vendors have interpreted  the  protocol  rather
1357       loosely  and  have used option code values greater than 128 themselves.
1358       There's no real way to avoid this problem, and it  was  thought  to  be
1359       unlikely  to  cause too much trouble in practice.  If you come across a
1360       vendor-documented option code in either the new or old site-local  spa‐
1361       ces, please contact your vendor and inform them about rfc3942.
1362
1363       The  structure  of  an  option is simply the format in which the option
1364       data appears.   The ISC DHCP server currently  supports  a  few  simple
1365       types,  like  integers, booleans, strings and IP addresses, and it also
1366       supports the ability to define arrays of  single  types  or  arrays  of
1367       fixed sequences of types.
1368
1369       New options are declared as follows:
1370
1371       option new-name code new-code = definition ;
1372
1373       The  values of new-name and new-code should be the name you have chosen
1374       for the new option and the  code  you  have  chosen.    The  definition
1375       should be the definition of the structure of the option.
1376
1377       The following simple option type definitions are supported:
1378
1379       BOOLEAN
1380
1381       option new-name code new-code = boolean ;
1382
1383       An  option  of  type boolean is a flag with a value of either on or off
1384       (or true or false).   So an example use of the boolean type would be:
1385
1386       option use-zephyr code 180 = boolean;
1387       option use-zephyr on;
1388
1389       INTEGER
1390
1391       option new-name code new-code = sign integer width ;
1392
1393       The sign token should either be blank, unsigned or signed.   The  width
1394       can  be  either  8,  16  or 32, and refers to the number of bits in the
1395       integer.   So for example, the following two lines show a definition of
1396       the sql-connection-max option and its use:
1397
1398       option sql-connection-max code 192 = unsigned integer 16;
1399       option sql-connection-max 1536;
1400
1401       IP-ADDRESS
1402
1403       option new-name code new-code = ip-address ;
1404
1405       An option whose structure is an IP address can be expressed either as a
1406       domain name or as a dotted quad.  So the following is an example use of
1407       the ip-address type:
1408
1409       option sql-server-address code 193 = ip-address;
1410       option sql-server-address sql.example.com;
1411
1412       IP6-ADDRESS
1413
1414       option new-name code new-code = ip6-address ;
1415
1416       An  option  whose  structure  is an IPv6 address must be expressed as a
1417       valid IPv6 address.  The following is an example use of the ip6-address
1418       type:
1419
1420       option dhcp6.some-server code 1234 = array of ip6-address;
1421       option dhcp6.some-server 3ffe:bbbb:aaaa:aaaa::1, 3ffe:bbbb:aaaa:aaaa::2;
1422
1423
1424       TEXT
1425
1426       option new-name code new-code = text ;
1427
1428       An  option  whose  type is text will encode an ASCII text string.   For
1429       example:
1430
1431       option sql-default-connection-name code 194 = text;
1432       option sql-default-connection-name "PRODZA";
1433
1434
1435       DATA STRING
1436
1437       option new-name code new-code = string ;
1438
1439       An option whose type is a data string is essentially just a  collection
1440       of  bytes,  and  can  be specified either as quoted text, like the text
1441       type, or as a list of hexadecimal contents separated  by  colons  whose
1442       values must be between 0 and FF.   For example:
1443
1444       option sql-identification-token code 195 = string;
1445       option sql-identification-token 17:23:19:a6:42:ea:99:7c:22;
1446
1447
1448       DOMAIN-LIST
1449
1450       option new-name code new-code = domain-list [compressed] ;
1451
1452       An  option  whose  type  is domain-list is an RFC1035 formatted (on the
1453       wire, "DNS Format") list of domain names,  separated  by  root  labels.
1454       The  optional compressed keyword indicates if the option should be com‐
1455       pressed relative to the start of the option contents  (not  the  packet
1456       contents).
1457
1458       When in doubt, omit the compressed keyword.  When the software recieves
1459       an option that is compressed and the compressed keyword is omitted,  it
1460       will  still  decompress  the  option  (relative  to the option contents
1461       field).  The keyword only controls whether or not  transmitted  packets
1462       are compressed.
1463
1464       Note  that when domain-list formatted options are output as environment
1465       variables to dhclient-script(8), the standard DNS -escape mechanism  is
1466       used:  they  are  decimal.   This  is  appropriate for direct use in eg
1467       /etc/resolv.conf.
1468
1469
1470       ENCAPSULATION
1471
1472       option new-name code new-code = encapsulate identifier ;
1473
1474       An option whose type is encapsulate will encapsulate  the  contents  of
1475       the  option  space  specified in identifier.   Examples of encapsulated
1476       options in the DHCP protocol as it currently exists include the vendor-
1477       encapsulated-options  option,  the  netware-suboptions  option  and the
1478       relay-agent-information option.
1479
1480       option space local;
1481       option local.demo code 1 = text;
1482       option local-encapsulation code 197 = encapsulate local;
1483       option local.demo "demo";
1484
1485
1486       ARRAYS
1487
1488       Options can contain arrays of any of the above  types  except  for  the
1489       text and data string types, which aren't currently supported in arrays.
1490       An example of an array definition is as follows:
1491
1492       option kerberos-servers code 200 = array of ip-address;
1493       option kerberos-servers 10.20.10.1, 10.20.11.1;
1494
1495       RECORDS
1496
1497       Options can also contain data structures consisting of  a  sequence  of
1498       data types, which is sometimes called a record type.   For example:
1499
1500       option contrived-001 code 201 = { boolean, integer 32, text };
1501       option contrived-001 on 1772 "contrivance";
1502
1503       It's  also  possible  to  have  options that are arrays of records, for
1504       example:
1505
1506       option new-static-routes code 201 = array of {
1507            ip-address, ip-address, ip-address, integer 8 };
1508       option static-routes
1509            10.0.0.0 255.255.255.0 net-0-rtr.example.com 1,
1510            10.0.1.0 255.255.255.0 net-1-rtr.example.com 1,
1511            10.2.0.0 255.255.224.0 net-2-0-rtr.example.com 3;
1512
1513

VENDOR ENCAPSULATED OPTIONS

1515       The DHCP protocol defines the vendor-encapsulated-options option, which
1516       allows  vendors  to define their own options that will be sent encapsu‐
1517       lated in a standard DHCP option.  It also defines the Vendor Identified
1518       Vendor  Sub  Options  option ("VIVSO"), and the DHCPv6 protocol defines
1519       the Vendor-specific Information Option ("VSIO").  The format of all  of
1520       these  options  is usually internally a string of options, similarly to
1521       other normal DHCP options.  The VIVSO and VSIO options differ  in  that
1522       that  they contain options that correspond to vendor Enterprise-ID num‐
1523       bers (assigned by IANA), which then contain options according  to  each
1524       Vendor's specifications.  You will need to refer to your vendor's docu‐
1525       mentation in order to form options to their specification.
1526
1527       The value of these options can be set in one of two ways.    The  first
1528       way  is  to  simply specify the data directly, using a text string or a
1529       colon-separated list of hexadecimal values.  For help in forming  these
1530       strings,  please refer to RFC2132 for the DHCPv4 Vendor Specific Infor‐
1531       mation Option, RFC3925 for the  DHCPv4  Vendor  Identified  Vendor  Sub
1532       Options,  or RFC3315 for the DHCPv6 Vendor-specific Information Option.
1533       For example:
1534
1535       option vendor-encapsulated-options
1536           2:4:
1537            AC:11:41:1:
1538           3:12:
1539            73:75:6e:64:68:63:70:2d:73:65:72:76:65:72:31:37:2d:31:
1540           4:12:
1541            2f:65:78:70:6f:72:74:2f:72:6f:6f:74:2f:69:38:36:70:63;
1542       option vivso
1543           00:00:09:bf:0E:
1544            01:0c:
1545                48:65:6c:6c:6f:20:77:6f:72:6c:64:21;
1546       option dhcp6.vendor-opts
1547           00:00:09:bf:
1548            00:01:00:0c:
1549                48:65:6c:6c:6f:20:77:6f:72:6c:64:21;
1550
1551       The second way of setting the value of these options  is  to  have  the
1552       DHCP server generate a vendor-specific option buffer.   To do this, you
1553       must do four things: define an option space,  define  some  options  in
1554       that  option  space,  provide  values  for  them, and specify that that
1555       option space should be used to generate the relevant option.
1556
1557       To define a new option space in which vendor options can be stored, use
1558       the option space statement:
1559
1560       option  space  name  [  [ code width number ] [ length width number ] [
1561       hash size number ] ] ;
1562
1563       Where the numbers following code width, length  width,  and  hash  size
1564       respectively  identify  the  number  of  bytes  used to describe option
1565       codes, option lengths, and the size in buckets of the  hash  tables  to
1566       hold  options in this space (most DHCPv4 option spaces use 1 byte codes
1567       and lengths, which is the default, whereas most  DHCPv6  option  spaces
1568       use 2 byte codes and lengths).
1569
1570       The code and length widths are used in DHCP protocol - you must config‐
1571       ure these numbers to match the applicable option space you are  config‐
1572       uring.   They each default to 1.  Valid values for code widths are 1, 2
1573       or 4.  Valid values for length widths are  0,  1  or  2.   Most  DHCPv4
1574       option  spaces  use  1  byte  codes  and lengths, which is the default,
1575       whereas most DHCPv6 option spaces use 2  byte  codes  and  lengths.   A
1576       zero-byte length produces options similar to the DHCPv6 Vendor-specific
1577       Information Option - but not their contents!
1578
1579       The hash size defaults depend upon the code width selected, and may  be
1580       254  or  1009.   Valid values range between 1 and 65535.  Note that the
1581       higher you configure this value, the more memory will be used.   It  is
1582       considered  good  practice to configure a value that is slightly larger
1583       than the estimated number of options you plan to configure  within  the
1584       space.  Previous versions of ISC DHCP (up to and including DHCP 3.0.*),
1585       this value was fixed at 9973.
1586
1587       The name can then be used in option definitions, as  described  earlier
1588       in this document.   For example:
1589
1590       option space SUNW code width 1 length width 1 hash size 3;
1591       option SUNW.server-address code 2 = ip-address;
1592       option SUNW.server-name code 3 = text;
1593       option SUNW.root-path code 4 = text;
1594
1595       option space ISC code width 1 length width 1 hash size 3;
1596       option ISC.sample code 1 = text;
1597       option vendor.ISC code 2495 = encapsulate vivso-sample;
1598       option vendor-class.ISC code 2495 = text;
1599
1600       option ISC.sample "configuration text here";
1601       option vendor-class.ISC "vendor class here";
1602
1603       option space docsis code width 2 length width 2 hash size 17;
1604       option docsis.tftp-servers code 32 = array of ip6-address;
1605       option docsis.cablelabs-configuration-file code 33 = text;
1606       option docsis.cablelabs-syslog-servers code 34 = array of ip6-address;
1607       option docsis.device-id code 36 = string;
1608       option docsis.time-servers code 37 = array of ip6-address;
1609       option docsis.time-offset code 38 = signed integer 32;
1610       option vsio.docsis code 4491 = encapsulate docsis;
1611
1612       Once  you  have defined an option space and the format of some options,
1613       you can set up scopes that define values for those options, and you can
1614       say  when  to  use  them.   For example, suppose you want to handle two
1615       different classes of clients.   Using the option space definition shown
1616       in  the  previous example, you can send different option values to dif‐
1617       ferent clients based on the  vendor-class-identifier  option  that  the
1618       clients send, as follows:
1619
1620       class "vendor-classes" {
1621         match option vendor-class-identifier;
1622       }
1623
1624       subclass "vendor-classes" "SUNW.Ultra-5_10" {
1625         vendor-option-space SUNW;
1626         option SUNW.root-path "/export/root/sparc";
1627       }
1628
1629       subclass "vendor-classes" "SUNW.i86pc" {
1630         vendor-option-space SUNW;
1631         option SUNW.root-path "/export/root/i86pc";
1632       }
1633
1634       option SUNW.server-address 172.17.65.1;
1635       option SUNW.server-name "sundhcp-server17-1";
1636
1637       option vivso-sample.sample "Hello world!";
1638
1639       option docsis.tftp-servers ::1;
1640
1641
1642       As  you  can see in the preceding example, regular scoping rules apply,
1643       so you can define values that are global in the global scope, and  only
1644       define  values  that  are  specific  to a particular class in the local
1645       scope.  The vendor-option-space declaration tells the  DHCP  server  to
1646       use  options  in  the SUNW option space to construct the DHCPv4 vendor-
1647       encapsulated-options option.  This is a limitation of that option - the
1648       DHCPv4 VIVSO and the DHCPv6 VSIO options can have multiple vendor defi‐
1649       nitions all at once (even transmitted to the same client), so it is not
1650       necessary to configure this.
1651

SEE ALSO

1653       dhcpd.conf(5),    dhcpd.leases(5),    dhclient.conf(5),   dhcp-eval(5),
1654       dhcpd(8), dhclient(8), RFC2132, RFC2131, RFC3046, RFC3315.
1655

AUTHOR

1657       The Internet Systems Consortium DHCP Distribution was  written  by  Ted
1658       Lemon  under  a contract with Vixie Labs.  Funding for this project was
1659       provided through Internet Systems Consortium.  Information about Inter‐
1660       net Systems Consortium can be found at https://www.isc.org.
1661
1662
1663
1664                                                              dhcpd-options(5)
Impressum