.\" $Id: dhcp-options.5,v 1.50 2011/05/20 13:48:32 tomasz Exp $
.\"
-.\" Copyright (c) 2012-2016 by Internet Systems Consortium, Inc. ("ISC")
-.\" Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC")
+.\" Copyright (c) 2004-2018 by Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (c) 1996-2003 by Internet Software Consortium
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.SH SETTING OPTION VALUES USING EXPRESSIONS
Sometimes it's helpful to be able to set the value of a DHCP option
based on some value that the client has sent. To do this, you can
-use expression evaluation. The
+use expression evaluation. The
.B dhcp-eval(5)
manual page describes how to write expressions. To assign the result
of an evaluation to an option, define the option as follows:
the RFC that defines the option in includes/site.h. This provides you
with a method for over-riding the ISC definitions if necessary - for
example if you have previously defined the option with a different
-format using the mechanism from DEFINING NEW OPTIONS below.
+format using the mechanism from DEFINING NEW OPTIONS below.
.PP
By default all of the options are enabled. In order to disable an option
you would edit the includes/site.h file and comment out the definition for
The IRC server option specifies a list of IRC servers available
to the client. Servers should be listed in order of preference.
.RE
+
+.PP
+.B option \fBloader-configfile\fR \fItext\fR
+.RS 0.25i
+.PP
+This option is used to specify a boot loading configuration file
+a PXE client should use.
+.PP
+This option is included based on RFC 5071.
+.RE
+.PP
+.B option \fBloader-pathprefix\fR \fItext\fR
+.RS 0.25i
+.PP
+This option is used to specify a path prefix a PXE client should
+use in conjunction with the boot load configuration file.
+.PP
+This option is included based on RFC 5071.
+.RE
+.PP
+.B option \fBloader-reboottime\fR \fIuint32\fR
+.RS 0.25i
+.PP
+This option is used to dictate the maximum amount of time a
+PXE client should allow itself to achieve configured network
+resources before rebooting.
+.PP
+This option is included based on RFC 5071.
+.RE
.PP
.B option \fBlog-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...
]\fB;\fR
information.
.RE
.PP
+.B option \fBpxe-system-type\fR \fIuint16\fR [\fB, \fIuint16\fR ... ]\fB;\fR
+.RS 0.25i
+.PP
+A list of one ore more 16-bit integers which allows a client to specify its
+pre-boot architecture type(s).
+.PP
+This option is included based on RFC 4578.
+.RE
+.PP
+.B option \fBpxe-interface-id\fR \fIuint8\fR \fIuint8\fR \fIuint8\fR
+.RS 0.25i
+.PP
+A three octet value which allows a client to specify its network interface
+type.
+.PP
+This option is included based on RFC 4578.
+.RE
+.PP
+.B option \fBpxe-client-id\fR \fIuint8\fR \fIstring\fR
+.RS 0.25i
+.PP
+A single octet indicating type, followed by a string that allows a
+client to specify its PXE client identity.
+.PP
+This option is included based on RFC 4578.
+.RE
+.PP
.B option \fBoption-6rd\fR \fIuint8 uint8 ip6-address ip-address\fR [\fB,\fR
.I ip-address \fR...]\fB;\fR
.RS 0.25i
configure, the slp-directory-agent option should work.
.RE
.PP
-.B option slp-service-scope \fIboolean text\fR\fB;\fR
+.B option \fBslp-service-scope\fR \fIboolean text\fR\fB;\fR
.RS 0.25i
.PP
The Service Location Protocol Service Scope Option specifies two
This specifies the IP address of the client's swap server.
.RE
.PP
+.B option \fBtftp-server-address\fR \fIip-address\fR [\fB,\fR
+\fIip-address\fR... ]\fB;\fR
+.RS 0.25i
+.PP
+This option configures a list of one or more IPv4 addresses of
+tftp servers a client may use.
+.PP
+This option is included based on RFC 5859
+.RE
+.PP
.B option \fBtcp-keepalive-garbage\fR \fIflag\fR\fB;\fR
.RS 0.25i
.PP
above.
.RE
.PP
-.B option
+.B option
.B dhcp6.name-servers
.I ip6-address \fR[\fB,\fR
.I ip6-address \fR... ]
.PP
The \fBia-prefix\fR option is placed inside \fBia-pd\fR options in order
to identify the prefix(es) allocated to the client. It is not directly
-edited in dhcpd.conf(5) or dhclient.conf(5), but rather is
+edited in dhcpd.conf(5) or dhclient.conf(5), but rather is
manufactured and consumed by the software.
.RE
.PP
.B ;
.PP
An option whose structure is an IPv6 address must be expressed as
-a valid IPv6 address. The following is an example use of the
+a valid IPv6 address. The following is an example use of the
ip6-address type:
.nf
10.0.1.0 255.255.255.0 net-1-rtr.example.com 1,
10.2.0.0 255.255.224.0 net-2-0-rtr.example.com 3;
-.fi
+.fi
.SH VENDOR ENCAPSULATED OPTIONS
The DHCP protocol defines the \fBvendor-encapsulated-options\fR
option, which allows vendors to define their own options that will be
The second way of setting the value of these options is to have the DHCP
server generate a vendor-specific option buffer. To do this, you
must do four things: define an option space, define some options in
-that option space, provide values for them, and specify that that
+that option space, provide values for them, and specify that that
option space should be used to generate the relevant option.
.PP
To define a new option space in which vendor options can be stored,
Tables of information... */
/*
- * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (c) 2004-2018 by Internet Systems Consortium, Inc. ("ISC")
* Copyright (c) 1995-2003 by Internet Software Consortium
*
* This Source Code Form is subject to the terms of the Mozilla Public
{ "client-last-transaction-time", "L", &dhcp_universe, 91, 1 },
{ "associated-ip", "Ia", &dhcp_universe, 92, 1 },
-#if 0
+#if defined(RFC4578_OPTIONS)
/* Defined by RFC 4578 */
- { "pxe-system-type", "S", &dhcp_universe, 93, 1 },
+ { "pxe-system-type", "Sa", &dhcp_universe, 93, 1 },
{ "pxe-interface-id", "BBB", &dhcp_universe, 94, 1 },
{ "pxe-client-id", "BX", &dhcp_universe, 97, 1 },
#endif
#if defined(RFC6731_OPTIONS)
{ "rdnss-selection", "BIID", &dhcp_universe, 146, 1 },
#endif
-#if 0
- /* Not defined by RFC yet */
+#if defined(RFC5859_OPTIONS)
{ "tftp-server-address", "Ia", &dhcp_universe, 150, 1 },
#endif
#if defined(RFC7618_OPTIONS)
#if defined(RFC7710_OPTIONS)
{ "v4-captive-portal", "t", &dhcp_universe, 160, 1 },
#endif
-#if 0
- /* PXELINUX options: defined by RFC 5071 */
+#if defined(RFC5071_OPTIONS)
+#if 0
+ /* Option 208 has been officially deprecated. Do NOT define it */
{ "pxelinux-magic", "BBBB", &dhcp_universe, 208, 1 },
+#endif
{ "loader-configfile", "t", &dhcp_universe, 209, 1 },
{ "loader-pathprefix", "t", &dhcp_universe, 210, 1 },
{ "loader-reboottime", "L", &dhcp_universe, 211, 1 },
{ "relay-msg", "X", &dhcpv6_universe, 9, 1 },
/* Option code 10 is curiously unassigned. */
- /*
+ /*
* In draft-ietf-dhc-dhcpv6-25 there were two OPTION_CLIENT_MSG and
* OPTION_SERVER_MSG options. They were eventually unified as
- * OPTION_RELAY_MSG, hence no option with value of 10.
+ * OPTION_RELAY_MSG, hence no option with value of 10.
*/
#if 0
/* XXX: missing suitable atoms for the auth option. We may want