RE: wrong family for IP addresses given by sctp library

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>> 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




[Index of Archives]     [Linux Networking Development]     [Linux OMAP]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux