>> Isn't the returned address simply a IPv6-mapped IPv4 address (::ffff:1.2.3.4) ? You can test it with IN6_IS_ADDR_V4MAPPED. > Yes, it is (I've verified with the provided macro) ! I'll use this macro to detect and update provided addresses, thanks ! Testing more carefully, no it actually seems NOT to be IPv4-mapped addresses ! I test it like this : static struct sockaddr *fix_adr(struct sockaddr *addr) { if (addr->sa_family != AF_INET6) { log_info("not an IPv6 address, nothing to do\n"); return addr; } struct sockaddr_in6 *addr6 = (struct sockaddr_in6 *) &addr; if (! IN6_IS_ADDR_V4MAPPED(&(addr6->sin6_addr))) { log_warn("@IP v6 '%s' is NOT an IPv4-mapped address !", addr_ntoa(addr)); } // convert it to ipv4 addr... ... } I get messages like : @IP v6 '10.7.11.132' is NOT an IPv4-mapped address! (the addr_ntoa() function uses getnameinfo(..., NI_NUMERICHOST) to retrieve ascii notation from given sockaddr address). I'm not fluent with IPv6 addressing, so I don't know what to check... Fred. -- To unsubscribe from this list: send the line "unsubscribe linux-sctp" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html