summaryrefslogtreecommitdiffstats
path: root/src/core/main.c
diff options
context:
space:
mode:
authorMichael Brown2006-03-16 18:40:55 +0100
committerMichael Brown2006-03-16 18:40:55 +0100
commit708bbc43bca286bb30f9376f346adf51e62f04c4 (patch)
treefe7b7062d60de9c58b5b6ce31db288d6223d7aee /src/core/main.c
parentMerge from Etherboot 5.4 (diff)
parentImport from Etherboot 5.4 (diff)
downloadipxe-708bbc43bca286bb30f9376f346adf51e62f04c4.tar.gz
ipxe-708bbc43bca286bb30f9376f346adf51e62f04c4.tar.xz
ipxe-708bbc43bca286bb30f9376f346adf51e62f04c4.zip
Merge from Etherboot 5.4
Diffstat (limited to 'src/core/main.c')
-rw-r--r--src/core/main.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/core/main.c b/src/core/main.c
index e0cac222..35c7bb2c 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -39,11 +39,6 @@ int url_port;
char as_main_program = 1;
-#ifdef IMAGE_FREEBSD
-int freebsd_howto = 0;
-char freebsd_kernel_env[FREEBSD_KERNEL_ENV_SIZE];
-#endif
-
#if 0
static inline unsigned long ask_boot(unsigned *index)
@@ -282,6 +277,16 @@ static int main_loop(int state)
if (dev->how_probe == PROBE_FAILED) {
state = -1;
}
+ if (state == 1) {
+ /* The bootp reply might have been changed, re-parse. */
+ decode_rfc1533(bootp_data.bootp_reply.bp_vend, 0,
+#ifdef NO_DHCP_SUPPORT
+ BOOTP_VENDOR_LEN + MAX_BOOTP_EXTLEN,
+#else
+ DHCP_OPT_LEN + MAX_BOOTP_EXTLEN,
+#endif /* NO_DHCP_SUPPORT */
+ 1);
+ }
}
}
switch(state) {