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.hershber...@ni.com>
Cc: Joe Hershberger <joe.hershber...@gmail.com>
Cc: Simon Glass <s...@chromium.org>
Cc: Mike Frysinger <vap...@gentoo.org>
---
Changes for v2:
   - Renamed to CONFIG_BOOTP_MAY_FAIL

 README      |    7 +++++++
 net/bootp.c |    5 +++++
 2 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/README b/README
index b69a3b6..ed8c79f 100644
--- a/README
+++ b/README
@@ -1563,10 +1563,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.
diff --git a/net/bootp.c b/net/bootp.c
index 650ae4d..d945bdd 100644
--- a/net/bootp.c
+++ b/net/bootp.c
@@ -328,8 +328,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();
-- 
1.6.0.2

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to