summaryrefslogtreecommitdiff
path: root/gpxe/src/net/udp/dhcp.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2008-06-13 16:20:05 -0700
committerH. Peter Anvin <hpa@zytor.com>2008-06-13 16:20:05 -0700
commit958ddda00522f768bf9adc86c0d5b446e0a672cf (patch)
treed03715b7cbd8580f90ebb231fcc987137776b3f7 /gpxe/src/net/udp/dhcp.c
parent0095d560ef91676d3a07db560f58ca83d85bff95 (diff)
downloadsyslinux-958ddda00522f768bf9adc86c0d5b446e0a672cf.tar.gz
gpxe: update gpxe to latest git
Diffstat (limited to 'gpxe/src/net/udp/dhcp.c')
-rw-r--r--gpxe/src/net/udp/dhcp.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/gpxe/src/net/udp/dhcp.c b/gpxe/src/net/udp/dhcp.c
index ecb73785..6ff8afe9 100644
--- a/gpxe/src/net/udp/dhcp.c
+++ b/gpxe/src/net/udp/dhcp.c
@@ -260,6 +260,14 @@ static struct dhcp_settings * dhcpset_create ( const struct dhcphdr *dhcphdr,
return dhcpset;
}
+/** DHCP server address setting */
+struct setting dhcp_server_setting __setting = {
+ .name = "dhcp-server",
+ .description = "DHCP server address",
+ .tag = DHCP_SERVER_IDENTIFIER,
+ .type = &setting_type_ipv4,
+};
+
/****************************************************************************
*
* DHCP session
@@ -924,7 +932,7 @@ static void dhcp_timer_expired ( struct retry_timer *timer, int fail ) {
}
/* Give up waiting for ProxyDHCP before we reach the failure point */
- if ( elapsed > PROXYDHCP_WAIT_TIME ) {
+ if ( dhcp->dhcpoffer && ( elapsed > PROXYDHCP_WAIT_TIME ) ) {
if ( dhcp->state == DHCP_STATE_DISCOVER ) {
dhcp_set_state ( dhcp, DHCP_STATE_REQUEST );
return;