MFC: following 2 commits:
[dragonfly.git] / contrib / dhcp-3.0 / common / dhcp-options.5
blobdac94a82fc4696789654be0c1cab9d528e638fea
1 .\"     $Id: dhcp-options.5,v 1.19.2.14 2004/09/21 22:43:09 dhankins Exp $
2 .\"
3 .\" Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
4 .\" Copyright (c) 1996-2003 by Internet Software Consortium
5 .\"
6 .\" Permission to use, copy, modify, and distribute this software for any
7 .\" purpose with or without fee is hereby granted, provided that the above
8 .\" copyright notice and this permission notice appear in all copies.
9 .\"
10 .\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
11 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 .\" MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
13 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
16 .\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 .\"
18 .\"   Internet Systems Consortium, Inc.
19 .\"   950 Charter Street
20 .\"   Redwood City, CA 94063
21 .\"   <info@isc.org>
22 .\"   http://www.isc.org/
23 .\"
24 .\" This software has been written for Internet Systems Consortium
25 .\" by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc.
26 .\" To learn more about Internet Systems Consortium, see
27 .\" ``http://www.isc.org/''.  To learn more about Vixie Enterprises,
28 .\" see ``http://www.vix.com''.   To learn more about Nominum, Inc., see
29 .\" ``http://www.nominum.com''.
30 .TH dhcpd-options 5
31 .SH NAME
32 dhcp-options - Dynamic Host Configuration Protocol options
33 .SH DESCRIPTION
34 The Dynamic Host Configuration protocol allows the client to receive
35 .B options
36 from the DHCP server describing the network configuration and various
37 services that are available on the network.   When configuring
38 .B dhcpd(8)
40 .B dhclient(8) ,
41 options must often be declared.   The syntax for declaring options,
42 and the names and formats of the options that can be declared, are
43 documented here.
44 .SH REFERENCE: OPTION STATEMENTS
45 .PP
46 DHCP \fIoption\fR statements always start with the \fIoption\fR
47 keyword, followed by an option name, followed by option data.  The
48 option names and data formats are described below.   It is not
49 necessary to exhaustively specify all DHCP options - only those
50 options which are needed by clients must be specified.
51 .PP
52 Option data comes in a variety of formats, as defined below:
53 .PP
54 The
55 .B ip-address
56 data type can be entered either as an explicit IP
57 address (e.g., 239.254.197.10) or as a domain name (e.g.,
58 haagen.isc.org).  When entering a domain name, be sure that that
59 domain name resolves to a single IP address.
60 .PP
61 The
62 .B int32
63 data type specifies a signed 32-bit integer.   The 
64 .B uint32
65 data type specifies an unsigned 32-bit integer.   The 
66 .B int16
67 and
68 .B uint16
69 data types specify signed and unsigned 16-bit integers.   The 
70 .B int8
71 and
72 .B uint8
73 data types specify signed and unsigned 8-bit integers.
74 Unsigned 8-bit integers are also sometimes referred to as octets.
75 .PP
76 The
77 .B text
78 data type specifies an NVT ASCII string, which must be
79 enclosed in double quotes - for example, to specify a root-path
80 option, the syntax would be
81 .nf
82 .sp 1
83 option root-path "10.0.1.4:/var/tmp/rootfs";
84 .fi
85 .PP
86 The
87 .B domain-name
88 data type specifies a domain name, which must not
89 enclosed in double quotes.   This data type is not used for any
90 existing DHCP options.   The domain name is stored just as if it were
91 a text option.
92 .PP
93 The
94 .B flag
95 data type specifies a boolean value.   Booleans can be either true or
96 false (or on or off, if that makes more sense to you).
97 .PP
98 The
99 .B string
100 data type specifies either an NVT ASCII string
101 enclosed in double quotes, or a series of octets specified in
102 hexadecimal, separated by colons.   For example:
104 .sp 1
105   option dhcp-client-identifier "CLIENT-FOO";
107   option dhcp-client-identifier 43:4c:49:45:54:2d:46:4f:4f;
109 .SH SETTING OPTION VALUES USING EXPRESSIONS
110 Sometimes it's helpful to be able to set the value of a DHCP option
111 based on some value that the client has sent.   To do this, you can
112 use expression evaluation.   The 
113 .B dhcp-eval(5)
114 manual page describes how to write expressions.   To assign the result
115 of an evaluation to an option, define the option as follows:
117 .sp 1
118   \fBoption \fImy-option \fB= \fIexpression \fB;\fR
121 For example:
123 .sp 1
124   option hostname = binary-to-ascii (16, 8, "-",
125                                      substring (hardware, 1, 6));
127 .SH STANDARD DHCP OPTIONS
128 The documentation for the various options mentioned below is taken
129 from the latest IETF draft document on DHCP options.  Options not
130 listed below may not yet be implemented, but it is possible to use
131 such options by defining them in the configuration file.  Please see
132 the DEFINING NEW OPTIONS heading later in this document for more
133 information.
135 Some of the options documented here are automatically generated by
136 the DHCP server or by clients, and cannot be configured by the user.
137 The value of such an option can be used in the configuration file of
138 the receiving DHCP protocol agent (server or client), for example in
139 conditional expressions. However, the value of the option cannot be
140 used in the configuration file of the sending agent, because the value
141 is determined only \fIafter\fR the configuration file has been
142 processed. In the following documentation, such options will be shown
143 as "not user configurable"
145 The standard options are:
147 .B option \fBall-subnets-local\fR \fIflag\fR\fB;\fR
148 .RS 0.25i
150 This option specifies whether or not the client may assume that all
151 subnets of the IP network to which the client is connected use the
152 same MTU as the subnet of that network to which the client is
153 directly connected.  A value of true indicates that all subnets share
154 the same MTU.  A value of false means that the client should assume that
155 some subnets of the directly connected network may have smaller MTUs.
158 .B option \fBarp-cache-timeout\fR \fIuint32\fR\fB;\fR
159 .RS 0.25i
161 This option specifies the timeout in seconds for ARP cache entries.
164 .B option \fBbootfile-name\fR \fItext\fR\fB;\fR
165 .RS 0.25i
167 This option is used to identify a bootstrap file.  If supported by the
168 client, it should have the same effect as the \fBfilename\fR
169 declaration.  BOOTP clients are unlikely to support this option.  Some
170 DHCP clients will support it, and others actually require it.
173 .B option \fBboot-size\fR \fIuint16\fR\fB;\fR
174 .RS 0.25i
176 This option specifies the length in 512-octet blocks of the default
177 boot image for the client.
180 .B option \fBbroadcast-address\fR \fIip-address\fR\fB;\fR
181 .RS 0.25i
183 This option specifies the broadcast address in use on the client's
184 subnet.  Legal values for broadcast addresses are specified in
185 section 3.2.1.3 of STD 3 (RFC1122).
188 .B option \fBcookie-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
189 ]\fB;\fR
190 .RS 0.25i
192 The cookie server option specifies a list of RFC 865 cookie
193 servers available to the client.  Servers should be listed in order
194 of preference.
197 .B option \fBdefault-ip-ttl\fR \fIuint8;\fR
198 .RS 0.25i
200 This option specifies the default time-to-live that the client should
201 use on outgoing datagrams.
204 .B option \fBdefault-tcp-ttl\fR \fIuint8\fR\fB;\fR
205 .RS 0.25i
207 This option specifies the default TTL that the client should use when
208 sending TCP segments.  The minimum value is 1.
211 .B option \fBdhcp-client-identifier\fR \fIstring\fR\fB;\fR
212 .RS 0.25i
214 This option can be used to specify a DHCP client identifier in a
215 host declaration, so that dhcpd can find the host record by matching
216 against the client identifier.
218 Please be aware that some DHCP clients, when configured with client
219 identifiers that are ASCII text, will prepend a zero to the ASCII
220 text.   So you may need to write:
223         option dhcp-client-identifier "\\0foo";
225 rather than:
227         option dhcp-client-identifier "foo";
231 .B option \fBdhcp-lease-time\fR \fIuint32\fR\fB;\fR
232 .RS 0.25i
234 This option is used in a client request (DHCPDISCOVER or DHCPREQUEST)
235 to allow the client to request a lease time for the IP address.  In a
236 server reply (DHCPOFFER), a DHCP server uses this option to specify
237 the lease time it is willing to offer.                                    
239 This option is not directly user configurable in the server; refer to the
240 \fImax-lease-time\fR and \fIdefault-lease-time\fR server options in
241 .B dhcpd.conf(5).
244 .B option \fBdhcp-max-message-size\fR \fIuint16\fR\fB;\fR
245 .RS 0.25i
247 This option, when sent by the client, specifies the maximum size of
248 any response that the server sends to the client.   When specified on
249 the server, if the client did not send a dhcp-max-message-size option,
250 the size specified on the server is used.   This works for BOOTP as
251 well as DHCP responses.
254 .B option \fBdhcp-message\fR \fItext\fR\fB;\fR
255 .RS 0.25i
257 This option is used by a DHCP server to provide an error message to a
258 DHCP client in a DHCPNAK message in the event of a failure. A client
259 may use this option in a DHCPDECLINE message to indicate why the
260 client declined the offered parameters.
262 This option is not user configurable.
265 .B option \fBdhcp-message-type\fR \fIuint8\fR\fB;\fR
266 .RS 0.25i
268 This option, sent by both client and server, specifies the type of DHCP
269 message contained in the DHCP packet. Possible values (taken directly from
270 RFC2132) are:
273              1     DHCPDISCOVER
274              2     DHCPOFFER
275              3     DHCPREQUEST
276              4     DHCPDECLINE
277              5     DHCPACK
278              6     DHCPNAK
279              7     DHCPRELEASE
280              8     DHCPINFORM               
283 This option is not user configurable.
286 .B option \fBdhcp-option-overload\fR \fIuint8\fR\fB;\fR
287 .RS 0.25i
289 This option is used to indicate that the DHCP 'sname' or 'file'
290 fields are being overloaded by using them to carry DHCP options. A
291 DHCP server inserts this option if the returned parameters will
292 exceed the usual space allotted for options.
294 If this option is present, the client interprets the specified
295 additional fields after it concludes interpretation of the standard
296 option fields.
298 Legal values for this option are:
301              1     the 'file' field is used to hold options
302              2     the 'sname' field is used to hold options
303              3     both fields are used to hold options                        
306 This option is not user configurable.
310 .B option \fBdhcp-parameter-request-list\fR \fIuint16\fR\fB;\fR
311 .RS 0.25i
313 This option, when sent by the client, specifies which options the
314 client wishes the server to return.   Normally, in the ISC DHCP
315 client, this is done using the \fIrequest\fR statement.   If this
316 option is not specified by the client, the DHCP server will normally
317 return every option that is valid in scope and that fits into the
318 reply.   When this option is specified on the server, the server
319 returns the specified options.   This can be used to force a client to
320 take options that it hasn't requested, and it can also be used to
321 tailor the response of the DHCP server for clients that may need a
322 more limited set of options than those the server would normally
323 return.
326 .B option \fBdhcp-rebinding-time\fR \fIuint32\fR\fB;\fR
327 .RS 0.25i
329 This option specifies the number of seconds from the time a client gets
330 an address until the client transitions to the REBINDING state.
332 This option is not user configurable.
336 .B option \fBdhcp-renewal-time\fR \fIuint32\fR\fB;\fR
337 .RS 0.25i
339 This option specifies the number of seconds from the time a client gets
340 an address until the client transitions to the RENEWING state.
342 This option is not user configurable.
346 .B option \fBdhcp-requested-address\fR \fIip-address\fR\fB;\fR
347 .RS 0.25i
349 This option is used by the client in a DHCPDISCOVER to
350 request that a particular IP address be assigned.                 
352 This option is not user configurable.
356 .B option \fBdhcp-server-identifier\fR \fIip-address\fR\fB;\fR
357 .RS 0.25i
359 This option is used in DHCPOFFER and DHCPREQUEST messages, and may
360 optionally be included in the DHCPACK and DHCPNAK messages.  DHCP
361 servers include this option in the DHCPOFFER in order to allow the
362 client to distinguish between lease offers.  DHCP clients use the
363 contents of the 'server identifier' field as the destination address
364 for any DHCP messages unicast to the DHCP server.  DHCP clients also
365 indicate which of several lease offers is being accepted by including
366 this option in a DHCPREQUEST message.
368 The value of this option is the IP address of the server.
370 This option is not directly user configurable. See the 
371 \fIserver-identifier\fR server option in
372 .B \fIdhcpd.conf(5).
376 .B option \fBdomain-name\fR \fItext\fR\fB;\fR
377 .RS 0.25i
379 This option specifies the domain name that client should use when
380 resolving hostnames via the Domain Name System.
383 .B option \fBdomain-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
384 ]\fB;\fR
385 .RS 0.25i
387 The domain-name-servers option specifies a list of Domain Name System
388 (STD 13, RFC 1035) name servers available to the client.  Servers
389 should be listed in order of preference.
392 .B option \fBextensions-path\fR \fItext\fR\fB;\fR
393 .RS 0.25i
395 This option specifies the name of a file containing additional options
396 to be interpreted according to the DHCP option format as specified in
397 RFC2132.
400 .B option \fBfinger-server\fR \fIip-address\fR [\fB,\fR
401 \fIip-address\fR... ]\fB;\fR
402 .RS 0.25i
404 The Finger server option specifies a list of Finger servers available
405 to the client.  Servers should be listed in order of preference.
408 .B option \fBfont-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
409 ]\fB;\fR
410 .RS 0.25i
412 This option specifies a list of X Window System Font servers available
413 to the client. Servers should be listed in order of preference.
416 .B option \fBhost-name\fR \fIstring\fR\fB;\fR
417 .RS 0.25i
419 This option specifies the name of the client.  The name may or may
420 not be qualified with the local domain name (it is preferable to use
421 the domain-name option to specify the domain name).  See RFC 1035 for
422 character set restrictions.  This option is only honored by
423 .B dhclient-script(8)
424 if the hostname for the client machine is not set.
427 .B option \fBieee802-3-encapsulation\fR \fIflag\fR\fB;\fR
428 .RS 0.25i
430 This option specifies whether or not the client should use Ethernet
431 Version 2 (RFC 894) or IEEE 802.3 (RFC 1042) encapsulation if the
432 interface is an Ethernet.  A value of false indicates that the client
433 should use RFC 894 encapsulation.  A value of true means that the client
434 should use RFC 1042 encapsulation.
437 .B option \fBien116-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
439 .RS 0.25i
441 The ien116-name-servers option specifies a list of IEN 116 name servers
442 available to the client.  Servers should be listed in order of
443 preference.
446 .B option \fBimpress-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
447 ]\fB;\fR
448 .RS 0.25i
450 The impress-server option specifies a list of Imagen Impress servers
451 available to the client.  Servers should be listed in order of
452 preference.
455 .B option \fBinterface-mtu\fR \fIuint16\fR\fB;\fR
456 .RS 0.25i
458 This option specifies the MTU to use on this interface.   The minimum
459 legal value for the MTU is 68.
462 .B option \fBip-forwarding\fR \fIflag\fR\fB;\fR
463 .RS 0.25i
465 This option specifies whether the client should configure its IP
466 layer for packet forwarding.  A value of false means disable IP
467 forwarding, and a value of true means enable IP forwarding.
470 .B option \fBirc-server\fR \fIip-address\fR [\fB,\fR
471 \fIip-address\fR... ]\fB;\fR
472 .RS 0.25i
474 The IRC server option specifies a list of IRC servers available
475 to the client.  Servers should be listed in order of preference.
478 .B option \fBlog-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
479 ]\fB;\fR
480 .RS 0.25i
482 The log-server option specifies a list of MIT-LCS UDP log servers
483 available to the client.  Servers should be listed in order of
484 preference.
487 .B option \fBlpr-servers\fR \fIip-address \fR [\fB,\fR \fIip-address\fR...
488 ]\fB;\fR
489 .RS 0.25i
491 The LPR server option specifies a list of RFC 1179 line printer
492 servers available to the client.  Servers should be listed in order
493 of preference.
496 .B option \fBmask-supplier\fR \fIflag\fR\fB;\fR
497 .RS 0.25i
499 This option specifies whether or not the client should respond to
500 subnet mask requests using ICMP.  A value of false indicates that the
501 client should not respond.  A value of true means that the client should
502 respond.
505 .B option \fBmax-dgram-reassembly\fR \fIuint16\fR\fB;\fR
506 .RS 0.25i
508 This option specifies the maximum size datagram that the client
509 should be prepared to reassemble.  The minimum legal value is
510 576.
513 .B option \fBmerit-dump\fR \fItext\fR\fB;\fR
514 .RS 0.25i
516 This option specifies the path-name of a file to which the client's
517 core image should be dumped in the event the client crashes.  The
518 path is formatted as a character string consisting of characters from
519 the NVT ASCII character set.
522 .B option \fBmobile-ip-home-agent\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
523 .RS 0.25i
525 This option specifies a list of IP addresses indicating mobile IP
526 home agents available to the client.  Agents should be listed in
527 order of preference, although normally there will be only one such
528 agent.
531 .B option \fBnds-context\fR \fIstring\fR\fB;\fR
532 .RS 0.25i
534 The nds-context option specifies the name of the initial Netware
535 Directory Service for an NDS client.
538 .B option \fBnds-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
539 .RS 0.25i
541 The nds-servers option specifies a list of IP addresses of NDS servers.
544 .B option \fBnds-tree-name\fR \fIstring\fR\fB;\fR
545 .RS 0.25i
547 The nds-tree-name option specifies NDS tree name that the NDS client
548 should use.
551 .B option \fBnetbios-dd-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
552 ]\fB;\fR
553 .RS 0.25i
555 The NetBIOS datagram distribution server (NBDD) option specifies a
556 list of RFC 1001/1002 NBDD servers listed in order of preference.
559 .B option \fBnetbios-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...]\fB;\fR
560 .RS 0.25i
562 The NetBIOS name server (NBNS) option specifies a list of RFC
563 1001/1002 NBNS name servers listed in order of preference.   NetBIOS
564 Name Service is currently more commonly referred to as WINS.   WINS
565 servers can be specified using the netbios-name-servers option.
568 .B option \fBnetbios-node-type\fR \fIuint8\fR\fB;\fR
569 .RS 0.25i
571 The NetBIOS node type option allows NetBIOS over TCP/IP clients which
572 are configurable to be configured as described in RFC 1001/1002.  The
573 value is specified as a single octet which identifies the client type.
575 Possible node types are:
577 .TP 5
578 .I 1
579 B-node: Broadcast - no WINS
581 .I 2
582 P-node: Peer - WINS only
584 .I 4
585 M-node: Mixed - broadcast, then WINS
587 .I 8
588 H-node: Hybrid - WINS, then broadcast
591 .B option \fBnetbios-scope\fR \fIstring\fR\fB;\fR
592 .RS 0.25i
594 The NetBIOS scope option specifies the NetBIOS over TCP/IP scope
595 parameter for the client as specified in RFC 1001/1002. See RFC1001,
596 RFC1002, and RFC1035 for character-set restrictions.
599 .B option \fBnis-domain\fR \fItext\fR\fB;\fR
600 .RS 0.25i
602 This option specifies the name of the client's NIS (Sun Network
603 Information Services) domain.  The domain is formatted as a character
604 string consisting of characters from the NVT ASCII character set.
607 .B option \fBnis-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
608 ]\fB;\fR
609 .RS 0.25i
611 This option specifies a list of IP addresses indicating NIS servers
612 available to the client.  Servers should be listed in order of
613 preference.
616 .B option \fBnisplus-domain\fR \fItext\fR\fB;\fR
617 .RS 0.25i
619 This option specifies the name of the client's NIS+ domain.  The
620 domain is formatted as a character string consisting of characters
621 from the NVT ASCII character set.
624 .B option \fBnisplus-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
625 ]\fB;\fR
626 .RS 0.25i
628 This option specifies a list of IP addresses indicating NIS+ servers
629 available to the client.  Servers should be listed in order of
630 preference.
633 .B option \fBnntp-server\fR \fIip-address\fR [\fB,\fR
634 \fIip-address\fR... ]\fB;\fR
635 .RS 0.25i
637 The NNTP server option specifies a list of NNTP servesr available
638 to the client.  Servers should be listed in order of preference.
641 .B option \fBnon-local-source-routing\fR \fIflag\fR\fB;\fR
642 .RS 0.25i
644 This option specifies whether the client should configure its IP
645 layer to allow forwarding of datagrams with non-local source routes
646 (see Section 3.3.5 of [4] for a discussion of this topic).  A value
647 of false means disallow forwarding of such datagrams, and a value of true
648 means allow forwarding.
651 .B option \fBntp-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
652 ]\fB;\fR
653 .RS 0.25i
655 This option specifies a list of IP addresses indicating NTP (RFC 1035)
656 servers available to the client.  Servers should be listed in order
657 of preference.
660 .B option \fBnwip-domain\fR \fIstring\fR\fB;\fR
661 .RS 0.25i
663 The name of the NetWare/IP domain that a NetWare/IP client should
664 use.
667 .B option \fBnwip-suboptions\fR \fIstring\fR\fB;\fR
668 .RS 0.25i
670 A sequence of suboptions for NetWare/IP clients - see RFC2242 for
671 details.   Normally this option is set by specifying specific
672 NetWare/IP suboptions - see the NETWARE/IP SUBOPTIONS section for more
673 information.
676 .B option \fBpath-mtu-aging-timeout\fR \fIuint32\fR\fB;\fR
677 .RS 0.25i
679 This option specifies the timeout (in seconds) to use when aging Path
680 MTU values discovered by the mechanism defined in RFC 1191.
683 .B option \fBpath-mtu-plateau-table\fR \fIuint16\fR [\fB,\fR \fIuint16\fR...
684 ]\fB;\fR
685 .RS 0.25i
687 This option specifies a table of MTU sizes to use when performing
688 Path MTU Discovery as defined in RFC 1191.  The table is formatted as
689 a list of 16-bit unsigned integers, ordered from smallest to largest.
690 The minimum MTU value cannot be smaller than 68.
693 .B option \fBperform-mask-discovery\fR \fIflag\fR\fB;\fR
694 .RS 0.25i
696 This option specifies whether or not the client should perform subnet
697 mask discovery using ICMP.  A value of false indicates that the client
698 should not perform mask discovery.  A value of true means that the
699 client should perform mask discovery.
703 .B option \fBpolicy-filter\fR \fIip-address ip-address\fR
704                   [\fB,\fR \fIip-address ip-address\fR...]\fB;\fR
707 .RS 0.25i
709 This option specifies policy filters for non-local source routing.
710 The filters consist of a list of IP addresses and masks which specify
711 destination/mask pairs with which to filter incoming source routes.
713 Any source routed datagram whose next-hop address does not match one
714 of the filters should be discarded by the client.
716 See STD 3 (RFC1122) for further information.
719 .B option \fBpop-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
720 .RS 0.25i
722 The POP3 server option specifies a list of POP3 servers available
723 to the client.  Servers should be listed in order of preference.
726 .B option \fBresource-location-servers\fR \fIip-address\fR
727                               [\fB, \fR\fIip-address\fR...]\fB;\fR
729 .RS 0.25i
731 This option specifies a list of RFC 887 Resource Location
732 servers available to the client.  Servers should be listed in order
733 of preference.
736 .B option \fBroot-path\fR \fItext\fB;\fR\fR
737 .RS 0.25i
739 This option specifies the path-name that contains the client's root
740 disk.  The path is formatted as a character string consisting of
741 characters from the NVT ASCII character set.
744 .B option \fBrouter-discovery\fR \fIflag\fR\fB;\fR
745 .RS 0.25i
747 This option specifies whether or not the client should solicit
748 routers using the Router Discovery mechanism defined in RFC 1256.
749 A value of false indicates that the client should not perform
750 router discovery.  A value of true means that the client should perform
751 router discovery.
754 .B option \fBrouter-solicitation-address\fR \fIip-address\fR\fB;\fR
755 .RS 0.25i
757 This option specifies the address to which the client should transmit
758 router solicitation requests.
761 .B option routers \fIip-address\fR [\fB,\fR \fIip-address\fR...
762 ]\fB;\fR
763 .RS 0.25i
765 The routers option specifies a list of IP addresses for routers on the
766 client's subnet.  Routers should be listed in order of preference.
769 .B option slp-directory-agent \fIboolean ip-address
770 [\fB,\fR \fIip-address\fR... ]\fB;\fR
771 .RS 0.25i
773 This option specifies two things: the IP addresses of one or more
774 Service Location Protocol Directory Agents, and whether the use of
775 these addresses is mandatory.   If the initial boolean value is true,
776 the SLP agent should just use the IP addresses given.   If the value
777 is false, the SLP agent may additionally do active or passive
778 multicast discovery of SLP agents (see RFC2165 for details).
780 Please note that in this option and the slp-service-scope option, the
781 term "SLP Agent" is being used to refer to a Service Location Protocol
782 agent running on a machine that is being configured using the DHCP
783 protocol.
785 Also, please be aware that some companies may refer to SLP as NDS.
786 If you have an NDS directory agent whose address you need to
787 configure, the slp-directory-agent option should work.
790 .B option slp-service-scope \fIboolean text\fR\fB;\fR
791 .RS 0.25i
793 The Service Location Protocol Service Scope Option specifies two
794 things: a list of service scopes for SLP, and whether the use of this
795 list is mandatory.  If the initial boolean value is true, the SLP
796 agent should only use the list of scopes provided in this option;
797 otherwise, it may use its own static configuration in preference to
798 the list provided in this option.
800 The text string should be a comma-separated list of scopes that the
801 SLP agent should use.   It may be omitted, in which case the SLP Agent
802 will use the aggregated list of scopes of all directory agents known
803 to the SLP agent.
806 .B option \fBsmtp-server\fR \fIip-address\fR [\fB,\fR
807 \fIip-address\fR... ]\fB;\fR
808 .RS 0.25i
810 The SMTP server option specifies a list of SMTP servers available to
811 the client.  Servers should be listed in order of preference.
815 .B option \fBstatic-routes\fR \fIip-address ip-address\fR
816                   [\fB,\fR \fIip-address ip-address\fR...]\fB;\fR
818 .RS 0.25i
820 This option specifies a list of static routes that the client should
821 install in its routing cache.  If multiple routes to the same
822 destination are specified, they are listed in descending order of
823 priority.
825 The routes consist of a list of IP address pairs.  The first address
826 is the destination address, and the second address is the router for
827 the destination.
829 The default route (0.0.0.0) is an illegal destination for a static
830 route.  To specify the default route, use the
831 .B routers
832 option.   Also, please note that this option is not intended for
833 classless IP routing - it does not include a subnet mask.   Since
834 classless IP routing is now the most widely deployed routing standard,
835 this option is virtually useless, and is not implemented by any of the
836 popular DHCP clients, for example the Microsoft DHCP client.
840 .B option \fBstreettalk-directory-assistance-server\fR \fIip-address\fR
841                                            [\fB,\fR \fIip-address\fR...]\fB;\fR
843 .RS 0.25i
845 The StreetTalk Directory Assistance (STDA) server option specifies a
846 list of STDA servers available to the client.  Servers should be
847 listed in order of preference.
850 .B option \fBstreettalk-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
851 .RS 0.25i
853 The StreetTalk server option specifies a list of StreetTalk servers
854 available to the client.  Servers should be listed in order of
855 preference.
858 .B option subnet-mask \fIip-address\fR\fB;\fR
859 .RS 0.25i
861 The subnet mask option specifies the client's subnet mask as per RFC
862 950.  If no subnet mask option is provided anywhere in scope, as a
863 last resort dhcpd will use the subnet mask from the subnet declaration
864 for the network on which an address is being assigned.  However,
865 .I any
866 subnet-mask option declaration that is in scope for the address being
867 assigned will override the subnet mask specified in the subnet
868 declaration.
871 .B option \fBsubnet-selection\fR \fIstring\fR\fB;\fR
872 .RS 0.25i
874 Sent by the client if an address is required in a subnet other than the one
875 that would normally be selected (based on the relaying address of the
876 connected subnet the request is obtained from). See RFC3011. Note that the
877 option number used by this server is 118; this has not always been the
878 defined number, and some clients may use a different value. Use of this
879 option should be regarded as slightly experimental!
882 This option is not user configurable in the server.
885 .B option \fBswap-server\fR \fIip-address\fR\fB;\fR
886 .RS 0.25i
888 This specifies the IP address of the client's swap server.
891 .B option \fBtcp-keepalive-garbage\fR \fIflag\fR\fB;\fR
892 .RS 0.25i
894 This option specifies whether or not the client should send TCP
895 keepalive messages with an octet of garbage for compatibility with
896 older implementations.  A value of false indicates that a garbage octet
897 should not be sent. A value of true indicates that a garbage octet
898 should be sent.
901 .B option \fBtcp-keepalive-interval\fR \fIuint32\fR\fB;\fR
902 .RS 0.25i
904 This option specifies the interval (in seconds) that the client TCP
905 should wait before sending a keepalive message on a TCP connection.
906 The time is specified as a 32-bit unsigned integer.  A value of zero
907 indicates that the client should not generate keepalive messages on
908 connections unless specifically requested by an application.
911 .B option \fBtftp-server-name\fR \fItext\fR\fB;\fR
912 .RS 0.25i
914 This option is used to identify a TFTP server and, if supported by the
915 client, should have the same effect as the \fBserver-name\fR
916 declaration.   BOOTP clients are unlikely to support this option.
917 Some DHCP clients will support it, and others actually require it.
920 .B option time-offset \fIint32\fR\fB;\fR
921 .RS 0.25i
923 The time-offset option specifies the offset of the client's subnet in
924 seconds from Coordinated Universal Time (UTC).
927 .B option time-servers \fIip-address\fR [, \fIip-address\fR...
928 ]\fB;\fR
929 .RS 0.25i
931 The time-server option specifies a list of RFC 868 time servers
932 available to the client.  Servers should be listed in order of
933 preference.
936 .B option \fBtrailer-encapsulation\fR \fIflag\fR\fB;\fR
937 .RS 0.25i
939 This option specifies whether or not the client should negotiate the
940 use of trailers (RFC 893 [14]) when using the ARP protocol.  A value
941 of false indicates that the client should not attempt to use trailers.  A
942 value of true means that the client should attempt to use trailers.
945 .B option \fBuap-servers\fR \fItext\fR\fB;\fR
946 .RS 0.25i
948 This option specifies a list of URLs, each pointing to a user
949 authentication service that is capable of processing authentication
950 requests encapsulated in the User Authentication Protocol (UAP).  UAP
951 servers can accept either HTTP 1.1 or SSLv3 connections.  If the list
952 includes a URL that does not contain a port component, the normal
953 default port is assumed (i.e., port 80 for http and port 443 for
954 https).  If the list includes a URL that does not contain a path
955 component, the path /uap is assumed.   If more than one URL is
956 specified in this list, the URLs are separated by spaces.
959 .B option \fBuser-class\fR \fIstring\fR\fB;\fR
960 .RS 0.25i
962 This option is used by some DHCP clients as a way for users to
963 specify identifying information to the client.   This can be used in a
964 similar way to the vendor-class-identifier option, but the value of
965 the option is specified by the user, not the vendor.   Most recent
966 DHCP clients have a way in the user interface to specify the value for
967 this identifier, usually as a text string.
969 .B option \fBvendor-class-identifier\fR \fIstring\fR\fB;\fR
970 .RS 0.25i
972 This option is used by some DHCP clients to identify the vendor
973 type and possibly the configuration of a DHCP client.  The information
974 is a string of bytes whose contents are specific to the vendor and are
975 not specified in a standard.   To see what vendor class identifier
976 clients are sending, you can write the following in your DHCP server
977 configuration file:
980 set vendor-string = option vendor-class-identifier;
983 This will result in all entries in the DHCP server lease database file
984 for clients that sent vendor-class-identifier options having a set
985 statement that looks something like this:
988 set vendor-string = "SUNW.Ultra-5_10";
991 The vendor-class-identifier option is normally used by the DHCP server
992 to determine the options that are returned in the
993 .B vendor-encapsulated-options
994 option.   Please see the VENDOR ENCAPSULATED OPTIONS section later in this
995 manual page for further information.
998 .B option \fBvendor-encapsulated-options\fR \fIstring\fR\fB;\fR
999 .RS 0.25i
1001 The \fBvendor-encapsulated-options\fR option can contain either a
1002 single vendor-specific value or one or more vendor-specific
1003 suboptions.   This option is not normally specified in the DHCP server
1004 configuration file - instead, a vendor class is defined for each
1005 vendor, vendor class suboptions are defined, values for those
1006 suboptions are defined, and the DHCP server makes up a response on
1007 that basis.
1009 Some default behaviours for well-known DHCP client vendors (currently,
1010 the Microsoft Windows 2000 DHCP client) are configured automatically,
1011 but otherwise this must be configured manually - see the VENDOR
1012 ENCAPSULATED OPTIONS section later in this manual page for details.
1015 .B option \fBwww-server\fR \fIip-address\fR [\fB,\fR
1016 \fIip-address\fR... ]\fB;\fR
1017 .RS 0.25i
1019 The WWW server option specifies a list of WWW servers available
1020 to the client.  Servers should be listed in order of preference.
1023 .B option \fBx-display-manager\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
1024 ]\fB;\fR
1025 .RS 0.25i
1027 This option specifies a list of systems that are running the X Window
1028 System Display Manager and are available to the client.  Addresses
1029 should be listed in order of preference.
1031 .SH RELAY AGENT INFORMATION OPTION
1032 An IETF draft, draft-ietf-dhc-agent-options-11.txt, defines a series
1033 of encapsulated options that a relay agent can add to a DHCP packet
1034 when relaying it to the DHCP server.   The server can then make
1035 address allocation decisions (or whatever other decisions it wants)
1036 based on these options.   The server also returns these options in any
1037 replies it sends through the relay agent, so that the relay agent can
1038 use the information in these options for delivery or accounting
1039 purposes.
1041 The current draft defines two options.   To reference
1042 these options in the dhcp server, specify the option space name,
1043 "agent", followed by a period, followed by the option name.   It is
1044 not normally useful to define values for these options in the server,
1045 although it is permissible.   These options are not supported in the
1046 client.
1048 .B option \fBagent.circuit-id\fR \fIstring\fR\fB;\fR
1049 .RS 0.25i
1051 The circuit-id suboption encodes an agent-local identifier of the
1052 circuit from which a DHCP client-to-server packet was received.  It is
1053 intended for use by agents in relaying DHCP responses back to the
1054 proper circuit.   The format of this option is currently defined to be
1055 vendor-dependent, and will probably remain that way, although the
1056 current draft allows for for the possibility of standardizing the
1057 format in the future.
1060 .B option \fBagent.remote-id\fR \fIstring\fR\fB;\fR
1061 .RS 0.25i
1063 The remote-id suboption encodes information about the remote host end
1064 of a circuit.   Examples of what it might contain include caller ID
1065 information, username information, remote ATM address, cable modem ID,
1066 and similar things.   In principal, the meaning is not well-specified,
1067 and it should generally be assumed to be an opaque object that is
1068 administratively guaranteed to be unique to a particular remote end of
1069 a circuit.
1071 .SH THE CLIENT FQDN SUBOPTIONS
1072 The Client FQDN option, currently defined in the Internet Draft
1073 draft-ietf-dhc-fqdn-option-00.txt is not a standard yet, but is in
1074 sufficiently wide use already that we have implemented it.   Due to
1075 the complexity of the option format, we have implemented it as a
1076 suboption space rather than a single option.   In general this
1077 option should not be configured by the user - instead it should be
1078 used as part of an automatic DNS update system.
1080 .B option fqdn.no-client-update \fIflag\fB;
1081 .RS 0.25i
1083 When the client sends this, if it is true, it means the client will not
1084 attempt to update its A record.   When sent by the server to the client,
1085 it means that the client \fIshould not\fR update its own A record.
1088 .B option fqdn.server-update \fIflag\fB;
1089 .RS 0.25i
1091 When the client sends this to the server, it is requesting that the server
1092 update its A record.   When sent by the server, it means that the server
1093 has updated (or is about to update) the client's A record.
1096 .B option fqdn.encoded \fIflag\fB;
1097 .RS 0.25i
1099 If true, this indicates that the domain name included in the option is
1100 encoded in DNS wire format, rather than as plain ASCII text.   The client
1101 normally sets this to false if it doesn't support DNS wire format in the
1102 FQDN option.   The server should always send back the same value that the
1103 client sent.   When this value is set on the configuration side, it controls
1104 the format in which the \fIfqdn.fqdn\fR suboption is encoded.
1107 .B option fqdn.rcode1 \fIflag\fB;
1109 .B option fqdn.rcode2 \fIflag\fB;
1110 .RS 0.25i
1112 These options specify the result of the updates of the A and PTR records,
1113 respectively, and are only sent by the DHCP server to the DHCP client.
1114 The values of these fields are those defined in the DNS protocol specification.
1117 .B option fqdn.fqdn \fItext\fB;
1118 .RS 0.25i
1120 Specifies the domain name that the client wishes to use.   This can be a
1121 fully-qualified domain name, or a single label.   If there is no trailing
1122 '.' character in the name, it is not fully-qualified, and the server will
1123 generally update that name in some locally-defined domain.
1126 .B option fqdn.hostname \fI--never set--\fB;
1127 .RS 0.25i
1129 This option should never be set, but it can be read back using the \fBoption\fR
1130 and \fBconfig-option\fR operators in an expression, in which case it returns
1131 the first label in the \fBfqdn.fqdn\fR suboption - for example, if
1132 the value of \fBfqdn.fqdn\fR is "foo.example.com.", then \fBfqdn.hostname\fR
1133 will be "foo".
1136 .B option fqdn.domainname \fI--never set--\fB;
1137 .RS 0.25i
1139 This option should never be set, but it can be read back using the \fBoption\fR
1140 and \fBconfig-option\fR operators in an expression, in which case it returns
1141 all labels after the first label in the \fBfqdn.fqdn\fR suboption - for
1142 example, if the value of \fBfqdn.fqdn\fR is "foo.example.com.",
1143 then \fBfqdn.hostname\fR will be "example.com.".   If this suboption value
1144 is not set, it means that an unqualified name was sent in the fqdn option,
1145 or that no fqdn option was sent at all.
1148 If you wish to use any of these suboptions, we strongly recommend that you
1149 refer to the Client FQDN option draft (or standard, when it becomes a
1150 standard) - the documentation here is sketchy and incomplete in comparison,
1151 and is just intended for reference by people who already understand the
1152 Client FQDN option specification.
1153 .SH THE NETWARE/IP SUBOPTIONS
1154 RFC2242 defines a set of encapsulated options for Novell NetWare/IP
1155 clients.  To use these options in the dhcp server, specify the option
1156 space name, "nwip", followed by a period, followed by the option name.
1157 The following options can be specified:
1159 .B option \fBnwip.nsq-broadcast\fR \fIflag\fR\fB;\fR
1160 .RS 0.25i
1162 If true, the client should use the NetWare Nearest Server Query to
1163 locate a NetWare/IP server.   The behaviour of the Novell client if
1164 this suboption is false, or is not present, is not specified.
1167 .B option \fBnwip.preferred-dss\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fR\fB;\fR
1168 .RS 0.25i
1170 This suboption specifies a list of up to five IP addresses, each of
1171 which should be the IP address of a NetWare Domain SAP/RIP server
1172 (DSS).
1175 .B option \fBnwip.nearest-nwip-server\fR \fI\fIip-address\fR
1176                              [\fB,\fR \fIip-address\fR...]\fR\fB;\fR
1177 .RS 0.25i
1179 This suboption specifies a list of up to five IP addresses, each of
1180 which should be the IP address of a Nearest NetWare IP server.
1183 .B option \fBnwip.autoretries\fR \fIuint8\fR\fB;\fR
1184 .RS 0.25i
1186 Specifies the number of times that a NetWare/IP client should attempt
1187 to communicate with a given DSS server at startup.
1190 .B option \fBnwip.autoretry-secs\fR \fIuint8\fR\fB;\fR
1191 .RS 0.25i
1193 Specifies the number of seconds that a Netware/IP client should wait
1194 between retries when attempting to establish communications with a DSS
1195 server at startup.
1198 .B option \fBnwip.nwip-1-1\fR \fIuint8\fR\fB;\fR
1199 .RS 0.25i
1201 If true, the NetWare/IP client should support NetWare/IP version 1.1
1202 compatibility.   This is only needed if the client will be contacting
1203 Netware/IP version 1.1 servers.
1206 .B option \fBnwip.primary-dss\fR \fIip-address\fR\fB;\fR
1207 .RS 0.25i
1209 Specifies the IP address of the Primary Domain SAP/RIP Service server
1210 (DSS) for this NetWare/IP domain.   The NetWare/IP administration
1211 utility uses this value as Primary DSS server when configuring a
1212 secondary DSS server.
1214 .SH DEFINING NEW OPTIONS
1215 The Internet Systems Consortium DHCP client and server provide the
1216 capability to define new options.   Each DHCP option has a name, a
1217 code, and a structure.   The name is used by you to refer to the
1218 option.   The code is a number, used by the DHCP server and client to
1219 refer to an option.   The structure describes what the contents of an
1220 option looks like.
1222 To define a new option, you need to choose a name for it that is not
1223 in use for some other option - for example, you can't use "host-name"
1224 because the DHCP protocol already defines a host-name option, which is
1225 documented earlier in this manual page.   If an option name doesn't
1226 appear in this manual page, you can use it, but it's probably a good
1227 idea to put some kind of unique string at the beginning so you can be
1228 sure that future options don't take your name.   For example, you
1229 might define an option, "local-host-name", feeling some confidence
1230 that no official DHCP option name will ever start with "local".
1232 Once you have chosen a name, you must choose a code.  For site-local
1233 options, all codes between 128 and 254 are reserved for DHCP options,
1234 so you can pick any one of these.  In practice, some vendors have
1235 interpreted the protocol rather loosely and have used option code
1236 values greater than 128 themselves.   There's no real way to avoid
1237 this problem, but it's not likely to cause too much trouble in
1238 practice.
1240 The structure of an option is simply the format in which the option
1241 data appears.   The ISC DHCP server currently supports a few simple
1242 types, like integers, booleans, strings and IP addresses, and it also
1243 supports the ability to define arrays of single types or arrays of
1244 fixed sequences of types.
1246 New options are declared as follows:
1248 .B option
1249 .I new-name
1250 .B code
1251 .I new-code
1252 .B =
1253 .I definition
1254 .B ;
1256 The values of
1257 .I new-name
1259 .I new-code
1260 should be the name you have chosen for the new option and the code you
1261 have chosen.   The
1262 .I definition
1263 should be the definition of the structure of the option.
1265 The following simple option type definitions are supported:
1267 .B BOOLEAN
1269 .B option
1270 .I new-name
1271 .B code
1272 .I new-code
1273 .B =
1274 .B boolean
1275 .B ;
1277 An option of type boolean is a flag with a value of either on or off
1278 (or true or false).   So an example use of the boolean type would be:
1281 option use-zephyr code 180 = boolean;
1282 option use-zephyr on;
1285 .B INTEGER
1287 .B option
1288 .I new-name
1289 .B code
1290 .I new-code
1291 .B =
1292 .I sign
1293 .B integer
1294 .I width
1295 .B ;
1297 The \fIsign\fR token should either be blank, \fIunsigned\fR
1298 or \fIsigned\fR.   The width can be either 8, 16 or 32, and refers to
1299 the number of bits in the integer.   So for example, the following two
1300 lines show a definition of the sql-connection-max option and its use:
1303 option sql-connection-max code 192 = unsigned integer 16;
1304 option sql-connection-max 1536;
1307 .B IP-ADDRESS
1309 .B option
1310 .I new-name
1311 .B code
1312 .I new-code
1313 .B =
1314 .B ip-address
1315 .B ;
1317 An option whose structure is an IP address can be expressed either as
1318 a domain name or as a dotted quad.  So the following is an example use
1319 of the ip-address type:
1322 option sql-server-address code 193 = ip-address;
1323 option sql-server-address sql.example.com;
1327 .B TEXT
1329 .B option
1330 .I new-name
1331 .B code
1332 .I new-code
1333 .B =
1334 .B text
1335 .B ;
1337 An option whose type is text will encode an ASCII text string.   For
1338 example:
1341 option sql-default-connection-name code 194 = text;
1342 option sql-default-connection-name "PRODZA";
1346 .B DATA STRING
1348 .B option
1349 .I new-name
1350 .B code
1351 .I new-code
1352 .B =
1353 .B string
1354 .B ;
1356 An option whose type is a data string is essentially just a collection
1357 of bytes, and can be specified either as quoted text, like the text
1358 type, or as a list of hexadecimal contents separated by colons whose
1359 values must be between 0 and FF.   For example:
1362 option sql-identification-token code 195 = string;
1363 option sql-identification-token 17:23:19:a6:42:ea:99:7c:22;
1367 .B ENCAPSULATION
1369 .B option
1370 .I new-name
1371 .B code
1372 .I new-code
1373 .B =
1374 .B encapsulate
1375 .I identifier
1376 .B ;
1378 An option whose type is \fBencapsulate\fR will encapsulate the
1379 contents of the option space specified in \fIidentifier\fR.   Examples
1380 of encapsulated options in the DHCP protocol as it currently exists
1381 include the vendor-encapsulated-options option, the netware-suboptions
1382 option and the relay-agent-information option.
1385 option space local;
1386 option local.demo code 1 = text;
1387 option local-encapsulation code 197 = encapsulate local;
1388 option local.demo "demo";
1392 .B ARRAYS
1394 Options can contain arrays of any of the above types except for the
1395 text and data string types, which aren't currently supported in
1396 arrays.   An example of an array definition is as follows:
1399 option kerberos-servers code 200 = array of ip-address;
1400 option kerberos-servers 10.20.10.1, 10.20.11.1;
1403 .B RECORDS
1405 Options can also contain data structures consisting of a sequence of
1406 data types, which is sometimes called a record type.   For example:
1409 option contrived-001 code 201 = { boolean, integer 32, text };
1410 option contrived-001 on 1772 "contrivance";
1413 It's also possible to have options that are arrays of records, for
1414 example:
1417 option new-static-routes code 201 = array of {
1418         ip-address, ip-address, ip-address, integer 8 };
1419 option static-routes
1420         10.0.0.0 255.255.255.0 net-0-rtr.example.com 1,
1421         10.0.1.0 255.255.255.0 net-1-rtr.example.com 1,
1422         10.2.0.0 255.255.224.0 net-2-0-rtr.example.com 3;
1424 .fi     
1425 .SH VENDOR ENCAPSULATED OPTIONS
1426 The DHCP protocol defines the \fB vendor-encapsulated-options\fR
1427 option, which allows vendors to define their own options that will be
1428 sent encapsulated in a standard DHCP option.   The format of the
1429 .B vendor-encapsulated-options
1430 option is either a series of bytes whose format is not specified, or
1431 a sequence of options, each of which consists of a single-byte
1432 vendor-specific option code, followed by a single-byte length,
1433 followed by as many bytes of data as are specified in the length (the
1434 length does not include itself or the option code).
1436 The value of this option can be set in one of two ways.   The first
1437 way is to simply specify the data directly, using a text string or a
1438 colon-separated list of hexadecimal values.   For example:
1441 option vendor-encapsulated-options
1442     2:4:AC:11:41:1:
1443     3:12:73:75:6e:64:68:63:70:2d:73:65:72:76:65:72:31:37:2d:31:
1444     4:12:2f:65:78:70:6f:72:74:2f:72:6f:6f:74:2f:69:38:36:70:63;
1447 The second way of setting the value of this option is to have the DHCP
1448 server generate a vendor-specific option buffer.   To do this, you
1449 must do four things: define an option space, define some options in
1450 that option space, provide values for them, and specify that that 
1451 option space should be used to generate the
1452 .B vendor-encapsulated-options
1453 option.
1455 To define a new option space in which vendor options can be stored,
1456 use the \fRoption space\fP statement:
1458 .B option
1459 .B space
1460 .I name
1461 .B ;
1463 The name can then be used in option definitions, as described earlier in
1464 this document.   For example:
1467 option space SUNW;
1468 option SUNW.server-address code 2 = ip-address;
1469 option SUNW.server-name code 3 = text;
1470 option SUNW.root-path code 4 = text;
1473 Once you have defined an option space and the format of some options,
1474 you can set up scopes that define values for those options, and you
1475 can say when to use them.   For example, suppose you want to handle
1476 two different classes of clients.   Using the option space definition
1477 shown in the previous example, you can send different option values to
1478 different clients based on the vendor-class-identifier option that the
1479 clients send, as follows:
1482 class "vendor-classes" {
1483   match option vendor-class-identifier;
1486 option SUNW.server-address 172.17.65.1;
1487 option SUNW.server-name "sundhcp-server17-1";
1489 subclass "vendor-classes" "SUNW.Ultra-5_10" {
1490   vendor-option-space SUNW;
1491   option SUNW.root-path "/export/root/sparc";
1494 subclass "vendor-classes" "SUNW.i86pc" {
1495   vendor-option-space SUNW;
1496   option SUNW.root-path "/export/root/i86pc";
1500 As you can see in the preceding example, regular scoping rules apply,
1501 so you can define values that are global in the global scope, and only
1502 define values that are specific to a particular class in the local
1503 scope.   The \fBvendor-option-space\fR declaration tells the DHCP
1504 server to use options in the SUNW option space to construct the
1505 .B vendor-encapsulated-options
1506 option.
1507 .SH SEE ALSO
1508 dhcpd.conf(5), dhcpd.leases(5), dhclient.conf(5), dhcp-eval(5), dhcpd(8),
1509 dhclient(8), RFC2132, RFC2131, draft-ietf-dhc-agent-options-??.txt.
1510 .SH AUTHOR
1511 The Internet Systems Consortium DHCP Distribution was written by Ted
1512 Lemon under a contract with Vixie Labs.  Funding for
1513 this project was provided through Internet Systems Consortium.
1514 Information about Internet Systems Consortium can be found at
1515 .B http://www.isc.org.