summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Mendoza-Jonas <sam@mendozajonas.com>2018-05-14 04:29:13 (GMT)
committerDenys Vlasenko <vda.linux@googlemail.com>2018-05-14 08:46:00 (GMT)
commit30f4d52ed17112f4fa340afe3bcaf305eeed36d9 (patch)
treecb1413e89d293ab0fcfd5206a67b8e70228bc875
parent23cbd7d5bbbf8f5fb65d1ff3a92323f2bb300f63 (diff)
downloadbusybox-30f4d52ed17112f4fa340afe3bcaf305eeed36d9.tar.gz
busybox-30f4d52ed17112f4fa340afe3bcaf305eeed36d9.tar.bz2
udhcpc6: add PXELINUX options
Add support for the PXELINUX options 209 ("ConfigFile") and 210 ("PathPrefix") in the DHCPv6 client. See also: RFC5071, "Dynamic Host Configuration Protocol Options Used by PXELINUX". Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--networking/udhcp/d6_dhcpc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/networking/udhcp/d6_dhcpc.c b/networking/udhcp/d6_dhcpc.c
index f837bd5..8506872 100644
--- a/networking/udhcp/d6_dhcpc.c
+++ b/networking/udhcp/d6_dhcpc.c
@@ -83,6 +83,8 @@ static const struct dhcp_optflag d6_optflags[] = {
{ OPTION_STRING, D6_OPT_BOOT_URL },
{ OPTION_STRING, D6_OPT_BOOT_PARAM },
#endif
+ { OPTION_STRING, 0xd1 }, /* DHCP_PXE_CONF_FILE */
+ { OPTION_STRING, 0xd2 }, /* DHCP_PXE_PATH_PREFIX */
{ 0, 0 }
};
/* Must match d6_optflags[] order */
@@ -102,7 +104,8 @@ static const char d6_option_strings[] ALIGN1 =
"bootfile_url" "\0" /* D6_OPT_BOOT_URL */
"bootfile_param" "\0" /* D6_OPT_BOOT_PARAM */
#endif
-
+ "pxeconffile" "\0" /* DHCP_PXE_CONF_FILE */
+ "pxepathprefix" "\0" /* DHCP_PXE_PATH_PREFIX */
"\0";
#if ENABLE_LONG_OPTS
@@ -401,6 +404,8 @@ static void option_to_env(uint8_t *option, uint8_t *option_end)
#endif
case D6_OPT_BOOT_URL:
case D6_OPT_BOOT_PARAM:
+ case 0xd1: /* DHCP_PXE_CONF_FILE */
+ case 0xd2: /* DHCP_PXE_PATH_PREFIX */
{
char *tmp = string_option_to_env(option, option_end);
if (tmp)