diff --git a/connectivity/lwipstack/source/lwip_tools.cpp b/connectivity/lwipstack/source/lwip_tools.cpp index 7253b3e..f2d8779 100644 --- a/connectivity/lwipstack/source/lwip_tools.cpp +++ b/connectivity/lwipstack/source/lwip_tools.cpp @@ -110,12 +110,6 @@ return netif_ip_addr6(netif, i); } } - - for (int i = 0; i < LWIP_IPV6_NUM_ADDRESSES; i++) { - if (ip6_addr_isvalid(netif_ip6_addr_state(netif, i))) { - return netif_ip_addr6(netif, i); - } - } #endif return NULL; } @@ -164,6 +158,9 @@ pref_ip_addr = get_ipv6_addr(netif); npref_ip_addr = get_ipv4_addr(netif); #endif + if (!npref_ip_addr) { + npref_ip_addr = get_ipv6_link_local_addr(netif); + } #elif LWIP_IPV6 pref_ip_addr = get_ipv6_addr(netif); #elif LWIP_IPV4