[U-Boot] [PATCH v2 13/18] net: Add option CONFIG_BOOTP_MAY_FAIL

Simon Glass sjg at chromium.org
Thu Apr 12 06:31:15 CEST 2012


On Tue, Mar 27, 2012 at 4:43 PM, Joe Hershberger <joe.hershberger at ni.com> wrote:
> 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 at ni.com>
> Cc: Joe Hershberger <joe.hershberger at gmail.com>
> Cc: Simon Glass <sjg at chromium.org>
> Cc: Mike Frysinger <vapier at gentoo.org>

Looks ok to me

Acked-by: Simon Glass <sjg at chromium.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
>


More information about the U-Boot mailing list