dhclient: support option 114, default-url ascii

This will enable further automation of HTTP UEFI boot loader support by
providing a specific option for providing the boot URL to FreeBSD.

Documented in:

https://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml
https://kb.isc.org/docs/isc-dhcp-44-manual-pages-dhcp-options
https://tools.ietf.org/html/rfc3679

Approved by:	emaste
MFC after:	2 weeks
Sponsored by:	SkunkWerks, GmbH
Differential Revision:	https://reviews.freebsd.org/D22475
This commit is contained in:
Dave Cottlehuber 2019-11-22 20:22:16 +00:00
parent f19de0a945
commit 130cfcf3fc
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=355019
4 changed files with 9 additions and 3 deletions

View File

@ -2601,6 +2601,7 @@ check_option(struct client_lease *l, int option)
case DHO_DHCP_CLIENT_IDENTIFIER:
case DHO_BOOTFILE_NAME:
case DHO_DHCP_USER_CLASS_ID:
case DHO_URL:
case DHO_END:
return (1);
case DHO_CLASSLESS_ROUTES:

View File

@ -587,6 +587,9 @@ Servers should be listed in order of preference.
The StreetTalk Directory Assistance (STDA) server option specifies a
list of STDA servers available to the client.
Servers should be listed in order of preference.
.It Ic option url Ar string ;
This option specifies the URL that the client may use when using UEFI
boot from a HTTP server.
.El
.Sh SEE ALSO
.Xr dhclient.conf 5 ,
@ -595,7 +598,7 @@ Servers should be listed in order of preference.
.Xr dhclient 8 ,
.Xr dhcpd 8
.Rs
.%R "RFC 2131, RFC 2132"
.%R "RFC 2131, RFC 2132, RFC 3769"
.Re
.Sh AUTHORS
.An -nosplit

View File

@ -171,6 +171,7 @@ struct dhcp_packet {
#define DHO_STREETTALK_SERVER 75
#define DHO_STREETTALK_DA_SERVER 76
#define DHO_DHCP_USER_CLASS_ID 77
#define DHO_URL 114
#define DHO_DOMAIN_SEARCH 119
#define DHO_CLASSLESS_ROUTES 121
#define DHO_END 255

View File

@ -181,7 +181,7 @@ struct option dhcp_options[256] = {
{ "option-111", "X", &dhcp_universe, 111 },
{ "option-112", "X", &dhcp_universe, 112 },
{ "option-113", "X", &dhcp_universe, 113 },
{ "option-114", "X", &dhcp_universe, 114 },
{ "url", "t", &dhcp_universe, 114 },
{ "option-115", "X", &dhcp_universe, 115 },
{ "option-116", "X", &dhcp_universe, 116 },
{ "option-117", "X", &dhcp_universe, 117 },
@ -404,11 +404,12 @@ unsigned char dhcp_option_default_priority_list[] = {
DHO_STREETTALK_DA_SERVER,
DHO_DHCP_USER_CLASS_ID,
DHO_DOMAIN_SEARCH,
DHO_URL,
/* Presently-undefined options... */
62, 63, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
106, 107, 108, 109, 110, 111, 112, 113, 115, 116, 117,
118, 120, 122, 123, 124, 125, 126, 127, 128, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,