[SR-Users] listening at link local IPv6 address

Juha Heinanen jh at tutpro.com
Wed Apr 24 13:03:44 CEST 2019


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



More information about the sr-users mailing list