On Tue, Sep 08, 2026 at 10:33:11PM +0100, Joe wrote:
> On Tue, 8 Sep 2026 22:22:18 +0200
> Nicolas George <[email protected]> wrote:
> 
> > Joe (HE12026-09-08):

[...]

> > Applications know that IPv6 is disabled by trying it.
> 
> cat /proc/sys/net/ipv6/conf/*/disable_ipv6
> 
> or individually per interface.

I'd side with Nicolas here: applications don't do that. This
would be highly unportable. They just try.

Given the available portable interfaces, they can only try.
Traditionally, the sequence DNS resolution then socket connect
is something that happens in application space (although most
of the time wrapped in library). So the best it can do when
DNS yields several entries (some A, some AAAA) is to try them
all and pick one that works.

Most libraries do that in sequence, following the one the
resolver gives them, trying the next when one fails (this
is *not* the issue in this thread, BTW). This is sub-optimal,
and there is a proposal to make things more asynchronous
called Happy Eyeballs [1]. If you skim the reference, you
will see that it talks of *applications* implenenting it.

This thing happens application-side. It could have been
buried in the OS, and in retrospective perhaps it should
have, but that train has left. Somewhere 1980s, take or
give ten years.

Cheers
[1] https://en.wikipedia.org/wiki/Happy_Eyeballs
-- 
t

Attachment: signature.asc
Description: PGP signature

Reply via email to