]> git.ipfire.org Git - people/ms/ipfire-3.x.git/blame - dhcp/patches/dhcp-4.2.5-rfc5970-dhcpv6-options-for-network-boot.patch
dhcp: Update to 4.2.5.
[people/ms/ipfire-3.x.git] / dhcp / patches / dhcp-4.2.5-rfc5970-dhcpv6-options-for-network-boot.patch
CommitLineData
177b938a
MT
1diff -up dhcp-4.2.5b1/common/dhcp-options.5.rfc5970 dhcp-4.2.5b1/common/dhcp-options.5
2--- dhcp-4.2.5b1/common/dhcp-options.5.rfc5970 2012-12-17 13:43:44.000000000 +0100
3+++ dhcp-4.2.5b1/common/dhcp-options.5 2012-12-17 13:45:18.777638579 +0100
4@@ -1771,7 +1771,48 @@ The \fBlq-relay-data\fR option is used i
444c1184
MT
5 The \fBlq-client-link\fR option is used internally by for lease query.
6 .RE
7 .PP
8+
9+.B option
10+.B dhcp6.bootfile-url
11+.I string
12+.B ;
13+.RS 0.25i
14+.PP
15+The server sends this option to inform the client about a URL to a
16+boot file. Used primarily for UEFI network booting, it contains an RFC3986
17+compliant URI which the client may use to boot an operating system. This option
18+is defined in RFC5970
177b938a 19 .RE
444c1184
MT
20+.PP
21+
22+.B option
23+.B dhcp6.arch-type
24+.I arch-id \fR[\fB,\fR arch-id\fR...]
25+.B ;
26+.RS 0.25i
27+.PP
28+A client will send this option to a server so that the server may make decisions
29+on what options and addresses to offer the requesting client. The option
30+consists of a list of 16 bit unsigned values that represent the architecture of
31+the requesting client. These values corespond to the values available to the
32+dhcpv4 option architecture-type, as defined in RFC4578, section 2.1.
33+This option is defined in RFC5970
177b938a 34+ .RE
444c1184
MT
35+.PP
36+
37+.B option
38+.B dhcp6.net-id
39+.I uint8 uint8 uint8
40+.B ;
41+.RS 0.25i
42+.PP
43+A client will send this option to a server to inform it about the clients level
44+of UNDI support. The option consists of 3 octets (a type, major and minor
45+value). Specific meanings of these values are doumented in section 2.2 of
46+RFC4578.
47+This option is defined in RFC5970
48+.RE
49+.PP
50 .SH DEFINING NEW OPTIONS
51 The Internet Systems Consortium DHCP client and server provide the
177b938a
MT
52 capability to define new options. Each DHCP option has a name, a
53diff -up dhcp-4.2.5b1/common/tables.c.rfc5970 dhcp-4.2.5b1/common/tables.c
54--- dhcp-4.2.5b1/common/tables.c.rfc5970 2012-12-17 13:43:44.204939024 +0100
55+++ dhcp-4.2.5b1/common/tables.c 2012-12-17 13:43:44.286937948 +0100
56@@ -463,6 +463,18 @@ static struct option dhcpv6_options[] =
444c1184
MT
57 { "lq-relay-data", "6X", &dhcpv6_universe, 47, 1 },
58 { "lq-client-link", "6A", &dhcpv6_universe, 48, 1 },
59
60+ /* RFC5970 OPTIONS */
61+
62+ { "bootfile-url", "t", &dhcpv6_universe, 59, 1},
63+#if 0
64+ /* Can't implement this until arrays of strings with length "StA"
65+ * are implemented
66+ */
67+ { "bootfile-param", "StA", &dhcpv6_universe, 60, 1},
68+#endif
69+ { "arch-type", "Sa", &dhcpv6_universe, 61, 1},
70+ { "net-id", "BBB", &dhcpv6_universe, 62, 1},
71+
72 { NULL, NULL, NULL, 0, 0 }
73 };
74
177b938a
MT
75diff -up dhcp-4.2.5b1/includes/dhcp6.h.rfc5970 dhcp-4.2.5b1/includes/dhcp6.h
76--- dhcp-4.2.5b1/includes/dhcp6.h.rfc5970 2012-12-04 20:45:42.000000000 +0100
77+++ dhcp-4.2.5b1/includes/dhcp6.h 2012-12-17 13:43:44.286937948 +0100
444c1184
MT
78@@ -75,6 +75,11 @@
79 #define D6O_CLT_TIME 46 /* RFC5007 */
80 #define D6O_LQ_RELAY_DATA 47 /* RFC5007 */
81 #define D6O_LQ_CLIENT_LINK 48 /* RFC5007 */
82+/* 49-58 Not yet assigned */
83+#define D60_BOOT_URL 59 /* RFC5970 */
84+#define D60_BOOT_PARAMS 60 /* RFC5970 */
85+#define D60_CLIENT_ARCH 61 /* RFC5970 */
86+#define D60_CLIENT_NII 62 /* RFC5970 */
87
88 /*
89 * Status Codes, from RFC 3315 section 24.4, and RFC 3633, 5007.