net: Add option CONFIG_BOOTP_MAY_FAIL

This is useful if you want to look for a DHCP server, but try some
other settings if not available.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Joe Hershberger 2012-05-23 07:59:19 +00:00
parent 1752f0fdc7
commit 2c00e099fe
2 changed files with 12 additions and 0 deletions

7
README
View file

@ -1592,10 +1592,17 @@ The following options need to be configured:
CONFIG_BOOTP_NTPSERVER
CONFIG_BOOTP_TIMEOFFSET
CONFIG_BOOTP_VENDOREX
CONFIG_BOOTP_MAY_FAIL
CONFIG_BOOTP_SERVERIP - TFTP server will be the serverip
environment variable, not the BOOTP server.
CONFIG_BOOTP_MAY_FAIL - If the DHCP server is not found
after the configured retry count, the call will fail
instead of starting over. This can be used to fail over
to Link-local IP address configuration if the DHCP server
is not available.
CONFIG_BOOTP_DNS2 - If a DHCP client requests the DNS
serverip from a DHCP server, it is possible that more
than one DNS serverip is offered to the client.

View file

@ -326,8 +326,13 @@ static void
BootpTimeout(void)
{
if (BootpTry >= TIMEOUT_COUNT) {
#ifdef CONFIG_BOOTP_MAY_FAIL
puts("\nRetry count exceeded\n");
NetSetState(NETLOOP_FAIL);
#else
puts("\nRetry count exceeded; starting again\n");
NetStartAgain();
#endif
} else {
NetSetTimeout(TIMEOUT, BootpTimeout);
BootpRequest();