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 hostname lookup: address family independent RFC2292/3542 advanced API raw/ICMPv6, extension headers handling (ping, traceroute) (We don't cover this today) IPv6 support = rewrite apps to use RFC2553/3493-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; };