]> git.ipfire.org Git - thirdparty/dhcp.git/commitdiff
[v4_1_esv] Updated supported DHCPv4 options
authorThomas Markwalder <tmark@isc.org>
Thu, 20 Jun 2019 14:20:14 +0000 (10:20 -0400)
committerThomas Markwalder <tmark@isc.org>
Thu, 20 Jun 2019 14:20:14 +0000 (10:20 -0400)
    merged [47062_a] Updated supported DHCPv4 options

RELNOTES
common/dhcp-options.5
common/tables.c
includes/site.h

index 860a8c5f82dd7ad78a6b7fba7b9d85a1c1b38495..edb258d798c1d32bad3c2a6e4e52d5c7d21b3d14 100644 (file)
--- a/RELNOTES
+++ b/RELNOTES
@@ -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
index 9db08a4187bd272bb9a7c3d94bc44cefbf10a8e9..4b000662f412bdc6e86d62de64364ebde8c6ee2f 100644 (file)
@@ -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
index 8e37cae08dacb2e051028d2263f6c0d3f70dab96..559793eda5d344b9279b655425d90c37bcb816ad 100644 (file)
@@ -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 },
index 693ec1c3207cb029ae43184863564c5fda9ad1de..66b022acdb73b73519af827abf2788fe58ef0056 100644 (file)
  * 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