Explorar el Código

Merge branch 'bugfix/ppp_netif_up_after_new_v4.1' into 'release/v4.1'

esp-netif: ppp netif to use netif_is_link_up() to update interface state (v4.1)

See merge request espressif/esp-idf!9425
David Čermák hace 5 años
padre
commit
f6517cf4e7
Se han modificado 1 ficheros con 7 adiciones y 2 borrados
  1. 7 2
      components/esp_netif/lwip/esp_netif_lwip.c

+ 7 - 2
components/esp_netif/lwip/esp_netif_lwip.c

@@ -1131,8 +1131,13 @@ bool esp_netif_is_netif_up(esp_netif_t *esp_netif)
 {
     ESP_LOGV(TAG, "%s esp_netif:%p", __func__, esp_netif);
 
-    if (esp_netif != NULL && esp_netif->lwip_netif != NULL && netif_is_up(esp_netif->lwip_netif)) {
-        return true;
+    if (esp_netif != NULL && esp_netif->lwip_netif != NULL) {
+        if (esp_netif->is_ppp_netif) {
+            // ppp implementation uses netif_set_link_up/down to update link state
+            return netif_is_link_up(esp_netif->lwip_netif);
+        }
+        // esp-netif handlers and drivers take care to set_netif_up/down on link state update
+        return netif_is_up(esp_netif->lwip_netif);
     } else {
         return false;
     }