diff -up dhcp-4.2.3-P2/common/dhcp-options.5.rfc5970 dhcp-4.2.3-P2/common/dhcp-options.5 --- dhcp-4.2.3-P2/common/dhcp-options.5.rfc5970 2012-03-21 19:39:47.572002389 +0100 +++ dhcp-4.2.3-P2/common/dhcp-options.5 2012-03-21 19:39:47.670001164 +0100 @@ -1770,7 +1770,48 @@ The \fBlq-relay-data\fR option is used i The \fBlq-client-link\fR option is used internally by for lease query. .RE .PP + +.B option +.B dhcp6.bootfile-url +.I string +.B ; +.RS 0.25i +.PP +The server sends this option to inform the client about a URL to a +boot file. Used primarily for UEFI network booting, it contains an RFC3986 +compliant URI which the client may use to boot an operating system. This option +is defined in RFC5970 +.RE +.PP + +.B option +.B dhcp6.arch-type +.I arch-id \fR[\fB,\fR arch-id\fR...] +.B ; +.RS 0.25i +.PP +A client will send this option to a server so that the server may make decisions +on what options and addresses to offer the requesting client. The option +consists of a list of 16 bit unsigned values that represent the architecture of +the requesting client. These values corespond to the values available to the +dhcpv4 option architecture-type, as defined in RFC4578, section 2.1. +This option is defined in RFC5970 .RE +.PP + +.B option +.B dhcp6.net-id +.I uint8 uint8 uint8 +.B ; +.RS 0.25i +.PP +A client will send this option to a server to inform it about the clients level +of UNDI support. The option consists of 3 octets (a type, major and minor +value). Specific meanings of these values are doumented in section 2.2 of +RFC4578. +This option is defined in RFC5970 +.RE +.PP .SH DEFINING NEW OPTIONS The Internet Systems Consortium DHCP client and server provide the capability to define new options. Each DHCP option has a name, a diff -up dhcp-4.2.3-P2/common/tables.c.rfc5970 dhcp-4.2.3-P2/common/tables.c --- dhcp-4.2.3-P2/common/tables.c.rfc5970 2012-03-21 19:39:47.577002328 +0100 +++ dhcp-4.2.3-P2/common/tables.c 2012-03-21 19:39:47.670001164 +0100 @@ -461,6 +461,18 @@ static struct option dhcpv6_options[] = { "lq-relay-data", "6X", &dhcpv6_universe, 47, 1 }, { "lq-client-link", "6A", &dhcpv6_universe, 48, 1 }, + /* RFC5970 OPTIONS */ + + { "bootfile-url", "t", &dhcpv6_universe, 59, 1}, +#if 0 + /* Can't implement this until arrays of strings with length "StA" + * are implemented + */ + { "bootfile-param", "StA", &dhcpv6_universe, 60, 1}, +#endif + { "arch-type", "Sa", &dhcpv6_universe, 61, 1}, + { "net-id", "BBB", &dhcpv6_universe, 62, 1}, + { NULL, NULL, NULL, 0, 0 } }; diff -up dhcp-4.2.3-P2/includes/dhcp6.h.rfc5970 dhcp-4.2.3-P2/includes/dhcp6.h --- dhcp-4.2.3-P2/includes/dhcp6.h.rfc5970 2010-02-17 21:33:55.000000000 +0100 +++ dhcp-4.2.3-P2/includes/dhcp6.h 2012-03-21 19:39:47.671001151 +0100 @@ -75,6 +75,11 @@ #define D6O_CLT_TIME 46 /* RFC5007 */ #define D6O_LQ_RELAY_DATA 47 /* RFC5007 */ #define D6O_LQ_CLIENT_LINK 48 /* RFC5007 */ +/* 49-58 Not yet assigned */ +#define D60_BOOT_URL 59 /* RFC5970 */ +#define D60_BOOT_PARAMS 60 /* RFC5970 */ +#define D60_CLIENT_ARCH 61 /* RFC5970 */ +#define D60_CLIENT_NII 62 /* RFC5970 */ /* * Status Codes, from RFC 3315 section 24.4, and RFC 3633, 5007.