aboutsummaryrefslogtreecommitdiff
path: root/net/bootp.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/bootp.c')
-rw-r--r--net/bootp.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/net/bootp.c b/net/bootp.c
index 938d54101..13dac8420 100644
--- a/net/bootp.c
+++ b/net/bootp.c
@@ -85,7 +85,6 @@ u8 *__dhcp_vendorex_prep(u8 *e)
while (*ptr)
*e++ = *ptr++;
}
-
return e;
}
@@ -95,6 +94,10 @@ u8 *__dhcp_vendorex_proc(u8 *popt)
}
u8 *dhcp_vendorex_prep(u8 *e) __attribute__((weak, alias("__dhcp_vendorex_prep")));
u8 *dhcp_vendorex_proc(u8 *e) __attribute__((weak, alias("__dhcp_vendorex_proc")));
+
+#if defined(CONFIG_BOOTP_VENDOREX_PXE_SHARED)
+# include "../net/magic.h"
+#endif
#endif
#endif
@@ -724,6 +727,9 @@ static void DhcpOptionsProcess(uchar *popt, struct Bootp_t *bp)
int *to_ptr;
#endif
+#if defined(CONFIG_BOOTP_VENDOREX) && defined(CONFIG_BOOTP_VENDOREX_PXE_SHARED)
+ dhcp_vendorex_opts_done();
+#endif
while (popt < end && *popt != 0xff) {
oplen = *(popt + 1);
switch (*popt) {
@@ -817,6 +823,9 @@ static void DhcpOptionsProcess(uchar *popt, struct Bootp_t *bp)
}
popt += oplen + 2; /* Process next option */
}
+#if defined(CONFIG_BOOTP_VENDOREX) && defined(CONFIG_BOOTP_VENDOREX_PXE_SHARED)
+ dhcp_vendorex_opts_done();
+#endif
}
static int DhcpMessageType(unsigned char *popt)