Skip to content

Commit

Permalink
Merge branch 'bugfix/fix_sometimes_sta_can_not_get_ip_from_softap_iss…
Browse files Browse the repository at this point in the history
…ue_v5.1' into 'release/v5.1'

lower the dhcp discover and request retry backoff time (Backport v5.1)

See merge request espressif/esp-idf!24742
  • Loading branch information
jack0c committed Jul 13, 2023
2 parents 78e641a + d4bb163 commit ae5f8dc
Show file tree
Hide file tree
Showing 4 changed files with 234 additions and 249 deletions.
2 changes: 1 addition & 1 deletion components/lwip/lwip
8 changes: 3 additions & 5 deletions components/lwip/port/include/lwipopts.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
* SPDX-FileContributor: 2015-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileContributor: 2015-2023 Espressif Systems (Shanghai) CO LTD
*/
#ifndef LWIP_HDR_ESP_LWIPOPTS_H
#define LWIP_HDR_ESP_LWIPOPTS_H
Expand Down Expand Up @@ -355,11 +355,9 @@ extern "C" {
#define DHCP_COARSE_TIMER_SECS CONFIG_LWIP_DHCP_COARSE_TIMER_SECS
#define DHCP_NEXT_TIMEOUT_THRESHOLD (3)
/* 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.
* the discover and request retry backoff time from (2,4,8,16,32,60,60)s to (500m,1,2,4,4,4,4)s.
*/
#define DHCP_REQUEST_TIMEOUT_SEQUENCE(state, tries) (state == DHCP_STATE_REQUESTING ? \
(uint16_t)(1 * 1000) : \
(uint16_t)(((tries) < 6 ? 1 << (tries) : 60) * 250))
#define DHCP_REQUEST_TIMEOUT_SEQUENCE(tries) ((uint16_t)(((tries) < 5 ? 1 << (tries) : 16) * 250))

static inline uint32_t timeout_from_offered(uint32_t lease, uint32_t min)
{
Expand Down
Loading

0 comments on commit ae5f8dc

Please sign in to comment.