diff options
author | Thomas Markwalder <tmark@isc.org> | 2019-06-20 10:20:14 -0400 |
---|---|---|
committer | Thomas Markwalder <tmark@isc.org> | 2019-06-20 10:20:14 -0400 |
commit | bbb66aedc46b336e5c71f10eb747ead60729aa04 (patch) | |
tree | db818f06f351241e15cd915b77adc40e01e450d2 | |
parent | a5330adf52081f8b5c39f6ed8df619549cd58a6d (diff) | |
download | isc-dhcp-bbb66aedc46b336e5c71f10eb747ead60729aa04.tar.gz |
[v4_1_esv] Updated supported DHCPv4 options
merged [47062_a] Updated supported DHCPv4 options
-rw-r--r-- | RELNOTES | 8 | ||||
-rw-r--r-- | common/dhcp-options.5 | 71 | ||||
-rw-r--r-- | common/tables.c | 14 | ||||
-rw-r--r-- | includes/site.h | 9 |
4 files changed, 92 insertions, 10 deletions
@@ -109,6 +109,14 @@ dhcp-users@lists.isc.org. cannot rely on the results of executable statements. [ISC-Bugs #45451] +- Support for sending and receiving additional DHCP4 options has been added + to both the dhcpd and dhclient. Specifically: option codes 93,94, and 97 + (RFC 4578); code 150 (RFC 5859); and codes 209,219, and 211 (RFC 5071). + Beyond configuring, sending, requesting, and receiving these options neither + server nor client apply any additional logic based on their values. + Thanks to Peter Lewis for requesting this change. + [ISC-Bugs 47062] + Changes since 4.1-ESV-R15b1 - None diff --git a/common/dhcp-options.5 b/common/dhcp-options.5 index 9db08a41..4b000662 100644 --- a/common/dhcp-options.5 +++ b/common/dhcp-options.5 @@ -1,6 +1,6 @@ .\" $Id: dhcp-options.5,v 1.43.8.4 2010/07/13 20:57:18 dhankins Exp $ .\" -.\" Copyright (c) 2012-2015 by Internet Systems Consortium, Inc. ("ISC") +.\" Copyright (c) 2012-2018 by Internet Systems Consortium, Inc. ("ISC") .\" Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC") .\" Copyright (c) 1996-2003 by Internet Software Consortium .\" @@ -544,6 +544,34 @@ 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 .RS 0.25i @@ -813,6 +841,33 @@ The POP3 server option specifies a list of POP3 servers available to the client. Servers should be listed in order of preference. .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 \fBresource-location-servers\fR \fIip-address\fR [\fB, \fR\fIip-address\fR...]\fB;\fR .fi @@ -856,7 +911,7 @@ The routers option specifies a list of IP addresses for routers on the client's subnet. Routers should be listed in order of preference. .RE .PP -.B option slp-directory-agent \fIboolean ip-address +.B option \fBslp-directory-agent\fR \fIboolean ip-address [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP @@ -877,7 +932,7 @@ If you have an NDS directory agent whose address you need to 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 @@ -978,6 +1033,16 @@ This option is not user configurable in the server. 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 diff --git a/common/tables.c b/common/tables.c index 8e37cae0..559793ed 100644 --- a/common/tables.c +++ b/common/tables.c @@ -192,9 +192,8 @@ static struct option dhcp_options[] = { { "client-last-transaction-time", "L", &dhcp_universe, 91, 1 }, { "associated-ip", "Ia", &dhcp_universe, 92, 1 }, -#if 0 - /* Defined by RFC 4578 */ - { "pxe-system-type", "S", &dhcp_universe, 93, 1 }, +#if defined(RFC4578_OPTIONS) + { "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 @@ -220,13 +219,14 @@ static struct option dhcp_options[] = { { "pxe-undefined-7", "X", &dhcp_universe, 134, 1 }, { "pxe-undefined-8", "X", &dhcp_universe, 135, 1 }, #endif -#if 0 - /* Not defined by RFC yet */ +#if defined(RFC5859_OPTIONS) { "tftp-server-address", "Ia", &dhcp_universe, 150, 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 }, diff --git a/includes/site.h b/includes/site.h index 693ec1c3..66b022ac 100644 --- a/includes/site.h +++ b/includes/site.h @@ -325,3 +325,12 @@ * by dhclient when running in one-try mode (-T) and the attempt to * obtain the desired lease(s) fails. Applies to IPv4 mode only. */ /* #define CALL_SCRIPT_ON_ONETRY_FAIL */ + +/* Include definitions for various options. In general these + should be left as is, but if you have already defined one + of these and prefer your definition you can comment the + of these and prefer your definition you can comment the + RFC define out to avoid conflicts */ +#define RFC4578_OPTIONS +#define RFC5071_OPTIONS +#define RFC5859_OPTIONS |