2
0
mirror of https://github.com/xcat2/xNBA.git synced 2024-11-28 12:19:46 +00:00

Merge branch 'longdhcptimeout' into augusta

This commit is contained in:
Jarrod Johnson 2014-03-07 16:29:34 -05:00
commit 88f465121e
2 changed files with 12 additions and 13 deletions

View File

@ -643,10 +643,6 @@ struct dhcphdr {
*/
#define DHCP_MIN_LEN 552
/** Timeouts for sending DHCP packets */
#define DHCP_MIN_TIMEOUT ( 1 * TICKS_PER_SEC )
#define DHCP_MAX_TIMEOUT ( 10 * TICKS_PER_SEC )
/** Maximum time that we will wait for ProxyDHCP responses */
#define PROXYDHCP_MAX_TIMEOUT ( 2 * TICKS_PER_SEC )

View File

@ -185,8 +185,8 @@ struct dhcp_session_state {
void ( * expired ) ( struct dhcp_session *dhcp );
/** Transmitted message type */
uint8_t tx_msgtype;
/** Apply minimum timeout */
uint8_t apply_min_timeout;
uint8_t min_timeout;
uint8_t max_timeout;
};
static struct dhcp_session_state dhcp_state_discover;
@ -286,9 +286,8 @@ static void dhcp_set_state ( struct dhcp_session *dhcp,
dhcp->state = state;
dhcp->start = currticks();
stop_timer ( &dhcp->timer );
dhcp->timer.min_timeout =
( state->apply_min_timeout ? DHCP_MIN_TIMEOUT : 0 );
dhcp->timer.max_timeout = DHCP_MAX_TIMEOUT;
dhcp->timer.min_timeout = state->min_timeout * TICKS_PER_SEC;
dhcp->timer.max_timeout = state->max_timeout * TICKS_PER_SEC;
start_timer_nodelay ( &dhcp->timer );
}
@ -461,7 +460,8 @@ static struct dhcp_session_state dhcp_state_discover = {
.rx = dhcp_discovery_rx,
.expired = dhcp_discovery_expired,
.tx_msgtype = DHCPDISCOVER,
.apply_min_timeout = 1,
.min_timeout = 4,
.max_timeout = 32,
};
/**
@ -598,7 +598,8 @@ static struct dhcp_session_state dhcp_state_request = {
.rx = dhcp_request_rx,
.expired = dhcp_request_expired,
.tx_msgtype = DHCPREQUEST,
.apply_min_timeout = 0,
.min_timeout = 1,
.max_timeout = 8,
};
/**
@ -699,7 +700,8 @@ static struct dhcp_session_state dhcp_state_proxy = {
.rx = dhcp_proxy_rx,
.expired = dhcp_proxy_expired,
.tx_msgtype = DHCPREQUEST,
.apply_min_timeout = 0,
.min_timeout = 1,
.max_timeout = 8,
};
/**
@ -846,7 +848,8 @@ static struct dhcp_session_state dhcp_state_pxebs = {
.rx = dhcp_pxebs_rx,
.expired = dhcp_pxebs_expired,
.tx_msgtype = DHCPREQUEST,
.apply_min_timeout = 1,
.min_timeout = 1,
.max_timeout = 8,
};
/****************************************************************************