Summary Should make the code address family indepenedent, as much as possible. Should avoid writing AF_INET nor AF_INET6 directly. stick to getaddrinfo() and getnameinfo() The Advanced API: raw IPv6 sockets, extension headers. note differences from raw IPv4 sockets. compatibility/availability issues. IPv6 multicasting use standard API defined in the basic API spec. Routing unicast: basically trivial, note KAME specific hack of link-local addresses. multicast: API standardization issue. Kernel Programming be more careful about validation. debugging: remote debugger and statistics are useful.