udhcpc6: add PXELINUX options
authorSamuel Mendoza-Jonas <sam@mendozajonas.com>
Mon, 14 May 2018 04:29:13 +0000 (14:29 +1000)
committerDenys Vlasenko <vda.linux@googlemail.com>
Mon, 14 May 2018 08:46:00 +0000 (10:46 +0200)
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>
networking/udhcp/d6_dhcpc.c

index f837bd54993a6de730b7c3be50d61d3d5f0b96b0..85068721a6c6768a14592369249465b04ba230db 100644 (file)
@@ -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)