diff options
author | Michael Brown | 2006-03-16 18:40:55 +0100 |
---|---|---|
committer | Michael Brown | 2006-03-16 18:40:55 +0100 |
commit | 708bbc43bca286bb30f9376f346adf51e62f04c4 (patch) | |
tree | fe7b7062d60de9c58b5b6ce31db288d6223d7aee /src/core/main.c | |
parent | Merge from Etherboot 5.4 (diff) | |
parent | Import from Etherboot 5.4 (diff) | |
download | ipxe-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.c | 15 |
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) { |