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  int32  data  type  specifies a signed 32-bit integer.   The uint32
31       data type specifies an unsigned 32-bit integer.   The int16 and  uint16
32       data  types specify signed and unsigned 16-bit integers.   The int8 and
33       uint8 data types specify signed and unsigned 8-bit integers.   Unsigned
34       8-bit integers are also sometimes referred to as octets.
35
36       The  text  data  type  specifies  an  NVT  ASCII  string, which must be
37       enclosed in double quotes - for example, to specify a root-path option,
38       the syntax would be
39
40       option root-path "10.0.1.4:/var/tmp/rootfs";
41
42       The  domain-name  data  type  specifies  a  domain name, which must not
43       enclosed in double quotes.   This data type is not used for any  exist‐
44       ing DHCP options.   The domain name is stored just as if it were a text
45       option.
46
47       The flag data type specifies a boolean value.   Booleans can be  either
48       true or false (or on or off, if that makes more sense to you).
49
50       The  string  data type specifies either an NVT ASCII string enclosed in
51       double quotes, or a series of octets specified  in  hexadecimal,  sepa‐
52       rated by colons.   For example:
53
54         option dhcp-client-identifier "CLIENT-FOO";
55       or
56         option dhcp-client-identifier 43:4c:49:45:54:2d:46:4f:4f;
57

SETTING OPTION VALUES USING EXPRESSIONS

59       Sometimes  it's  helpful  to  be able to set the value of a DHCP option
60       based on some value that the client has sent.   To do this, you can use
61       expression  evaluation.   The dhcp-eval(5) manual page describes how to
62       write expressions.   To assign  the  result  of  an  evaluation  to  an
63       option, define the option as follows:
64
65         option my-option = expression ;
66
67       For example:
68
69         option hostname = binary-to-ascii (16, 8, "-",
70                                            substring (hardware, 1, 6));
71

STANDARD DHCP OPTIONS

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

RELAY AGENT INFORMATION OPTION

771       An IETF draft, draft-ietf-dhc-agent-options-11.txt, defines a series of
772       encapsulated  options  that a relay agent can add to a DHCP packet when
773       relaying it to the DHCP server.   The  server  can  then  make  address
774       allocation  decisions  (or  whatever other decisions it wants) based on
775       these options.   The server also returns these options in  any  replies
776       it  sends  through the relay agent, so that the relay agent can use the
777       information in these options for delivery or accounting purposes.
778
779       The current draft defines two options.   To reference these options  in
780       the  dhcp server, specify the option space name, "agent", followed by a
781       period, followed by the option name.   It is  not  normally  useful  to
782       define values for these options in the server, although it is permissi‐
783       ble.   These options are not supported in the client.
784
785       option agent.circuit-id string;
786
787         The circuit-id suboption encodes an  agent-local  identifier  of  the
788         circuit  from  which a DHCP client-to-server packet was received.  It
789         is intended for use by agents in relaying DHCP responses back to  the
790         proper  circuit.    The format of this option is currently defined to
791         be vendor-dependent, and will probably remain that way, although  the
792         current  draft  allows  for  for the possibility of standardizing the
793         format in the future.
794
795       option agent.remote-id string;
796
797         The remote-id suboption encodes information about the remote host end
798         of  a  circuit.   Examples of what it might contain include caller ID
799         information, username information, remote ATM  address,  cable  modem
800         ID, and similar things.   In principal, the meaning is not well-spec‐
801         ified, and it should generally be assumed to be an opaque object that
802         is  administratively  guaranteed  to be unique to a particular remote
803         end of a circuit.
804
805       option agent.DOCSIS-device-class uint32;
806
807         The DOCSIS-device-class suboption is intended to  convey  information
808         about the host endpoint, hardware, and software, that either the host
809         operating system or the DHCP server may not  otherwise  be  aware  of
810         (but  the  relay  is  able to distinguish).  This is implemented as a
811         32-bit field (4 octets), each bit representing a flag describing  the
812         host  in  one  of these ways.  So far, only bit zero (being the least
813         significant bit) is defined in RFC3256.  If this bit is set  to  one,
814         the  host  is  considered  a  CPE Controlled Cable Modem (CCCM).  All
815         other bits are reserved.
816

THE CLIENT FQDN SUBOPTIONS

818       The Client FQDN option, currently defined in the Internet Draft  draft-
819       ietf-dhc-fqdn-option-00.txt  is  not  a  standard yet, but is in suffi‐
820       ciently wide use already that we have implemented it.   Due to the com‐
821       plexity  of  the  option  format, we have implemented it as a suboption
822       space rather than a single option.   In general this option should  not
823       be  configured  by  the  user - instead it should be used as part of an
824       automatic DNS update system.
825
826       option fqdn.no-client-update flag;
827
828         When the client sends this, if it is true, it means the  client  will
829         not  attempt to update its A record.   When sent by the server to the
830         client, it means that the client should not update its own A record.
831
832       option fqdn.server-update flag;
833
834         When the client sends this to the server, it is requesting  that  the
835         server  update its A record.   When sent by the server, it means that
836         the server has updated (or is about to update) the client's A record.
837
838       option fqdn.encoded flag;
839
840         If true, this indicates that the domain name included in  the  option
841         is encoded in DNS wire format, rather than as plain ASCII text.   The
842         client normally sets this to false if it  doesn't  support  DNS  wire
843         format  in  the FQDN option.   The server should always send back the
844         same value that the client sent.   When this value is set on the con‐
845         figuration side, it controls the format in which the fqdn.fqdn subop‐
846         tion is encoded.
847
848       option fqdn.rcode1 flag;
849
850       option fqdn.rcode2 flag;
851
852         These options specify the result of the updates  of  the  A  and  PTR
853         records,  respectively,  and  are only sent by the DHCP server to the
854         DHCP client.  The values of these fields are those defined in the DNS
855         protocol specification.
856
857       option fqdn.fqdn text;
858
859         Specifies  the  domain name that the client wishes to use.   This can
860         be a fully-qualified domain name, or a single label.   If there is no
861         trailing generally update that name in some locally-defined domain.
862
863       option fqdn.hostname --never set--;
864
865         This  option  should  never be set, but it can be read back using the
866         option and config-option operators in an expression, in which case it
867         returns  the first label in the fqdn.fqdn suboption - for example, if
868         the value of fqdn.fqdn is "foo.example.com.", then fqdn.hostname will
869         be "foo".
870
871       option fqdn.domainname --never set--;
872
873         This  option  should  never be set, but it can be read back using the
874         option and config-option operators in an expression, in which case it
875         returns all labels after the first label in the fqdn.fqdn suboption -
876         for example, if the value of fqdn.fqdn  is  "foo.example.com.",  then
877         fqdn.hostname  will  be  "example.com.".   If this suboption value is
878         not set, it means that an unqualified  name  was  sent  in  the  fqdn
879         option, or that no fqdn option was sent at all.
880
881       If  you wish to use any of these suboptions, we strongly recommend that
882       you refer to the Client FQDN option draft (or standard, when it becomes
883       a  standard) - the documentation here is sketchy and incomplete in com‐
884       parison, and is just intended  for  reference  by  people  who  already
885       understand the Client FQDN option specification.
886

THE NETWARE/IP SUBOPTIONS

888       RFC2242  defines  a  set  of encapsulated options for Novell NetWare/IP
889       clients.  To use these options in the dhcp server, specify  the  option
890       space  name, "nwip", followed by a period, followed by the option name.
891       The following options can be specified:
892
893       option nwip.nsq-broadcast flag;
894
895         If true, the client should use the NetWare Nearest  Server  Query  to
896         locate  a  NetWare/IP server.   The behaviour of the Novell client if
897         this suboption is false, or is not present, is not specified.
898
899       option nwip.preferred-dss ip-address [, ip-address... ];
900
901         This suboption specifies a list of up to five IP addresses,  each  of
902         which  should  be  the  IP address of a NetWare Domain SAP/RIP server
903         (DSS).
904
905       option nwip.nearest-nwip-server ip-address
906                                    [, ip-address...];
907
908         This suboption specifies a list of up to five IP addresses,  each  of
909         which should be the IP address of a Nearest NetWare IP server.
910
911       option nwip.autoretries uint8;
912
913         Specifies the number of times that a NetWare/IP client should attempt
914         to communicate with a given DSS server at startup.
915
916       option nwip.autoretry-secs uint8;
917
918         Specifies the number of seconds that a Netware/IP client should  wait
919         between  retries  when  attempting to establish communications with a
920         DSS server at startup.
921
922       option nwip.nwip-1-1 uint8;
923
924         If true, the NetWare/IP client should support NetWare/IP version  1.1
925         compatibility.   This is only needed if the client will be contacting
926         Netware/IP version 1.1 servers.
927
928       option nwip.primary-dss ip-address;
929
930         Specifies the IP address of the Primary Domain SAP/RIP Service server
931         (DSS)  for  this  NetWare/IP  domain.   The NetWare/IP administration
932         utility uses this value as Primary DSS server when configuring a sec‐
933         ondary DSS server.
934

DEFINING NEW OPTIONS

936       The  Internet  Systems  Consortium  DHCP  client and server provide the
937       capability to define new options.   Each DHCP  option  has  a  name,  a
938       code,  and  a  structure.    The  name  is  used by you to refer to the
939       option.   The code is a number, used by the DHCP server and  client  to
940       refer  to  an option.   The structure describes what the contents of an
941       option looks like.
942
943       To define a new option, you need to choose a name for it that is not in
944       use  for  some  other  option  - for example, you can't use "host-name"
945       because the DHCP protocol already defines a host-name option, which  is
946       documented  earlier  in  this  manual page.   If an option name doesn't
947       appear in this manual page, you can use it, but it's  probably  a  good
948       idea  to  put some kind of unique string at the beginning so you can be
949       sure that future options don't take your name.   For example, you might
950       define  an  option,  "local-host-name", feeling some confidence that no
951       official DHCP option name will ever start with "local".
952
953       Once you have chosen a name, you must choose a  code.   For  site-local
954       options,  all  codes between 128 and 254 are reserved for DHCP options,
955       so you can pick any one of  these.   In  practice,  some  vendors  have
956       interpreted  the protocol rather loosely and have used option code val‐
957       ues greater than 128 themselves.   There's no real way  to  avoid  this
958       problem, but it's not likely to cause too much trouble in practice.
959
960       The  structure  of  an  option is simply the format in which the option
961       data appears.   The ISC DHCP server currently  supports  a  few  simple
962       types,  like  integers, booleans, strings and IP addresses, and it also
963       supports the ability to define arrays of  single  types  or  arrays  of
964       fixed sequences of types.
965
966       New options are declared as follows:
967
968       option new-name code new-code = definition ;
969
970       The  values of new-name and new-code should be the name you have chosen
971       for the new option and the  code  you  have  chosen.    The  definition
972       should be the definition of the structure of the option.
973
974       The following simple option type definitions are supported:
975
976       BOOLEAN
977
978       option new-name code new-code = boolean ;
979
980       An  option  of  type boolean is a flag with a value of either on or off
981       (or true or false).   So an example use of the boolean type would be:
982
983       option use-zephyr code 180 = boolean;
984       option use-zephyr on;
985
986       INTEGER
987
988       option new-name code new-code = sign integer width ;
989
990       The sign token should either be blank, unsigned or signed.   The  width
991       can  be  either  8,  16  or 32, and refers to the number of bits in the
992       integer.   So for example, the following two lines show a definition of
993       the sql-connection-max option and its use:
994
995       option sql-connection-max code 192 = unsigned integer 16;
996       option sql-connection-max 1536;
997
998       IP-ADDRESS
999
1000       option new-name code new-code = ip-address ;
1001
1002       An option whose structure is an IP address can be expressed either as a
1003       domain name or as a dotted quad.  So the following is an example use of
1004       the ip-address type:
1005
1006       option sql-server-address code 193 = ip-address;
1007       option sql-server-address sql.example.com;
1008
1009
1010       TEXT
1011
1012       option new-name code new-code = text ;
1013
1014       An  option  whose  type is text will encode an ASCII text string.   For
1015       example:
1016
1017       option sql-default-connection-name code 194 = text;
1018       option sql-default-connection-name "PRODZA";
1019
1020
1021       DATA STRING
1022
1023       option new-name code new-code = string ;
1024
1025       An option whose type is a data string is essentially just a  collection
1026       of  bytes,  and  can  be specified either as quoted text, like the text
1027       type, or as a list of hexadecimal contents separated  by  colons  whose
1028       values must be between 0 and FF.   For example:
1029
1030       option sql-identification-token code 195 = string;
1031       option sql-identification-token 17:23:19:a6:42:ea:99:7c:22;
1032
1033
1034       ENCAPSULATION
1035
1036       option new-name code new-code = encapsulate identifier ;
1037
1038       An  option  whose  type is encapsulate will encapsulate the contents of
1039       the option space specified in identifier.    Examples  of  encapsulated
1040       options in the DHCP protocol as it currently exists include the vendor-
1041       encapsulated-options option,  the  netware-suboptions  option  and  the
1042       relay-agent-information option.
1043
1044       option space local;
1045       option local.demo code 1 = text;
1046       option local-encapsulation code 197 = encapsulate local;
1047       option local.demo "demo";
1048
1049
1050       ARRAYS
1051
1052       Options  can  contain  arrays  of any of the above types except for the
1053       text and data string types, which aren't currently supported in arrays.
1054       An example of an array definition is as follows:
1055
1056       option kerberos-servers code 200 = array of ip-address;
1057       option kerberos-servers 10.20.10.1, 10.20.11.1;
1058
1059       RECORDS
1060
1061       Options  can  also  contain data structures consisting of a sequence of
1062       data types, which is sometimes called a record type.   For example:
1063
1064       option contrived-001 code 201 = { boolean, integer 32, text };
1065       option contrived-001 on 1772 "contrivance";
1066
1067       It's also possible to have options that  are  arrays  of  records,  for
1068       example:
1069
1070       option new-static-routes code 201 = array of {
1071            ip-address, ip-address, ip-address, integer 8 };
1072       option static-routes
1073            10.0.0.0 255.255.255.0 net-0-rtr.example.com 1,
1074            10.0.1.0 255.255.255.0 net-1-rtr.example.com 1,
1075            10.2.0.0 255.255.224.0 net-2-0-rtr.example.com 3;
1076
1077

VENDOR ENCAPSULATED OPTIONS

1079       The  DHCP  protocol  defines  the   vendor-encapsulated-options option,
1080       which allows vendors to define their own  options  that  will  be  sent
1081       encapsulated  in  a  standard  DHCP option.   The format of the vendor-
1082       encapsulated-options option is either a series of bytes whose format is
1083       not  specified,  or  a sequence of options, each of which consists of a
1084       single-byte vendor-specific option  code,  followed  by  a  single-byte
1085       length,  followed  by  as  many  bytes  of data as are specified in the
1086       length (the length does not include itself or the option code).
1087
1088       The value of this option can be set in one of two ways.   The first way
1089       is to simply specify the data directly, using a text string or a colon-
1090       separated list of hexadecimal values.   For example:
1091
1092       option vendor-encapsulated-options
1093           2:4:AC:11:41:1:
1094           3:12:73:75:6e:64:68:63:70:2d:73:65:72:76:65:72:31:37:2d:31:
1095           4:12:2f:65:78:70:6f:72:74:2f:72:6f:6f:74:2f:69:38:36:70:63;
1096
1097       The second way of setting the value of this option is to have the  DHCP
1098       server generate a vendor-specific option buffer.   To do this, you must
1099       do four things: define an option space, define  some  options  in  that
1100       option  space,  provide  values  for them, and specify that that option
1101       space  should  be  used  to  generate  the  vendor-encapsulated-options
1102       option.
1103
1104       To define a new option space in which vendor options can be stored, use
1105       the option space statement:
1106
1107       option space name ;
1108
1109       The name can then be used in option definitions, as  described  earlier
1110       in this document.   For example:
1111
1112       option space SUNW;
1113       option SUNW.server-address code 2 = ip-address;
1114       option SUNW.server-name code 3 = text;
1115       option SUNW.root-path code 4 = text;
1116
1117       Once  you  have defined an option space and the format of some options,
1118       you can set up scopes that define values for those options, and you can
1119       say  when  to  use  them.   For example, suppose you want to handle two
1120       different classes of clients.   Using the option space definition shown
1121       in  the  previous example, you can send different option values to dif‐
1122       ferent clients based on the  vendor-class-identifier  option  that  the
1123       clients send, as follows:
1124
1125       class "vendor-classes" {
1126         match option vendor-class-identifier;
1127       }
1128
1129       option SUNW.server-address 172.17.65.1;
1130       option SUNW.server-name "sundhcp-server17-1";
1131
1132       subclass "vendor-classes" "SUNW.Ultra-5_10" {
1133         vendor-option-space SUNW;
1134         option SUNW.root-path "/export/root/sparc";
1135       }
1136
1137       subclass "vendor-classes" "SUNW.i86pc" {
1138         vendor-option-space SUNW;
1139         option SUNW.root-path "/export/root/i86pc";
1140       }
1141
1142       As  you  can see in the preceding example, regular scoping rules apply,
1143       so you can define values that are global in the global scope, and  only
1144       define  values  that  are  specific  to a particular class in the local
1145       scope.   The vendor-option-space declaration tells the DHCP  server  to
1146       use  options  in the SUNW option space to construct the vendor-encapsu‐
1147       lated-options option.
1148

SEE ALSO

1150       dhcpd.conf(5),   dhcpd.leases(5),    dhclient.conf(5),    dhcp-eval(5),
1151       dhcpd(8),    dhclient(8),   RFC2132,   RFC2131,   draft-ietf-dhc-agent-
1152       options-??.txt.
1153

AUTHOR

1155       The Internet Systems Consortium DHCP Distribution was  written  by  Ted
1156       Lemon  under  a contract with Vixie Labs.  Funding for this project was
1157       provided through Internet Systems Consortium.  Information about Inter‐
1158       net Systems Consortium can be found at http://www.isc.org.
1159
1160
1161
1162                                                              dhcpd-options(5)
Impressum