ESP-NETIF IPv6 addresses

pptzpp
Posts: 6
Joined: Thu Aug 19, 2021 10:59 am

ESP-NETIF IPv6 addresses

Postby pptzpp » Thu Sep 26, 2024 5:01 pm

[background: I was bringing up a Thread border router and it wouldn't send out RAs despite OT reporting that it did, until I realised that my Wifi interface didn't have an IPv6 address, preventing it from sending out ICMPv6 messages. It should be noted that the OT Border Routing Manager showed no error and was happy to increment the counter of successfully sent out RAs]

1. For an esp_netif interface to get an ipv6 address in a situation where it isn't assigned by DHCPv6 we seem to need to call esp_netif_create_ip6_linklocal(). After this call is made, the interface seems to typically get a link-local and a global ipv6 address. Is this requirement to call the above API explicitly in order to get ipv6 connectivity documented anywhere? Yes, I can see it in

Code: Select all

protocol_examples_common/wifi_connect.c:

static void example_handler_on_wifi_connect(void *esp_netif, esp_event_base_t event_base,
                            int32_t event_id, void *event_data)
{
#if CONFIG_EXAMPLE_CONNECT_IPV6
    esp_netif_create_ip6_linklocal(esp_netif);
#endif // CONFIG_EXAMPLE_CONNECT_IPV6
}
2. While on the subject, do the esp_netif_action_*() APIs need to be explicitly registered to handle events from the networking stack? Or are they registered by default? What are they responsible for?

Who is online

Users browsing this forum: No registered users and 85 guests