xref: /openbsd-src/usr.sbin/dhcpd/dhcp-options.5 (revision 896d2b3d6aef4683a3defdb5732c0ebd0666689f)
1.\"	$OpenBSD: dhcp-options.5,v 1.36 2024/06/27 20:15:50 jmc Exp $
2.\"
3.\" Copyright (c) 1995, 1996, 1997, 1998 The Internet Software Consortium.
4.\" All rights reserved.
5.\"
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\"
10.\" 1. Redistributions of source code must retain the above copyright
11.\"    notice, this list of conditions and the following disclaimer.
12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\"    notice, this list of conditions and the following disclaimer in the
14.\"    documentation and/or other materials provided with the distribution.
15.\" 3. Neither the name of The Internet Software Consortium nor the names
16.\"    of its contributors may be used to endorse or promote products derived
17.\"    from this software without specific prior written permission.
18.\"
19.\" THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND
20.\" CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
21.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
22.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23.\" DISCLAIMED.  IN NO EVENT SHALL THE INTERNET SOFTWARE CONSORTIUM OR
24.\" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
27.\" USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
28.\" ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
30.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31.\" SUCH DAMAGE.
32.\"
33.\" This software has been written for the Internet Software Consortium
34.\" by Ted Lemon <mellon@fugue.com> in cooperation with Vixie
35.\" Enterprises.  To learn more about the Internet Software Consortium,
36.\" see ``http://www.isc.org/isc''.  To learn more about Vixie
37.\" Enterprises, see ``http://www.vix.com''.
38.\"
39.Dd $Mdocdate: June 27 2024 $
40.Dt DHCP-OPTIONS 5
41.Os
42.Sh NAME
43.Nm dhcp-options
44.Nd DHCP options
45.Sh DESCRIPTION
46The Dynamic Host Configuration protocol allows the client to receive
47.Ic options
48from the DHCP server describing the network configuration and various
49services that are available on the network.
50When configuring
51.Xr dhcpd 8 ,
52options must often be declared.
53The syntax for declaring options, and the names and formats of the options
54that can be declared, are documented here.
55.Pp
56DHCP
57.Ic option
58statements always start with the
59.Ic option
60keyword, followed by an option name, followed by option data.
61The option names and data formats are described below.
62It is not necessary to exhaustively specify all DHCP options \-
63only those options which are needed by clients must be specified.
64.Pp
65Option data comes in a variety of formats, as defined below:
66.Pp
67The
68.Ar ip-address
69data type can be entered either as an explicit IP address
70(e.g., 239.254.197.10) or as a domain name (e.g., haagen.isc.org).
71A domain name must resolve to a single IP address.
72.Pp
73The
74.Ar cidr
75data type specifies a network in CIDR notion.
76e.g. 1.2.3/24.
77.Pp
78The
79.Ar int32
80data type specifies a signed 32-bit integer.
81The
82.Ar uint32
83data type specifies an unsigned 32-bit integer.
84The
85.Ar uint16
86data type specifies unsigned 16-bit integers.
87The
88.Ar uint8
89data type specifies unsigned 8-bit integers,
90sometimes referred to as octets.
91.Pp
92The
93.Ar string
94data type specifies an
95.Tn NVT
96.Pq Network Virtual Terminal
97.Tn ASCII
98string, which must be enclosed in double quotes \- for example,
99to specify a domain-name option, the syntax would be
100.Pp
101.Dl option domain-name \&"isc.org\&";
102.Pp
103The
104.Ar flag
105data type specifies a boolean value.
106Booleans can be either true or false
107(or on or off, if that makes more sense to you).
108.Pp
109The
110.Ar data-string
111data type specifies either an
112.Tn NVT ASCII
113string enclosed in double quotes, or a series of octets specified in
114hexadecimal, separated by colons.
115For example:
116.Pp
117.Dl option dhcp-client-identifier \&"CLIENT-FOO\&";
118or
119.Dl option dhcp-client-identifier 43:4c:49:45:4e:54:2d:46:4f:4f;
120.Pp
121The documentation for the various options mentioned below is taken
122from the IETF draft document on DHCP options, RFC 2132.
123Options which are not listed by name may be defined by the name
124.Pf option- Ar nnn ,
125where
126.Ar nnn
127is the decimal number of the option code.
128These options may be followed either by a string, enclosed in quotes, or by
129a series of octets, expressed as two-digit hexadecimal numbers separated
130by colons.
131For example:
132.Bd -literal -offset indent
133option option-133 "my-option-133-text";
134option option-129 1:54:c9:2b:47;
135.Ed
136.Pp
137Because
138.Xr dhcpd 8
139does not know the format of these undefined option codes,
140no checking is done to ensure the correctness of the entered data.
141.Pp
142The defined options are:
143.Bl -tag -width Ds
144.It Ic option all-subnets-local Ar flag ;
145This option specifies whether or not the client may assume that all subnets
146of the IP network to which the client is connected use the same MTU as the
147subnet of that network to which the client is directly connected.
148A value of 1 indicates that all subnets share the same MTU.
149A value of 0 means that the client should assume that some subnets of the
150directly connected network may have smaller MTUs.
151.It Ic option arp-cache-timeout Ar uint32 ;
152This option specifies the timeout in seconds for ARP cache entries.
153.It Ic option autoproxy-script Ar string ;
154Site-specific as of RFC 3942.
155Widely used for Web Proxy Autodiscovery Protocol (WPAD).
156.It Ic option boot-size Ar uint16 ;
157This option specifies the length in 512-octet blocks of the default
158boot image for the client.
159.It Ic option bootfile-name Ar string ;
160This option is used to identify a bootstrap file.
161If supported by the client, it should have the same effect as the
162.Ic filename
163declaration.
164BOOTP clients are unlikely to support this option.
165Some DHCP clients will support it, and others actually require it.
166.It Ic option broadcast-address Ar ip-address ;
167This option specifies the broadcast address in use on the client's subnet.
168Legal values for broadcast addresses are specified in section 3.2.1.3 of
169RFC 1122.
170.It Ic option classless-static-routes Ar cidr ip-address Oo , Ar cidr ip-address ... Oc ;
171This option specifies a list of destination networks and the
172associated gateways.
173This option is defined in RFC 3442.
174The RFC says that clients supporting this option must ignore the
175.Ic Routers
176option when both are present.
177Thus default routes, if any,
178must be included in the list.
179The
180.Ar cidr
181of a default route is 0/0.
182.It Ic option classless-ms-static-routes Ar cidr ip-address Oo , Ar cidr ip-address ... Oc ;
183This option does the same as
184.Ic classless-static-routes ,
185but uses option code 249 instead of 121,
186since Windows XP and Windows Server 2003 ignore option 121.
187.It Ic option cookie-servers Ar ip-address Oo , Ar ip-address ... Oc ;
188The
189.Ic cookie-servers
190option specifies a list of RFC 865 cookie servers available to the client.
191Servers should be listed in order of preference.
192.It Ic option default-ip-ttl Ar uint8 ;
193This option specifies the default time-to-live that the client should
194use on outgoing datagrams.
195.It Ic option default-tcp-ttl Ar uint8 ;
196This option specifies the default TTL that the client should use when
197sending TCP segments.
198The minimum value is 1.
199.It Ic option dhcp-class-identifier Ar string ;
200This option is used by DHCP clients to optionally identify the vendor type
201and configuration of a DHCP client.
202The information is a string of n octets, interpreted by servers.
203Vendors may choose to define specific vendor class identifiers to convey
204particular configuration or other identification information about a client.
205For example, the identifier may encode the client's hardware configuration.
206Servers not equipped to interpret the class-specific information sent by a
207client must ignore it (although it may be reported).
208Servers that respond should only use option 43
209.Pq Ic vendor-encapsulated-options
210to return the vendor-specific information to the client.
211.It Ic option dhcp-client-identifier Ar data-string ;
212This option can be used to specify a DHCP client identifier in a
213host declaration, so that
214.Xr dhcpd 8
215can find the host record by matching against the client identifier.
216.It Ic option dhcp-lease-time Ar uint32 ;
217This option is used in a client request (DHCPDISCOVER or DHCPREQUEST) to
218allow the client to request a lease time for the IP address.
219In a server reply (DHCPOFFER), a DHCP server uses this option to specify the
220lease time it is willing to offer.
221.It Ic option dhcp-max-message-size Ar uint16 ;
222This option specifies the maximum length
223.Ic option dhcp-message
224that the DHCP client is willing to accept.
225The length is specified as an unsigned 16-bit integer.
226A client may use the maximum DHCP message size option in DHCPDISCOVER or
227DHCPREQUEST messages, but should not use the option in DHCPDECLINE messages.
228.It Ic option dhcp-message Ar string ;
229This option is used to send an error message to a DHCP client in
230the event of a failure.
231The maximum acceptable length of the message can be set with
232.Ic option dhcp-max-message-size .
233.It Ic option dhcp-message-type Ar uint8 ;
234This option is used to convey the type of the DHCP message.
235Values: 1=DHCPDISCOVER, 2=DHCPOFFER, 3=DHCPREQUEST, 4=DHCPDECLINE, 5=DHCPACK,
2366=DHCPNAK, 7=DHCPRELEASE, 8=DHCPINFORM.
237.It Ic option dhcp-option-overload Ar uint8 ;
238This option is used to indicate that the DHCP 'sname' or 'file' fields are
239being overloaded by using them to carry DHCP options.
240A DHCP server inserts this option if the returned parameters will exceed
241the usual space allotted for options.
242If this option is present, the client interprets the specified additional
243fields after it concludes interpretation of the standard option fields.
244A value of 1 means the 'file' field is used to hold options.
245A value of 2 means the 'sname' field is used to hold options.
246A value of 3 means both fields are used to hold options.
247.It Ic option dhcp-parameter-request-list Ar uint8 Oo , Ar uint8 ... Oc ;
248This option is used by a DHCP client to request values for specified
249configuration parameters.
250The list of requested parameters is specified as n octets, where each
251octet is a valid DHCP option code as defined in this document.
252The client MAY list the options in order of preference.
253The DHCP server is not required to return the options in the requested
254order, but MUST try to insert the requested options in the order requested
255by the client.
256.It Ic option dhcp-rebinding-time Ar uint32 ;
257This option specifies the time interval from address assignment until the
258client transitions to the REBINDING state.
259The value is in seconds.
260.It Ic option dhcp-renewal-time Ar uint32 ;
261This option specifies the time interval from address assignment until the
262client transitions to the RENEWING state.
263The value is in seconds.
264.It Ic option dhcp-requested-address Ar ip-address ;
265This option is used in a client request (DHCPDISCOVER) to allow the client
266to request that a particular IP address be assigned.
267.It Ic option dhcp-server-identifier Ar ip-address ;
268This option is used in DHCPOFFER and DHCPREQUEST messages, and may
269optionally be included in the DHCPACK and DHCPNAK messages.
270DHCP servers include this option in the DHCPOFFER in order to allow the
271client to distinguish between lease offers.
272DHCP clients use the contents of the 'server identifier' field as the
273destination address for any DHCP messages unicast to the DHCP server.
274DHCP clients also indicate which of several lease offers is being accepted
275by including this option in a DHCPREQUEST message.
276The identifier is the IP address of the selected server.
277.It Ic option domain-name Ar string ;
278This option specifies the domain name that the client should use when
279resolving hostnames via the Domain Name System.
280.It Ic option domain-name-servers Ar ip-address Oo , Ar ip-address ... Oc ;
281The
282.Ic domain-name-servers
283option specifies a list of Domain Name System name servers
284available to the client.
285Servers should be listed in order of preference.
286.It Ic option domain-search Ar string Oo , Ar string ... Oc ;
287The
288.Ic domain-search
289option specifies a list of the domain names that should be
290used during DNS name resolution.
291.It Ic option extensions-path Ar string ;
292A string to specify a file, retrievable via TFTP, which contains information
293which can be interpreted in the same way as the 64-octet vendor-extension
294field within the BOOTP response, with exceptions; see RFC 2132, Section 3.20
295for details.
296.It Ic option finger-server Ar ip-address Oo , Ar ip-address ... Oc ;
297The
298.Ic finger-server
299option specifies a list of
300.Xr finger 1
301servers available to the client.
302Servers should be listed in order of preference.
303.It Ic option font-servers Ar ip-address Oo , Ar ip-address ... Oc ;
304This option specifies a list of X Window System Font servers available
305to the client.
306Servers should be listed in order of preference.
307.It Ic option host-name Ar string ;
308This option specifies the name of the client.
309The name may or may not be qualified with the local domain name
310(it is preferable to use the
311.Ic domain-name
312option to specify the domain name).
313See RFC 1035 for character set restrictions.
314.It Ic option ieee802-3-encapsulation Ar flag ;
315This option specifies whether or not the client should use Ethernet
316Version 2 (RFC 894) or IEEE 802.3 (RFC 1042) encapsulation if the
317interface is an Ethernet.
318A value of 0 indicates that the client should use RFC 894 encapsulation.
319A value of 1 means that the client should use RFC 1042 encapsulation.
320.It Ic option ien116-name-servers Ar ip-address Oo , Ar ip-address ... Oc ;
321The
322.Ic ien116-name-servers
323option specifies a list of IEN 116 name servers available to the client.
324Servers should be listed in order of preference.
325.It Ic option impress-servers Ar ip-address Oo , Ar ip-address ... Oc ;
326The
327.Ic impress-servers
328option specifies a list of Imagen Impress servers available to the client.
329Servers should be listed in order of preference.
330.It Ic option interface-mtu Ar uint16 ;
331This option specifies the MTU to use on this interface.
332The minimum legal value for the MTU is 68.
333.It Ic option ip-forwarding Ar flag ;
334This option specifies whether the client should configure its IP layer
335for packet forwarding.
336A value of 0 means disable IP forwarding, and a value of 1 means enable
337IP forwarding.
338.It Ic option ipv6-only-preferred Ar uint32 ;
339This option specifies that NAT64 is available and the pool is IPv6-mostly
340capable.
341This option is specified in RFC 8925.
342.It Ic option irc-server Ar ip-address Oo , Ar ip-address ... Oc ;
343The
344.Ic irc-server
345option specifies a list of IRC servers available to the client.
346Servers should be listed in order of preference.
347.It Ic option log-servers Ar ip-address Oo , Ar ip-address ... Oc ;
348The
349.Ic log-servers
350option specifies a list of MIT-LCS UDP log servers available to the client.
351Servers should be listed in order of preference.
352.It Ic option lpr-servers Ar ip-address Oo , Ar ip-address ... Oc ;
353The
354.Ic lpr-servers
355option specifies a list of RFC 1179 line printer servers available to the
356client.
357Servers should be listed in order of preference.
358.It Ic option mask-supplier Ar flag ;
359This option specifies whether or not the client should respond to subnet mask
360requests using ICMP.
361A value of 0 indicates that the client should not respond.
362A value of 1 means that the client should respond.
363.It Ic option max-dgram-reassembly Ar uint16 ;
364This option specifies the maximum size datagram that the client should be
365prepared to reassemble.
366The minimum legal value is 576.
367.It Ic option merit-dump Ar string ;
368This option specifies the pathname of a file to which the client's
369core image should be dumped in the event the client crashes.
370The path is formatted as a character string consisting of characters from
371the
372.Tn NVT ASCII
373character set.
374.It Ic option mobile-ip-home-agent Ar ip-address Oo , Ar ip-address ... Oc ;
375This option specifies a list of IP addresses indicating Mobile IP
376home agents available to the client.
377Agents should be listed in order of preference, although normally there
378will be only one such agent.
379.It Ic option nds-context Ar data-string ;
380This option specifies the initial NDS context the client should use.
381NDS contexts are 16-bit Unicode strings.
382For transmission in the NDS Context Option, an NDS context is
383transformed into octets using UTF-8.
384The string should NOT be zero terminated.
385A single DHCP option can only contain 255 octets.
386Since an NDS context name can be longer than that, this option can
387appear more than once in the DHCP packet.
388The contents of all NDS Context options in the packet should be
389concatenated as suggested in the DHCP specification to get the
390complete NDS context.
391A single encoded character could be split between two NDS Context Options.
392See RFC 2241 for details.
393.It Ic option nds-servers Ar ip-address Oo , Ar ip-address ... Oc ;
394This option specifies one or more NDS servers for the client to contact
395for access to the NDS database.
396Servers should be listed in order of preference.
397See RFC 2241 for details.
398.It Ic option nds-tree-name Ar data-string ;
399This option specifies the name of the NDS tree the client will be contacting.
400NDS tree names are 16-bit Unicode strings.
401For transmission in the NDS Tree Name Option, an NDS tree name is
402transformed into octets using UTF-8.
403The string should not be zero terminated.
404See RFC 2241 for details.
405.It Ic option netbios-dd-server Ar ip-address Oo , Ar ip-address ... Oc ;
406The NetBIOS datagram distribution server (NBDD) option specifies a
407list of RFC 1001/1002 NBDD servers listed in order of preference.
408.It Ic option netbios-name-servers Ar ip-address Oo , Ar ip-address ... Oc ;
409The NetBIOS name server (NBNS) option specifies a list of RFC 1001/1002
410NBNS name servers listed in order of preference.
411NetBIOS Name Service is currently more commonly referred to as WINS.
412WINS servers can be specified using the
413.Ic netbios-name-servers
414option.
415.It Ic option netbios-node-type Ar uint8 ;
416The NetBIOS node type option allows NetBIOS over TCP/IP clients which
417are configurable to be configured as described in RFC 1001/1002.
418The value is specified as a single octet which identifies the client type.
419.Pp
420Possible node types are:
421.Bl -tag -width Ds
422.It 1
423B-node: Broadcast - no WINS
424.It 2
425P-node: Peer - WINS only
426.It 4
427M-node: Mixed - broadcast, then WINS
428.It 8
429H-node: Hybrid - WINS, then broadcast
430.El
431.It Ic option netbios-scope Ar string ;
432The NetBIOS scope option specifies the NetBIOS over TCP/IP scope
433parameter for the client as specified in RFC 1001/1002.
434See RFC 1001, RFC 1002, and RFC 1035 for character-set restrictions.
435.It Ic option nis-domain Ar string ;
436This option specifies the name of the client's NIS (Sun Network Information
437Services) domain.
438The domain is formatted as a character string consisting of characters
439from the
440.Tn NVT ASCII
441character set.
442.It Ic option nis-servers Ar ip-address Oo , Ar ip-address ... Oc ;
443This option specifies a list of IP addresses indicating NIS servers
444available to the client.
445Servers should be listed in order of preference.
446.It Ic option nisplus-domain Ar string ;
447This option specifies the name of the client's NIS+ domain.
448The domain is formatted as a character string consisting of characters
449from the
450.Tn NVT ASCII
451character set.
452.It Ic option nisplus-servers Ar ip-address Oo , Ar ip-address ... Oc ;
453This option specifies a list of IP addresses indicating NIS+ servers
454available to the client.
455Servers should be listed in order of preference.
456.It Ic option nntp-server Ar ip-address Oo , Ar ip-address ... Oc ;
457The
458.Ic nntp-server
459option specifies a list of NNTP servers available to the client.
460Servers should be listed in order of preference.
461.It Ic option non-local-source-routing Ar flag ;
462This option specifies whether the client should configure its IP
463layer to allow forwarding of datagrams with non-local source routes.
464A value of 0 means disallow forwarding of such datagrams, and a value of 1
465means allow forwarding.
466.It Ic option ntp-servers Ar ip-address Oo , Ar ip-address ... Oc ;
467This option specifies a list of IP addresses indicating NTP (RFC 5905)
468servers available to the client.
469Servers should be listed in order of preference.
470.It Ic option path-mtu-aging-timeout Ar uint32 ;
471This option specifies the timeout (in seconds) to use when aging Path
472MTU values discovered by the mechanism defined in RFC 1191.
473.It Ic option path-mtu-plateau-table Ar uint16 Oo , Ar uint16 ... Oc ;
474This option specifies a table of MTU sizes to use when performing
475Path MTU Discovery as defined in RFC 1191.
476The table is formatted as a list of 16-bit unsigned integers,
477ordered from smallest to largest.
478The minimum MTU value cannot be smaller than 68.
479.It Ic option perform-mask-discovery Ar flag ;
480This option specifies whether or not the client should perform subnet mask
481discovery using ICMP.
482A value of 0 indicates that the client should not perform mask discovery.
483A value of 1 means that the client should perform mask discovery.
484.It Ic option policy-filter Ar ip-address ip-address Oo , Ar ip-address ip-address ... Oc ;
485This option specifies policy filters for non-local source routing.
486The filters consist of a list of IP addresses and masks which specify
487destination/mask pairs with which to filter incoming source routes.
488.Pp
489Any source-routed datagram whose next-hop address does not match one
490of the filters should be discarded by the client.
491.Pp
492See RFC 1122 for further information.
493.It Ic option pop-server Ar ip-address Oo , Ar ip-address ... Oc ;
494The
495.Ic pop-server
496option specifies a list of POP3 servers available to the client.
497Servers should be listed in order of preference.
498.It Ic option relay-agent-information Ar data-string ;
499This is a "container" option for specific agent-supplied sub-options.
500See RFC 3046 for details.
501.It Ic option resource-location-servers Ar ip-address Oo , Ar ip-address ... Oc ;
502This option specifies a list of RFC 887 Resource Location servers available
503to the client.
504Servers should be listed in order of preference.
505.It Ic option root-path Ar string ;
506This option specifies the pathname that contains the client's root disk.
507The path is formatted as a character string consisting of characters from
508the
509.Tn NVT ASCII
510character set.
511.It Ic option router-discovery Ar flag ;
512This option specifies whether or not the client should solicit routers using
513the Router Discovery mechanism defined in RFC 1256.
514A value of 0 indicates that the client should not perform router discovery.
515A value of 1 means that the client should perform router discovery.
516.It Ic option router-solicitation-address Ar ip-address ;
517This option specifies the address to which the client should transmit
518router solicitation requests.
519.It Ic option routers Ar ip-address Oo , Ar ip-address ... Oc ;
520The
521.Ic routers
522option specifies a list of IP addresses for routers on the client's subnet.
523Routers should be listed in order of preference.
524.It Ic option smtp-server Ar ip-address Oo , Ar ip-address ... Oc ;
525The
526.Ic smtp-server
527option specifies a list of SMTP servers available to the client.
528Servers should be listed in order of preference.
529.It Ic option static-routes Ar ip-address ip-address Oo , Ar ip-address ip-address ... Oc ;
530This option specifies a list of static routes that the client should
531install in its routing cache.
532If multiple routes to the same destination are specified, they are listed
533in descending order of priority.
534.Pp
535The routes consist of a list of IP address pairs.
536The first address is the destination address,
537and the second address is the router for the destination.
538.Pp
539The default route (0.0.0.0) is an illegal destination for a static route.
540To specify the default route, use the
541.Ic routers
542option.
543Note that this option is obsolete and should be replaced by the
544.Ic classless-static-routes
545option.
546.It Ic option streettalk-directory-assistance-server Ar ip-address Oo , Ar ip-address ... Oc ;
547The StreetTalk Directory Assistance (STDA) server option specifies a
548list of STDA servers available to the client.
549Servers should be listed in order of preference.
550.It Ic option streettalk-server Ar ip-address Oo , Ar ip-address ... Oc ;
551The
552.Ic streettalk-server
553option specifies a list of StreetTalk servers available to the client.
554Servers should be listed in order of preference.
555.It Ic option subnet-mask Ar ip-address ;
556The
557.Ic subnet-mask
558option specifies the client's subnet mask as per RFC 950.
559If no subnet-mask option is provided anywhere in scope, as a last resort
560.Xr dhcpd 8
561will use the subnet mask from the subnet declaration for the network on
562which an address is being assigned.
563However,
564.Em any
565subnet-mask option declaration that is in scope for the address being
566assigned will override the subnet mask specified in the subnet declaration.
567.It Ic option swap-server Ar ip-address ;
568This specifies the IP address of the client's swap server.
569.It Ic option tcp-keepalive-garbage Ar flag ;
570This option specifies whether or not the client should send TCP keepalive
571messages with an octet of garbage for compatibility with older implementations.
572A value of 0 indicates that a garbage octet should not be sent.
573A value of 1 indicates that a garbage octet should be sent.
574.It Ic option tcp-keepalive-interval Ar uint32 ;
575This option specifies the interval (in seconds) that the client TCP
576should wait before sending a keepalive message on a TCP connection.
577The time is specified as a 32-bit unsigned integer.
578A value of zero indicates that the client should not generate keepalive
579messages on connections unless specifically requested by an application.
580.It Ic option tftp-config-file Ar string ;
581Option 144.
582Per RFC 2132 options 128 \- 254 are site-specific.
583RFC 3942 reclassifies options 128 to 223 as publicly defined options and
584puts them in "Unavailable" state by IANA.
585See RFC 3679 for "Unused DHCP Option Codes to be Reassigned to Future
586DHCP Options".
587See RFC 2939 for procedures for definitions of new DHCP options.
588.It Ic option tftp-server-name Ar string ;
589This option is used to identify a TFTP server and, if supported by the
590client, should have the same effect as the
591.Ic server-name
592declaration.
593BOOTP clients are unlikely to support this option.
594Some DHCP clients will support it, and others actually require it.
595.It Ic option time-offset Ar int32 ;
596The
597.Ic time-offset
598option specifies the offset of the client's subnet in seconds from
599Coordinated Universal Time (UTC).
600.It Ic option time-servers Ar ip-address Oo , Ar ip-address ... Oc ;
601The
602.Ic time-server
603option specifies a list of RFC 868 time servers available to the client.
604Servers should be listed in order of preference.
605.It Ic option trailer-encapsulation Ar flag ;
606This option specifies whether or not the client should negotiate the
607use of trailers (RFC 893) when using the ARP protocol.
608A value of 0 indicates that the client should not attempt to use trailers.
609A value of 1 means that the client should attempt to use trailers.
610.It Ic option user-class Ar string ;
611This option is used by a DHCP client to optionally identify the type or
612category of user or applications it represents.
613A DHCP server uses the User Class option to choose the address pool it
614allocates an address from and/or to select any other configuration option.
615This option may carry multiple User Classes.
616Servers may interpret the meanings of multiple class specifications in an
617implementation dependent or configuration dependent manner, and so the use
618of multiple classes by a DHCP client should be based on the specific server
619implementation and configuration which will be used to process that User
620class option.
621See RFC 3004 for details.
622.It Ic option vendor-encapsulated-options Ar data-string ;
623This option is used by clients and servers to exchange vendor-specific
624information.
625The information is an opaque object of n octets, presumably interpreted by
626vendor-specific code on the clients and servers.
627See RFC 2132, Section 8.4 for details.
628.It Ic option voip-configuration-server Ar ip-address Oo , Ar ip-address ... Oc ;
629The
630.Ic voip-configuration-server
631option specifies a list of (normally TFTP) servers that VoIP clients
632may download their configuration information and software images
633from.
634Servers should be listed in order of preference.
635.It Ic option www-server Ar ip-address Oo , Ar ip-address ... Oc ;
636The
637.Ic www-server
638option specifies a list of WWW servers available to the client.
639.It Ic option x-display-manager Ar ip-address Oo , Ar ip-address ... Oc ;
640This option specifies a list of systems that are running the X Window
641System Display Manager and are available to the client.
642Addresses should be listed in order of preference.
643.El
644.Sh SEE ALSO
645.Xr dhcpd.conf 5 ,
646.Xr dhcpd.leases 5 ,
647.Xr dhcpleased.conf 5 ,
648.Xr dhcpd 8 ,
649.Xr dhcpleased 8
650.Sh STANDARDS
651.Rs
652.%A R. Droms
653.%D October 1993
654.%R RFC 1534
655.%T Interoperation Between DHCP and BOOTP
656.Re
657.Pp
658.Rs
659.%A R. Droms
660.%D March 1997
661.%R RFC 2131
662.%T Dynamic Host Configuration Protocol
663.Re
664.Pp
665.Rs
666.%A S. Alexander
667.%A R. Droms
668.%D March 1997
669.%R RFC 2132
670.%T DHCP Options and BOOTP Vendor Extensions
671.Re
672.Pp
673.Rs
674.%A T. Lemon
675.%A S. Cheshire
676.%D November 2002
677.%R RFC 3396
678.%T Encoding Long Options in the Dynamic Host Configuration Protocol (DHCPv4)
679.Re
680.Pp
681.Rs
682.%A T. Lemon
683.%A S. Cheshire
684.%A B. Volz
685.%D December 2002
686.%R RFC 3442
687.%T The Classless Static Route Option for Dynamic Host Configuration Protocol (DHCP) version 4
688.Re
689.Sh AUTHORS
690.An -nosplit
691.Xr dhcpd 8
692was written by
693.An Ted Lemon Aq Mt mellon@vix.com
694under a contract with Vixie Labs.
695.Pp
696The current implementation was reworked by
697.An Henning Brauer Aq Mt henning@openbsd.org .
698