> So I have a dumb question. > > Why not: > - use a DNS lookup that asks for all records (including A, MX, and > AAAA)
Because you can't do this with a single DNS query. The "ANY" query type will return all the records/record types cached for a given name, but there is no guarantee that the cache has been filled with all the information available on the authoritative name servers for the given name. Individual RRsets (name+type) can have different TTLs, so even if the cache was filled with all the information initially, a caching name server can't guarantee that will always be the case at a later time. That's a minor detail, though -- one or two DNS queries doesn't make much of a difference. > - open both a v4 and a v6 connection simultaneously > - accept the first to successfully open and shut down all others I think that the TCP connect operations are typically synchronous at the user/kernel interface. Doing several connection attempts in parallel is therefore at best problematical. Using pthreads could possibly be a workaround, but mandating use of pthreads for all applications for using the C library is, I think, not acceptable. Regards, - Håvard -------------------------------------------------------------------- IETF IPv6 working group mailing list [email protected] Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6 --------------------------------------------------------------------
