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
_______________________________________________
Kamailio (SER) - Users Mailing List
[email protected]
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users