diff options
| -rw-r--r-- | README | 14 | ||||
| -rw-r--r-- | net/bootp.c | 5 | 
2 files changed, 18 insertions, 1 deletions
| @@ -1151,6 +1151,20 @@ The following options need to be configured:  		of the "hostname" environment variable is passed as  		option 12 to the DHCP server. +		CONFIG_BOOTP_DHCP_REQUEST_DELAY + +		A 32bit value in microseconds for a delay between +		receiving a "DHCP Offer" and sending the "DHCP Request". +		This fixes a problem with certain DHCP servers that don't +		respond 100% of the time to a "DHCP request". E.g. On an +		AT91RM9200 processor running at 180MHz, this delay needed +		to be *at least* 15,000 usec before a Windows Server 2003 +		DHCP server would reply 100% of the time. I recommend at +		least 50,000 usec to be safe. The alternative is to hope +		that one of the retries will be successful but note that +		the DHCP timeout and retry process takes a longer than +		this delay. +   - CDP Options:  		CONFIG_CDP_DEVICE_ID diff --git a/net/bootp.c b/net/bootp.c index 89e30d2c7..0eeef5784 100644 --- a/net/bootp.c +++ b/net/bootp.c @@ -879,7 +879,10 @@ static void DhcpSendRequestPkt(Bootp_t *bp_offer)  	iplen = BOOTP_HDR_SIZE - sizeof(bp->bp_vend) + extlen;  	NetSetIP(iphdr, 0xFFFFFFFFL, PORT_BOOTPS, PORT_BOOTPC, iplen); -	debug ("Transmitting DHCPREQUEST packet: len = %d\n", pktlen); +        debug ("Transmitting DHCPREQUEST packet: len = %d\n", pktlen); +#ifdef CONFIG_BOOTP_DHCP_REQUEST_DELAY +	udelay(CONFIG_BOOTP_DHCP_REQUEST_DELAY); +#endif	/* CONFIG_BOOTP_DHCP_REQUEST_DELAY */  	NetSendPacket(NetTxPacket, pktlen);  } |