Specification unclarity/incompatibility Port number space What is the relationship of port number space between TCP over v4 versus TCP over v6? Does bind(2) ordering matter? Solution: Take the safest side, do not assume kernel behavior getaddrinfo(AI_PASSIVE) bind(2) to all addresses returned Die only if all bind(2) fails IPv6 wildcard bind... may receive IPv4 traffic as IPv4 mapped addr (RFC2553) Leads to mistakes/vulnerabilities, low portability, don't use it Use setsockopt(IPV6_V6ONLY, 1) to avoid mistake IPV6_V6ONLY is just recently introduced, so platforms may not support this