mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
DHCP request fix for Windows Server 2003
Added option CONFIG_BOOTP_DHCP_REQUEST_DELAY. This provides an optional delay before sending "DHCP Request" in net/bootp.c. Required to overcome interoperability problems with Windows Server 200x DHCP server when U-Boot client responds too fast for server to handle. Signed-off-by: Aras Vaichas <arasv@magtech.com.au> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
This commit is contained in:
parent
74d1e66d22
commit
d9a2f416d6
2 changed files with 18 additions and 1 deletions
14
README
14
README
|
@ -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
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue