Was ist die Standard-esp_eth_update_input_path()-Handler-Funktion?

Standardmäßig behandelt esp-idf oder das Arduino-Framework eingehende Ethernet-Pakete mit der

eth_input_to_netif.c
static esp_err_t eth_input_to_netif(esp_eth_handle_t eth_handle, uint8_t *buffer, uint32_t length, void *priv);

Funktion in components/esp_eth/src/esp_eth_netif_glue.c, die (neben dem Aufruf nur die exportierte Funktion aufruft) esp_netif_receive():

eth_input_to_netif_impl.c
static esp_err_t eth_input_to_netif(esp_eth_handle_t eth_handle, uint8_t *buffer, uint32_t length, void *priv)
{
    return esp_netif_receive((esp_netif_t *)priv, buffer, length, NULL);
}

Die Funktion esp_netif_receive() ist in esp_netif.h deklariert und implementiert in esp_netif_lwip.c.

Diese Funktion ruft esp_netif->lwip_input_fn(...) auf dem Paket auf, was wiederum die interface-typspezifische .input_fn(...) aufruft, welche eine von ist

oder für gewrappte Interfaces:


Check out similar posts by category: ESP8266/ESP32, Networking