timers: Conditionally enable ACD timer per DHCP ARP check (2.2.0)

This commit is contained in:
David Cermak
2024-05-24 16:42:29 +02:00
parent 6091d39eca
commit 353e8ff2da
5 changed files with 10 additions and 3 deletions
+2 -1
View File
@@ -242,8 +242,9 @@ a lot of data that needs to be copied, this should be set high. */
/* 1 if you want to do an ARP check on the offered address
(recommended). */
#ifndef DHCP_DOES_ARP_CHECK
#define DHCP_DOES_ARP_CHECK (LWIP_DHCP)
#endif
/* ---------- AUTOIP options ------- */
#define LWIP_AUTOIP (LWIP_DHCP)
+1 -1
View File
@@ -93,7 +93,7 @@ const struct lwip_cyclic_timer lwip_cyclic_timers[] = {
#if LWIP_DHCP && !ESP_LWIP_DHCP_FINE_TIMERS_ONDEMAND
{DHCP_FINE_TIMER_MSECS, HANDLER(dhcp_fine_tmr)},
#endif /* LWIP_DHCP && !ESP_LWIP_DHCP_FINE_TIMERS_ONDEMAND */
#if LWIP_ACD
#if LWIP_ACD && !DHCP_DOES_ARP_CHECK
{ACD_TMR_INTERVAL, HANDLER(acd_tmr)},
#endif /* LWIP_ACD */
#if LWIP_IGMP && !ESP_LWIP_IGMP_TIMERS_ONDEMAND
+1 -1
View File
@@ -498,7 +498,7 @@
* The number of sys timeouts used by the core stack (not apps)
* The default number of timeouts is calculated here for all enabled modules.
*/
#define LWIP_NUM_SYS_TIMEOUT_INTERNAL (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (ESP_LWIP_DHCP_FINE_TIMERS_ONDEMAND ? LWIP_DHCP : 2*LWIP_DHCP) + LWIP_ACD + (ESP_LWIP_IGMP_TIMERS_ONDEMAND ? 0 : LWIP_IGMP) + (ESP_LWIP_DNS_TIMERS_ONDEMAND ? 0 : LWIP_DNS) + PPP_NUM_TIMEOUTS + (LWIP_IPV6 * (1 + LWIP_IPV6_REASS + (ESP_LWIP_MLD6_TIMERS_ONDEMAND ? 0 : LWIP_IPV6_MLD) + LWIP_IPV6_DHCP6)))
#define LWIP_NUM_SYS_TIMEOUT_INTERNAL (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (ESP_LWIP_DHCP_FINE_TIMERS_ONDEMAND ? LWIP_DHCP : 2*LWIP_DHCP) + (DHCP_DOES_ARP_CHECK ? 0 : LWIP_ACD) + (ESP_LWIP_IGMP_TIMERS_ONDEMAND ? 0 : LWIP_IGMP) + (ESP_LWIP_DNS_TIMERS_ONDEMAND ? 0 : LWIP_DNS) + PPP_NUM_TIMEOUTS + (LWIP_IPV6 * (1 + LWIP_IPV6_REASS + (ESP_LWIP_MLD6_TIMERS_ONDEMAND ? 0 : LWIP_IPV6_MLD) + LWIP_IPV6_DHCP6)))
/**
* MEMP_NUM_SYS_TIMEOUT: the number of simultaneously active timeouts.
+5
View File
@@ -169,6 +169,7 @@ u32_t esp_random(void);
#define ESP_LWIP_DNS_TIMERS_ONDEMAND 1
#define ESP_LWIP_IP4_REASSEMBLY_TIMERS_ONDEMAND 1
#define ESP_LWIP_IP6_REASSEMBLY_TIMERS_ONDEMAND 1
#define DHCP_DOES_ARP_CHECK 1
#else
#define ESP_LWIP 0
@@ -184,6 +185,10 @@ u32_t esp_random(void);
#define ESP_LWIP_DNS_TIMERS_ONDEMAND 0
#endif
#ifndef DHCP_DOES_ARP_CHECK
#define DHCP_DOES_ARP_CHECK 0
#endif
#ifndef ESP_LWIP_IP4_REASSEMBLY_TIMERS_ONDEMAND
#define ESP_LWIP_IP4_REASSEMBLY_TIMERS_ONDEMAND 0
#endif /* ESP_LWIP_IP4_REASSEMBLY_TIMERS_ONDEMAND */
+1
View File
@@ -7,3 +7,4 @@
#define ESP_LWIP_MLD6_TIMERS_ONDEMAND ESP_LWIP
#define ESP_DNS ESP_LWIP
#define ESP_LWIP_ARP ESP_LWIP
#define DHCP_DOES_ARP_CHECK ESP_LWIP