net: dhcp: Allow "MAY_FAIL" to still try each adapter

This change allows the "MAY_FAIL" DHCP option to still attempt to
contact a DHCP server on each adapter and only give up once each
adapter has failed once.  To get the existing behavior, set the
already-existing ethrotate=no variable.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Cc: Keng Soon Cheah <keng.soon.cheah@ni.com>
Cc: Chen Yee Chew <chen.yee.chew@ni.com>
This commit is contained in:
Joe Hershberger 2017-11-07 18:13:40 -08:00
parent d5d5757291
commit 2099b9f27c

View file

@ -386,12 +386,19 @@ static void bootp_timeout_handler(void)
if (time_taken >= time_taken_max) {
#ifdef CONFIG_BOOTP_MAY_FAIL
puts("\nRetry time exceeded\n");
net_set_state(NETLOOP_FAIL);
#else
puts("\nRetry time exceeded; starting again\n");
net_start_again();
char *ethrotate;
ethrotate = env_get("ethrotate");
if ((ethrotate && strcmp(ethrotate, "no") == 0) ||
net_restart_wrap) {
puts("\nRetry time exceeded\n");
net_set_state(NETLOOP_FAIL);
} else
#endif
{
puts("\nRetry time exceeded; starting again\n");
net_start_again();
}
} else {
bootp_timeout *= 2;
if (bootp_timeout > 2000)