[happy] Re: Indicating ipv6only and deprecation via SVCB: draft-nygren-dnsop-ipv6only-indicator-00.txt

Erik Nygren <erik+ietf@nygren.org> Tue, 07 July 2026 19:39 UTC

Return-Path: <erik+ietf@nygren.org>
X-Original-To: happy@mail2.ietf.org
Delivered-To: happy@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 9016B11255B63 for <happy@mail2.ietf.org>; Tue, 7 Jul 2026 12:39:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1783453143; bh=v4XvsON872mPuDi4YVkRE2X/NMEbVPQE9cBRpLIcJ8Y=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=pGmIytIFZV3dGOhqk7fK9D/yDykLn3IL31ilpXWGjTUiOLtrgm/tjOe/n5zgUmhPV VR1HnI+U+MFCy3nlzX0DHKlxhFaXGR31jkKBiO250gOEAO8JeOCHiCBdHCJUw0pxxJ issKoccVy99DH6JF9Re2TeiQi7u5wk1jC/YXb2XI=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 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, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=nygren.org
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2jyV2bT2Gla7 for <happy@mail2.ietf.org>; Tue, 7 Jul 2026 12:39:02 -0700 (PDT)
Received: from eos.nygren.org (eos.nygren.org [IPv6:2620:131:f008::e]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id B77AD112545C6 for <happy@ietf.org>; Tue, 7 Jul 2026 12:35:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=nygren.org; s=eos-4; h=Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=goS220Ia+zVCN+MyXVtkVcWE6cIViIbyO8s+ltslqjY=; b=MQcLHzKPdHLgHUoiimV14jAEdm Ge5kkUhBkGoKJ/GkEiL0svcFlso1q3FhE9QdRqg1X7ThzTf47pMHL4vu0rJACwjdCnTh2jGgrtflp pQzjLmfCei1MDbDSJMD8GAlKFgoAee9m5F5Vtze/wdhu3/eBpu6CjIqrMTdm7S10y+xULybeEpub+ JnhkCi4zvpc4tgWZlDScHpAeRjv+r0xqHYht/KgFzXadwLh0M7v6Cmca56VFE7jn5oDS1STmS7RX+ mHYq0e/yTrvET8ZMu6lYUTp8ZItFCJdUpfaGcqipHZZ50eFvFbqQ8BOJ+ArxHcrxdIjLkWhhawAjn 6DKi6SXQ==;
Received: from mail-lj1-f182.google.com ([209.85.208.182]) by eos.nygren.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.97) (envelope-from <erik+ietf@nygren.org>) id 1whBZU-00000004pgp-1hsL for happy@ietf.org; Tue, 07 Jul 2026 15:35:08 -0400
Received: by mail-lj1-f182.google.com with SMTP id 38308e7fff4ca-39b38d3c929so38557341fa.3 for <happy@ietf.org>; Tue, 07 Jul 2026 12:35:08 -0700 (PDT)
X-Forwarded-Encrypted: i=1; AHgh+RpAx/3DJOcJrfETZ7wBdzzjusZwJ4apJSSHnBooaouvednxvSqR9KL83EqsFBPOzX5Zq9+aUw==@ietf.org
X-Gm-Message-State: AOJu0Yz4LNX8sMPaNLHRJhEM17ELa0wdT7yNvhj1eaDRzzDwlkZjapCn Mquc8kEko+KAexgL1yFtAuUHvmJJQPjBZ4AzuAnABo4KabaKIVjlu8s8Ymbb0d8Xda9bnkNMHqi Yrx8iXUPYu1kC3jTIk1MyTtJ6jYtCjRg=
X-Received: by 2002:ac2:5282:0:b0:5ae:c5f0:ef1a with SMTP id 2adb3069b0e04-5b007c6a7fbmr1002832e87.50.1783452907065; Tue, 07 Jul 2026 12:35:07 -0700 (PDT)
MIME-Version: 1.0
References: <178337482216.328379.10217734189455241741@dt-datatracker-57b5d8f849-v5cht> <CAKC-DJjukY7gzCM38Wf2Ybp03euPCpgnksOWwr1tppuT=SQ6PA@mail.gmail.com> <CAOdQrVNur_m7yKA8Yjv=-ECy_Yqpm19+MLB5KcZeMt94vOTmvg@mail.gmail.com>
In-Reply-To: <CAOdQrVNur_m7yKA8Yjv=-ECy_Yqpm19+MLB5KcZeMt94vOTmvg@mail.gmail.com>
From: Erik Nygren <erik+ietf@nygren.org>
Date: Tue, 07 Jul 2026 15:34:52 -0400
X-Gmail-Original-Message-ID: <CAKC-DJh3TSoWu=0bquLbnDnXn3Hgs5Vs8OpnFdkUFiz9nbOTOQ@mail.gmail.com>
X-Gm-Features: AVVi8Cd8lT0_ucAgXEaN9qqP57384XJEypOLufX2H337hbCCqE9NOMgSy8NBaeI
Message-ID: <CAKC-DJh3TSoWu=0bquLbnDnXn3Hgs5Vs8OpnFdkUFiz9nbOTOQ@mail.gmail.com>
To: Ben Schwartz <bemasc@meta.com>
Content-Type: multipart/alternative; boundary="000000000000ffdb1606560a7cf5"
Message-ID-Hash: GXPTBDCOJ3UUO6XKYPAMHP4RTTPBUJYV
X-Message-ID-Hash: GXPTBDCOJ3UUO6XKYPAMHP4RTTPBUJYV
X-MailFrom: erik+ietf@nygren.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: dnsop WG <dnsop@ietf.org>, "v6ops@ietf.org list" <v6ops@ietf.org>, happy@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [happy] Re: Indicating ipv6only and deprecation via SVCB: draft-nygren-dnsop-ipv6only-indicator-00.txt
List-Id: "Discussion list for Heuristics and Algorithms to Prioritize Protocol deploYment (HAPPY)" <happy.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/happy/74kUJXhaCQD4oVpqLAzv0lTClaw>
List-Archive: <https://mailarchive.ietf.org/arch/browse/happy>
List-Help: <mailto:happy-request@ietf.org?subject=help>
List-Owner: <mailto:happy-owner@ietf.org>
List-Post: <mailto:happy@ietf.org>
List-Subscribe: <mailto:happy-join@ietf.org>
List-Unsubscribe: <mailto:happy-leave@ietf.org>

Hi Ben,

I think you raise a good point here.  I wonder if we could instead refactor
this as a general
SVCB warning or status indicator draft (eg, a warn or status SvcParam with
a type code from a registry
followed by a free-form string).  "Deprecation" might be a warning type
code.
This could then be useful for operational diagnostics of HAPPY when
interacting with SVCB,
and could potentially feed into some use-cases
for draft-palet-happy-reporting-considerations.

We could potentially ditch the ipv6only SvcParam and you could get
something close enough
by using a ServiceMode record with a TargetName that only had an AAAA
record.

The operational "how to use this" could then split off into a separate
v6ops draft,
perhaps waiting for a time when there was interest in doing this.

I think you highlight two useful reasons why we might still want ipv6only.
Some additional possible reasons:

Re 2) " 2. IPv4-only clients can avoid waiting for the NODATA response" ==>
This is at least an RTT so isn't nothing?
3) It would be nice if we could retire or greatly reduce the number of "A"
queries eventually.  (I guess a simpler alternative would be for clients to
only query for them if they didn't get a AAAA response in some future HEvN
after some of us have retired.)
4) Clients doing HE may have some number of failure cases they are
comfortable walking through.  If having a top-priority IPv6-only
ServiceMode record triggers failures for IPv4-only clients not willing to
retry with the next lower priority record, then this might be an
operational blocker.  The ipv6only attribute would get them to skip this
entirely.
5) Operationally being able to explicitly indicate "this is IPv6-only on
purpose" could help with monitoring and to avoid errors.  (In the CDN
provisioning interface for $dayjob we've explicitly made it hard to
provision IPv6-only to avoid people accidentally doing that while trying to
dual-stack.)

One thing from your list and the others is that the clients which benefit
the most from the "ipv6only" SvcParam are ironically the IPv4-only clients
that we want to discourage and try to get onto IPv6.

I'm not sure if any of these are strong enough reasons on their own?

Best, Erik






On Tue, Jul 7, 2026 at 3:11 PM Ben Schwartz <bemasc@meta.com> wrote:

> If I understand correctly, the benefit of the "ipv6only" flag is:
>
> 1. Dual-stack clients can skip the "A" query, for efficiency.
> 2. IPv4-only clients can avoid waiting for the NODATA response to the
> A query before trying the next SVCB record.
>
> DNS queries are cheap enough that #1 doesn't seem very compelling.
> (SVCB wastes a _lot_ of queries already.)  #2 seems like it could be
> valuable in some situation, but the benefit is only to v4-only
> clients.  I imagine that in this deployment scenario, those clients
> are not highly performance-sensitive.
>
> I do think the "deprecated" flag is interesting.  However, I wonder if
> it would be better as a collection of logging flags like "warning=",
> "info=", etc.  "Deprecated" seems like too narrow a meaning here.
>
> --Ben
>
> On Mon, Jul 6, 2026 at 6:35 PM Erik Nygren <erik+ietf@nygren.org> wrote:
> >
> > I've published a -00 draft proposing two new SvcParams for "ipv6only"
> and for "deprecated", along with some operational examples for how they
> might be used together. Abstract: As the DNS is the primary mechanism for
> translating
> >
> > I've published a -00 draft proposing two new SvcParams for "ipv6only"
> and for "deprecated", along with some operational examples for how they
> might be used together.
> >
> > Abstract:
> >
> >    As the DNS is the primary mechanism for translating from hostnames to
> >    IP addresses, it is a logical place to signal that endpoints are
> >    IPv6-only.  It is thus also a logical place to signal that legacy
> >    endpoints supporting IPv4 are being deprecated.  This specification
> >    introduces two SvcParams for SVCB-compatible RR types that signal
> >    IPv6-only endpoints (ipv6only) as well as deprecated endpoints
> >    (deprecated).
> >
> > The "ipv6only" SvcParam touches on V6OPS and HAPPY.  I see this not as
> something we desperately need now/yet but as something we will want in a
> few years and thus should standardize sooner so that the implementations
> are there for when we need it.
> >
> > The "deprecated" SvcParam is more generally useful. I give some other
> examples of how it might be used for other purposes as well (eg, for
> deprecating an http/1.1-only Service Endpoint).
> >
> > I'm still the only author on this, and am happy to talk to people in
> Vienna if there others interested in joining as co-authors.  This idea has
> been tossed around a number of times while we were authoring RFC 9460 /
> SVCB (and might have been in some early drafts and I even vaguely recall
> talking about some precursors to this in sunset4 and in happy).
> >
> > Best, Erik
> >
> >
> > ---------- Forwarded message ---------
> > From: <internet-drafts@ietf.org>
> > Date: Mon, Jul 6, 2026 at 5:54 PM
> > Subject: New Version Notification for
> draft-nygren-dnsop-ipv6only-indicator-00.txt
> > To: Erik Nygren <erik+ietf@nygren.org>
> >
> >
> > A new version of Internet-Draft
> draft-nygren-dnsop-ipv6only-indicator-00.txt
> > has been successfully submitted by Erik Nygren and posted to the
> > IETF repository.
> >
> > Name:     draft-nygren-dnsop-ipv6only-indicator
> > Revision: 00
> > Title:    Indicating IPv6-only SVCB Endpoints and IPv4 Deprecation in
> the DNS
> > Date:     2026-07-06
> > Group:    Individual Submission
> > Pages:    11
> > URL:
> https://www.ietf.org/archive/id/draft-nygren-dnsop-ipv6only-indicator-00.txt
> > Status:
> https://datatracker.ietf.org/doc/draft-nygren-dnsop-ipv6only-indicator/
> > HTML:
> https://www.ietf.org/archive/id/draft-nygren-dnsop-ipv6only-indicator-00.html
> > HTMLized:
> https://datatracker.ietf.org/doc/html/draft-nygren-dnsop-ipv6only-indicator
> >
> >
> > Abstract:
> >
> >    As the DNS is the primary mechanism for translating from hostnames to
> >    IP addresses, it is a logical place to signal that endpoints are
> >    IPv6-only.  It is thus also a logical place to signal that legacy
> >    endpoints supporting IPv4 are being deprecated.  This specification
> >    introduces two SvcParams for SVCB-compatible RR types that signal
> >    IPv6-only endpoints (ipv6only) as well as deprecated endpoints
> >    (deprecated).
> >
> >    TO BE REMOVED: This document is being collaborated on in Github at:
> >    https://github.com/enygren/draft-nygren-dnsop-ipv6only-indicator
> >    (https://github.com/enygren/draft-nygren-dnsop-ipv6only-indicator)
> >    The most recent working version of the document, open issues, etc.
> >    should all be available there.  The authors (gratefully) accept pull
> >    requests.
> >
> >
> >
> > The IETF Secretariat
> >
> >
> > _______________________________________________
> > happy mailing list -- happy@ietf.org
> > To unsubscribe send an email to happy-leave@ietf.org
>