diff --git a/src/utils/if-addrs.cpp b/src/utils/if-addrs.cpp index c04d38683f283725ea932cb5d4c5e22be996f3d2..e9d7f50018d4c8e87eeabb44d14b1142ab162d81 100644 --- a/src/utils/if-addrs.cpp +++ b/src/utils/if-addrs.cpp @@ -60,6 +60,10 @@ list IfAddrs::fetchWithGetIfAddrs(){ } break; case AF_INET6: + if (IN6_IS_ADDR_LINKLOCAL(&((struct sockaddr_in6*)saddr)->sin6_addr)){ + // Skip link local addresses for now, they are painful to manage with ICE. + continue; + } if (inet_ntop(AF_INET6, &((struct sockaddr_in6*)saddr)->sin6_addr, addr, sizeof(addr)) != nullptr){ ret.push_back(addr); }else{