Re: [IPv6] I-D Action: draft-ietf-6man-rfc6724-update-04.txt

Kyle Rose <> Tue, 28 November 2023 15:04 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 48C4AC1519A2 for <>; Tue, 28 Nov 2023 07:04:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -7.105
X-Spam-Status: No, score=-7.105 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 6yKXAl47APw1 for <>; Tue, 28 Nov 2023 07:04:21 -0800 (PST)
Received: from ( [IPv6:2a00:1450:4864:20::62b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by (Postfix) with ESMTPS id 8A30BC15108F for <>; Tue, 28 Nov 2023 07:04:21 -0800 (PST)
Received: by with SMTP id a640c23a62f3a-a00c200782dso808768666b.1 for <>; Tue, 28 Nov 2023 07:04:21 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=google; t=1701183859; x=1701788659;; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=MaDzerCjV3iy3cnpp/anXctxhA+5h0exFeT/6UEbD6Q=; b=lhUazftfqJbolPRMoMpDFJwsf6KKs1DqmxqplW+VB/X5rbScEQnoGYpaaVghA/AXQb Fid2nvj3rcs7eYSnHvDn0EPvQm2J4FDtZNu4JS99GWxIwhoGt9UtSsUm0sb6c02AxhOH AJLaY99H4s8hCeQbLt04oJihqh0RdCSfaVKJ0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20230601; t=1701183859; x=1701788659; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=MaDzerCjV3iy3cnpp/anXctxhA+5h0exFeT/6UEbD6Q=; b=AfK4xd9OCB4tvuQ5hO39GhmQxsRiId6tSBwDc5RzR2CeWwvKS3/3cU6ABDHRQCZ7u1 4LqDAcxm9ZFuIN/LZ/e3FxzbqHc5vZRu/m9zqcHSFkYR57xvphrGlmMzAEDHkLlx48YW 0TQJhSZ9fdlnGoo7ahP//uxjS/fGeB/y9kcdupSIKLyd6ZeB6lmLIcgclvIbH4OkF96o VAPBSxSIU4+GTCcHHA6CHXoIcyrvUMP6ROz/xgwwuo5lJGp1Ir2N/JojAJMAHNjQS9KR 1F8gQ54ex3KryjRK44Vw665ksTzeIz+cFXkpBzIzVJiApOqtE1iI4U3Dk5EiRAvkTlts Os6g==
X-Gm-Message-State: AOJu0YzQkgHKbiLonifvbHDyNFdEWf/gwK6pO1bjSCy2hNgAJmIpHebG 28Q1ncIW7dZ/XZmkhjwk/+ASrEWXXjNiMVpTyYxG4Q==
X-Google-Smtp-Source: AGHT+IEZeSrP+LK6sd4xMtA8x2NEO/AxfCPf3QmyBFPt2eCSZl4VbK0mrq3KVbRpoMZQ79LL9hc8CdDJ3wxxBsPtTWs=
X-Received: by 2002:a17:907:9150:b0:9d5:ecf9:e6b5 with SMTP id l16-20020a170907915000b009d5ecf9e6b5mr8899436ejs.59.1701183859172; Tue, 28 Nov 2023 07:04:19 -0800 (PST)
MIME-Version: 1.0
References: <> <> <> <> <> <> <> <> <> <> <>
In-Reply-To: <>
From: Kyle Rose <>
Date: Tue, 28 Nov 2023 10:04:07 -0500
Message-ID: <>
To: Mark Smith <>
Cc: Timothy Winters <>, Tim Chown <>, 6man Chairs <>, 6man WG <>
Content-Type: multipart/alternative; boundary="0000000000009fb64b060b37bb30"
Archived-At: <>
Subject: Re: [IPv6] I-D Action: draft-ietf-6man-rfc6724-update-04.txt
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 28 Nov 2023 15:04:26 -0000

On Mon, Nov 27, 2023 at 7:29 PM Mark Smith <> wrote:

> Well I normally wouldn't in particular since I'm the author of this
> blog article on how to get ULA deployments right (apparently the most
> read IPv6 article in 2020, and at least 137 people have read it
> because that's how many ratings of it there are. I'll have to update
> it if it ends up being incorrect after this RFC 6724 update.)

You might want to issue a correction to that article now, because this
isn't true:

q(ULAs are preferred over GUAs, so when a host is presented with both a ULA
and GUA as possible ways to reach a destination, the host will select the
ULA. Once the ULA destination address is chosen, the host will then choose
its ULA as a source address to reach the ULA destination. This preference
of ULA addressing over GUA addressing is the mechanism that provides
internal network connectivity independence from concurrent external
Internet connectivity.)

according to the default policy table in any of 3484 (same precedence: 40),
6724 (precedence 3 < 40), or the bastardized gai.conf Debian distributes.

> However, if default address selection requires a very specific DNS
> deployment models to work (either different internal and external DNS
> names, or ULA only addresses for internal versions of names, and GUA
> only addresses for the external versions of names), tightly coupling
> the operation of default address selection to DNS configuration and
> operation,

Many different models will work fine, if they are configured correctly. As
I said, "you can lead a horse to water": we can and should write standards
that service owners and operators need to comply with for everything to
work, but we are not the protocol police and can't do much beyond telling
them what will work, what won't work, and why. Nothing you've proposed will
keep service owners from doing boneheaded things, and I am opposed to
crippling configuration options in a vain attempt to eliminate all possible
misconfigurations. Better to use all of these config options frequently, in
the spirit of GREASE, to make sure configuration errors are noticed and
fixed rather than becoming ossified and further constraining protocol and
deployment evolution.

> then I'd much rather people not be mislead about a level of
> independence between what DNS/getaddrinfo() returns, and it is hosts'
> responsibility to deal with unreachable DAs, that both RFC 3484/6724
> and RFC 4193 currently imply.

Yes, and mitigations are what Happy Eyeballs is for. (More on that below.)
That said, if some service provider publishes an unreachable address to
global DNS, they both deserve what they get *and* have the ability to fix
it. The only sympathy I have is for operators who are increasingly
powerless to fix problems unilaterally because they can't always filter
such bogus addresses out of DNS, and who will get complaints from users
that they can't directly resolve. The best strategy in this instance,
unsatisfying as it might be, is to inform users that the service is broken
and that they should direct their complaint at the service owner.

> I agree on the latter point, which is why I don't have much preference
> either way. Nonetheless, these kinds of misconfigurations are a "you can
> lead a horse to water" situation: as long as there have been standards,
> people have violated them, sometimes in error, sometimes out of ignorance,
> and sometimes intentionally.
> One interpretation I have for the second part of Postel's law (be
> liberal in what you accept) is to tolerate, up to a point, operational
> failures and misconfiguration in the interests of trying to provide
> useful connectivity when possible.

Agreed, but we might set that point differently. Postel's Law is not
normative for a reason. When maximal interoperability within a given
environment is your goal, it is a good approach. On the other hand, when
preserving maximal flexibility across time against protocol ossification is
your goal, it is exactly the wrong approach: specifically, when a
non-compliant implementation forces you to choose between immediate interop
and accommodating standards-violating behavior that constrains future
interop, choosing maximal interop now limits future protocol evolution.
Postel's Law is the reason why IPv6 extension headers don't work. Why ICMP
doesn't transit large parts of the IPv4 internet. Why HTTP header semantics
are such a mess. It's good for individual implementations at a given time
and bad for the evolution of the internet as a whole.

Because users really just want the internet to work, some degree of failure
mitigation is warranted, but those mitigations need to be carefully chosen
to avoid trade-offs that include promoting systematic misconfiguration that
constrains future standards development. I would argue Happy Eyeballs is a
mixed bag: it's good in that the burden of local misconfiguration is on
local users (increased connection setup latency), but it's bad in that
remote misconfiguration is rendered less visible to the service provider.
But also on the plus side, those remote misconfigurations are easily fixed
and don't constrain future standards development in any meaningful sense
beyond the limitations inherent to the slow-roll of IPv6 deployment to the
long tail. Thus I am in favor in this specific case.