IPv6 protocol stack and API AF_INET6: similar to AF_INET sizeof(sockaddr_in6) > sizeof(sockaddr_in) = sizeof(sockaddr) RFC2553/3493 basic API TCP/UDP: socket, bind, connect - same address family independent hostname lookup (getaddrinfo, getnameinfo) RFC2292/3542 advanced API raw/ICMPv6, extension headers handling (ping, traceroute) (only very few apps need this) IPv6 support = rewrite apps to use RFC2553-based API struct sockaddr_in6 { u_int8_t sin6_len; u_int8_t sin6_family; u_int16_t sin6_port; u_int32_t sin6_flowinfo; struct in6_addr sin6_addr; u_int32_t sin6_scope_id; };