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

Brian E Carpenter <brian.e.carpenter@gmail.com> Wed, 11 February 2026 20:16 UTC

Return-Path: <brian.e.carpenter@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 8485CB5B9953 for <ipv6@mail2.ietf.org>; Wed, 11 Feb 2026 12:16:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham 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 0DltOhs0nRn8 for <ipv6@mail2.ietf.org>; Wed, 11 Feb 2026 12:16:29 -0800 (PST)
Received: from mail-pf1-x42b.google.com (mail-pf1-x42b.google.com [IPv6:2607:f8b0:4864:20::42b]) (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 09821B5B9947 for <ipv6@ietf.org>; Wed, 11 Feb 2026 12:16:28 -0800 (PST)
Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-8230c2d3128so1149485b3a.0 for <ipv6@ietf.org>; Wed, 11 Feb 2026 12:16:27 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770840987; x=1771445787; darn=ietf.org; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=4ys3HXustWT2vWpoNDk+vU7LJ+6H64BWnu0D36xE2+w=; b=BzG370Pk8/8aUW99Xy7wE0Uek5c1/JMm5RofXI65Nwpps8DeKWy1MlmcB2kSjcyIaI ZacVfqCwj8LJRgIT3ZZLI2o7NSeXFCyTloohhaTAbz8577G6v2ijhYjSMrLCB5+3kghk lXXUqFMZoGHW9/TGD7e3ktmEosr1V5eixfOV1s0GlgqCrZMHlSYPSU3eEsXL5hTasNEc SPskg9xCju921oG5zcEtaD4jq8xLwhrqzck7H7y1sQhUE5irOR/vdNED4hnyYrfU8EE5 nH50CRmXXmfZvPFbdoKk8OTxClXGuD6stEHD8ArOsIT1/eYnMTup1sIauSkuDdbPWjza L/Dg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770840987; x=1771445787; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=4ys3HXustWT2vWpoNDk+vU7LJ+6H64BWnu0D36xE2+w=; b=QsUqLtf9xui2AmJQtWFzJsb26z5Y1aqQ0GjOb95hKnLG8Kwbq0RMBLXk3R33Jrn1og /uWF0+cRNDkEvyepfbV0i43KlyA6Hd+uoi52dfjN1J+OjbKXK1hkr0yAULX8kM+C7EiK TkzE9ErHlDzUBY0Ee6pgIzEt0DlpVQEbUfbkdONKiMb7mB9YoctIkWpWpwNAdmUalPkF c7P3vA4SOJZPQ+fbDIe/h8yiUc6xs/TWh+3dDoVwuY97MeQ38vRtSjO0CtogfaQ4chPP KrAS2Gv3SvI70Eg9T9Iikyz+pYo+jaiToudMESWdStqNW7s/nl00BQGuJDvGDL9VCseu WZlA==
X-Forwarded-Encrypted: i=1; AJvYcCWfUlaGunhlrHpJqPSD+ujmUb25k1IEs9eB5I2RPvqDE3MaImUqHx7BVYHRj//b0VeBj+qv@ietf.org
X-Gm-Message-State: AOJu0Yx+8V5JxAWf/mwU03jA3ir/uY9p+DkoeJtnfASzAL0QjStWtOly HRFNo1m2HkV1vq65qyGWqvRq33WU8gyzDiHNsO/b3upP6u/23YwxDEPZ
X-Gm-Gg: AZuq6aKhsSOH0ydSk1AUf8iEQvXcC8kZpDno2qd58uPkZEj1RIpOyn/AgSf6ZA6y+MA MY+7AP54tG5W75rcJZV2KkpHLF3tqimOO+vHuifkYNF+NWeO0HpV+b3Z8URlWOy7E56ajGz+wUO UscCZOZV58vjnFYEMFLWfHXmlT4jA3IQ4V21eV0/oKF6SgVO+UP8jo3Fx39V6iQ9zr7RFwcK67/ bNEDFb0DJePTGSsegmmktqp/5RbHPUVpHNgGQoNC2ASPx46IiY5cTlNs9iSVhAXMD4Z4YNHpsmk LCzMxqg9Ko8Km1xz497EM5BHjr3d5JYlmGy/pMCXkmh1sRpI6RnSPWGXKESk8KtFalIM3tkXY9/ eeAHZAavGbDy9lK/Xe384ZjA1cUn1F44RocN6Q0lfEHWkrg8pJ5EcFESVQlzOYi0xyQTXeQQZGp eSLULafkQOuRkU3l0ksitRBjzhecsek/1A8cccaA0CSZ/YxGW99JKKPDXtPLBQK7ujIEoXtR3Wc T9WuSB4uF7itDtftQ==
X-Received: by 2002:a05:6a00:1495:b0:824:a6d8:3fc0 with SMTP id d2e1a72fcca58-824b0459d44mr296908b3a.25.1770840987013; Wed, 11 Feb 2026 12:16:27 -0800 (PST)
Received: from ?IPV6:2404:4400:a100:1829:53f3:a236:d026:a00b? ([2404:4400:a100:1829:53f3:a236:d026:a00b]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8249e851996sm2665172b3a.62.2026.02.11.12.16.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 11 Feb 2026 12:16:25 -0800 (PST)
Message-ID: <9606ebf3-7501-4e7d-8d2b-c4c5fbfff5b4@gmail.com>
Date: Thu, 12 Feb 2026 09:16:20 +1300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: Arseny Maslennikov <ar@cs.msu.ru>, IPv6 <ipv6@ietf.org>, IPv6 Operations <v6ops@ietf.org>, Warren Kumari <warren@kumari.net>, Geoff Huston <gih902@gmail.com>
References: <CAHw9_i+b=uZozstCAm1Kr52Pj-_Y_aCndHc0e703rMUr9va=iA@mail.gmail.com> <DGC0NQFOMUKT.3KUWWFDFCYS06@cs.msu.ru>
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
In-Reply-To: <DGC0NQFOMUKT.3KUWWFDFCYS06@cs.msu.ru>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: base64
Message-ID-Hash: U23AJDURG7ZCQBO7K3G3MMTSDGRW4XPD
X-Message-ID-Hash: U23AJDURG7ZCQBO7K3G3MMTSDGRW4XPD
X-MailFrom: brian.e.carpenter@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
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/rKRdYu0gMzLtKAgH2Wrbwjccf2E>
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>

Arseny,

I believe that your suggestion is a non-starter, as it would be very unwelcome for the Web security people.

https://wicg.github.io/local-network-access/ makes an important distinction between 'loopback' and 'local'. Please see https://wicg.github.io/local-network-access/#ip-address-space-section for details.

Regards/Ngā mihi
    Brian Carpenter

On 11-Feb-26 22:16, Arseny Maslennikov 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.
> 
> 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