OSDN Git Service

Import translated manuals from JM CVS Repository.
[linuxjm/jm.git] / manual / dhcp / original / man5 / dhcp-options.5
1 .\"     dhcp-options.5
2 .\"
3 .\" Copyright (c) 1996-2001 Internet Software Consortium.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\"
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\"    notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\"    notice, this list of conditions and the following disclaimer in the
12 .\"    documentation and/or other materials provided with the distribution.
13 .\" 3. Neither the name of The Internet Software Consortium nor the names
14 .\"    of its contributors may be used to endorse or promote products derived
15 .\"    from this software without specific prior written permission.
16 .\"
17 .\" THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND
18 .\" CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
19 .\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
20 .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 .\" DISCLAIMED.  IN NO EVENT SHALL THE INTERNET SOFTWARE CONSORTIUM OR
22 .\" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 .\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 .\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
25 .\" USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26 .\" ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27 .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
28 .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 .\" SUCH DAMAGE.
30 .\"
31 .\" This software has been written for the Internet Software Consortium
32 .\" by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc.
33 .\" To learn more about the Internet Software Consortium, see
34 .\" ``http://www.isc.org/''.  To learn more about Vixie Enterprises,
35 .\" see ``http://www.vix.com''.   To learn more about Nominum, Inc., see
36 .\" ``http://www.nominum.com''.
37 .TH dhcpd-options 5
38 .SH NAME
39 dhcp-options - Dynamic Host Configuration Protocol options
40 .SH DESCRIPTION
41 The Dynamic Host Configuration protocol allows the client to receive
42 .B options
43 from the DHCP server describing the network configuration and various
44 services that are available on the network.   When configuring
45 .B dhcpd(8)
46 or
47 .B dhclient(8) ,
48 options must often be declared.   The syntax for declaring options,
49 and the names and formats of the options that can be declared, are
50 documented here.
51 .SH REFERENCE: OPTION STATEMENTS
52 .PP
53 DHCP \fIoption\fR statements always start with the \fIoption\fR
54 keyword, followed by an option name, followed by option data.  The
55 option names and data formats are described below.   It is not
56 necessary to exhaustively specify all DHCP options - only those
57 options which are needed by clients must be specified.
58 .PP
59 Option data comes in a variety of formats, as defined below:
60 .PP
61 The
62 .B ip-address
63 data type can be entered either as an explicit IP
64 address (e.g., 239.254.197.10) or as a domain name (e.g.,
65 haagen.isc.org).  When entering a domain name, be sure that that
66 domain name resolves to a single IP address.
67 .PP
68 The
69 .B int32
70 data type specifies a signed 32-bit integer.   The 
71 .B uint32
72 data type specifies an unsigned 32-bit integer.   The 
73 .B int16
74 and
75 .B uint16
76 data types specify signed and unsigned 16-bit integers.   The 
77 .B int8
78 and
79 .B uint8
80 data types specify signed and unsigned 8-bit integers.
81 Unsigned 8-bit integers are also sometimes referred to as octets.
82 .PP
83 The
84 .B text
85 data type specifies an NVT ASCII string, which must be
86 enclosed in double quotes - for example, to specify a root-path
87 option, the syntax would be
88 .nf
89 .sp 1
90 option root-path "10.0.1.4:/var/tmp/rootfs";
91 .fi
92 .PP
93 The
94 .B domain-name
95 data type specifies a domain name, which must not
96 enclosed in double quotes.   This data type is not used for any
97 existing DHCP options.   The domain name is stored just as if it were
98 a text option.
99 .PP
100 The
101 .B flag
102 data type specifies a boolean value.   Booleans can be either true or
103 false (or on or off, if that makes more sense to you).
104 .PP
105 The
106 .B string
107 data type specifies either an NVT ASCII string
108 enclosed in double quotes, or a series of octets specified in
109 hexadecimal, seperated by colons.   For example:
110 .nf
111 .sp 1
112   option dhcp-client-identifier "CLIENT-FOO";
113 or
114   option dhcp-client-identifier 43:4c:49:45:54:2d:46:4f:4f;
115 .fi
116 .SH SETTING OPTION VALUES USING EXPRESSIONS
117 Sometimes it's helpful to be able to set the value of a DHCP option
118 based on some value that the client has sent.   To do this, you can
119 use expression evaluation.   The 
120 .B dhcp-eval(5)
121 manual page describes how to write expressions.   To assign the result
122 of an evaluation to an option, define the option as follows:
123 .nf
124 .sp 1
125   \fBoption \fImy-option \fB= \fIexpression \fB;\fR
126 .fi
127 .PP
128 For example:
129 .nf
130 .sp 1
131   option hostname = binary-to-ascii (16, 8, "-",
132                                      substring (hardware, 1, 6));
133 .fi
134 .SH STANDARD DHCP OPTIONS
135 The documentation for the various options mentioned below is taken
136 from the latest IETF draft document on DHCP options.  Options not
137 listed below may not yet be implemented, but it is possible to use
138 such options by defining them in the configuration file.  Please see
139 the DEFINING NEW OPTIONS heading later in this document for more
140 information.
141 .PP
142 The standard options are:
143 .PP
144 .B option \fBall-subnets-local\fR \fIflag\fR\fB;\fR
145 .RS 0.25i
146 .PP
147 This option specifies whether or not the client may assume that all
148 subnets of the IP network to which the client is connected use the
149 same MTU as the subnet of that network to which the client is
150 directly connected.  A value of true indicates that all subnets share
151 the same MTU.  A value of false means that the client should assume that
152 some subnets of the directly connected network may have smaller MTUs.
153 .RE
154 .PP
155 .B option \fBarp-cache-timeout\fR \fIuint32\fR\fB;\fR
156 .RS 0.25i
157 .PP
158 This option specifies the timeout in seconds for ARP cache entries.
159 .RE
160 .PP
161 .B option \fBbootfile-name\fR \fItext\fR\fB;\fR
162 .RS 0.25i
163 .PP
164 This option is used to identify a bootstrap file.  If supported by the
165 client, it should have the same effect as the \fBfilename\fR
166 declaration.  BOOTP clients are unlikely to support this option.  Some
167 DHCP clients will support it, and others actually require it.
168 .RE
169 .PP
170 .B option \fBboot-size\fR \fIuint16\fR\fB;\fR
171 .RS 0.25i
172 .PP
173 This option specifies the length in 512-octet blocks of the default
174 boot image for the client.
175 .RE
176 .PP
177 .B option \fBbroadcast-address\fR \fIip-address\fR\fB;\fR
178 .RS 0.25i
179 .PP
180 This option specifies the broadcast address in use on the client's
181 subnet.  Legal values for broadcast addresses are specified in
182 section 3.2.1.3 of STD 3 (RFC1122).
183 .RE
184 .PP
185 .B option \fBcookie-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
186 ]\fB;\fR
187 .RS 0.25i
188 .PP
189 The cookie server option specifies a list of RFC 865 cookie
190 servers available to the client.  Servers should be listed in order
191 of preference.
192 .RE
193 .PP
194 .B option \fBdefault-ip-ttl\fR \fIuint8;\fR
195 .RS 0.25i
196 .PP
197 This option specifies the default time-to-live that the client should
198 use on outgoing datagrams.
199 .RE
200 .PP
201 .B option \fBdefault-tcp-ttl\fR \fIuint8\fR\fB;\fR
202 .RS 0.25i
203 .PP
204 This option specifies the default TTL that the client should use when
205 sending TCP segments.  The minimum value is 1.
206 .RE
207 .PP
208 .B option \fBdhcp-client-identifier\fR \fIstring\fR\fB;\fR
209 .RS 0.25i
210 .PP
211 This option can be used to specify the a DHCP client identifier in a
212 host declaration, so that dhcpd can find the host record by matching
213 against the client identifier.
214 .PP
215 Please be aware that some DHCP clients, when configured with client
216 identifiers that are ASCII text, will prepend a zero to the ASCII
217 text.   So you may need to write:
218 .nf
219
220         option dhcp-client-identifier "\\0foo";
221
222 rather than:
223
224         option dhcp-client-identifier "foo";
225 .fi
226 .RE
227 .PP
228 .B option \fBdhcp-max-message-size\fR \fIuint16\fR\fB;\fR
229 .RS 0.25i
230 .PP
231 This option, when sent by the client, specifies the maximum size of
232 any response that the server sends to the client.   When specified on
233 the server, if the client did not send a dhcp-max-message-size option,
234 the size specified on the server is used.   This works for BOOTP as
235 well as DHCP responses.
236 .RE
237 .PP
238 .B option \fBdhcp-parameter-request-list\fR \fIuint16\fR\fB;\fR
239 .RS 0.25i
240 .PP
241 This option, when sent by the client, specifies which options the
242 client wishes the server to return.   Normally, in the ISC DHCP
243 client, this is done using the \fIrequest\fR statement.   If this
244 option is not specified by the client, the DHCP server will normally
245 return every option that is valid in scope and that fits into the
246 reply.   When this option is specified on the server, the server
247 returns the specified options.   This can be used to force a client to
248 take options that it hasn't requested, and it can also be used to
249 tailor the response of the DHCP server for clients that may need a
250 more limited set of options than those the server would normally
251 return.
252 .RE
253 .PP
254 .B option \fBdomain-name\fR \fItext\fR\fB;\fR
255 .RS 0.25i
256 .PP
257 This option specifies the domain name that client should use when
258 resolving hostnames via the Domain Name System.
259 .RE
260 .PP
261 .B option \fBdomain-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
262 ]\fB;\fR
263 .RS 0.25i
264 .PP
265 The domain-name-servers option specifies a list of Domain Name System
266 (STD 13, RFC 1035) name servers available to the client.  Servers
267 should be listed in order of preference.
268 .RE
269 .PP
270 .B option \fBextensions-path-name\fR \fItext\fR\fB;\fR
271 .RS 0.25i
272 .PP
273 This option specifies the name of a file containing additional options
274 to be interpreted according to the DHCP option format as specified in
275 RFC2132.
276 .RE
277 .PP
278 .B option \fBfinger-server\fR \fIip-address\fR [\fB,\fR
279 \fIip-address\fR... ]\fB;\fR
280 .RS 0.25i
281 .PP
282 The Finger server option specifies a list of Finger available to the
283 client.  Servers should be listed in order of preference.
284 .RE
285 .PP
286 .B option \fBfont-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
287 ]\fB;\fR
288 .RS 0.25i
289 .PP
290 This option specifies a list of X Window System Font servers available
291 to the client. Servers should be listed in order of preference.
292 .RE
293 .PP
294 .B option \fBhost-name\fR \fIstring\fR\fB;\fR
295 .RS 0.25i
296 .PP
297 This option specifies the name of the client.  The name may or may
298 not be qualified with the local domain name (it is preferable to use
299 the domain-name option to specify the domain name).  See RFC 1035 for
300 character set restrictions.
301 .RE
302 .PP
303 .B option \fBieee802-3-encapsulation\fR \fIflag\fR\fB;\fR
304 .RS 0.25i
305 .PP
306 This option specifies whether or not the client should use Ethernet
307 Version 2 (RFC 894) or IEEE 802.3 (RFC 1042) encapsulation if the
308 interface is an Ethernet.  A value of false indicates that the client
309 should use RFC 894 encapsulation.  A value of true means that the client
310 should use RFC 1042 encapsulation.
311 .RE
312 .PP
313 .B option \fBien116-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
314 ];
315 .RS 0.25i
316 .PP
317 The ien116-name-servers option specifies a list of IEN 116 name servers
318 available to the client.  Servers should be listed in order of
319 preference.
320 .RE
321 .PP
322 .B option \fBimpress-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
323 ]\fB;\fR
324 .RS 0.25i
325 .PP
326 The impress-server option specifies a list of Imagen Impress servers
327 available to the client.  Servers should be listed in order of
328 preference.
329 .RE
330 .PP
331 .B option \fBinterface-mtu\fR \fIuint16\fR\fB;\fR
332 .RS 0.25i
333 .PP
334 This option specifies the MTU to use on this interface.   The minimum
335 legal value for the MTU is 68.
336 .RE
337 .PP
338 .B option \fBip-forwarding\fR \fIflag\fR\fB;\fR
339 .RS 0.25i
340 .PP
341 This option specifies whether the client should configure its IP
342 layer for packet forwarding.  A value of false means disable IP
343 forwarding, and a value of true means enable IP forwarding.
344 .RE
345 .PP
346 .B option \fBirc-server\fR \fIip-address\fR [\fB,\fR
347 \fIip-address\fR... ]\fB;\fR
348 .RS 0.25i
349 .PP
350 The IRC server option specifies a list of IRC available to the
351 client.  Servers should be listed in order of preference.
352 .RE
353 .PP
354 .B option \fBlog-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
355 ]\fB;\fR
356 .RS 0.25i
357 .PP
358 The log-server option specifies a list of MIT-LCS UDP log servers
359 available to the client.  Servers should be listed in order of
360 preference.
361 .RE
362 .PP
363 .B option \fBlpr-servers\fR \fIip-address \fR [\fB,\fR \fIip-address\fR...
364 ]\fB;\fR
365 .RS 0.25i
366 .PP
367 The LPR server option specifies a list of RFC 1179 line printer
368 servers available to the client.  Servers should be listed in order
369 of preference.
370 .RE
371 .PP
372 .B option \fBmask-supplier\fR \fIflag\fR\fB;\fR
373 .RS 0.25i
374 .PP
375 This option specifies whether or not the client should respond to
376 subnet mask requests using ICMP.  A value of false indicates that the
377 client should not respond.  A value of true means that the client should
378 respond.
379 .RE
380 .PP
381 .B option \fBmax-dgram-reassembly\fR \fIuint16\fR\fB;\fR
382 .RS 0.25i
383 .PP
384 This option specifies the maximum size datagram that the client
385 should be prepared to reassemble.  The minimum value legal value is
386 576.
387 .RE
388 .PP
389 .B option \fBmerit-dump\fR \fItext\fR\fB;\fR
390 .RS 0.25i
391 .PP
392 This option specifies the path-name of a file to which the client's
393 core image should be dumped in the event the client crashes.  The
394 path is formatted as a character string consisting of characters from
395 the NVT ASCII character set.
396 .RE
397 .PP
398 .B option \fBmobile-ip-home-agent\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
399 .RS 0.25i
400 .PP
401 This option specifies a list of IP addresses indicating mobile IP
402 home agents available to the client.  Agents should be listed in
403 order of preference, although normally there will be only one such
404 agent.
405 .RE
406 .PP
407 .B option \fBnds-context\fR \fIstring\fR\fB;\fR
408 .RS 0.25i
409 .PP
410 The nds-context option specifies the name of the initial Netware
411 Directory Service for an NDS client.
412 .RE
413 .PP
414 .B option \fBnds-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
415 .RS 0.25i
416 .PP
417 The nds-servers option specifies a list of IP addresses of NDS servers.
418 .RE
419 .PP
420 .B option \fBnds-tree-name\fR \fIstring\fR\fB;\fR
421 .RS 0.25i
422 .PP
423 The nds-context option specifies NDS tree name that the NDS client
424 should use.
425 .RE
426 .PP
427 .B option \fBnetbios-dd-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
428 ]\fB;\fR
429 .RS 0.25i
430 .PP
431 The NetBIOS datagram distribution server (NBDD) option specifies a
432 list of RFC 1001/1002 NBDD servers listed in order of preference.
433 .RE
434 .PP
435 .B option \fBnetbios-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...]\fB;\fR
436 .RS 0.25i
437 .PP
438 The NetBIOS name server (NBNS) option specifies a list of RFC
439 1001/1002 NBNS name servers listed in order of preference.   NetBIOS
440 Name Service is currently more commonly referred to as WINS.   WINS
441 servers can be specified using the netbios-name-servers option.
442 .RE
443 .PP
444 .B option \fBnetbios-node-type\fR \fIuint8\fR\fB;\fR
445 .RS 0.25i
446 .PP
447 The NetBIOS node type option allows NetBIOS over TCP/IP clients which
448 are configurable to be configured as described in RFC 1001/1002.  The
449 value is specified as a single octet which identifies the client type.
450 .PP
451 Possible node types are:
452 .PP
453 .TP 5
454 .I 1
455 B-node: Broadcast - no WINS
456 .TP
457 .I 2
458 P-node: Peer - WINS only.
459 .TP
460 .I 4
461 M-node: Mixed - broadcast, then WINS
462 .TP
463 .I 8
464 H-node: Hybrid - WINS, then broadcast
465 .RE
466 .PP
467 .B option \fBnetbios-scope\fR \fIstring\fR\fB;\fR
468 .RS 0.25i
469 .PP
470 The NetBIOS scope option specifies the NetBIOS over TCP/IP scope
471 parameter for the client as specified in RFC 1001/1002. See RFC1001,
472 RFC1002, and RFC1035 for character-set restrictions.
473 .RE
474 .PP
475 .B option \fBnwip-domain\fR \fIstring\fR\fB;\fR
476 .RS 0.25i
477 .PP
478 The name of the NetWare/IP domain that a NetWare/IP client should
479 use.
480 .RE
481 .PP
482 .B option \fBnwip-suboptions\fR \fIstring\fR\fB;\fR
483 .RS 0.25i
484 .PP
485 A sequence of suboptions for NetWare/IP clients - see RFC2242 for
486 details.   Normally this option is set by specifying specific
487 NetWare/IP suboptions - see the NETWARE/IP SUBOPTIONS section for more
488 information.
489 .RE
490 .PP
491 .B option \fBnis-domain\fR \fItext\fR\fB;\fR
492 .RS 0.25i
493 .PP
494 This option specifies the name of the client's NIS (Sun Network
495 Information Services) domain.  The domain is formatted as a character
496 string consisting of characters from the NVT ASCII character set.
497 .RE
498 .PP
499 .B option \fBnis-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
500 ]\fB;\fR
501 .RS 0.25i
502 .PP
503 This option specifies a list of IP addresses indicating NIS servers
504 available to the client.  Servers should be listed in order of
505 preference.
506 .RE
507 .PP
508 .B option \fBnisplus-domain\fR \fItext\fR\fB;\fR
509 .RS 0.25i
510 .PP
511 This option specifies the name of the client's NIS+ domain.  The
512 domain is formatted as a character string consisting of characters
513 from the NVT ASCII character set.
514 .RE
515 .PP
516 .B option \fBnisplus-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
517 ]\fB;\fR
518 .RS 0.25i
519 .PP
520 This option specifies a list of IP addresses indicating NIS+ servers
521 available to the client.  Servers should be listed in order of
522 preference.
523 .RE
524 .PP
525 .B option \fBnntp-server\fR \fIip-address\fR [\fB,\fR
526 \fIip-address\fR... ]\fB;\fR
527 .RS 0.25i
528 .PP
529 The NNTP server option specifies a list of NNTP available to the
530 client.  Servers should be listed in order of preference.
531 .RE
532 .PP
533 .B option \fBnon-local-source-routing\fR \fIflag\fR\fB;\fR
534 .RS 0.25i
535 .PP
536 This option specifies whether the client should configure its IP
537 layer to allow forwarding of datagrams with non-local source routes
538 (see Section 3.3.5 of [4] for a discussion of this topic).  A value
539 of 0 means disallow forwarding of such datagrams, and a value of true
540 means allow forwarding.
541 .RE
542 .PP
543 .B option \fBntp-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
544 ]\fB;\fR
545 .RS 0.25i
546 .PP
547 This option specifies a list of IP addresses indicating NTP (RFC 1035)
548 servers available to the client.  Servers should be listed in order
549 of preference.
550 .RE
551 .PP
552 .B option \fBpath-mtu-aging-timeout\fR \fIuint32\fR\fB;\fR
553 .RS 0.25i
554 .PP
555 This option specifies the timeout (in seconds) to use when aging Path
556 MTU values discovered by the mechanism defined in RFC 1191.
557 .RE
558 .PP
559 .B option \fBpath-mtu-plateau-table\fR \fIuint16\fR [\fB,\fR \fIuint16\fR...
560 ]\fB;\fR
561 .RS 0.25i
562 .PP
563 This option specifies a table of MTU sizes to use when performing
564 Path MTU Discovery as defined in RFC 1191.  The table is formatted as
565 a list of 16-bit unsigned integers, ordered from smallest to largest.
566 The minimum MTU value cannot be smaller than 68.
567 .RE
568 .PP
569 .B option \fBperform-mask-discovery\fR \fIflag\fR\fB;\fR
570 .RS 0.25i
571 .PP
572 This option specifies whether or not the client should perform subnet
573 mask discovery using ICMP.  A value of false indicates that the client
574 should not perform mask discovery.  A value of true means that the
575 client should perform mask discovery.
576 .RE
577 .PP
578 .nf
579 .B option \fBpolicy-filter\fR \fIip-address ip-address\fR
580                   [\fB,\fR \fIip-address ip-address\fR...]\fB;\fR
581 .RE
582 .fi
583 .RS 0.25i
584 .PP
585 This option specifies policy filters for non-local source routing.
586 The filters consist of a list of IP addresses and masks which specify
587 destination/mask pairs with which to filter incoming source routes.
588 .PP
589 Any source routed datagram whose next-hop address does not match one
590 of the filters should be discarded by the client.
591 .PP
592 See STD 3 (RFC1122) for further information.
593 .RE
594 .PP
595 .B option \fBpop-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
596 .RS 0.25i
597 .PP
598 The POP3 server option specifies a list of POP3 available to the
599 client.  Servers should be listed in order of preference.
600 .RE
601 .PP
602 .nf
603 .B option \fBresource-location-servers\fR \fIip-address\fR
604                               [\fB, \fR\fIip-address\fR...]\fB;\fR
605 .fi
606 .RS 0.25i
607 .PP
608 This option specifies a list of RFC 887 Resource Location
609 servers available to the client.  Servers should be listed in order
610 of preference.
611 .RE
612 .PP
613 .B option \fBroot-path\fR \fItext\fB;\fR\fR
614 .RS 0.25i
615 .PP
616 This option specifies the path-name that contains the client's root
617 disk.  The path is formatted as a character string consisting of
618 characters from the NVT ASCII character set.
619 .RE
620 .PP
621 .B option \fBrouter-discovery\fR \fIflag\fR\fB;\fR
622 .RS 0.25i
623 .PP
624 This option specifies whether or not the client should solicit
625 routers using the Router Discovery mechanism defined in RFC 1256.
626 A value of false indicates that the client should not perform
627 router discovery.  A value of true means that the client should perform
628 router discovery.
629 .RE
630 .PP
631 .B option \fBrouter-solicitation-address\fR \fIip-address\fR\fB;\fR
632 .RS 0.25i
633 .PP
634 This option specifies the address to which the client should transmit
635 router solicitation requests.
636 .RE
637 .PP
638 .B option routers \fIip-address\fR [\fB,\fR \fIip-address\fR...
639 ]\fB;\fR
640 .RS 0.25i
641 .PP
642 The routers option specifies a list of IP addresses for routers on the
643 client's subnet.  Routers should be listed in order of preference.
644 .RE
645 .PP
646 .B option slp-directory-agent \fIboolean ip-address
647 [\fB,\fR \fIip-address\fR... ]\fB;\fR
648 .RS 0.25i
649 .PP
650 This option specifies two things: the IP addresses of one or more
651 Service Location Protocol Directory Agents, and whether the use of
652 these addresses is mandatory.   If the initial boolean value is true,
653 the SLP agent should just use the IP addresses given.   If the value
654 is false, the SLP agent may additionally do active or passive
655 multicast discovery of SLP agents (see RFC2165 for details).
656 .PP
657 Please note that in this option and the slp-service-scope option, the
658 term "SLP Agent" is being used to refer to a Service Location Protocol
659 agent running on a machine that is being configured using the DHCP
660 protocol.
661 .PP
662 Also, please be aware that some companies may refer to SLP as NDS.
663 If you have an NDS directory agent whose address you need to
664 configure, the slp-directory-agent option should work.
665 .RE
666 .PP
667 .B option slp-service-scope \fIboolean text\fR\fB;\fR
668 .RS 0.25i
669 .PP
670 The Service Location Protocol Service Scope Option specifies two
671 things: a list of service scopes for SLP, and whether the use of this
672 list is mandatory.  If the initial boolean value is true, the SLP
673 agent should only use the list of scopes provided in this option;
674 otherwise, it may use its own static configuration in preference to
675 the list provided in this option.
676 .PP
677 The text string should be a comma-seperated list of scopes that the
678 SLP agent should use.   It may be omitted, in which case the SLP Agent
679 will use the aggregated list of scopes of all directory agents known
680 to the SLP agent.
681 .RE
682 .PP
683 .B option \fBsmtp-server\fR \fIip-address\fR [\fB,\fR
684 \fIip-address\fR... ]\fB;\fR
685 .RS 0.25i
686 .PP
687 The SMTP server option specifies a list of SMTP servers available to
688 the client.  Servers should be listed in order of preference.
689 .RE
690 .PP
691 .nf
692 .B option \fBstatic-routes\fR \fIip-address ip-address\fR
693                   [\fB,\fR \fIip-address ip-address\fR...]\fB;\fR
694 .fi
695 .RS 0.25i
696 .PP
697 This option specifies a list of static routes that the client should
698 install in its routing cache.  If multiple routes to the same
699 destination are specified, they are listed in descending order of
700 priority.
701 .PP
702 The routes consist of a list of IP address pairs.  The first address
703 is the destination address, and the second address is the router for
704 the destination.
705 .PP
706 The default route (0.0.0.0) is an illegal destination for a static
707 route.  To specify the default route, use the
708 .B routers
709 option.   Also, please note that this option is not intended for
710 classless IP routing - it does not include a subnet mask.   Since
711 classless IP routing is now the most widely deployed routing standard,
712 this option is virtually useless, and is not implemented by any of the
713 popular DHCP clients, for example the Microsoft DHCP client.
714 .RE
715 .PP
716 .nf
717 .B option \fBstreettalk-directory-assistance-server\fR \fIip-address\fR
718                                            [\fB,\fR \fIip-address\fR...]\fB;\fR
719 .fi
720 .RS 0.25i
721 .PP
722 The StreetTalk Directory Assistance (STDA) server option specifies a
723 list of STDA servers available to the client.  Servers should be
724 listed in order of preference.
725 .RE
726 .PP
727 .B option \fBstreettalk-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
728 .RS 0.25i
729 .PP
730 The StreetTalk server option specifies a list of StreetTalk servers
731 available to the client.  Servers should be listed in order of
732 preference.
733 .RE
734 .PP
735 .B option subnet-mask \fIip-address\fR\fB;\fR
736 .RS 0.25i
737 .PP
738 The subnet mask option specifies the client's subnet mask as per RFC
739 950.  If no subnet mask option is provided anywhere in scope, as a
740 last resort dhcpd will use the subnet mask from the subnet declaration
741 for the network on which an address is being assigned.  However,
742 .I any
743 subnet-mask option declaration that is in scope for the address being
744 assigned will override the subnet mask specified in the subnet
745 declaration.
746 .RE
747 .PP
748 .B option \fBswap-server\fR \fIip-address\fR\fB;\fR
749 .RS 0.25i
750 .PP
751 This specifies the IP address of the client's swap server.
752 .RE
753 .PP
754 .B option \fBtcp-keepalive-garbage\fR \fIflag\fR\fB;\fR
755 .RS 0.25i
756 .PP
757 This option specifies the whether or not the client should send TCP
758 keepalive messages with a octet of garbage for compatibility with
759 older implementations.  A value of false indicates that a garbage octet
760 should not be sent. A value of true indicates that a garbage octet
761 should be sent.
762 .RE
763 .PP
764 .B option \fBtcp-keepalive-interval\fR \fIuint32\fR\fB;\fR
765 .RS 0.25i
766 .PP
767 This option specifies the interval (in seconds) that the client TCP
768 should wait before sending a keepalive message on a TCP connection.
769 The time is specified as a 32-bit unsigned integer.  A value of zero
770 indicates that the client should not generate keepalive messages on
771 connections unless specifically requested by an application.
772 .RE
773 .PP
774 .B option \fBtftp-server-name\fR \fItext\fR\fB;\fR
775 .RS 0.25i
776 .PP
777 This option is used to identify a TFTP server and, if supported by the
778 client, should have the same effect as the \fBserver-name\fR
779 declaration.   BOOTP clients are unlikely to support this option.
780 Some DHCP clients will support it, and others actually require it.
781 .RE
782 .PP
783 .B option time-offset \fIint32\fR\fB;\fR
784 .RS 0.25i
785 .PP
786 The time-offset option specifies the offset of the client's subnet in
787 seconds from Coordinated Universal Time (UTC).
788 .RE
789 .PP
790 .B option time-servers \fIip-address\fR [, \fIip-address\fR...
791 ]\fB;\fR
792 .RS 0.25i
793 .PP
794 The time-server option specifies a list of RFC 868 time servers
795 available to the client.  Servers should be listed in order of
796 preference.
797 .RE
798 .PP
799 .B option \fBtrailer-encapsulation\fR \fIflag\fR\fB;\fR
800 .RS 0.25i
801 .PP
802 This option specifies whether or not the client should negotiate the
803 use of trailers (RFC 893 [14]) when using the ARP protocol.  A value
804 of 0 indicates that the client should not attempt to use trailers.  A
805 value of true means that the client should attempt to use trailers.
806 .RE
807 .PP
808 .B option \fBuap-servers\fR \fItext\fR\fB;\fR
809 .RS 0.25i
810 .PP
811 This option specifies a list of URLs, each pointing to a user
812 authentication service that is capable of processing authentication
813 requests encapsulated in the User Authentication Protocol (UAP).  UAP
814 servers can accept either HTTP 1.1 or SSLv3 connections.  If the list
815 includes a URL that does not contain a port component, the normal
816 default port is assumed (i.e., port 80 for http and port 443 for
817 https).  If the list includes a URL that does not contain a path
818 component, the path /uap is assumed.   If more than one URL is
819 specified in this list, the URLs are seperated by spaces.
820 .RE
821 .PP
822 .B option \fBuser-class\fR \fIstring\fR\fB;\fR
823 .RS 0.25i
824 .PP
825 This option is used by some DHCP clients as a way for users to
826 specify identifying information to the client.   This can be used in a
827 similar way to the vendor-class-identifier option, but the value of
828 the option is specified by the user, not the vendor.   Most recent
829 DHCP clients have a way in the user interface to specify the value for
830 this identifier, usually as a text string.
831 .PP
832 .B option \fBvendor-class-identifier\fR \fIstring\fR\fB;\fR
833 .RS 0.25i
834 .PP
835 This option is used by some DHCP clients to identify the vendor
836 type and possibly the configuration of a DHCP client.  The information
837 is a string of bytes whose contents are specific to the vendor and are
838 not specified in a standard.   To see what vendor class identifier a
839 clients are sending, you can write the following in your DHCP server
840 configuration file:
841 .nf
842 .PP
843 set vendor-class option vendor-class-identifier;
844 .fi
845 .PP
846 This will result in all entries in the DHCP server lease database file
847 for clients that sent vendor-class-identifier options having a set
848 statement that looks something like this:
849 .nf
850 .PP
851 set vendor-class "SUNW.Ultra-5_10";
852 .fi
853 .PP
854 The vendor-class-identifier option is normally used by the DHCP server
855 to determine the options that are returned in the
856 .B vendor-encapsulated-options
857 option.   Please see the VENDOR ENCAPSULATED OPTIONS section of the
858 dhcpd.conf manual page for further information.
859 .RE
860 .PP
861 .B option \fBvendor-encapsulated-options\fR \fIstring\fR\fB;\fR
862 .RS 0.25i
863 .PP
864 The \fBvendor-encapsulated-options\fR option can contain either a
865 single vendor-specific value or one or more vendor-specific
866 suboptions.   This option is not normally specified in the DHCP server
867 configuration file - instead, a vendor class is defined for each
868 vendor, vendor class suboptions are defined, values for those
869 suboptions are defined, and the DHCP server makes up a response on
870 that basis.
871 .PP
872 Some default behaviours for well-known DHCP client vendors (currently,
873 the Microsoft Windows 2000 DHCP client) are configured automatically,
874 but otherwise this must be configured manually - see the VENDOR
875 ENCAPSULATED OPTIONS section of the \fIdhcpd.conf\fI manual page for
876 details.
877 .RE
878 .PP
879 .B option \fBx-display-manager\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
880 ]\fB;\fR
881 .RS 0.25i
882 .PP
883 This option specifies a list of systems that are running the X Window
884 System Display Manager and are available to the client.  Addresses
885 should be listed in order of preference.
886 .RE
887 .PP
888 .B option \fBwww-server\fR \fIip-address\fR [\fB,\fR
889 \fIip-address\fR... ]\fB;\fR
890 .RS 0.25i
891 .PP
892 The WWW server option specifies a list of WWW available to the
893 client.  Servers should be listed in order of preference.
894 .RE
895 .SH RELAY AGENT INFORMATION OPTION
896 An IETF draft, draft-ietf-dhc-agent-options-11.txt, defines a series
897 of encapsulated options that a relay agent can add to a DHCP packet
898 when relaying it to the DHCP server.   The server can then make
899 address allocation decisions (or whatever other decisions it wants)
900 based on these options.   The server also returns these options in any
901 replies it sends through the relay agent, so that the relay agent can
902 use the information in these options for delivery or accounting
903 purposes.
904 .PP
905 The current draft defines two options.   To reference
906 these options in the dhcp server, specify the option space name,
907 "agent", followed by a period, followed by the option name.   It is
908 not normally useful to define values for these options in the server,
909 although it is permissible.   These options are not supported in the
910 client.
911 .PP
912 .B option \fBagent.circuit-id\fR \fIstring\fR\fB;\fR
913 .RS 0.25i
914 .PP
915 The circuit-id suboption encodes an agent-local identifier of the
916 circuit from which a DHCP client-to-server packet was received.  It is
917 intended for use by agents in relaying DHCP responses back to the
918 proper circuit.   The format of this option is currently defined to be
919 vendor-dependent, and will probably remain that way, although the
920 current draft allows for for the possibility of standardizing the
921 format in the future.
922 .RE
923 .PP
924 .B option \fBagent.remote-id\fR \fIstring\fR\fB;\fR
925 .RS 0.25i
926 .PP
927 The remote-id suboption encodes information about the remote host end
928 of a circuit.   Examples of what it might contain include caller ID
929 information, username information, remote ATM address, cable modem ID,
930 and similar things.   In principal, the meaning is not well-specified,
931 and it should generally be assumed to be an opaque object that is
932 administratively guaranteed to be unique to a particular remote end of
933 a circuit.
934 .RE
935 .SH THE CLIENT FQDN SUBOPTIONS
936 The Client FQDN option, currently defined in the Internet Draft
937 draft-ietf-dhc-fqdn-option-00.txt is not a standard yet, but is in
938 sufficiently wide use already that we have implemented it.   Due to
939 the complexity of the option format, we have implemented it as a
940 suboption space rather than a single option.   In general this
941 option should not be configured by the user - instead it should be
942 used as part of an automatic DNS update system.
943 .PP
944 .B option fqdn.no-client-update \fIflag\fB;
945 .RS 0.25i
946 .PP
947 When the client sends this, if it is true, it means the client will not
948 attempt to update its A record.   When sent by the server to the client,
949 it means that the client \fIshould not\fR update its own A record.
950 .RE
951 .PP
952 .B option fqdn.server-update \fIflag\fB;
953 .RS 0.25i
954 .PP
955 When the client sends this to the server, it is requesting that the server
956 update its A record.   When sent by the server, it means that the server
957 has updated (or is about to update) the client's A record.
958 .RE
959 .PP
960 .B option fqdn.encoded \fIflag\fB;
961 .RS 0.25i
962 .PP
963 If true, this indicates that the domain name included in the option is
964 encoded in DNS wire format, rather than as plain ASCII text.   The client
965 normally sets this to false if it doesn't support DNS wire format in the
966 FQDN option.   The server should always send back the same value that the
967 client sent.   When this value is set on the configuration side, it controls
968 the format in which the \fIfqdn.fqdn\fR suboption is encoded.
969 .RE
970 .PP
971 .B option fqdn.rcode1 \fIflag\fB;
972 .PP
973 .B option fqdn.rcode1 \fIflag\fB;
974 .RS 0.25i
975 .PP
976 These options specify the result of the updates of the A and PTR records,
977 respectively, and are only sent by the DHCP server to the DHCP client.
978 The values of these fields are those defined in the DNS protocol specification.
979 .RE
980 .PP
981 .B option fqdn.fqdn \fItext\fB;
982 .RS 0.25i
983 .PP
984 Specifies the domain name that the client wishes to use.   This can be a
985 fully-qualified domain name, or a single label.   If there is no trailing
986 '.' character in the name, it is not fully-qualified, and the server will
987 generally update that name in some locally-defined domain.
988 .RE
989 .PP
990 If you wish to use any of these suboptions, we strongly recommend that you
991 refer to the Client FQDN option draft (or standard, when it becomes a
992 standard) - the documentation here is sketchy and incomplete in comparison,
993 and is just intended for reference by people who already understand the
994 Client FQDN option specification.
995 .SH THE NETWARE/IP SUBOPTIONS
996 RFC2242 defines a set of encapsulated options for Novell NetWare/IP
997 clients.  To use these options in the dhcp server, specify the option
998 space name, "nwip", followed by a period, followed by the option name.
999 The following options can be specified:
1000 .PP
1001 .B option \fBnwip.nsq-broadcast\fR \fIflag\fR\fB;\fR
1002 .RS 0.25i
1003 .PP
1004 If true, the client should use the NetWare Nearest Server Query to
1005 locate a NetWare/IP server.   The behaviour of the Novell client if
1006 this suboption is false, or is not present, is not specified.
1007 .PP
1008 .RE
1009 .B option \fBnwip.preferred-dss\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fR\fB;\fR
1010 .RS 0.25i
1011 .PP
1012 This suboption specifies a list of up to five IP addresses, each of
1013 which should be the IP address of a NetWare Domain SAP/RIP server
1014 (DSS).
1015 .RE
1016 .PP
1017 .B option \fBnwip.nearest-nwip-server\fR \fI\fIip-address\fR
1018                              [\fB,\fR \fIip-address\fR...]\fR\fB;\fR
1019 .RS 0.25i
1020 .PP
1021 This suboption specifies a list of up to five IP addresses, each of
1022 which should be the IP address of a Nearest NetWare IP server.
1023 .RE
1024 .PP
1025 .B option \fBnwip.autoretries\fR \fIuint8\fR\fB;\fR
1026 .RS 0.25i
1027 .PP
1028 Specifies the number of times that a NetWare/IP client should attempt
1029 to communicate with a given DSS server at startup.
1030 .RE
1031 .PP
1032 .B option \fBnwip.autoretry-secs\fR \fIuint8\fR\fB;\fR
1033 .RS 0.25i
1034 .PP
1035 Specifies the number of seconds that a Netware/IP client should wait
1036 between retries when attempting to establish communications with a DSS
1037 server at startup.
1038 .RE
1039 .PP
1040 .B option \fBnwip.nwip-1-1\fR \fIuint8\fR\fB;\fR
1041 .RS 0.25i
1042 .PP
1043 If true, the NetWare/IP client should support NetWare/IP version 1.1
1044 compatibility.   This is only needed if the client will be contacting
1045 Netware/IP version 1.1 servers.
1046 .RE
1047 .PP
1048 .B option \fBnwip.primary-dss\fR \fIip-address\fR\fB;\fR
1049 .RS 0.25i
1050 .PP
1051 Specifies the IP address of the Primary Domain SAP/RIP Service server
1052 (DSS) for this NetWare/IP domain.   The NetWare/IP administration
1053 utility uses this value as Primary DSS server when configuring a
1054 secondary DSS server.
1055 .RE
1056 .SH DEFINING NEW OPTIONS
1057 The Internet Software Consortium DHCP client and server provide the
1058 capability to define new options.   Each DHCP option has a name, a
1059 code, and a structure.   The name is used by you to refer to the
1060 option.   The code is a number, used by the DHCP server and client to
1061 refer to an option.   The structure describes what the contents of an
1062 option looks like.
1063 .PP
1064 To define a new option, you need to choose a name for it that is not
1065 in use for some other option - for example, you can't use "host-name"
1066 because the DHCP protocol already defines a host-name option, which is
1067 documented earlier in this manual page.   If an option name doesn't
1068 appear in this manual page, you can use it, but it's probably a good
1069 idea to put some kind of unique string at the beginning so you can be
1070 sure that future options don't take your name.   For example, you
1071 might define an option, "local-host-name", feeling some confidence
1072 that no official DHCP option name will ever start with "local".
1073 .PP
1074 Once you have chosen a name, you must choose a code.  For site-local
1075 options, all codes between 128 and 254 are reserved for DHCP options,
1076 so you can pick any one of these.  In practice, some vendors have
1077 interpreted the protocol rather loosely and have used option code
1078 values greater than 128 themselves.   There's no real way to avoid
1079 this problem, but it's not likely to cause too much trouble in
1080 practice.
1081 .PP
1082 The structure of an option is simply the format in which the option
1083 data appears.   The ISC DHCP server currently supports a few simple
1084 types, like integers, booleans, strings and IP addresses, and it also
1085 supports the ability to define arrays of single types or arrays of
1086 fixed sequences of types.
1087 .PP
1088 New options are declared as follows:
1089 .PP
1090 .B option
1091 .I new-name
1092 .B code
1093 .I new-code
1094 .B =
1095 .I definition
1096 .B ;
1097 .PP
1098 The values of
1099 .I new-name
1100 and
1101 .I new-code
1102 should be the name you have chosen for the new option and the code you
1103 have chosen.   The
1104 .I definition
1105 should be the definition of the structure of the option.
1106 .PP
1107 The following simple option type definitions are supported:
1108 .PP
1109 .B BOOLEAN
1110 .PP
1111 .B option
1112 .I new-name
1113 .B code
1114 .I new-code
1115 .B =
1116 .B boolean
1117 .B ;
1118 .PP
1119 An option of type boolean is a flag with a value of either on or off
1120 (or true or false).   So an example use of the boolean type would be:
1121 .nf
1122
1123 option use-zephyr code 180 = boolean;
1124 option use-zephyr on;
1125
1126 .fi
1127 .B INTEGER
1128 .PP
1129 .B option
1130 .I new-name
1131 .B code
1132 .I new-code
1133 .B =
1134 .I sign
1135 .B integer
1136 .I width
1137 .B ;
1138 .PP
1139 The \fIsign\fR token should either be blank, \fIunsigned\fR
1140 or \fIsigned\fR.   The width can be either 8, 16 or 32, and refers to
1141 the number of bits in the integer.   So for example, the following two
1142 lines show a definition of the sql-connection-max option and its use:
1143 .nf
1144
1145 option sql-connection-max code 192 = unsigned integer 16;
1146 option sql-connection-max 1536;
1147
1148 .fi
1149 .B IP-ADDRESS
1150 .PP
1151 .B option
1152 .I new-name
1153 .B code
1154 .I new-code
1155 .B =
1156 .B ip-address
1157 .B ;
1158 .PP
1159 An option whose structure is an IP address can be expressed either as
1160 a domain name or as a dotted quad.  So the following is an example use
1161 of the ip-address type:
1162 .nf
1163
1164 option sql-server-address code 193 = ip-address;
1165 option sql-server-address sql.example.com;
1166
1167 .fi
1168 .PP
1169 .B TEXT
1170 .PP
1171 .B option
1172 .I new-name
1173 .B code
1174 .I new-code
1175 .B =
1176 .B text
1177 .B ;
1178 .PP
1179 An option whose type is text will encode an ASCII text string.   For
1180 example:
1181 .nf
1182
1183 option sql-default-connection-name code 194 = text;
1184 option sql-default-connection-name "PRODZA";
1185
1186 .fi
1187 .PP
1188 .B DATA STRING
1189 .PP
1190 .B option
1191 .I new-name
1192 .B code
1193 .I new-code
1194 .B =
1195 .B string
1196 .B ;
1197 .PP
1198 An option whose type is a data string is essentially just a collection
1199 of bytes, and can be specified either as quoted text, like the text
1200 type, or as a list of hexadecimal contents seperated by colons whose
1201 values must be between 0 and FF.   For example:
1202 .nf
1203
1204 option sql-identification-token code 195 = string;
1205 option sql-identification-token 17:23:19:a6:42:ea:99:7c:22;
1206
1207 .fi
1208 .PP
1209 .B ENCAPSULATION
1210 .PP
1211 .B option
1212 .I new-name
1213 .B code
1214 .I new-code
1215 .B =
1216 .B encapsulate
1217 .I identifier
1218 .B ;
1219 .PP
1220 An option whose type is \fBencapsulate\fR will encapsulate the
1221 contents of the option space specified in \fIidentifier\fR.   Examples
1222 of encapsulated options in the DHCP protocol as it currently exists
1223 include the vendor-encapsulated-options option, the netware-suboptions
1224 option and the relay-agent-information option.
1225 .nf
1226
1227 option space local;
1228 option local.demo code 1 = text;
1229 option local-encapsulation code 197 = encapsulate local;
1230 option local.demo "demo";
1231
1232 .fi
1233 .PP
1234 .B ARRAYS
1235 .PP
1236 Options can contain arrays of any of the above types except for the
1237 text and data string types, which aren't currently supported in
1238 arrays.   An example of an array definition is as follows:
1239 .nf
1240
1241 option kerberos-servers code 200 = array of ip-address;
1242 option kerberos-servers 10.20.10.1, 10.20.11.1;
1243
1244 .fi
1245 .B RECORDS
1246 .PP
1247 Options can also contain data structures consisting of a sequence of
1248 data types, which is sometimes called a record type.   For example:
1249 .nf
1250
1251 option contrived-001 code 201 = { boolean, integer 32, text };
1252 option contrived-001 on 1772 "contrivance";
1253
1254 .fi
1255 It's also possible to have options that are arrays of records, for
1256 example:
1257 .nf
1258
1259 option new-static-routes code 201 = array of {
1260         ip-address, ip-address, ip-address, integer 8 };
1261 option static-routes
1262         10.0.0.0 255.255.255.0 net-0-rtr.example.com 1,
1263         10.0.1.0 255.255.255.0 net-1-rtr.example.com 1,
1264         10.2.0.0 255.255.224.0 net-2-0-rtr.example.com 3;
1265
1266 .fi     
1267 .SH VENDOR ENCAPSULATED OPTIONS
1268 The DHCP protocol defines the \fB vendor-encapsulated-options\fR
1269 option, which allows vendors to define their own options that will be
1270 sent encapsulated in a standard DHCP option.   The format of the
1271 .B vendor-encapsulated-options
1272 option is either a series of bytes whose format is not specified, or
1273 a sequence of options, each of which consists of a single-byte
1274 vendor-specific option code, followed by a single-byte length,
1275 followed by as many bytes of data as are specified in the length (the
1276 length does not include itself or the option code).
1277 .PP
1278 The value of this option can be set in one of two ways.   The first
1279 way is to simply specify the data directly, using a text string or a
1280 colon-seperated list of hexadecimal values.   For example:
1281 .PP
1282 .nf
1283 option vendor-encapsulated-options
1284     2:4:AC:11:41:1:
1285     3:12:73:75:6e:64:68:63:70:2d:73:65:72:76:65:72:31:37:2d:31:
1286     4:12:2f:65:78:70:6f:72:74:2f:72:6f:6f:74:2f:69:38:36:70:63;
1287 .fi
1288 .PP
1289 The second way of setting the value of this option is to have the DHCP
1290 server generate a vendor-specific option buffer.   To do this, you
1291 must do four things: define an option space, define some options in
1292 that option space, provide values for them, and specify that that 
1293 option space should be used to generate the
1294 .B vendor-encapsulated-options
1295 option.
1296 .PP
1297 To define a new option space in which vendor options can be stored,
1298 use the \fRoption space\fP statement:
1299 .PP
1300 .B option
1301 .B space
1302 .I name
1303 .B ;
1304 .PP
1305 The name can then be used in option definitions, as described earlier in
1306 this document.   For example:
1307 .nf
1308
1309 option space SUNW;
1310 option SUNW.server-address code 2 = ip-address;
1311 option SUNW.server-name code 3 = text;
1312 option SUNW.root-path code 4 = text;
1313
1314 .fi
1315 Once you have defined an option space and the format of some options,
1316 you can set up scopes that define values for those options, and you
1317 can say when to use them.   For example, suppose you want to handle
1318 two different classes of clients.   Using the option space definition
1319 shown in the previous example, you can send different option values to
1320 different clients based on the vendor-class-identifier option that the
1321 clients send, as follows:
1322 .PP
1323 .nf
1324 class "vendor-classes" {
1325   match option vendor-class-identifier;
1326 }
1327
1328 option SUNW.server-address 172.17.65.1;
1329 option SUNW.server-name "sundhcp-server17-1";
1330
1331 subclass "vendor-classes" "SUNW.Ultra-5_10" {
1332   vendor-option-space SUNW;
1333   option SUNW.root-path "/export/root/sparc";
1334 }
1335
1336 subclass "vendor-classes" "SUNW.i86pc" {
1337   vendor-option-space SUNW;
1338   option SUNW.root-path "/export/root/i86pc";
1339 }
1340 .fi
1341 .PP
1342 As you can see in the preceding example, regular scoping rules apply,
1343 so you can define values that are global in the global scope, and only
1344 define values that are specific to a particular class in the local
1345 scope.   The \fBvendor-option-space\fR declaration tells the DHCP
1346 server to use options in the SUNW option space to construct the
1347 .B vendor-encapsulated-options
1348 option.
1349 .SH SEE ALSO
1350 dhcpd.conf(5), dhcpd.leases(5), dhclient.conf(5), dhcp-eval(5), dhcpd(8),
1351 dhclient(8), RFC2132, RFC2131, draft-ietf-dhc-agent-options-??.txt.
1352 .SH AUTHOR
1353 The Internet Software Consortium DHCP Distribution was written by Ted
1354 Lemon under a contract with Vixie Labs.  Funding for
1355 this project was provided through the Internet Software Consortium.
1356 Information about the Internet Software Consortium can be found at
1357 .B http://www.isc.org.