Re: [v6ops] enable-ula.py

Philip Homburg <pch-v6ops-11@u-1.phicoh.com> Sun, 15 May 2022 18:35 UTC

Return-Path: <pch-b28DE43C2@u-1.phicoh.com>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 70834C20D71F for <v6ops@ietfa.amsl.com>; Sun, 15 May 2022 11:35:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.894
X-Spam-Level:
X-Spam-Status: No, score=-1.894 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wRR8W5yLm7kV for <v6ops@ietfa.amsl.com>; Sun, 15 May 2022 11:34:57 -0700 (PDT)
Received: from stereo.hq.phicoh.net (stereo.hq.phicoh.net [IPv6:2a10:3781:2413:1:2a0:c9ff:fe9f:17a9]) (using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D16F7C20D71D for <v6ops@ietf.org>; Sun, 15 May 2022 11:34:55 -0700 (PDT)
Received: from stereo.hq.phicoh.net (localhost [::ffff:127.0.0.1]) by stereo.hq.phicoh.net with esmtp (TLS version=TLSv1.2 cipher=ECDHE-RSA-CHACHA20-POLY1305) (Smail #158) id m1nqJ4t-0000IkC; Sun, 15 May 2022 20:34:51 +0200
Message-Id: <m1nqJ4t-0000IkC@stereo.hq.phicoh.net>
To: v6ops@ietf.org
From: Philip Homburg <pch-v6ops-11@u-1.phicoh.com>
Sender: pch-b28DE43C2@u-1.phicoh.com
References: <c52c20ee-772c-3c4c-b87f-e76de7d157a9@gmail.com> <cbe52294-48c7-07f3-9d08-c0a68f56f637@gmail.com> <fd0b026e289b4e11a6636d1942c34315@huawei.com> <f978a0bd5771429381258e81541add98@huawei.com> <73b15db0-ab2b-8f13-0b59-106e177667c7@gmail.com> <03bdac98e61046b790afd433fcb0ffdc@huawei.com> <27ca530a-0897-e615-b990-dd88ec22b2bc@gmail.com> <88496827-EDA5-4B19-8FE5-1D40973BB3F8@employees.org> <m1npQwn-0000IKC@stereo.hq.phicoh.net> <b3fdbf49-7c85-82d4-0e51-e7f02e3a524a@gmail.com>
In-reply-to: Your message of "Sat, 14 May 2022 09:47:17 +1200 ." <b3fdbf49-7c85-82d4-0e51-e7f02e3a524a@gmail.com>
Date: Sun, 15 May 2022 20:34:49 +0200
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/G_lEVpLnirvevd9Tc_J528Oh7Zo>
Subject: Re: [v6ops] enable-ula.py
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/v6ops/>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 15 May 2022 18:35:01 -0000

> The goal is noble. I think that making it general-purpose, in the
> way that the socket API is general-purpose, will be very hard. Will
> it become the standard answer to all relevant questions on Stack
> Overflow?
> 
> So, despite that effort, and all Eduard's arguments, I think that
> the best we can do here is focus on making RFC6724 work better.
> Even that requires getting getaddrinfo() developers to work for
> us.

Getaddrinfo is important for two reasons:
1) It is all we have, and it is unlikely we will get something better.
2) There is a lot of code that uses getaddrinfo and then follows with a
   synchronous loop over the struct addrinfo entries.

So we have to make getaddrinfo work as well as we can. In particular,
we need to make the chance as high as possible that a connection to
the first struct addrinfo entry succeeds (based on local knowledge).

That said, getaddrinfo is relic of the past. It probably was a nice step
forward 20 years ago. Now is the wrong tool.

Fixing getaddrinfo is like coming up with a better design for a steam
engine. Not because steam engines are so great. But because we completely
failed to have a standard for anything more modern.

I don't claim to know what a modern tool should look like. But we are stuck
in the past. We can't try anything new to see if it works and what the
limitations are.