Annotation of embedaddon/dhcp/common/dhcp-options.5, revision 1.1.1.1
1.1.1.1 ! misho 1: .\" $Id: dhcp-options.5,v 1.43.8.4 2010/07/13 20:57:18 dhankins Exp $
1.1 misho 2: .\"
1.1.1.1 ! misho 3: .\" Copyright (c) 2012 by Internet Systems Consortium, Inc. ("ISC")
1.1 misho 4: .\" Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC")
5: .\" Copyright (c) 1996-2003 by Internet Software Consortium
6: .\"
7: .\" Permission to use, copy, modify, and distribute this software for any
8: .\" purpose with or without fee is hereby granted, provided that the above
9: .\" copyright notice and this permission notice appear in all copies.
10: .\"
11: .\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
12: .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13: .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
14: .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15: .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16: .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
17: .\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18: .\"
19: .\" Internet Systems Consortium, Inc.
20: .\" 950 Charter Street
21: .\" Redwood City, CA 94063
22: .\" <info@isc.org>
23: .\" https://www.isc.org/
24: .\"
25: .\" This software has been written for Internet Systems Consortium
26: .\" by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc.
27: .\"
28: .\" Support and other services are available for ISC products - see
29: .\" https://www.isc.org for more information or to learn more about ISC.
30: .\"
31: .TH dhcp-options 5
32: .SH NAME
33: dhcp-options - Dynamic Host Configuration Protocol options
34: .SH DESCRIPTION
35: The Dynamic Host Configuration protocol allows the client to receive
36: .B options
37: from the DHCP server describing the network configuration and various
1.1.1.1 ! misho 38: services that are available on the network. When configuring
1.1 misho 39: .B dhcpd(8)
40: or
41: .B dhclient(8) ,
1.1.1.1 ! misho 42: options must often be declared. The syntax for declaring options,
1.1 misho 43: and the names and formats of the options that can be declared, are
44: documented here.
45: .SH REFERENCE: OPTION STATEMENTS
46: .PP
47: DHCP \fIoption\fR statements always start with the \fIoption\fR
48: keyword, followed by an option name, followed by option data. The
1.1.1.1 ! misho 49: option names and data formats are described below. It is not
1.1 misho 50: necessary to exhaustively specify all DHCP options - only those
51: options which are needed by clients must be specified.
52: .PP
53: Option data comes in a variety of formats, as defined below:
54: .PP
55: The
56: .B ip-address
57: data type can be entered either as an explicit IP
58: address (e.g., 239.254.197.10) or as a domain name (e.g.,
59: haagen.isc.org). When entering a domain name, be sure that that
60: domain name resolves to a single IP address.
61: .PP
62: The
63: .B ip6-address
64: data specifies an IPv6 address, like ::1 or 3ffe:bbbb:aaaa:aaaa::1.
65: .PP
66: The
67: .B int32
1.1.1.1 ! misho 68: data type specifies a signed 32-bit integer. The
1.1 misho 69: .B uint32
1.1.1.1 ! misho 70: data type specifies an unsigned 32-bit integer. The
1.1 misho 71: .B int16
72: and
73: .B uint16
1.1.1.1 ! misho 74: data types specify signed and unsigned 16-bit integers. The
1.1 misho 75: .B int8
76: and
77: .B uint8
78: data types specify signed and unsigned 8-bit integers.
79: Unsigned 8-bit integers are also sometimes referred to as octets.
80: .PP
81: The
82: .B text
83: data type specifies an NVT ASCII string, which must be
84: enclosed in double quotes - for example, to specify a root-path
85: option, the syntax would be
86: .nf
87: .sp 1
88: option root-path "10.0.1.4:/var/tmp/rootfs";
89: .fi
90: .PP
91: The
92: .B domain-name
93: data type specifies a domain name, which must not be
1.1.1.1 ! misho 94: enclosed in double quotes. This data type is not used for any
! 95: existing DHCP options. The domain name is stored just as if it were
1.1 misho 96: a text option.
97: .PP
98: The
99: .B domain-list
100: data type specifies a list of domain names, enclosed in double quotes and
101: separated by commas ("example.com", "foo.example.com").
102: .PP
103: The
104: .B flag
1.1.1.1 ! misho 105: data type specifies a boolean value. Booleans can be either true or
1.1 misho 106: false (or on or off, if that makes more sense to you).
107: .PP
108: The
109: .B string
110: data type specifies either an NVT ASCII string
111: enclosed in double quotes, or a series of octets specified in
1.1.1.1 ! misho 112: hexadecimal, separated by colons. For example:
1.1 misho 113: .nf
114: .sp 1
115: option dhcp-client-identifier "CLIENT-FOO";
116: or
117: option dhcp-client-identifier 43:4c:49:45:54:2d:46:4f:4f;
118: .fi
119: .SH SETTING OPTION VALUES USING EXPRESSIONS
120: Sometimes it's helpful to be able to set the value of a DHCP option
1.1.1.1 ! misho 121: based on some value that the client has sent. To do this, you can
! 122: use expression evaluation. The
1.1 misho 123: .B dhcp-eval(5)
1.1.1.1 ! misho 124: manual page describes how to write expressions. To assign the result
1.1 misho 125: of an evaluation to an option, define the option as follows:
126: .nf
127: .sp 1
128: \fBoption \fImy-option \fB= \fIexpression \fB;\fR
129: .fi
130: .PP
131: For example:
132: .nf
133: .sp 1
134: option hostname = binary-to-ascii (16, 8, "-",
135: substring (hardware, 1, 6));
136: .fi
137: .SH STANDARD DHCPV4 OPTIONS
138: The documentation for the various options mentioned below is taken
139: from the latest IETF draft document on DHCP options. Options not
140: listed below may not yet be implemented, but it is possible to use
141: such options by defining them in the configuration file. Please see
142: the DEFINING NEW OPTIONS heading later in this document for more
143: information.
144: .PP
145: Some of the options documented here are automatically generated by
146: the DHCP server or by clients, and cannot be configured by the user.
147: The value of such an option can be used in the configuration file of
148: the receiving DHCP protocol agent (server or client), for example in
149: conditional expressions. However, the value of the option cannot be
150: used in the configuration file of the sending agent, because the value
151: is determined only \fIafter\fR the configuration file has been
152: processed. In the following documentation, such options will be shown
153: as "not user configurable"
154: .PP
155: The standard options are:
156: .PP
157: .B option \fBall-subnets-local\fR \fIflag\fR\fB;\fR
158: .RS 0.25i
159: .PP
160: This option specifies whether or not the client may assume that all
161: subnets of the IP network to which the client is connected use the
162: same MTU as the subnet of that network to which the client is
163: directly connected. A value of true indicates that all subnets share
164: the same MTU. A value of false means that the client should assume that
165: some subnets of the directly connected network may have smaller MTUs.
166: .RE
167: .PP
168: .B option \fBarp-cache-timeout\fR \fIuint32\fR\fB;\fR
169: .RS 0.25i
170: .PP
171: This option specifies the timeout in seconds for ARP cache entries.
172: .RE
173: .PP
174: .B option \fBbcms-controller-address\fR \fIip-address\fR [\fB,\fR
175: \fIip-address\fR... ]\fB;\fR
176: .RS 0.25i
177: .PP
178: This option configures a list of IPv4 addresses for use as Broadcast and
179: Multicast Controller Servers ("BCMS").
180: .RE
181: .PP
182: .B option \fBbcms-controller-names\fR \fIdomain-list\fR\fB;\fR
183: .RS 0.25i
184: .PP
185: This option contains the domain names of local Broadcast and
186: Multicast Controller Servers ("BCMS") controllers which the client
187: may use.
188: .RE
189: .PP
190: .B option \fBbootfile-name\fR \fItext\fR\fB;\fR
191: .RS 0.25i
192: .PP
193: This option is used to identify a bootstrap file. If supported by the
194: client, it should have the same effect as the \fBfilename\fR
195: declaration. BOOTP clients are unlikely to support this option. Some
196: DHCP clients will support it, and others actually require it.
197: .RE
198: .PP
199: .B option \fBboot-size\fR \fIuint16\fR\fB;\fR
200: .RS 0.25i
201: .PP
202: This option specifies the length in 512-octet blocks of the default
203: boot image for the client.
204: .RE
205: .PP
206: .B option \fBbroadcast-address\fR \fIip-address\fR\fB;\fR
207: .RS 0.25i
208: .PP
209: This option specifies the broadcast address in use on the client's
210: subnet. Legal values for broadcast addresses are specified in
211: section 3.2.1.3 of STD 3 (RFC1122).
212: .RE
213: .PP
214: .B option \fBcookie-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
215: ]\fB;\fR
216: .RS 0.25i
217: .PP
218: The cookie server option specifies a list of RFC 865 cookie
219: servers available to the client. Servers should be listed in order
220: of preference.
221: .RE
222: .PP
223: .B option \fBdefault-ip-ttl\fR \fIuint8;\fR
224: .RS 0.25i
225: .PP
226: This option specifies the default time-to-live that the client should
227: use on outgoing datagrams.
228: .RE
229: .PP
230: .B option \fBdefault-tcp-ttl\fR \fIuint8\fR\fB;\fR
231: .RS 0.25i
232: .PP
233: This option specifies the default TTL that the client should use when
234: sending TCP segments. The minimum value is 1.
235: .RE
236: .PP
237: .B option \fBdefault-url\fR \fIstring\fR\fB;\fR
238: .RS 0.25i
239: .PP
240: The format and meaning of this option is not described in any standards
241: document, but is claimed to be in use by Apple Computer. It is not known
242: what clients may reasonably do if supplied with this option. Use at your
243: own risk.
244: .RE
245: .PP
246: .B option \fBdhcp-client-identifier\fR \fIstring\fR\fB;\fR
247: .RS 0.25i
248: .PP
249: This option can be used to specify a DHCP client identifier in a
250: host declaration, so that dhcpd can find the host record by matching
251: against the client identifier.
252: .PP
253: Please be aware that some DHCP clients, when configured with client
254: identifiers that are ASCII text, will prepend a zero to the ASCII
1.1.1.1 ! misho 255: text. So you may need to write:
1.1 misho 256: .nf
257:
258: option dhcp-client-identifier "\\0foo";
259:
260: rather than:
261:
262: option dhcp-client-identifier "foo";
263: .fi
264: .RE
265: .PP
266: .B option \fBdhcp-lease-time\fR \fIuint32\fR\fB;\fR
267: .RS 0.25i
268: .PP
269: This option is used in a client request (DHCPDISCOVER or DHCPREQUEST)
270: to allow the client to request a lease time for the IP address. In a
271: server reply (DHCPOFFER), a DHCP server uses this option to specify
1.1.1.1 ! misho 272: the lease time it is willing to offer.
1.1 misho 273: .PP
274: This option is not directly user configurable in the server; refer to the
275: \fImax-lease-time\fR and \fIdefault-lease-time\fR server options in
276: .B dhcpd.conf(5).
277: .RE
278: .PP
279: .B option \fBdhcp-max-message-size\fR \fIuint16\fR\fB;\fR
280: .RS 0.25i
281: .PP
282: This option, when sent by the client, specifies the maximum size of
1.1.1.1 ! misho 283: any response that the server sends to the client. When specified on
1.1 misho 284: the server, if the client did not send a dhcp-max-message-size option,
1.1.1.1 ! misho 285: the size specified on the server is used. This works for BOOTP as
1.1 misho 286: well as DHCP responses.
287: .RE
288: .PP
289: .B option \fBdhcp-message\fR \fItext\fR\fB;\fR
290: .RS 0.25i
291: .PP
292: This option is used by a DHCP server to provide an error message to a
293: DHCP client in a DHCPNAK message in the event of a failure. A client
294: may use this option in a DHCPDECLINE message to indicate why the
295: client declined the offered parameters.
296: .PP
297: This option is not user configurable.
298: .RE
299: .PP
300: .B option \fBdhcp-message-type\fR \fIuint8\fR\fB;\fR
301: .RS 0.25i
302: .PP
303: This option, sent by both client and server, specifies the type of DHCP
304: message contained in the DHCP packet. Possible values (taken directly from
305: RFC2132) are:
306: .PP
307: .nf
308: 1 DHCPDISCOVER
309: 2 DHCPOFFER
310: 3 DHCPREQUEST
311: 4 DHCPDECLINE
312: 5 DHCPACK
313: 6 DHCPNAK
314: 7 DHCPRELEASE
1.1.1.1 ! misho 315: 8 DHCPINFORM
1.1 misho 316: .fi
317: .PP
318: This option is not user configurable.
319: .PP
320: .RE
321: .B option \fBdhcp-option-overload\fR \fIuint8\fR\fB;\fR
322: .RS 0.25i
323: .PP
324: This option is used to indicate that the DHCP \'sname\' or \'file\'
325: fields are being overloaded by using them to carry DHCP options. A
326: DHCP server inserts this option if the returned parameters will
327: exceed the usual space allotted for options.
328: .PP
329: If this option is present, the client interprets the specified
330: additional fields after it concludes interpretation of the standard
331: option fields.
332: .PP
333: Legal values for this option are:
334: .PP
335: .nf
336: 1 the \'file\' field is used to hold options
337: 2 the \'sname\' field is used to hold options
1.1.1.1 ! misho 338: 3 both fields are used to hold options
1.1 misho 339: .fi
340: .PP
341: This option is not user configurable.
342: .PP
343: .RE
344: .PP
345: .B option \fBdhcp-parameter-request-list\fR \fIuint16\fR [\fB,\fR
346: \fIuint16\fR... ]\fB;\fR
347: .RS 0.25i
348: .PP
349: This option, when sent by the client, specifies which options the
1.1.1.1 ! misho 350: client wishes the server to return. Normally, in the ISC DHCP
! 351: client, this is done using the \fIrequest\fR statement. If this
1.1 misho 352: option is not specified by the client, the DHCP server will normally
353: return every option that is valid in scope and that fits into the
1.1.1.1 ! misho 354: reply. When this option is specified on the server, the server
! 355: returns the specified options. This can be used to force a client to
1.1 misho 356: take options that it hasn't requested, and it can also be used to
357: tailor the response of the DHCP server for clients that may need a
358: more limited set of options than those the server would normally
359: return.
360: .RE
361: .PP
362: .B option \fBdhcp-rebinding-time\fR \fIuint32\fR\fB;\fR
363: .RS 0.25i
364: .PP
365: This option specifies the number of seconds from the time a client gets
366: an address until the client transitions to the REBINDING state.
367: .PP
368: This option is not user configurable.
369: .PP
370: .RE
371: .PP
372: .B option \fBdhcp-renewal-time\fR \fIuint32\fR\fB;\fR
373: .RS 0.25i
374: .PP
375: This option specifies the number of seconds from the time a client gets
376: an address until the client transitions to the RENEWING state.
377: .PP
378: This option is not user configurable.
379: .PP
380: .RE
381: .PP
382: .B option \fBdhcp-requested-address\fR \fIip-address\fR\fB;\fR
383: .RS 0.25i
384: .PP
385: This option is used by the client in a DHCPDISCOVER to
1.1.1.1 ! misho 386: request that a particular IP address be assigned.
1.1 misho 387: .PP
388: This option is not user configurable.
389: .PP
390: .RE
391: .PP
392: .B option \fBdhcp-server-identifier\fR \fIip-address\fR\fB;\fR
393: .RS 0.25i
394: .PP
395: This option is used in DHCPOFFER and DHCPREQUEST messages, and may
396: optionally be included in the DHCPACK and DHCPNAK messages. DHCP
397: servers include this option in the DHCPOFFER in order to allow the
398: client to distinguish between lease offers. DHCP clients use the
399: contents of the \'server identifier\' field as the destination address
400: for any DHCP messages unicast to the DHCP server. DHCP clients also
401: indicate which of several lease offers is being accepted by including
402: this option in a DHCPREQUEST message.
403: .PP
404: The value of this option is the IP address of the server.
405: .PP
1.1.1.1 ! misho 406: This option is not directly user configurable. See the
1.1 misho 407: \fIserver-identifier\fR server option in
408: .B \fIdhcpd.conf(5).
409: .PP
410: .RE
411: .PP
412: .B option \fBdomain-name\fR \fItext\fR\fB;\fR
413: .RS 0.25i
414: .PP
415: This option specifies the domain name that client should use when
416: resolving hostnames via the Domain Name System.
417: .RE
418: .PP
419: .B option \fBdomain-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
420: ]\fB;\fR
421: .RS 0.25i
422: .PP
423: The domain-name-servers option specifies a list of Domain Name System
424: (STD 13, RFC 1035) name servers available to the client. Servers
425: should be listed in order of preference.
426: .RE
427: .PP
428: .B option \fBdomain-search\fR \fIdomain-list\fR\fB;\fR
429: .RS 0.25i
430: .PP
431: The domain-search option specifies a \'search list\' of Domain Names to be
432: used by the client to locate not-fully-qualified domain names. The difference
433: between this option and historic use of the domain-name option for the same
434: ends is that this option is encoded in RFC1035 compressed labels on the wire.
435: For example:
436: .nf
437: .sp 1
438: option domain-search "example.com", "sales.example.com",
439: "eng.example.com";
440: .fi
441: .RE
442: .PP
443: .B option \fBextensions-path\fR \fItext\fR\fB;\fR
444: .RS 0.25i
445: .PP
446: This option specifies the name of a file containing additional options
447: to be interpreted according to the DHCP option format as specified in
448: RFC2132.
449: .RE
450: .PP
451: .B option \fBfinger-server\fR \fIip-address\fR [\fB,\fR
452: \fIip-address\fR... ]\fB;\fR
453: .RS 0.25i
454: .PP
455: The Finger server option specifies a list of Finger servers available
456: to the client. Servers should be listed in order of preference.
457: .RE
458: .PP
459: .B option \fBfont-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
460: ]\fB;\fR
461: .RS 0.25i
462: .PP
463: This option specifies a list of X Window System Font servers available
464: to the client. Servers should be listed in order of preference.
465: .RE
466: .PP
467: .B option \fBhost-name\fR \fIstring\fR\fB;\fR
468: .RS 0.25i
469: .PP
470: This option specifies the name of the client. The name may or may
471: not be qualified with the local domain name (it is preferable to use
472: the domain-name option to specify the domain name). See RFC 1035 for
473: character set restrictions. This option is only honored by
474: .B dhclient-script(8)
475: if the hostname for the client machine is not set.
476: .RE
477: .PP
478: .B option \fBieee802-3-encapsulation\fR \fIflag\fR\fB;\fR
479: .RS 0.25i
480: .PP
481: This option specifies whether or not the client should use Ethernet
482: Version 2 (RFC 894) or IEEE 802.3 (RFC 1042) encapsulation if the
483: interface is an Ethernet. A value of false indicates that the client
484: should use RFC 894 encapsulation. A value of true means that the client
485: should use RFC 1042 encapsulation.
486: .RE
487: .PP
488: .B option \fBien116-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
489: ];
490: .RS 0.25i
491: .PP
492: The ien116-name-servers option specifies a list of IEN 116 name servers
493: available to the client. Servers should be listed in order of
494: preference.
495: .RE
496: .PP
497: .B option \fBimpress-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
498: ]\fB;\fR
499: .RS 0.25i
500: .PP
501: The impress-server option specifies a list of Imagen Impress servers
502: available to the client. Servers should be listed in order of
503: preference.
504: .RE
505: .PP
506: .B option \fBinterface-mtu\fR \fIuint16\fR\fB;\fR
507: .RS 0.25i
508: .PP
1.1.1.1 ! misho 509: This option specifies the MTU to use on this interface. The minimum
1.1 misho 510: legal value for the MTU is 68.
511: .RE
512: .PP
513: .B option \fBip-forwarding\fR \fIflag\fR\fB;\fR
514: .RS 0.25i
515: .PP
516: This option specifies whether the client should configure its IP
517: layer for packet forwarding. A value of false means disable IP
518: forwarding, and a value of true means enable IP forwarding.
519: .RE
520: .PP
521: .B option \fBirc-server\fR \fIip-address\fR [\fB,\fR
522: \fIip-address\fR... ]\fB;\fR
523: .RS 0.25i
524: .PP
525: The IRC server option specifies a list of IRC servers available
526: to the client. Servers should be listed in order of preference.
527: .RE
528: .PP
529: .B option \fBlog-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
530: ]\fB;\fR
531: .RS 0.25i
532: .PP
533: The log-server option specifies a list of MIT-LCS UDP log servers
534: available to the client. Servers should be listed in order of
535: preference.
536: .RE
537: .PP
538: .B option \fBlpr-servers\fR \fIip-address \fR [\fB,\fR \fIip-address\fR...
539: ]\fB;\fR
540: .RS 0.25i
541: .PP
542: The LPR server option specifies a list of RFC 1179 line printer
543: servers available to the client. Servers should be listed in order
544: of preference.
545: .RE
546: .PP
547: .B option \fBmask-supplier\fR \fIflag\fR\fB;\fR
548: .RS 0.25i
549: .PP
550: This option specifies whether or not the client should respond to
551: subnet mask requests using ICMP. A value of false indicates that the
552: client should not respond. A value of true means that the client should
553: respond.
554: .RE
555: .PP
556: .B option \fBmax-dgram-reassembly\fR \fIuint16\fR\fB;\fR
557: .RS 0.25i
558: .PP
559: This option specifies the maximum size datagram that the client
560: should be prepared to reassemble. The minimum legal value is
561: 576.
562: .RE
563: .PP
564: .B option \fBmerit-dump\fR \fItext\fR\fB;\fR
565: .RS 0.25i
566: .PP
567: This option specifies the path-name of a file to which the client's
568: core image should be dumped in the event the client crashes. The
569: path is formatted as a character string consisting of characters from
570: the NVT ASCII character set.
571: .RE
572: .PP
573: .B option \fBmobile-ip-home-agent\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
574: .RS 0.25i
575: .PP
576: This option specifies a list of IP addresses indicating mobile IP
577: home agents available to the client. Agents should be listed in
578: order of preference, although normally there will be only one such
579: agent.
580: .RE
581: .PP
582: .B option \fBnds-context\fR \fIstring\fR\fB;\fR
583: .RS 0.25i
584: .PP
585: The nds-context option specifies the name of the initial Netware
586: Directory Service for an NDS client.
587: .RE
588: .PP
589: .B option \fBnds-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
590: .RS 0.25i
591: .PP
592: The nds-servers option specifies a list of IP addresses of NDS servers.
593: .RE
594: .PP
595: .B option \fBnds-tree-name\fR \fIstring\fR\fB;\fR
596: .RS 0.25i
597: .PP
598: The nds-tree-name option specifies NDS tree name that the NDS client
599: should use.
600: .RE
601: .PP
602: .B option \fBnetbios-dd-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
603: ]\fB;\fR
604: .RS 0.25i
605: .PP
606: The NetBIOS datagram distribution server (NBDD) option specifies a
607: list of RFC 1001/1002 NBDD servers listed in order of preference.
608: .RE
609: .PP
610: .B option \fBnetbios-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...]\fB;\fR
611: .RS 0.25i
612: .PP
613: The NetBIOS name server (NBNS) option specifies a list of RFC
1.1.1.1 ! misho 614: 1001/1002 NBNS name servers listed in order of preference. NetBIOS
! 615: Name Service is currently more commonly referred to as WINS. WINS
1.1 misho 616: servers can be specified using the netbios-name-servers option.
617: .RE
618: .PP
619: .B option \fBnetbios-node-type\fR \fIuint8\fR\fB;\fR
620: .RS 0.25i
621: .PP
622: The NetBIOS node type option allows NetBIOS over TCP/IP clients which
623: are configurable to be configured as described in RFC 1001/1002. The
624: value is specified as a single octet which identifies the client type.
625: .PP
626: Possible node types are:
627: .PP
628: .TP 5
629: .I 1
630: B-node: Broadcast - no WINS
631: .TP
632: .I 2
633: P-node: Peer - WINS only
634: .TP
635: .I 4
636: M-node: Mixed - broadcast, then WINS
637: .TP
638: .I 8
639: H-node: Hybrid - WINS, then broadcast
640: .RE
641: .PP
642: .B option \fBnetbios-scope\fR \fIstring\fR\fB;\fR
643: .RS 0.25i
644: .PP
645: The NetBIOS scope option specifies the NetBIOS over TCP/IP scope
646: parameter for the client as specified in RFC 1001/1002. See RFC1001,
647: RFC1002, and RFC1035 for character-set restrictions.
648: .RE
649: .PP
650: .B option \fBnetinfo-server-address\fR \fIip-address\fR [\fB,\fR
651: \fIip-address\fR... ]\fB;\fR
652: .RS 0.25i
653: .PP
654: The \fBnetinfo-server-address\fR option has not been described in any
655: RFC, but has been allocated (and is claimed to be in use) by Apple
656: Computers. It's hard to say if the above is the correct format, or
657: what clients might be expected to do if values were configured. Use
658: at your own risk.
659: .RE
660: .PP
661: .B option \fBnetinfo-server-tag\fR \fItext\fR\fB;\fR
662: .RS 0.25i
663: .PP
664: The \fBnetinfo-server-tag\fR option has not been described in any
665: RFC, but has been allocated (and is claimed to be in use) by Apple
666: Computers. It's hard to say if the above is the correct format,
667: or what clients might be expected to do if values were configured. Use
668: at your own risk.
669: .RE
670: .PP
671: .B option \fBnis-domain\fR \fItext\fR\fB;\fR
672: .RS 0.25i
673: .PP
674: This option specifies the name of the client's NIS (Sun Network
675: Information Services) domain. The domain is formatted as a character
676: string consisting of characters from the NVT ASCII character set.
677: .RE
678: .PP
679: .B option \fBnis-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
680: ]\fB;\fR
681: .RS 0.25i
682: .PP
683: This option specifies a list of IP addresses indicating NIS servers
684: available to the client. Servers should be listed in order of
685: preference.
686: .RE
687: .PP
688: .B option \fBnisplus-domain\fR \fItext\fR\fB;\fR
689: .RS 0.25i
690: .PP
691: This option specifies the name of the client's NIS+ domain. The
692: domain is formatted as a character string consisting of characters
693: from the NVT ASCII character set.
694: .RE
695: .PP
696: .B option \fBnisplus-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
697: ]\fB;\fR
698: .RS 0.25i
699: .PP
700: This option specifies a list of IP addresses indicating NIS+ servers
701: available to the client. Servers should be listed in order of
702: preference.
703: .RE
704: .PP
705: .B option \fBnntp-server\fR \fIip-address\fR [\fB,\fR
706: \fIip-address\fR... ]\fB;\fR
707: .RS 0.25i
708: .PP
709: The NNTP server option specifies a list of NNTP servesr available
710: to the client. Servers should be listed in order of preference.
711: .RE
712: .PP
713: .B option \fBnon-local-source-routing\fR \fIflag\fR\fB;\fR
714: .RS 0.25i
715: .PP
716: This option specifies whether the client should configure its IP
717: layer to allow forwarding of datagrams with non-local source routes
718: (see Section 3.3.5 of [4] for a discussion of this topic). A value
719: of false means disallow forwarding of such datagrams, and a value of true
720: means allow forwarding.
721: .RE
722: .PP
723: .B option \fBntp-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
724: ]\fB;\fR
725: .RS 0.25i
726: .PP
727: This option specifies a list of IP addresses indicating NTP (RFC 1035)
728: servers available to the client. Servers should be listed in order
729: of preference.
730: .RE
731: .PP
732: .B option \fBnwip-domain\fR \fIstring\fR\fB;\fR
733: .RS 0.25i
734: .PP
735: The name of the NetWare/IP domain that a NetWare/IP client should
736: use.
737: .RE
738: .PP
739: .B option \fBnwip-suboptions\fR \fIstring\fR\fB;\fR
740: .RS 0.25i
741: .PP
742: A sequence of suboptions for NetWare/IP clients - see RFC2242 for
1.1.1.1 ! misho 743: details. Normally this option is set by specifying specific
1.1 misho 744: NetWare/IP suboptions - see the NETWARE/IP SUBOPTIONS section for more
745: information.
746: .RE
747: .PP
748: .B option \fBpath-mtu-aging-timeout\fR \fIuint32\fR\fB;\fR
749: .RS 0.25i
750: .PP
751: This option specifies the timeout (in seconds) to use when aging Path
752: MTU values discovered by the mechanism defined in RFC 1191.
753: .RE
754: .PP
755: .B option \fBpath-mtu-plateau-table\fR \fIuint16\fR [\fB,\fR \fIuint16\fR...
756: ]\fB;\fR
757: .RS 0.25i
758: .PP
759: This option specifies a table of MTU sizes to use when performing
760: Path MTU Discovery as defined in RFC 1191. The table is formatted as
761: a list of 16-bit unsigned integers, ordered from smallest to largest.
762: The minimum MTU value cannot be smaller than 68.
763: .RE
764: .PP
765: .B option \fBperform-mask-discovery\fR \fIflag\fR\fB;\fR
766: .RS 0.25i
767: .PP
768: This option specifies whether or not the client should perform subnet
769: mask discovery using ICMP. A value of false indicates that the client
770: should not perform mask discovery. A value of true means that the
771: client should perform mask discovery.
772: .RE
773: .PP
774: .nf
775: .B option \fBpolicy-filter\fR \fIip-address ip-address\fR
776: [\fB,\fR \fIip-address ip-address\fR...]\fB;\fR
777: .RE
778: .fi
779: .RS 0.25i
780: .PP
781: This option specifies policy filters for non-local source routing.
782: The filters consist of a list of IP addresses and masks which specify
783: destination/mask pairs with which to filter incoming source routes.
784: .PP
785: Any source routed datagram whose next-hop address does not match one
786: of the filters should be discarded by the client.
787: .PP
788: See STD 3 (RFC1122) for further information.
789: .RE
790: .PP
791: .B option \fBpop-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
792: .RS 0.25i
793: .PP
794: The POP3 server option specifies a list of POP3 servers available
795: to the client. Servers should be listed in order of preference.
796: .RE
797: .PP
798: .B option \fBresource-location-servers\fR \fIip-address\fR
799: [\fB, \fR\fIip-address\fR...]\fB;\fR
800: .fi
801: .RS 0.25i
802: .PP
803: This option specifies a list of RFC 887 Resource Location
804: servers available to the client. Servers should be listed in order
805: of preference.
806: .RE
807: .PP
808: .B option \fBroot-path\fR \fItext\fB;\fR\fR
809: .RS 0.25i
810: .PP
811: This option specifies the path-name that contains the client's root
812: disk. The path is formatted as a character string consisting of
813: characters from the NVT ASCII character set.
814: .RE
815: .PP
816: .B option \fBrouter-discovery\fR \fIflag\fR\fB;\fR
817: .RS 0.25i
818: .PP
819: This option specifies whether or not the client should solicit
820: routers using the Router Discovery mechanism defined in RFC 1256.
821: A value of false indicates that the client should not perform
822: router discovery. A value of true means that the client should perform
823: router discovery.
824: .RE
825: .PP
826: .B option \fBrouter-solicitation-address\fR \fIip-address\fR\fB;\fR
827: .RS 0.25i
828: .PP
829: This option specifies the address to which the client should transmit
830: router solicitation requests.
831: .RE
832: .PP
833: .B option routers \fIip-address\fR [\fB,\fR \fIip-address\fR...
834: ]\fB;\fR
835: .RS 0.25i
836: .PP
837: The routers option specifies a list of IP addresses for routers on the
838: client's subnet. Routers should be listed in order of preference.
839: .RE
840: .PP
841: .B option slp-directory-agent \fIboolean ip-address
842: [\fB,\fR \fIip-address\fR... ]\fB;\fR
843: .RS 0.25i
844: .PP
845: This option specifies two things: the IP addresses of one or more
846: Service Location Protocol Directory Agents, and whether the use of
1.1.1.1 ! misho 847: these addresses is mandatory. If the initial boolean value is true,
! 848: the SLP agent should just use the IP addresses given. If the value
1.1 misho 849: is false, the SLP agent may additionally do active or passive
850: multicast discovery of SLP agents (see RFC2165 for details).
851: .PP
852: Please note that in this option and the slp-service-scope option, the
853: term "SLP Agent" is being used to refer to a Service Location Protocol
854: agent running on a machine that is being configured using the DHCP
855: protocol.
856: .PP
857: Also, please be aware that some companies may refer to SLP as NDS.
858: If you have an NDS directory agent whose address you need to
859: configure, the slp-directory-agent option should work.
860: .RE
861: .PP
862: .B option slp-service-scope \fIboolean text\fR\fB;\fR
863: .RS 0.25i
864: .PP
865: The Service Location Protocol Service Scope Option specifies two
866: things: a list of service scopes for SLP, and whether the use of this
867: list is mandatory. If the initial boolean value is true, the SLP
868: agent should only use the list of scopes provided in this option;
869: otherwise, it may use its own static configuration in preference to
870: the list provided in this option.
871: .PP
872: The text string should be a comma-separated list of scopes that the
1.1.1.1 ! misho 873: SLP agent should use. It may be omitted, in which case the SLP Agent
1.1 misho 874: will use the aggregated list of scopes of all directory agents known
875: to the SLP agent.
876: .RE
877: .PP
878: .B option \fBsmtp-server\fR \fIip-address\fR [\fB,\fR
879: \fIip-address\fR... ]\fB;\fR
880: .RS 0.25i
881: .PP
882: The SMTP server option specifies a list of SMTP servers available to
883: the client. Servers should be listed in order of preference.
884: .RE
885: .PP
886: .nf
887: .B option \fBstatic-routes\fR \fIip-address ip-address\fR
888: [\fB,\fR \fIip-address ip-address\fR...]\fB;\fR
889: .fi
890: .RS 0.25i
891: .PP
892: This option specifies a list of static routes that the client should
893: install in its routing cache. If multiple routes to the same
894: destination are specified, they are listed in descending order of
895: priority.
896: .PP
897: The routes consist of a list of IP address pairs. The first address
898: is the destination address, and the second address is the router for
899: the destination.
900: .PP
901: The default route (0.0.0.0) is an illegal destination for a static
902: route. To specify the default route, use the
903: .B routers
1.1.1.1 ! misho 904: option. Also, please note that this option is not intended for
! 905: classless IP routing - it does not include a subnet mask. Since
1.1 misho 906: classless IP routing is now the most widely deployed routing standard,
907: this option is virtually useless, and is not implemented by any of the
908: popular DHCP clients, for example the Microsoft DHCP client.
909: .RE
910: .PP
911: .nf
912: .B option \fBstreettalk-directory-assistance-server\fR \fIip-address\fR
913: [\fB,\fR \fIip-address\fR...]\fB;\fR
914: .fi
915: .RS 0.25i
916: .PP
917: The StreetTalk Directory Assistance (STDA) server option specifies a
918: list of STDA servers available to the client. Servers should be
919: listed in order of preference.
920: .RE
921: .PP
922: .B option \fBstreettalk-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR
923: .RS 0.25i
924: .PP
925: The StreetTalk server option specifies a list of StreetTalk servers
926: available to the client. Servers should be listed in order of
927: preference.
928: .RE
929: .PP
930: .B option subnet-mask \fIip-address\fR\fB;\fR
931: .RS 0.25i
932: .PP
933: The subnet mask option specifies the client's subnet mask as per RFC
934: 950. If no subnet mask option is provided anywhere in scope, as a
935: last resort dhcpd will use the subnet mask from the subnet declaration
936: for the network on which an address is being assigned. However,
937: .I any
938: subnet-mask option declaration that is in scope for the address being
939: assigned will override the subnet mask specified in the subnet
940: declaration.
941: .RE
942: .PP
943: .B option \fBsubnet-selection\fR \fIstring\fR\fB;\fR
944: .RS 0.25i
945: .PP
946: Sent by the client if an address is required in a subnet other than the one
947: that would normally be selected (based on the relaying address of the
948: connected subnet the request is obtained from). See RFC3011. Note that the
949: option number used by this server is 118; this has not always been the
950: defined number, and some clients may use a different value. Use of this
951: option should be regarded as slightly experimental!
952: .RE
953: .PP
954: This option is not user configurable in the server.
955: .PP
956: .PP
957: .B option \fBswap-server\fR \fIip-address\fR\fB;\fR
958: .RS 0.25i
959: .PP
960: This specifies the IP address of the client's swap server.
961: .RE
962: .PP
963: .B option \fBtcp-keepalive-garbage\fR \fIflag\fR\fB;\fR
964: .RS 0.25i
965: .PP
966: This option specifies whether or not the client should send TCP
967: keepalive messages with an octet of garbage for compatibility with
968: older implementations. A value of false indicates that a garbage octet
969: should not be sent. A value of true indicates that a garbage octet
970: should be sent.
971: .RE
972: .PP
973: .B option \fBtcp-keepalive-interval\fR \fIuint32\fR\fB;\fR
974: .RS 0.25i
975: .PP
976: This option specifies the interval (in seconds) that the client TCP
977: should wait before sending a keepalive message on a TCP connection.
978: The time is specified as a 32-bit unsigned integer. A value of zero
979: indicates that the client should not generate keepalive messages on
980: connections unless specifically requested by an application.
981: .RE
982: .PP
983: .B option \fBtftp-server-name\fR \fItext\fR\fB;\fR
984: .RS 0.25i
985: .PP
986: This option is used to identify a TFTP server and, if supported by the
987: client, should have the same effect as the \fBserver-name\fR
1.1.1.1 ! misho 988: declaration. BOOTP clients are unlikely to support this option.
1.1 misho 989: Some DHCP clients will support it, and others actually require it.
990: .RE
991: .PP
992: .B option time-offset \fIint32\fR\fB;\fR
993: .RS 0.25i
994: .PP
995: The time-offset option specifies the offset of the client's subnet in
996: seconds from Coordinated Universal Time (UTC).
997: .RE
998: .PP
999: .B option time-servers \fIip-address\fR [, \fIip-address\fR...
1000: ]\fB;\fR
1001: .RS 0.25i
1002: .PP
1003: The time-server option specifies a list of RFC 868 time servers
1004: available to the client. Servers should be listed in order of
1005: preference.
1006: .RE
1007: .PP
1008: .B option \fBtrailer-encapsulation\fR \fIflag\fR\fB;\fR
1009: .RS 0.25i
1010: .PP
1011: This option specifies whether or not the client should negotiate the
1012: use of trailers (RFC 893 [14]) when using the ARP protocol. A value
1013: of false indicates that the client should not attempt to use trailers. A
1014: value of true means that the client should attempt to use trailers.
1015: .RE
1016: .PP
1017: .B option \fBuap-servers\fR \fItext\fR\fB;\fR
1018: .RS 0.25i
1019: .PP
1020: This option specifies a list of URLs, each pointing to a user
1021: authentication service that is capable of processing authentication
1022: requests encapsulated in the User Authentication Protocol (UAP). UAP
1023: servers can accept either HTTP 1.1 or SSLv3 connections. If the list
1024: includes a URL that does not contain a port component, the normal
1025: default port is assumed (i.e., port 80 for http and port 443 for
1026: https). If the list includes a URL that does not contain a path
1.1.1.1 ! misho 1027: component, the path /uap is assumed. If more than one URL is
1.1 misho 1028: specified in this list, the URLs are separated by spaces.
1029: .RE
1030: .PP
1031: .B option \fBuser-class\fR \fIstring\fR\fB;\fR
1032: .RS 0.25i
1033: .PP
1034: This option is used by some DHCP clients as a way for users to
1.1.1.1 ! misho 1035: specify identifying information to the client. This can be used in a
1.1 misho 1036: similar way to the vendor-class-identifier option, but the value of
1.1.1.1 ! misho 1037: the option is specified by the user, not the vendor. Most recent
1.1 misho 1038: DHCP clients have a way in the user interface to specify the value for
1039: this identifier, usually as a text string.
1040: .RE
1041: .PP
1042: .B option \fBvendor-class-identifier\fR \fIstring\fR\fB;\fR
1043: .RS 0.25i
1044: .PP
1045: This option is used by some DHCP clients to identify the vendor
1046: type and possibly the configuration of a DHCP client. The information
1047: is a string of bytes whose contents are specific to the vendor and are
1.1.1.1 ! misho 1048: not specified in a standard. To see what vendor class identifier
1.1 misho 1049: clients are sending, you can write the following in your DHCP server
1050: configuration file:
1051: .nf
1052: .PP
1053: set vendor-string = option vendor-class-identifier;
1054: .fi
1055: .PP
1056: This will result in all entries in the DHCP server lease database file
1057: for clients that sent vendor-class-identifier options having a set
1058: statement that looks something like this:
1059: .nf
1060: .PP
1061: set vendor-string = "SUNW.Ultra-5_10";
1062: .fi
1063: .PP
1064: The vendor-class-identifier option is normally used by the DHCP server
1065: to determine the options that are returned in the
1066: .B vendor-encapsulated-options
1.1.1.1 ! misho 1067: option. Please see the VENDOR ENCAPSULATED OPTIONS section later in this
1.1 misho 1068: manual page for further information.
1069: .RE
1070: .PP
1071: .B option \fBvendor-encapsulated-options\fR \fIstring\fR\fB;\fR
1072: .RS 0.25i
1073: .PP
1074: The \fBvendor-encapsulated-options\fR option can contain either a
1075: single vendor-specific value or one or more vendor-specific
1.1.1.1 ! misho 1076: suboptions. This option is not normally specified in the DHCP server
1.1 misho 1077: configuration file - instead, a vendor class is defined for each
1078: vendor, vendor class suboptions are defined, values for those
1079: suboptions are defined, and the DHCP server makes up a response on
1080: that basis.
1081: .PP
1082: Some default behaviours for well-known DHCP client vendors (currently,
1083: the Microsoft Windows 2000 DHCP client) are configured automatically,
1084: but otherwise this must be configured manually - see the VENDOR
1085: ENCAPSULATED OPTIONS section later in this manual page for details.
1086: .RE
1087: .PP
1088: .B option \fBvivso\fR \fIstring\fR\fB;\fR
1089: .RS 0.25i
1090: .PP
1091: The \fBvivso\fR option can contain multiple separate options, one for
1092: each 32-bit Enterprise ID. Each Enterprise-ID discriminated option then
1093: contains additional options whose format is defined by the vendor who
1094: holds that ID. This option is usually not configured manually, but
1095: rather is configured via intervening option definitions. Please also
1096: see the VENDOR ENCAPSULATED OPTIONS section later in this manual page
1097: for details.
1098: .RE
1099: .PP
1100: .B option \fBwww-server\fR \fIip-address\fR [\fB,\fR
1101: \fIip-address\fR... ]\fB;\fR
1102: .RS 0.25i
1103: .PP
1104: The WWW server option specifies a list of WWW servers available
1105: to the client. Servers should be listed in order of preference.
1106: .RE
1107: .PP
1108: .B option \fBx-display-manager\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
1109: ]\fB;\fR
1110: .RS 0.25i
1111: .PP
1112: This option specifies a list of systems that are running the X Window
1113: System Display Manager and are available to the client. Addresses
1114: should be listed in order of preference.
1115: .RE
1116: .SH RELAY AGENT INFORMATION OPTION
1117: An IETF draft, draft-ietf-dhc-agent-options-11.txt, defines a series
1118: of encapsulated options that a relay agent can add to a DHCP packet
1.1.1.1 ! misho 1119: when relaying it to the DHCP server. The server can then make
1.1 misho 1120: address allocation decisions (or whatever other decisions it wants)
1.1.1.1 ! misho 1121: based on these options. The server also returns these options in any
1.1 misho 1122: replies it sends through the relay agent, so that the relay agent can
1123: use the information in these options for delivery or accounting
1124: purposes.
1125: .PP
1.1.1.1 ! misho 1126: The current draft defines two options. To reference
1.1 misho 1127: these options in the dhcp server, specify the option space name,
1.1.1.1 ! misho 1128: "agent", followed by a period, followed by the option name. It is
1.1 misho 1129: not normally useful to define values for these options in the server,
1.1.1.1 ! misho 1130: although it is permissible. These options are not supported in the
1.1 misho 1131: client.
1132: .PP
1133: .B option \fBagent.circuit-id\fR \fIstring\fR\fB;\fR
1134: .RS 0.25i
1135: .PP
1136: The circuit-id suboption encodes an agent-local identifier of the
1137: circuit from which a DHCP client-to-server packet was received. It is
1138: intended for use by agents in relaying DHCP responses back to the
1.1.1.1 ! misho 1139: proper circuit. The format of this option is currently defined to be
1.1 misho 1140: vendor-dependent, and will probably remain that way, although the
1141: current draft allows for for the possibility of standardizing the
1142: format in the future.
1143: .RE
1144: .PP
1145: .B option \fBagent.remote-id\fR \fIstring\fR\fB;\fR
1146: .RS 0.25i
1147: .PP
1148: The remote-id suboption encodes information about the remote host end
1.1.1.1 ! misho 1149: of a circuit. Examples of what it might contain include caller ID
1.1 misho 1150: information, username information, remote ATM address, cable modem ID,
1.1.1.1 ! misho 1151: and similar things. In principal, the meaning is not well-specified,
1.1 misho 1152: and it should generally be assumed to be an opaque object that is
1153: administratively guaranteed to be unique to a particular remote end of
1154: a circuit.
1155: .RE
1156: .PP
1157: .B option \fBagent.DOCSIS-device-class\fR \fIuint32\fR\fB;\fR
1158: .RS 0.25i
1159: .PP
1160: The DOCSIS-device-class suboption is intended to convey information about
1161: the host endpoint, hardware, and software, that either the host operating
1162: system or the DHCP server may not otherwise be aware of (but the relay is
1163: able to distinguish). This is implemented as a 32-bit field (4 octets),
1164: each bit representing a flag describing the host in one of these ways.
1165: So far, only bit zero (being the least significant bit) is defined in
1166: RFC3256. If this bit is set to one, the host is considered a CPE
1167: Controlled Cable Modem (CCCM). All other bits are reserved.
1168: .RE
1169: .PP
1170: .B option \fBagent.link-selection\fR \fIip-address\fR\fB;\fR
1171: .RS 0.25i
1172: .PP
1173: The link-selection suboption is provided by relay agents to inform servers
1174: what subnet the client is actually attached to. This is useful in those
1175: cases where the giaddr (where responses must be sent to the relay agent)
1176: is not on the same subnet as the client. When this option is present in
1177: a packet from a relay agent, the DHCP server will use its contents to find
1178: a subnet declared in configuration, and from here take one step further
1179: backwards to any shared-network the subnet may be defined within...the
1180: client may be given any address within that shared network, as normally
1181: appropriate.
1182: .RE
1183: .SH THE CLIENT FQDN SUBOPTIONS
1184: The Client FQDN option, currently defined in the Internet Draft
1185: draft-ietf-dhc-fqdn-option-00.txt is not a standard yet, but is in
1.1.1.1 ! misho 1186: sufficiently wide use already that we have implemented it. Due to
1.1 misho 1187: the complexity of the option format, we have implemented it as a
1.1.1.1 ! misho 1188: suboption space rather than a single option. In general this
1.1 misho 1189: option should not be configured by the user - instead it should be
1190: used as part of an automatic DNS update system.
1191: .PP
1192: .B option fqdn.no-client-update \fIflag\fB;
1193: .RS 0.25i
1194: .PP
1195: When the client sends this, if it is true, it means the client will not
1.1.1.1 ! misho 1196: attempt to update its A record. When sent by the server to the client,
1.1 misho 1197: it means that the client \fIshould not\fR update its own A record.
1198: .RE
1199: .PP
1200: .B option fqdn.server-update \fIflag\fB;
1201: .RS 0.25i
1202: .PP
1203: When the client sends this to the server, it is requesting that the server
1.1.1.1 ! misho 1204: update its A record. When sent by the server, it means that the server
1.1 misho 1205: has updated (or is about to update) the client's A record.
1206: .RE
1207: .PP
1208: .B option fqdn.encoded \fIflag\fB;
1209: .RS 0.25i
1210: .PP
1211: If true, this indicates that the domain name included in the option is
1.1.1.1 ! misho 1212: encoded in DNS wire format, rather than as plain ASCII text. The client
1.1 misho 1213: normally sets this to false if it doesn't support DNS wire format in the
1.1.1.1 ! misho 1214: FQDN option. The server should always send back the same value that the
! 1215: client sent. When this value is set on the configuration side, it controls
1.1 misho 1216: the format in which the \fIfqdn.fqdn\fR suboption is encoded.
1217: .RE
1218: .PP
1219: .B option fqdn.rcode1 \fIflag\fB;
1220: .PP
1221: .B option fqdn.rcode2 \fIflag\fB;
1222: .RS 0.25i
1223: .PP
1224: These options specify the result of the updates of the A and PTR records,
1225: respectively, and are only sent by the DHCP server to the DHCP client.
1226: The values of these fields are those defined in the DNS protocol specification.
1227: .RE
1228: .PP
1229: .B option fqdn.fqdn \fItext\fB;
1230: .RS 0.25i
1231: .PP
1.1.1.1 ! misho 1232: Specifies the domain name that the client wishes to use. This can be a
! 1233: fully-qualified domain name, or a single label. If there is no trailing
1.1 misho 1234: \'.\' character in the name, it is not fully-qualified, and the server will
1235: generally update that name in some locally-defined domain.
1236: .RE
1237: .PP
1238: .B option fqdn.hostname \fI--never set--\fB;
1239: .RS 0.25i
1240: .PP
1241: This option should never be set, but it can be read back using the \fBoption\fR
1242: and \fBconfig-option\fR operators in an expression, in which case it returns
1243: the first label in the \fBfqdn.fqdn\fR suboption - for example, if
1244: the value of \fBfqdn.fqdn\fR is "foo.example.com.", then \fBfqdn.hostname\fR
1245: will be "foo".
1246: .RE
1247: .PP
1248: .B option fqdn.domainname \fI--never set--\fB;
1249: .RS 0.25i
1250: .PP
1251: This option should never be set, but it can be read back using the \fBoption\fR
1252: and \fBconfig-option\fR operators in an expression, in which case it returns
1253: all labels after the first label in the \fBfqdn.fqdn\fR suboption - for
1254: example, if the value of \fBfqdn.fqdn\fR is "foo.example.com.",
1.1.1.1 ! misho 1255: then \fBfqdn.hostname\fR will be "example.com.". If this suboption value
1.1 misho 1256: is not set, it means that an unqualified name was sent in the fqdn option,
1257: or that no fqdn option was sent at all.
1258: .RE
1259: .PP
1260: If you wish to use any of these suboptions, we strongly recommend that you
1261: refer to the Client FQDN option draft (or standard, when it becomes a
1262: standard) - the documentation here is sketchy and incomplete in comparison,
1263: and is just intended for reference by people who already understand the
1264: Client FQDN option specification.
1265: .SH THE NETWARE/IP SUBOPTIONS
1266: RFC2242 defines a set of encapsulated options for Novell NetWare/IP
1267: clients. To use these options in the dhcp server, specify the option
1268: space name, "nwip", followed by a period, followed by the option name.
1269: The following options can be specified:
1270: .PP
1271: .B option \fBnwip.nsq-broadcast\fR \fIflag\fR\fB;\fR
1272: .RS 0.25i
1273: .PP
1274: If true, the client should use the NetWare Nearest Server Query to
1.1.1.1 ! misho 1275: locate a NetWare/IP server. The behaviour of the Novell client if
1.1 misho 1276: this suboption is false, or is not present, is not specified.
1277: .PP
1278: .RE
1279: .B option \fBnwip.preferred-dss\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fR\fB;\fR
1280: .RS 0.25i
1281: .PP
1282: This suboption specifies a list of up to five IP addresses, each of
1283: which should be the IP address of a NetWare Domain SAP/RIP server
1284: (DSS).
1285: .RE
1286: .PP
1287: .B option \fBnwip.nearest-nwip-server\fR \fI\fIip-address\fR
1288: [\fB,\fR \fIip-address\fR...]\fR\fB;\fR
1289: .RS 0.25i
1290: .PP
1291: This suboption specifies a list of up to five IP addresses, each of
1292: which should be the IP address of a Nearest NetWare IP server.
1293: .RE
1294: .PP
1295: .B option \fBnwip.autoretries\fR \fIuint8\fR\fB;\fR
1296: .RS 0.25i
1297: .PP
1298: Specifies the number of times that a NetWare/IP client should attempt
1299: to communicate with a given DSS server at startup.
1300: .RE
1301: .PP
1302: .B option \fBnwip.autoretry-secs\fR \fIuint8\fR\fB;\fR
1303: .RS 0.25i
1304: .PP
1305: Specifies the number of seconds that a Netware/IP client should wait
1306: between retries when attempting to establish communications with a DSS
1307: server at startup.
1308: .RE
1309: .PP
1310: .B option \fBnwip.nwip-1-1\fR \fIuint8\fR\fB;\fR
1311: .RS 0.25i
1312: .PP
1313: If true, the NetWare/IP client should support NetWare/IP version 1.1
1.1.1.1 ! misho 1314: compatibility. This is only needed if the client will be contacting
1.1 misho 1315: Netware/IP version 1.1 servers.
1316: .RE
1317: .PP
1318: .B option \fBnwip.primary-dss\fR \fIip-address\fR\fB;\fR
1319: .RS 0.25i
1320: .PP
1321: Specifies the IP address of the Primary Domain SAP/RIP Service server
1.1.1.1 ! misho 1322: (DSS) for this NetWare/IP domain. The NetWare/IP administration
1.1 misho 1323: utility uses this value as Primary DSS server when configuring a
1324: secondary DSS server.
1325: .RE
1326: .SH STANDARD DHCPV6 OPTIONS
1327: DHCPv6 options differ from DHCPv4 options partially due to using
1328: 16-bit code and length tags, but semantically zero-length options
1329: are legal in DHCPv6, and multiple options are treated differently.
1330: Whereas in DHCPv4 multiple options would be concatenated to form one
1331: option, in DHCPv6 they are expected to be individual instantiations.
1332: Understandably, many options are not "allowed" to have multiple
1333: instances in a packet - normally these are options which are digested
1334: by the DHCP protocol software, and not by users or applications.
1335: .PP
1336: .B option \fBdhcp6.client-id\fR \fIstring\fR\fB;\fR
1337: .RS 0.25i
1338: .PP
1339: This option specifies the client's DUID identifier. DUIDs are similar
1340: but different from DHCPv4 client identifiers - there are documented duid
1341: types:
1342: .PP
1343: .I duid-llt
1344: .PP
1345: .I duid-en
1346: .PP
1347: .I duid-ll
1348: .PP
1349: This value should not be configured, but rather is provided by clients
1350: and treated as an opaque identifier key blob by servers.
1351: .RE
1352: .PP
1353: .B option \fBdhcp6.server-id\fR \fIstring\fR\fB;\fR
1354: .RS 0.25i
1355: .PP
1356: This option specifies the server's DUID identifier. One may use this
1357: option to configure an opaque binary blob for your server's identifier.
1358: .RE
1359: .PP
1360: .B option \fBdhcp6.ia-na\fR \fIstring\fR\fB;\fR
1361: .RS 0.25i
1362: .PP
1363: The Identity Association for Non-temporary Addresses (ia-na) carries
1364: assigned addresses that are not temporary addresses for use by the
1365: DHCPv6 client. This option is produced by the DHCPv6 server software,
1366: and should not be configured.
1367: .RE
1368: .PP
1369: .B option \fBdhcp6.ia-ta\fR \fIstring\fR\fB;\fR
1370: .RS 0.25i
1371: .PP
1372: The Identity Association for Temporary Addresses (ia-ta) carries
1373: temporary addresses, which may change upon every renewal. There is
1374: no support for this in the current DHCPv6 software.
1375: .RE
1376: .PP
1377: .B option \fBdhcp6.ia-addr\fR \fIstring\fR\fB;\fR
1378: .RS 0.25i
1379: .PP
1380: The Identity Association Address option is encapsulated inside ia-na
1381: or ia-ta options in order to represent addresses associated with those
1382: IA's. These options are manufactured by the software, so should not
1383: be configured.
1384: .RE
1385: .PP
1386: .B option \fBdhcp6.oro\fR \fIuint16\fR [ \fB,\fR \fIuint16\fR\fB,\fR ... ]\fB;\fR
1387: .RS 0.25i
1388: .PP
1389: The Option Request Option ("ORO") is the DHCPv6 equivalent of the
1390: parameter-request-list. Clients supply this option to ask servers
1391: to reply with options relevant to their needs and use. This option
1392: must not be directly configured, the request syntax in dhclient.conf (5)
1393: should be used instead.
1394: .RE
1395: .PP
1396: .B option \fBdhcp6.preference\fR \fIuint8\fR\fB;\fR
1397: .RS 0.25i
1398: .PP
1399: The \fBpreference\fR option informs a DHCPv6 client which server is
1400: \'preferred\' for use on a given subnet. This preference is only
1401: applied during the initial stages of configuration - once a client
1402: is bound to an IA, it will remain bound to that IA until it is no
1403: longer valid or has expired. This value may be configured on the
1404: server, and is digested by the client software.
1405: .RE
1406: .PP
1407: .B option \fBdhcp6.elapsed-time\fR \fIuint16\fR\fB;\fR
1408: .RS 0.25i
1409: .PP
1410: The \fBelapsed-time\fR option is constructed by the DHCPv6 client
1411: software, and is potentially consumed by intermediaries. This
1412: option should not be configured.
1413: .RE
1414: .PP
1415: .B option \fBdhcp6.relay-msg\fR \fIstring\fR\fB;\fR
1416: .RS 0.25i
1417: .PP
1418: The \fBrelay-msg\fR option is constructed by intervening DHCPv6
1419: relay agent software. This option is entirely used by protocol
1420: software, and is not meant for user configuration.
1421: .RE
1422: .PP
1423: .B option \fBdhcp6.unicast\fR \fIip6-address\fR\fB;\fR
1424: .RS 0.25i
1425: .PP
1426: The \fBunicast\fR option is provided by DHCPv6 servers which are
1427: willing (or prefer) to receive Renew packets from their clients
1428: by exchanging UDP unicasts with them. Normally, DHCPv6 clients
1429: will multicast their Renew messages. This may be configured on
1430: the server, and should be configured as an address the server
1431: is ready to reply to.
1432: .RE
1433: .PP
1434: .B option \fBdhcp6.status-code\fR \fIstatus-code\fR [ \fIstring\fR ] \fB;\fR
1435: .RS 0.25i
1436: .PP
1437: The \fBstatus-code\fR option is provided by DHCPv6 servers to inform
1438: clients of error conditions during protocol communication. This option
1439: is manufactured and digested by protocol software, and should not be
1440: configured.
1441: .RE
1442: .PP
1443: .B option \fBdhcp6.rapid-commit\fR \fB;\fR
1444: .RS 0.25i
1445: .PP
1446: The \fBrapid-commit\fR option is a zero-length option that clients use
1447: to indicate their desire to enter into rapid-commit with the server. This
1448: option is not supported by the client at this time, and is digested by
1449: the server when present, so should not be configured.
1450: .RE
1451: .PP
1452: .B option \fBdhcp6.vendor-opts\fR \fIstring\fR\fB;\fR
1453: .RS 0.25i
1454: .PP
1455: The \fBvendor-opts\fR option is actually an encapsulated sub-option space,
1456: in which each Vendor-specific Information Option (VSIO) is identified by
1457: a 32-bit Enterprise-ID number. The encapsulated option spaces within these
1458: options are defined by the vendors.
1459: .PP
1460: To make use of this option, the best way is to examine the section
1461: titled VENDOR ENCAPSULATED OPTIONS below, in particular the bits about
1462: the "vsio" option space.
1463: .RE
1464: .PP
1465: .B option \fBdhcp6.interface-id\fR \fIstring\fR\fB;\fR
1466: .RS 0.25i
1467: .PP
1468: The \fBinterface-id\fR option is manufactured by relay agents, and may
1469: be used to guide configuration differentiating clients by the interface
1470: they are remotely attached to. It does not make sense to configure a
1471: value for this option, but it may make sense to inspect its contents.
1472: .RE
1473: .PP
1474: .B option \fBdhcp6.reconf-msg\fR \fIdhcpv6-message\fR\fB;\fR
1475: .RS 0.25i
1476: .PP
1477: The \fBreconf-msg\fR option is manufactured by servers, and sent to
1478: clients in Reconfigure messages to inform them of what message
1479: the client should Reconfigure using. There is no support for
1480: DHCPv6 Reconfigure extensions, and this option is documented
1481: informationally only.
1482: .RE
1483: .PP
1484: .B option \fBdhcp6.reconf-accept ;\fR
1485: .RS 0.25i
1486: .PP
1487: The \fBreconf-accept\fR option is included by DHCPv6 clients that
1488: support the Reconfigure extentions, advertising that they will
1489: respond if the server were to ask them to Reconfigure. There is
1490: no support for DHCPv6 Reconfigure extensions, and this option is
1491: documented informationally only.
1492: .RE
1493: .PP
1494: .B option \fBdhcp6.sip-servers-names\fR \fIdomain-list\fR\fB;\fR
1495: .RS 0.25i
1496: .PP
1497: The \fBsip-servers-names\fR option allows SIP clients to locate a
1498: local SIP server that is to be used for all outbound SIP requests, a
1499: so-called"outbound proxy server." If you wish to use manually entered
1500: IPv6 addresses instead, please see the \fBsip-servers-addresses\fR option
1501: below.
1502: .RE
1503: .PP
1504: .B option
1505: .B dhcp6.sip-servers-addresses
1506: .I ip6-address \fR[\fB,\fR
1507: .I ip6-address \fR... ]
1508: .B ;
1509: .RS 0.25i
1510: .PP
1511: The \fBsip-servers-addresses\fR option allows SIP clients to locate
1512: a local SIP server that is to be used for all outbound SIP requests,
1513: a so-called "outbound proxy servers." If you wish to use domain names
1514: rather than IPv6 addresses, please see the \fBsip-servers-names\fR option
1515: above.
1516: .RE
1517: .PP
1518: .B option
1519: .B dhcp6.name-servers
1520: .I ip6-address \fR[\fB,\fR
1521: .I ip6-address \fR... ]
1522: .B ;
1523: .RS 0.25i
1524: .PP
1525: The \fBname-servers\fR option instructs clients about locally available
1526: recursive DNS servers. It is easiest to describe this as the "nameserver"
1527: line in /etc/resolv.conf.
1528: .RE
1529: .PP
1530: .B option \fBdhcp6.domain-search\fR \fIdomain-list\fR\fB;\fR
1531: .RS 0.25i
1532: .PP
1533: The \fBdomain-search\fR option specifies the client's domain search path
1534: to be applied to recursive DNS queries. It is easiest to describe this as
1535: the "search" line in /etc/resolv.conf.
1536: .RE
1537: .PP
1538: .B option \fBdhcp6.ia-pd\fR \fIstring\fR\fB;\fR
1539: .RS 0.25i
1540: .PP
1541: The \fBia-pd\fR option is manufactured by clients and servers to create a
1542: Prefix Delegation binding - to delegate an IPv6 prefix to the client. It is
1543: not directly edited in dhcpd.conf(5) or dhclient.conf(5), but rather is
1544: manufactured and consumed by the software.
1545: .RE
1546: .PP
1547: .B option \fBdhcp6.ia-prefix\fR \fIstring\fR\fB;\fR
1548: .RS 0.25i
1549: .PP
1550: The \fBia-prefix\fR option is placed inside \fBia-pd\fR options in order
1551: to identify the prefix(es) allocated to the client. It is not directly
1552: edited in dhcpd.conf(5) or dhclient.conf(5), but rather is
1553: manufactured and consumed by the software.
1554: .RE
1555: .PP
1556: .B option
1557: .B dhcp6.nis-servers
1558: .I ip6-address \fR[\fB,
1559: .I ip6-address \fR... ]
1560: .B ;
1561: .RS 0.25i
1562: .PP
1563: The \fBnis-servers\fR option identifies, in order, NIS servers available
1564: to the client.
1565: .RE
1566: .PP
1567: .B option
1568: .B dhcp6.nisp-servers
1569: .I ip6-address \fR[\fB,
1570: .I ip6-address \fR... ]
1571: .B ;
1572: .RS 0.25i
1573: .PP
1574: The \fBnisp-servers\fR option identifies, in order, NIS+ servers available
1575: to the client.
1576: .RE
1577: .PP
1578: .B option \fBnis-domain-name\fR \fIdomain-list\fR\fB;\fR
1579: .RS 0.25i
1580: .PP
1581: The \fBnis-domain-name\fR option specifies the NIS domain name the client is
1582: expected to use, and is related to the \fBnis-servers\fR option.
1583: .RE
1584: .PP
1585: .B option \fBnisp-domain-name\fR \fIdomain-list\fR\fB;\fR
1586: .RS 0.25i
1587: .PP
1588: The \fBnisp-domain-name\fR option specifies the NIS+ domain name the client
1589: is expected to use, and is related to the \fBnisp-servers\fR option.
1590: .RE
1591: .PP
1592: .B option
1593: .B dhcp6.sntp-servers
1594: .I ip6-address \fR[\fB,
1595: .I ip6-address \fR... ]
1596: .B ;
1597: .RS 0.25i
1598: .PP
1599: The \fBsntp-servers\fR option specifies a list of local SNTP servers
1600: available for the client to synchronize their clocks.
1601: .RE
1602: .PP
1603: .B option \fBdhcp6.info-refresh-time\fR \fIuint32\fR\fB;\fR
1604: .RS 0.25i
1605: .PP
1606: The \fBinfo-refresh-time\fR option gives DHCPv6 clients using
1607: Information-request messages a hint as to how long they should between
1608: refreshing the information they were given. Note that this option will
1609: only be delivered to the client, and be likely to affect the client's
1610: behaviour, if the client requested the option.
1611: .RE
1612: .PP
1613: .B option \fBdhcp6.bcms-server-d\fR \fIdomain-list\fR\fB;\fR
1614: .RS 0.25i
1615: .PP
1616: The \fBbcms-server-d\fR option contains the domain names of local BCMS
1617: (Broadcast and Multicast Control Services) controllers which the client
1618: may use.
1619: .RE
1620: .PP
1621: .B option
1622: .B dhcp6.bcms-server-a
1623: .I ip6-address \fR[\fB,
1624: .I ip6-address \fR... ]
1625: .B ;
1626: .RS 0.25i
1627: .PP
1628: The \fBbcms-server-a\fR option contains the IPv6 addresses of local BCMS
1629: (Broadcast and Multicast Control Services) controllers which the client
1630: may use.
1631: .RE
1632: .PP
1633: .B option \fBdhcp6.remote-id\fR \fIstring\fR\fB;\fR
1634: .RS 0.25i
1635: .PP
1636: The \fBremote-id\fR option is constructed by relay agents, to inform the
1637: server of details pertaining to what the relay knows about the client (such
1638: as what port it is attached to, and so forth). The contents of this option
1639: have some vendor-specific structure (similar to VSIO), but we have chosen
1640: to treat this option as an opaque field.
1641: .RE
1642: .PP
1643: .B option \fBdhcp6.subscriber-id\fR\fB;\fR
1644: .RS 0.25i
1645: .PP
1646: The \fBsubscriber-id\fR option is an opaque field provided by the relay agent,
1647: which provides additional information about the subscriber in question. The
1648: exact contents of this option depend upon the vendor and/or the operator's
1649: configuration of the remote device, and as such is an opaque field.
1650: .RE
1651: .PP
1652: .B option \fBdhcp6.fqdn\fR \fIstring\fR\fB;\fR
1653: .RS 0.25i
1654: .PP
1655: The \fBfqdn\fR option is normally constructed by the client or server,
1656: and negotiates the client's Fully Qualified Domain Name, as well as which
1657: party is responsible for Dynamic DNS Updates. See the section on the
1658: Client FQDN SubOptions for full details (the DHCPv4 and DHCPv6 FQDN options
1659: use the same "fqdn." encapsulated space, so are in all ways identical).
1660: .RE
1661: .PP
1662: .B option \fBdhcp6.lq-query\fR \fIstring\fR\fB;\fR
1663: .RS 0.25i
1664: .PP
1665: The \fBlq-query\fR option is used internally by for lease query.
1666: .RE
1667: .PP
1668: .B option \fBdhcp6.client-data\fR \fIstring\fR\fB;\fR
1669: .RS 0.25i
1670: .PP
1671: The \fBclient-data\fR option is used internally by for lease query.
1672: .RE
1673: .PP
1674: .B option \fBdhcp6.clt-time\fR \fIuint32\fR\fB;\fR
1675: .RS 0.25i
1676: .PP
1677: The \fBclt-time\fR option is used internally by for lease query.
1678: .RE
1679: .PP
1680: .B option \fBdhcp6.lq-relay-data\fR \fIip6-address string\fR\fB;\fR
1681: .RS 0.25i
1682: .PP
1683: The \fBlq-relay-data\fR option is used internally by for lease query.
1684: .RE
1685: .PP
1686: .B option
1687: .B dhcp6.lq-client-link
1688: .I ip6-address \fR[\fB,\fR
1689: .I ip6-address \fR... ]
1690: .B ;
1691: .RS 0.25i
1692: .PP
1693: The \fBlq-client-link\fR option is used internally by for lease query.
1694: .RE
1695: .PP
1696: .RE
1697: .SH DEFINING NEW OPTIONS
1698: The Internet Systems Consortium DHCP client and server provide the
1.1.1.1 ! misho 1699: capability to define new options. Each DHCP option has a name, a
! 1700: code, and a structure. The name is used by you to refer to the
! 1701: option. The code is a number, used by the DHCP server and client to
! 1702: refer to an option. The structure describes what the contents of an
1.1 misho 1703: option looks like.
1704: .PP
1705: To define a new option, you need to choose a name for it that is not
1706: in use for some other option - for example, you can't use "host-name"
1707: because the DHCP protocol already defines a host-name option, which is
1.1.1.1 ! misho 1708: documented earlier in this manual page. If an option name doesn't
1.1 misho 1709: appear in this manual page, you can use it, but it's probably a good
1710: idea to put some kind of unique string at the beginning so you can be
1.1.1.1 ! misho 1711: sure that future options don't take your name. For example, you
1.1 misho 1712: might define an option, "local-host-name", feeling some confidence
1713: that no official DHCP option name will ever start with "local".
1714: .PP
1715: Once you have chosen a name, you must choose a code. All codes between
1716: 224 and 254 are reserved as \'site-local\' DHCP options, so you can pick
1717: any one of these for your site (not for your product/application). In
1718: RFC3942, site-local space was moved from starting at 128 to starting at
1719: 224. In practice, some vendors have interpreted the protocol rather
1720: loosely and have used option code values greater than 128 themselves.
1721: There's no real way to avoid this problem, and it was thought to be
1722: unlikely to cause too much trouble in practice. If you come across
1723: a vendor-documented option code in either the new or old site-local
1724: spaces, please contact your vendor and inform them about rfc3942.
1725: .PP
1726: The structure of an option is simply the format in which the option
1.1.1.1 ! misho 1727: data appears. The ISC DHCP server currently supports a few simple
1.1 misho 1728: types, like integers, booleans, strings and IP addresses, and it also
1729: supports the ability to define arrays of single types or arrays of
1730: fixed sequences of types.
1731: .PP
1732: New options are declared as follows:
1733: .PP
1734: .B option
1735: .I new-name
1736: .B code
1737: .I new-code
1738: .B =
1739: .I definition
1740: .B ;
1741: .PP
1742: The values of
1743: .I new-name
1744: and
1745: .I new-code
1746: should be the name you have chosen for the new option and the code you
1.1.1.1 ! misho 1747: have chosen. The
1.1 misho 1748: .I definition
1749: should be the definition of the structure of the option.
1750: .PP
1751: The following simple option type definitions are supported:
1752: .PP
1753: .B BOOLEAN
1754: .PP
1755: .B option
1756: .I new-name
1757: .B code
1758: .I new-code
1759: .B =
1760: .B boolean
1761: .B ;
1762: .PP
1763: An option of type boolean is a flag with a value of either on or off
1.1.1.1 ! misho 1764: (or true or false). So an example use of the boolean type would be:
1.1 misho 1765: .nf
1766:
1767: option use-zephyr code 180 = boolean;
1768: option use-zephyr on;
1769:
1770: .fi
1771: .B INTEGER
1772: .PP
1773: .B option
1774: .I new-name
1775: .B code
1776: .I new-code
1777: .B =
1778: .I sign
1779: .B integer
1780: .I width
1781: .B ;
1782: .PP
1783: The \fIsign\fR token should either be blank, \fIunsigned\fR
1.1.1.1 ! misho 1784: or \fIsigned\fR. The width can be either 8, 16 or 32, and refers to
! 1785: the number of bits in the integer. So for example, the following two
1.1 misho 1786: lines show a definition of the sql-connection-max option and its use:
1787: .nf
1788:
1789: option sql-connection-max code 192 = unsigned integer 16;
1790: option sql-connection-max 1536;
1791:
1792: .fi
1793: .B IP-ADDRESS
1794: .PP
1795: .B option
1796: .I new-name
1797: .B code
1798: .I new-code
1799: .B =
1800: .B ip-address
1801: .B ;
1802: .PP
1803: An option whose structure is an IP address can be expressed either as
1804: a domain name or as a dotted quad. So the following is an example use
1805: of the ip-address type:
1806: .nf
1807:
1808: option sql-server-address code 193 = ip-address;
1809: option sql-server-address sql.example.com;
1810:
1811: .fi
1812: .B IP6-ADDRESS
1813: .PP
1814: .B option
1815: .I new-name
1816: .B code
1817: .I new-code
1818: .B =
1819: .B ip6-address
1820: .B ;
1821: .PP
1822: An option whose structure is an IPv6 address must be expressed as
1823: a valid IPv6 address. The following is an example use of the
1824: ip6-address type:
1825: .nf
1826:
1827: option dhcp6.some-server code 1234 = array of ip6-address;
1828: option dhcp6.some-server 3ffe:bbbb:aaaa:aaaa::1, 3ffe:bbbb:aaaa:aaaa::2;
1829:
1830: .fi
1831: .PP
1832: .B TEXT
1833: .PP
1834: .B option
1835: .I new-name
1836: .B code
1837: .I new-code
1838: .B =
1839: .B text
1840: .B ;
1841: .PP
1.1.1.1 ! misho 1842: An option whose type is text will encode an ASCII text string. For
1.1 misho 1843: example:
1844: .nf
1845:
1846: option sql-default-connection-name code 194 = text;
1847: option sql-default-connection-name "PRODZA";
1848:
1849: .fi
1850: .PP
1851: .B DATA STRING
1852: .PP
1853: .B option
1854: .I new-name
1855: .B code
1856: .I new-code
1857: .B =
1858: .B string
1859: .B ;
1860: .PP
1861: An option whose type is a data string is essentially just a collection
1862: of bytes, and can be specified either as quoted text, like the text
1863: type, or as a list of hexadecimal contents separated by colons whose
1.1.1.1 ! misho 1864: values must be between 0 and FF. For example:
1.1 misho 1865: .nf
1866:
1867: option sql-identification-token code 195 = string;
1868: option sql-identification-token 17:23:19:a6:42:ea:99:7c:22;
1869:
1870: .fi
1871: .PP
1872: .B DOMAIN-LIST
1873: .PP
1874: .B option
1875: .I new-name
1876: .B code
1877: .I new-code
1878: .B =
1879: .B domain-list
1880: .B [compressed]
1881: .B ;
1882: .PP
1883: An option whose type is \fBdomain-list\fR is an RFC1035 formatted (on the
1884: wire, "DNS Format") list of domain names, separated by root labels. The
1885: optional \fBcompressed\fR keyword indicates if the option should be
1886: compressed relative to the start of the option contents (not the packet
1887: contents).
1888: .PP
1889: When in doubt, omit the \fBcompressed\fR keyword. When the software recieves
1890: an option that is compressed and the \fBcompressed\fR keyword is omitted, it
1891: will still decompress the option (relative to the option contents field). The
1892: keyword only controls whether or not transmitted packets are compressed.
1893: .PP
1894: Note that when
1895: .B domain-list
1896: formatted options are output as environment variables to
1897: .B dhclient-script(8),
1898: the standard DNS \-escape mechanism is used: they are decimal. This is
1899: appropriate for direct use in eg /etc/resolv.conf.
1900: .nf
1901:
1902: .fi
1903: .PP
1904: .B ENCAPSULATION
1905: .PP
1906: .B option
1907: .I new-name
1908: .B code
1909: .I new-code
1910: .B =
1911: .B encapsulate
1912: .I identifier
1913: .B ;
1914: .PP
1915: An option whose type is \fBencapsulate\fR will encapsulate the
1.1.1.1 ! misho 1916: contents of the option space specified in \fIidentifier\fR. Examples
1.1 misho 1917: of encapsulated options in the DHCP protocol as it currently exists
1918: include the vendor-encapsulated-options option, the netware-suboptions
1919: option and the relay-agent-information option.
1920: .nf
1921:
1922: option space local;
1923: option local.demo code 1 = text;
1924: option local-encapsulation code 197 = encapsulate local;
1925: option local.demo "demo";
1926:
1927: .fi
1928: .PP
1929: .B ARRAYS
1930: .PP
1931: Options can contain arrays of any of the above types except for the
1932: text and data string types, which aren't currently supported in
1.1.1.1 ! misho 1933: arrays. An example of an array definition is as follows:
1.1 misho 1934: .nf
1935:
1936: option kerberos-servers code 200 = array of ip-address;
1937: option kerberos-servers 10.20.10.1, 10.20.11.1;
1938:
1939: .fi
1940: .B RECORDS
1941: .PP
1942: Options can also contain data structures consisting of a sequence of
1.1.1.1 ! misho 1943: data types, which is sometimes called a record type. For example:
1.1 misho 1944: .nf
1945:
1946: option contrived-001 code 201 = { boolean, integer 32, text };
1947: option contrived-001 on 1772 "contrivance";
1948:
1949: .fi
1950: It's also possible to have options that are arrays of records, for
1951: example:
1952: .nf
1953:
1954: option new-static-routes code 201 = array of {
1955: ip-address, ip-address, ip-address, integer 8 };
1956: option static-routes
1957: 10.0.0.0 255.255.255.0 net-0-rtr.example.com 1,
1958: 10.0.1.0 255.255.255.0 net-1-rtr.example.com 1,
1959: 10.2.0.0 255.255.224.0 net-2-0-rtr.example.com 3;
1960:
1961: .fi
1962: .SH VENDOR ENCAPSULATED OPTIONS
1963: The DHCP protocol defines the \fBvendor-encapsulated-options\fR
1964: option, which allows vendors to define their own options that will be
1965: sent encapsulated in a standard DHCP option. It also defines
1966: the \fBVendor Identified Vendor Sub Options\fR option ("VIVSO"), and the
1967: DHCPv6 protocol defines the \fBVendor-specific Information Option\fR
1968: ("VSIO"). The format of all of these options is usually internally a
1969: string of options, similarly to other normal DHCP options. The VIVSO
1970: and VSIO options differ in that that they contain options that correspond
1971: to vendor Enterprise-ID numbers (assigned by IANA), which then contain
1972: options according to each Vendor's specifications. You will need to refer
1973: to your vendor's documentation in order to form options to their
1974: specification.
1975: .PP
1.1.1.1 ! misho 1976: The value of these options can be set in one of two ways. The first
1.1 misho 1977: way is to simply specify the data directly, using a text string or a
1978: colon-separated list of hexadecimal values. For help in forming these
1979: strings, please refer to \fBRFC2132\fR for the DHCPv4 \fBVendor Specific
1980: Information Option\fR, \fBRFC3925\fR for the DHCPv4 \fBVendor Identified Vendor
1981: Sub Options\fR, or \fBRFC3315\fR for the DHCPv6 \fBVendor-specific Information
1982: Option\fR. For example:
1983: .PP
1984: .nf
1985: option vendor-encapsulated-options
1986: 2:4:
1987: AC:11:41:1:
1988: 3:12:
1989: 73:75:6e:64:68:63:70:2d:73:65:72:76:65:72:31:37:2d:31:
1990: 4:12:
1991: 2f:65:78:70:6f:72:74:2f:72:6f:6f:74:2f:69:38:36:70:63;
1992: option vivso
1993: 00:00:09:bf:0E:
1994: 01:0c:
1995: 48:65:6c:6c:6f:20:77:6f:72:6c:64:21;
1996: option dhcp6.vendor-opts
1997: 00:00:09:bf:
1998: 00:01:00:0c:
1999: 48:65:6c:6c:6f:20:77:6f:72:6c:64:21;
2000: .fi
2001: .PP
2002: The second way of setting the value of these options is to have the DHCP
1.1.1.1 ! misho 2003: server generate a vendor-specific option buffer. To do this, you
1.1 misho 2004: must do four things: define an option space, define some options in
2005: that option space, provide values for them, and specify that that
2006: option space should be used to generate the relevant option.
2007: .PP
2008: To define a new option space in which vendor options can be stored,
2009: use the \fRoption space\fP statement:
2010: .PP
2011: .B option
2012: .B space
2013: .I name
2014: .B [ [ code width
2015: .I number
2016: .B ] [ length width
2017: .I number
2018: .B ] [ hash size
2019: .I number
2020: .B ] ] ;
2021: .PP
2022: Where the numbers following \fBcode width\fR, \fBlength width\fR,
2023: and \fBhash size\fR respectively identify the number of bytes used to
2024: describe option codes, option lengths, and the size in buckets of the
2025: hash tables to hold options in this space (most DHCPv4 option spaces
2026: use 1 byte codes and lengths, which is the default, whereas most
2027: DHCPv6 option spaces use 2 byte codes and lengths).
2028: .PP
2029: The code and length widths are used in DHCP protocol - you must configure
2030: these numbers to match the applicable option space you are configuring.
2031: They each default to 1. Valid values for code widths are 1, 2 or 4.
2032: Valid values for length widths are 0, 1 or 2. Most DHCPv4 option spaces
2033: use 1 byte codes and lengths, which is the default, whereas most DHCPv6
2034: option spaces use 2 byte codes and lengths. A zero-byte length produces
2035: options similar to the DHCPv6 Vendor-specific Information Option - but
2036: not their contents!
2037: .PP
2038: The hash size defaults depend upon the \fBcode width\fR selected, and
2039: may be 254 or 1009. Valid values range between 1 and 65535. Note
2040: that the higher you configure this value, the more memory will be used. It
2041: is considered good practice to configure a value that is slightly larger
2042: than the estimated number of options you plan to configure within the
2043: space. Previous versions of ISC DHCP (up to and including DHCP 3.0.*),
2044: this value was fixed at 9973.
2045: .PP
2046: The name can then be used in option definitions, as described earlier in
1.1.1.1 ! misho 2047: this document. For example:
1.1 misho 2048: .nf
2049:
2050: option space SUNW code width 1 length width 1 hash size 3;
2051: option SUNW.server-address code 2 = ip-address;
2052: option SUNW.server-name code 3 = text;
2053: option SUNW.root-path code 4 = text;
2054:
2055: option space ISC code width 1 length width 1 hash size 3;
2056: option ISC.sample code 1 = text;
2057: option vendor.ISC code 2495 = encapsulate vivso-sample;
2058: option vendor-class.ISC code 2495 = text;
2059:
2060: option ISC.sample "configuration text here";
2061: option vendor-class.ISC "vendor class here";
2062:
2063: option space docsis code width 2 length width 2 hash size 17;
2064: option docsis.tftp-servers code 32 = array of ip6-address;
2065: option docsis.cablelabs-configuration-file code 33 = text;
2066: option docsis.cablelabs-syslog-servers code 34 = array of ip6-address;
2067: option docsis.device-id code 36 = string;
2068: option docsis.time-servers code 37 = array of ip6-address;
2069: option docsis.time-offset code 38 = signed integer 32;
2070: option vsio.docsis code 4491 = encapsulate docsis;
2071:
2072: .fi
2073: Once you have defined an option space and the format of some options,
2074: you can set up scopes that define values for those options, and you
1.1.1.1 ! misho 2075: can say when to use them. For example, suppose you want to handle
! 2076: two different classes of clients. Using the option space definition
1.1 misho 2077: shown in the previous example, you can send different option values to
2078: different clients based on the vendor-class-identifier option that the
2079: clients send, as follows:
2080: .PP
2081: .nf
2082: class "vendor-classes" {
2083: match option vendor-class-identifier;
2084: }
2085:
2086: subclass "vendor-classes" "SUNW.Ultra-5_10" {
2087: vendor-option-space SUNW;
2088: option SUNW.root-path "/export/root/sparc";
2089: }
2090:
2091: subclass "vendor-classes" "SUNW.i86pc" {
2092: vendor-option-space SUNW;
2093: option SUNW.root-path "/export/root/i86pc";
2094: }
2095:
2096: option SUNW.server-address 172.17.65.1;
2097: option SUNW.server-name "sundhcp-server17-1";
2098:
2099: option vivso-sample.sample "Hello world!";
2100:
2101: option docsis.tftp-servers ::1;
2102:
2103: .fi
2104: .PP
2105: As you can see in the preceding example, regular scoping rules apply,
2106: so you can define values that are global in the global scope, and only
2107: define values that are specific to a particular class in the local
2108: scope. The \fBvendor-option-space\fR declaration tells the DHCP
2109: server to use options in the SUNW option space to construct the DHCPv4
2110: .B vendor-encapsulated-options
2111: option. This is a limitation of that option - the DHCPv4 VIVSO and the
2112: DHCPv6 VSIO options can have multiple vendor definitions all at once (even
2113: transmitted to the same client), so it is not necessary to configure this.
2114: .SH SEE ALSO
2115: dhcpd.conf(5), dhcpd.leases(5), dhclient.conf(5), dhcp-eval(5), dhcpd(8),
2116: dhclient(8), RFC2132, RFC2131, RFC3046, RFC3315.
2117: .SH AUTHOR
2118: The Internet Systems Consortium DHCP Distribution was written by Ted
2119: Lemon under a contract with Vixie Labs. Funding for
2120: this project was provided through Internet Systems Consortium.
2121: Information about Internet Systems Consortium can be found at
2122: .B https://www.isc.org.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>