aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Brown <mcb30@etherboot.org>2008-08-13 21:51:53 +0100
committerMichael Brown <mcb30@etherboot.org>2008-08-13 21:51:53 +0100
commita1d0f6ed2e8ad7c04615db405cffb3eec4ae139a (patch)
treed69f6323fbbee7a8884852343af5b6459e66ece4 /src
parentff2b6a512d7a4f351e48dc9a042099a1010342a3 (diff)
downloadipxe-a1d0f6ed2e8ad7c04615db405cffb3eec4ae139a.tar.gz
[dhcp] Do not restrict minimum retry time for ProxyDHCPREQUEST
The ProxyDHCPREQUEST is a unicast packet, so the first request will almost always be lost due to not having the IP address in the ARP cache. If the minimum retry time is set to one second (as per commit ff2b6a5), then ProxyDHCP will time out and give up before managing to successfully transmit a request. The DHCP timers need to be reworked anyway, so this mild hack is acceptable for now.
Diffstat (limited to 'src')
-rw-r--r--src/net/udp/dhcp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/net/udp/dhcp.c b/src/net/udp/dhcp.c
index 149bdfb5..5fcd56ea 100644
--- a/src/net/udp/dhcp.c
+++ b/src/net/udp/dhcp.c
@@ -818,6 +818,7 @@ static void dhcp_rx_dhcpack ( struct dhcp_session *dhcp,
/* If we have a ProxyDHCPOFFER, transition to PROXYDHCPREQUEST */
if ( dhcp->proxydhcpoffer ) {
+ dhcp->timer.min_timeout = 0;
dhcp_set_state ( dhcp, DHCP_STATE_PROXYREQUEST );
return;
}