> There is no reliable way for an application to tell whether IPv6 is
> supported.

Indeed.  If nothing else, there's ambiguity in the question of what it
means for v6 to be "supported".  The API definitions (eg, AF_INET6) are
present?  The code is there to back the API?  It's configured?  It's
got a working path to the destination?

> Standard procedure is to use getaddrinfo(), iterate over the results,
> try to bind or connect to each address (depending on whether you're a
> server or a client) and ignore any failures as long as at least one
> address works.

Yes.  In general, if it's not too inconvenient, I recommend doing
multiple connect()s in parallel, so that, if v6 is supported and
configured but does not actually have a working route to the target, v4
isn't delayed waiting for (possibly multiple) ETIMEDOUT.

However, in this case, we're talking about NTP, which runs over
connectionless protocols anyway.  I'm not sure what I think the best
action here is.  Initiate associations with all addresses, maybe?

/~\ The ASCII                             Mouse
\ / Ribbon Campaign
 X  Against HTML                [email protected]
/ \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B
_______________________________________________
pool mailing list
[email protected]
http://lists.ntp.org/listinfo/pool

Reply via email to