Просмотр исходного кода

Merge branch 'optimize/igmp_mld6_timer' into 'master'

optimize: IGMP and MLD6 timer optimization config added

See merge request idf/esp-idf!4776
Jiang Jiang Jian 6 лет назад
Родитель
Сommit
7871983370
3 измененных файлов с 19 добавлено и 1 удалено
  1. 10 0
      components/lwip/Kconfig
  2. 1 1
      components/lwip/lwip
  3. 8 0
      components/lwip/port/esp32/include/lwipopts.h

+ 10 - 0
components/lwip/Kconfig

@@ -27,6 +27,16 @@ menu "LWIP"
 
             If this feature is disabled, all lwip functions will be put into FLASH.
 
+    config LWIP_TIMERS_ONDEMAND
+        bool "Enable LWIP Timers on demand"
+        default y
+        help
+            If this feature is enabled, IGMP and MLD6 timers will be activated only
+            when joining groups or receiving QUERY packets.
+
+            This feature will reduce the power consumption for applications which do not
+            use IGMP and MLD6.
+
     config LWIP_MAX_SOCKETS
         int "Max number of open sockets"
         range 1 16

+ 1 - 1
components/lwip/lwip

@@ -1 +1 @@
-Subproject commit fe9a58cb7abdc74e7a2196b7c4e0a29ff9042f88
+Subproject commit 88ccba0ccfc11cd968b80a9d50b3182972da9604

+ 8 - 0
components/lwip/port/esp32/include/lwipopts.h

@@ -779,6 +779,14 @@
 #endif
 #define ESP_IRAM_ATTR
 
+#ifdef CONFIG_LWIP_TIMERS_ONDEMAND
+#define ESP_LWIP_IGMP_TIMERS_ONDEMAND            1
+#define ESP_LWIP_MLD6_TIMERS_ONDEMAND            1
+#else
+#define ESP_LWIP_IGMP_TIMERS_ONDEMAND            0
+#define ESP_LWIP_MLD6_TIMERS_ONDEMAND            0
+#endif
+
 #if ESP_PERF
 #define DBG_PERF_PATH_SET(dir, point)
 #define DBG_PERF_FILTER_LEN             1000