[IPv6]Re: [v6ops] Re: New draft: "The IPv6 Loopback Address Prefix"

Mark Smith <markzzzsmith@gmail.com> Fri, 13 February 2026 00:13 UTC

Return-Path: <markzzzsmith@gmail.com>
X-Original-To: ipv6@mail2.ietf.org
Delivered-To: ipv6@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id D509BB69A405 for <ipv6@mail2.ietf.org>; Thu, 12 Feb 2026 16:13:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -0.598
X-Spam-Level:
X-Spam-Status: No, score=-0.598 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, FREEMAIL_FROM=0.001, FROM_LOCAL_NOVOWEL=0.5, HK_RANDOM_ENVFROM=0.001, HK_RANDOM_FROM=0.999, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 PwwHEAW8jjKa for <ipv6@mail2.ietf.org>; Thu, 12 Feb 2026 16:13:38 -0800 (PST)
Received: from mail-dl1-x122c.google.com (mail-dl1-x122c.google.com [IPv6:2607:f8b0:4864:20::122c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 2B475B69A3FA for <ipv6@ietf.org>; Thu, 12 Feb 2026 16:13:38 -0800 (PST)
Received: by mail-dl1-x122c.google.com with SMTP id a92af1059eb24-1270be4d125so850977c88.1 for <ipv6@ietf.org>; Thu, 12 Feb 2026 16:13:38 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; t=1770941617; cv=none; d=google.com; s=arc-20240605; b=S94RwcGlcBveK8Z1oG1eX1c8IzgThmScziQjlKTQLBCITqeNaSmLvCaBX6RrZXWwgO tY+A9hV5wscbknTG4ysos1q+oRXEttKeAlheHnkNHjAs24XPGyZiXd6tY8H799v5hfIc 9hNJo1aneGbQDUqXDTI5WHIAeKPONACR1UPl56ldIm8Ba/+p2psfi5ZfLAGChFVZCWS7 p4pTNAT5aylsrhJ+fjg/CLVjSMgsiapbQLax0N4WJUU3nTGG6egbqezaUHcHud0u8NLQ d0BosIFMXmf4X6s6YNUI1KhybFt8N0Tsn3te4EfipS1xC0sbFsuY9UFrjSKG/ZiGOv3X 1O2A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=T8PdnBWE4hb0HW3k9vYfRamlf4z2sAuMbgfAjI9OfVc=; fh=uP+vwIx78CTT7o63fxt2XcRFnKXydUJC5TgwavO0MLA=; b=JvVHfGjqmMkd5qqecIN8qNzLpNTIkZQB86tR8JgOQCRr3psfDKuFhV5O6k9fauiFrN fXy7y497IhAfLZakE80pdbbqkN/GTZ1H/PqcPespXGR2XMrZeoWrnH3oU1p3KQnEMoJr pXp75DESCJGtju2sVDiOpjkAKG+IMoJoUU48Hf1E5tT72TLz0lh8bDRy6mO0v4Gtbl6T VBq0SK3sSqljmximerGGequSHXh2hTsAbpo6QcZUUdi/ARBReGfgu+u9sMg+ihX6CEN9 IctUaalNAzp5luN4yOIExUBo6l+CD6qASqfXp00C5TPyJDZhJ9b3WdgBOuR0WwLxtoAX KQMQ==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770941617; x=1771546417; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=T8PdnBWE4hb0HW3k9vYfRamlf4z2sAuMbgfAjI9OfVc=; b=RB2FvP5rilYH4tq9CYmSdwLMu2y+Kz2x0zFkuWuQpv+MnoBGmV0zxc3KSfdslOCbZT xljo2xjOwvCVG7QrfM80ccFzWT0rGA1zfZ4aQ/uQPlmqHwCiXtaJADJ7W2MhRXhpkI3Z P7jAjM+04wMfMkvmdLS70WOJ5DUXSPVu6jS2QrKMrkIZdkDv+1Yxxud2K1kEyK4bn4Vp vtgHxfV0+vmzTN8R0pSRW40dOy0Ypa339P9k391Vo3ffxgESXDL8sAgv5SRJXz1tX3s4 9J+qbsonipYTvpb2jz7Vl9L5WpWuBij5Kt6q30Wsygmvfmfhi3TRoXGL7qRuceojLfBd 9jhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770941617; x=1771546417; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=T8PdnBWE4hb0HW3k9vYfRamlf4z2sAuMbgfAjI9OfVc=; b=H1nn+BRpWPRBjPvBPfYe9RjiJFcpnJx0cH7l1LoPH9Esmb1wMoEK31My8mA3YvH5yB s7W1Jddw9QoOGB7n/Y5UO5acyI2MG4BFHA3qruYgiOndhCAL/DI0/FrKorKzPSAJwUSn ZLtnl9E3vbUU+0Gh9+LIbxywIsoMH6+9zGObsHhJzzeM4g02A0JA/EjnYDQ7+Fm+RXYz VxUFMF4rptvTGJttlqu0bB8fwQQ44gsOUSSbZz7WTa4NDa42lD6xofJBEvgzTRPRKrAl BvQJuCnVz/1hazi9XSX0I7CE2oJS2zF7JR/KZJIZOJVx71wKHXqIF80fMH3koQkbPgR5 8FYA==
X-Gm-Message-State: AOJu0YxXi6w9AggjLJ85J9rUqo2uleYtL1vl4LEJp0xNQ5YldeZOND68 ir+KK01WULVMBtNXN0ZPT5uyvvSfEvAK55Wh7VT2dYyvv8nBRFOCmnnPvcE+CwLkN+eOL+wXcDP yaIIMMSXkXkihHtNPCjTkijBqRSeQsHs=
X-Gm-Gg: AZuq6aJhF7mpP1MDEtzWB5LI9jPXUBbhea4JuGrCCS4GFaGUygwL3Tu/jHuHQgXPuk4 u0OWwSY9NZ7VSmD3DcXb/HVlcSwP92SxXaGhshRinU/dhCHBxp/g+wMuDKZC6Ed7HLS5x9yYkII NiGpK2zxuA4B9LqqUXfEBNUWEkpr0fhIPhQuq2w1WDBY3LvOoKxk7TTLIPmTvb3zzj/ooxjW27N RBo4STG07jHz87y4wuzZJQR4qbzdsnw4wh3LavbTWdjZz2zXJYGOJali56WKb2eYM/PBaLBT8ps rBiTUOjj9aty5MjVFodybBlGZogVB9mjQoeyAfKdrd8TVvGiEViwQ9uDEXMZilzK6xxdJg==
X-Received: by 2002:a05:7022:92b:b0:11d:c91e:3b58 with SMTP id a92af1059eb24-12739851148mr380730c88.39.1770941616929; Thu, 12 Feb 2026 16:13:36 -0800 (PST)
MIME-Version: 1.0
References: <CAHw9_i+b=uZozstCAm1Kr52Pj-_Y_aCndHc0e703rMUr9va=iA@mail.gmail.com> <DGC0NQFOMUKT.3KUWWFDFCYS06@cs.msu.ru>
In-Reply-To: <DGC0NQFOMUKT.3KUWWFDFCYS06@cs.msu.ru>
From: Mark Smith <markzzzsmith@gmail.com>
Date: Fri, 13 Feb 2026 11:13:28 +1100
X-Gm-Features: AZwV_Qgxgj6PIOYuSAO_IROqTfxqPFtnObI-JPBgafJR6gdlvqD2t2e_adgYsF8
Message-ID: <CAO42Z2zV2_YT-muQ+kFb7O9h7gp-68Diukroev6mdS6SQu5e=A@mail.gmail.com>
To: Arseny Maslennikov <ar=40cs.msu.ru@dmarc.ietf.org>
Content-Type: multipart/alternative; boundary="000000000000febeca064aa979f6"
Message-ID-Hash: QHPFUK6WIVBEZLK74EXYEBPGBSK4RYER
X-Message-ID-Hash: QHPFUK6WIVBEZLK74EXYEBPGBSK4RYER
X-MailFrom: markzzzsmith@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-ipv6.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: IPv6 <ipv6@ietf.org>, IPv6 Operations <v6ops@ietf.org>, Warren Kumari <warren@kumari.net>, Geoff Huston <gih902@gmail.com>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [IPv6]Re: [v6ops] Re: New draft: "The IPv6 Loopback Address Prefix"
List-Id: "IPv6 Maintenance Working Group (6man)" <ipv6.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/7toY2mT3JHP-MZXRoZxGdRV3c14>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Owner: <mailto:ipv6-owner@ietf.org>
List-Post: <mailto:ipv6@ietf.org>
List-Subscribe: <mailto:ipv6-join@ietf.org>
List-Unsubscribe: <mailto:ipv6-leave@ietf.org>

Hi,

On Thu, 12 Feb 2026, 00:06 Arseny Maslennikov, <ar=
40cs.msu.ru@dmarc.ietf.org> wrote:

> On Tue Nov 25, 2025 at 5:38 PM UTC, Warren Kumari wrote:
> > Dear 6MAN and V6OPS,
>
> (inline replies follow)
>
> > Geoff Huston and I have just submitted draft-kumari-ipv6-loopback - "The
> > IPv6 Loopback Address Prefix"
> > <https://datatracker.ietf.org/doc/draft-kumari-ipv6-loopback/>
> >
> > We believe that it is within the 6MAN charter ("The 6man working group is
> > responsible for the maintenance, upkeep, and advancement of the IPv6
> > protocol specifications and addressing architecture."), but I have CCed
> > V6OPS as well, as it is clearly operational as well.
> >
> > Abstract:
> > "This document updates the IP Version 6 Address Architecture to define
> the
> > IPv6 address prefix ::/32 as the Loopback address prefix."
> >
> > Basically, this document expands the single loopback address ::1/128
> into a
> > prefix.
>
> Being late to the party I am surprised throughout the numerous mails in
> this thread no one has suggested to use the link-local unicast range.
> To cover use cases for additional host-local addresses, fe80::/10
> coupled with a "loopback virtual interface" abstraction are sufficient
> and plenty and do not deplete the address pool, and, with all due
> respect, no further 6man work is needed here — we have all the tools
> already.
>

The fundamental drawback of using link-locals as loopback addresses is that
they always (going by the specs) require a zone id (commonly an interface
I'd) to disambiguate one interface's link local prefix from another.

 (Linux seems to allow you to not specify a LLA zone ID sometimes, I think
it might be resorting to the default route to identity the interface to
use. Of course, a loopback interface is probably never a default route
interface, so you'll always have to specify a zone ID/interface ID to use
an LLA address as a loopback address on Linux.)

This is not the common case when using IPv6 addresses directly, the unique
subnet and prefix information in an IPv6 address is what normally
identifies an interface to use to reach an address, loopback address or
otherwise. (Near globally unique link-local addresses anybody? That's how
we effectively got rid of zone IDs from site-local addresses, resulting in
unique local addresses.)

Support for specifying LLA zone IDs/interface IDs may also not be available
in applications also because specifying them is not the common case.

Regards,
Mark.


> IOW, we do not need more host-local addresses, since we can use
> link-local addresses of a single host-local link, avoiding the
> requirement to set up multiple loopback interfaces.
>
> > There are a number of situations in which having more than a single
> address
> > is helpful; an obvious example of this is Dockers/k8s use of 127.0.0.11
> for
> > the DNS resolver, SPAM RBL use of the last octet on 127.0.0.x to encode
> the
> > type of SPAM. It is also relatively common it use this for inter-service
> > communication in container environments.
> >
> > It is also a common practice to bind different services to
> > different addresses in the IPv4 loopback space to allow for scaling
> > (avoiding the "Port already in use" issue), testing, etc.  Yes, these can
> > be somewhat emulated with ULAs and / or additional interfaces and scopes,
> > but they are all more complicated, and much more likely to result in
> > leakage or collision.
>
> Binding a socket to a link-local address on a virtual host-local link
> is not hard.
> Since Docker and k8s were mentioned, it would not be distasteful of me
> to give a Linux-specific example. The following code works on Linux
> today, with a small nudge.
>
> .. code-block:: c
>
>   #include <netinet/in.h>
>
>   const struct sockaddr_in6 local53 = {
>           .sin6_family = AF_INET6,
>           .sin6_addr.s6_addr = {
>                   0xfe, 0x80, 0x0, 0x35,
>                   0, 0, 0, 0,
>                   0, 0, 0, 0,
>                   0, 0, 0, 1,
>           },
>           .sin6_scope_id = 1,
>           .sin6_port = 53,
>   };
>
> This makes use of the fact that the Linux kernel always sets up the
> loopback interface (in each net namespace) so that it has an ifindex of 1.
> A more portable way to construct such a sockaddr would be:
>
> .. code-block:: c
>
>   struct addrinfo * result;
>   getaddrinfo("fe80:35::1%lo", "domain",
>               { .ai_flags = AI_PASSIVE, .ai_socktype = SOCK_DGRAM, },
>               &result);
>   /* The sockaddr is at result->ai_addr, result->ai_addrlen */
>
> The aforementioned nudge is, for the above to work, a route entry has to
> be created in the system to the equivalent of::
>
>   ip -6 r add local fe80::/10 dev lo proto kernel metric 1
>
> This harmless action can be done at system init by default (or, with a
> 17-line patch to the kernel, by the kernel itself), just after ::1 is
> assigned.
>
> Yes, binding to such a sockaddr would likely require OS-specific
> additional measures (e. g. setting IP_FREEBIND), just like both
> 127.0.0.11 and the ::1%lo2 proposal. This is no problem, since there is
> no actual networking between disparate hosts, and IPv6 is used as
> API/IPC within a host. Also, system software developers are already used
> to this.
>
> There were another two use cases for host-local addresses raised in this
> thread: automated testing of application software and of networking
> software (routing protocol impls, etc.). In case of application
> software, the CI/testing environment can do whatever preparation steps
> are required before running the tests, so I believe the above is
> applicable here without any issues. To test networking software,
> designated loopback interfaces aren't really fit (to my maybe limited
> understanding), and we have the various GUA space carveouts, e. g. doc
> prefixes.
>
> As for the URI difficulties with fe80::%lo : if the sockaddr is resolved
> from a name, this is not a problem at all. We are talking about
> host-local communication here; no need to involve the DNS, the sockaddr
> can be synthesized locally, just like "localhost" was locally resolved
> to ::1 for decades. Chrome bugs are bugs of Chrome.
>
> --
> WBR,
> an occasional lurker of v6ops
>
> _______________________________________________
> v6ops mailing list -- v6ops@ietf.org
> To unsubscribe send an email to v6ops-leave@ietf.org
>