Two AFs, what should we do? How can we take advantage of BOTH AFs? How can we write an application portable across IPv4-only, IPv6-only, and IPv4/v6 dual stack OSes? AF independent-ness: use clearer API functions Less assumptions against underlying kernel