mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'lwip/optimize_dhcpc_taken_time' into 'master'
lwip: optimize the dhcp client 1. modify the discover retry backoff time from (2,4,8,16,32,60,60)s to (500m,1,2,4,8,15,15)s. 2. add DHCP_DOES_ARP_CHECK to menuconfig for users to specify if do a ARP check on the offered address. If enable, one more second will be taken. See merge request !459
This commit is contained in:
commit
32ad1e676d
@ -1 +1 @@
|
|||||||
Subproject commit fc92f2e5bcd34fa945445e8cad47cbf1f2a4bdb6
|
Subproject commit 6e50eb85a07d12ded45d8765fc82bb7ab929e441
|
@ -82,6 +82,13 @@ config TCP_SYNMAXRTX
|
|||||||
help
|
help
|
||||||
Set maximum number of retransmissions of SYN segments.
|
Set maximum number of retransmissions of SYN segments.
|
||||||
|
|
||||||
|
config LWIP_DHCP_DOES_ARP_CHECK
|
||||||
|
bool "Enable an ARP check on the offered address"
|
||||||
|
default 1
|
||||||
|
help
|
||||||
|
Enabling this option allows check if the offered IP address is not already
|
||||||
|
in use by another host on the network.
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
|
|
||||||
|
@ -1029,7 +1029,12 @@ dhcp_discover(struct netif *netif)
|
|||||||
autoip_start(netif);
|
autoip_start(netif);
|
||||||
}
|
}
|
||||||
#endif /* LWIP_DHCP_AUTOIP_COOP */
|
#endif /* LWIP_DHCP_AUTOIP_COOP */
|
||||||
msecs = (dhcp->tries < 6 ? 1 << dhcp->tries : 60) * 1000;
|
|
||||||
|
/* Since for embedded devices it's not that hard to miss a discover packet, so lower
|
||||||
|
* the discover retry backoff time from (2,4,8,16,32,60,60)s to (500m,1,2,4,8,15,15)s.
|
||||||
|
* Original msecs = (dhcp->tries < 6 ? 1 << dhcp->tries : 60) * 1000;
|
||||||
|
*/
|
||||||
|
msecs = (dhcp->tries < 6 ? 1 << dhcp->tries : 60) * 250;
|
||||||
dhcp->request_timeout = (msecs + DHCP_FINE_TIMER_MSECS - 1) / DHCP_FINE_TIMER_MSECS;
|
dhcp->request_timeout = (msecs + DHCP_FINE_TIMER_MSECS - 1) / DHCP_FINE_TIMER_MSECS;
|
||||||
LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_discover(): set request timeout %"U16_F" msecs\n", msecs));
|
LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_discover(): set request timeout %"U16_F" msecs\n", msecs));
|
||||||
return result;
|
return result;
|
||||||
|
@ -206,6 +206,11 @@
|
|||||||
|
|
||||||
#define DHCP_MAXRTX 0
|
#define DHCP_MAXRTX 0
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DHCP_DOES_ARP_CHECK==1: Do an ARP check on the offered address.
|
||||||
|
*/
|
||||||
|
#define DHCP_DOES_ARP_CHECK CONFIG_LWIP_DHCP_DOES_ARP_CHECK
|
||||||
|
|
||||||
/*
|
/*
|
||||||
------------------------------------
|
------------------------------------
|
||||||
---------- AUTOIP options ----------
|
---------- AUTOIP options ----------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user