Przeglądaj źródła

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

Closes https://github.com/espressif/esp-idf/issues/5069
David Cermak 5 lat temu
rodzic
commit
acdadebfff
1 zmienionych plików z 7 dodań i 2 usunięć
  1. 7 2
      components/esp_netif/lwip/esp_netif_lwip.c

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

@@ -1161,8 +1161,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;
     }