1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-12 01:53:07 +03:00

lwip2 fix and update (#4729)

* interactive example: update with option for using DHCP again after using static IP
* lwip2: avoid crash when IP address is set to 0(any) by dhcp not getting its lease renewal in due time
* lwip2: automatically remove oldest PCBs in time-wait state, limit their number
  thanks to @me-no-dev 07f4d4c241 (diff-f8258e71e25fb9985ca3799e3d8b88ecR399)
* faq: update about tcpCleanup()
* lwip2: add a macro HAS_PHY_CAPTURE=1 indicating capture facility is available
This commit is contained in:
david gauchard
2018-05-25 17:24:00 +02:00
committed by GitHub
parent 144152ce6b
commit 1a9403df1b
8 changed files with 45 additions and 6 deletions

View File

@ -2997,6 +2997,7 @@
/*
--------------------------------------------------
------------- End of original lwipopts -----------
--------------------------------------------------
*/
@ -3013,4 +3014,34 @@ struct netif;
#endif
LWIP_ERR_T lwip_unhandled_packet (struct pbuf* pbuf, struct netif* netif) __attribute__((weak));
/*
--------------------------------------------------
----------------- TIME-WAIT tweak ----------------
--------------------------------------------------
port @me-no-dev time-wait tweak
https://github.com/esp8266/Arduino/commit/07f4d4c241df2c552899857f39a4295164f686f2#diff-f8258e71e25fb9985ca3799e3d8b88ecR399
*/
void tcp_kill_timewait (void);
#define TCP_TW_LIMIT(l) \
if (l) do { \
u32_t count_plus_1 = 1; \
struct tcp_pcb* tmp = tcp_tw_pcbs; \
if (tmp) \
while ((tmp = tmp->next)) \
++count_plus_1; \
while (--count_plus_1 > (l)) \
/* kill the oldest */ \
/* pcb in TW state */ \
tcp_kill_timewait(); \
} while (0)
/**
* MEMP_NUM_TCP_PCB_TIME_WAIT: the number of TCP pcbs in TIME_WAIT state.
* (requires the LWIP_TCP option, 0 = disabled)
*/
#ifndef MEMP_NUM_TCP_PCB_TIME_WAIT
#define MEMP_NUM_TCP_PCB_TIME_WAIT 5
#endif
#endif // MYLWIPOPTS_H