OK, thanks for testing and feedback! Have you also tried for tcp/tls?
Cheers, Daniel
On 24.04.19 13:03, Juha Heinanen wrote:
Daniel-Constantin Mierla writes:
I pushed a patch to compare ips using parsed structure. Initial version was using string comparison, which is not safe for ipv6, but I was looking for a quick proof of a solution.
The role of this ip comparison is to figure out what is the interface name for which to get scope id. So we get the ifname by walking all of the network interfaces and seeing which one has the respective ip assigned to it.
Can you try and see if now works better?
Thanks, now this code in udp_server.c works:
} else if (addr->s.sa_family==AF_INET6){ if (setsockopt(sock_info->socket, IPPROTO_IPV6, IPV6_TCLASS, (void*)&optval, sizeof(optval)) ==-1) { LM_WARN("setsockopt v6 tos: %s\n", strerror(errno)); /* continue since this is not critical */ } LM_INFO("Setting scope of %s\n", sock_info->address_str.s); addr->sin6.sin6_scope_id = ipv6_get_netif_scope(sock_info->address_str.s); }
-- Juha