feat(esp_netif): Add support for esp_netif with custom TCP/IP stack

Added a new Kconfig option ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION which
uses only esp_netif headers, no implementation is provided and expected
to be supplied by application layer.
This commit is contained in:
David Cermak 2024-06-18 17:06:28 +02:00 committed by David Čermák
parent 74dc204b59
commit 049f6f6bdc
2 changed files with 25 additions and 1 deletions

View File

@ -13,9 +13,18 @@ menu "ESP NETIF Adapter"
the timer expires. The IP lost timer is stopped if the station get the IP again before the timer expires. The IP lost timer is stopped if the station get the IP again before
the timer expires. the timer expires.
config ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION
bool "Use only ESP-NETIF headers"
default n
help
No implementation of ESP-NETIF functions is provided.
This option is used for adding a custom TCP/IP stack and defining related
esp_netif functionality
choice ESP_NETIF_USE_TCPIP_STACK_LIB choice ESP_NETIF_USE_TCPIP_STACK_LIB
prompt "TCP/IP Stack Library" prompt "TCP/IP Stack Library"
default ESP_NETIF_TCPIP_LWIP default ESP_NETIF_TCPIP_LWIP
depends on !ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION
help help
Choose the TCP/IP Stack to work, for example, LwIP, uIP, etc. Choose the TCP/IP Stack to work, for example, LwIP, uIP, etc.
config ESP_NETIF_TCPIP_LWIP config ESP_NETIF_TCPIP_LWIP

View File

@ -1,5 +1,5 @@
/* /*
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD * SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
@ -465,4 +465,19 @@ esp_err_t esp_netif_remove_ip6_address(esp_netif_t *esp_netif, const esp_ip6_add
return ESP_ERR_NOT_SUPPORTED; return ESP_ERR_NOT_SUPPORTED;
} }
int esp_netif_get_all_ip6(esp_netif_t *esp_netif, esp_ip6_addr_t if_ip6[])
{
return 0;
}
esp_ip6_addr_type_t esp_netif_ip6_get_addr_type(esp_ip6_addr_t* ip6_addr)
{
return ESP_IP6_ADDR_IS_UNKNOWN;
}
esp_err_t esp_netif_tcpip_exec(esp_netif_callback_fn fn, void*ctx)
{
return fn(ctx);
}
#endif /* CONFIG_ESP_NETIF_LOOPBACK */ #endif /* CONFIG_ESP_NETIF_LOOPBACK */