[IPv6]Re: Working Group Last Call for <draft-ietf-6man-pio-pflag>

Ole Troan <otroan@employees.org> Thu, 30 May 2024 11:30 UTC

Return-Path: <otroan@employees.org>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8C805C14F6FE for <ipv6@ietfa.amsl.com>; Thu, 30 May 2024 04:30:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 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, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=employees.org
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 CRtbcetNOTb1 for <ipv6@ietfa.amsl.com>; Thu, 30 May 2024 04:30:31 -0700 (PDT)
Received: from proxmox01.kjsl.com (proxmox01.kjsl.com [IPv6:2607:7c80:54:6::6]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B7F74C14F6AB for <ipv6@ietf.org>; Thu, 30 May 2024 04:30:31 -0700 (PDT)
Received: from proxmox01.kjsl.com (localhost.localdomain [127.0.0.1]) by proxmox01.kjsl.com (Proxmox) with ESMTP id C93BBE25D3; Thu, 30 May 2024 11:30:30 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=employees.org; h=cc:cc:content-transfer-encoding:content-type:content-type :date:from:from:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=prox2023; bh=ejeQKgU8b0GxnAid tO9I+KfwbFdbxO0SKPFV8Ce/D84=; b=UZrEKLr6jbxO1ZBsacZWmRem7IUv6Jc3 Vwb/VAGcEwn/vnVWhSUFSLIn8JSxyKLDsSlxFhvEjxJzr/nLOz5r0ScywFlC9LFQ +kujOnoOpL0bU5EwBbFuguQF7vj7OwgtuMUZ0z7tCOqa4cF+YoIlyUOEMVJytfe/ XV22+dAP5/e9kbpzn9Pt4dgqaSEqDOL8WbBibioo1bkD8sXRAuRPLSbyzbbRMz3H 1lkcnHWluz1mt1kdeIr6lqzDxppw+pxP5vp/i50QSBx5yr1MbddDXYa50etKtddk IxwRo/rEOf2vCinbMqh8Ye9kyXyYTuker3ZZkK2LSOLvB+Ga+BlT0g==
Received: from clarinet.employees.org (clarinet.employees.org [198.137.202.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by proxmox01.kjsl.com (Proxmox) with ESMTPS id A7840E25C4; Thu, 30 May 2024 11:30:30 +0000 (UTC)
Received: from smtpclient.apple (unknown [173.38.220.61]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by clarinet.employees.org (Postfix) with ESMTPSA id F2AA34E11A2E; Thu, 30 May 2024 11:30:29 +0000 (UTC)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\))
From: Ole Troan <otroan@employees.org>
In-Reply-To: <CAKD1Yr0iR+RZHvuquCGYfntiD+K7-PdkvGJzHLx1PLrFqJ=Z4Q@mail.gmail.com>
Date: Thu, 30 May 2024 13:30:18 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <47BF97B8-2BEE-47CC-A965-C6BB112990AB@employees.org>
References: <18236.1717011844@obiwan.sandelman.ca> <2AD87DE1-075E-45E7-A682-8042F04EF59A@employees.org> <89dbde8c-82c9-4a2e-9cff-8d4fd2d8fbe6@gmail.com> <9E7BEA1C-4597-4142-A3AB-57211C436197@employees.org> <CAKD1Yr0iR+RZHvuquCGYfntiD+K7-PdkvGJzHLx1PLrFqJ=Z4Q@mail.gmail.com>
To: Lorenzo Colitti <lorenzo=40google.com@dmarc.ietf.org>
X-Mailer: Apple Mail (2.3774.500.171.1.1)
Message-ID-Hash: L3XR3NPA76FHVZ5DINK64FE73ZGWKJIL
X-Message-ID-Hash: L3XR3NPA76FHVZ5DINK64FE73ZGWKJIL
X-MailFrom: otroan@employees.org
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: 6man WG <ipv6@ietf.org>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [IPv6]Re: Working Group Last Call for <draft-ietf-6man-pio-pflag>
List-Id: "IPv6 Maintenance Working Group (6man)" <ipv6.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/g1YONulHYHr-Q7rnFj2OZKcZQ9M>
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>

> 1) Consequences for the addressing model. While Lorenzo would claim this is an operational issue that’s already handled in v6ops. I don’t quite agree. It’s the whole community’s responsibility for a responsible addressing model.
> 
> Well, but that's why we have IETF last call: to ensure the whole community gets to debate the documents that we publish. That definitely happened here. The points you make were made during the WG discussion and the IETF last call of the document that describes the deployment model. There was a lot of discussion on the topic in the various stages of the process, and in the end rough consensus in the community was to publish the document.

This issue isn’t going away, but let’s hear what the working group has to say.

>  2) Interactions with IA_NA, SLAAC on the interface. There’s a lot of corner cases here. Do we need a state machine specified? Should we require running code before proceeding this? Any implementations already?
> 
> Do you think the text is unclear about this? It's fairly clearly specified in section 6.1 and fairly simple.
>     • 
> The client needs to maintain a list of every PIO with a nonzero preferred lifetime and P=1. If there are any, the client should request and review prefixes via DHCPv6 PD.
>     • If the client has not seen at least one PIO with P=0, it should not ask for addresses via DHCPv6 IA_NA
>     • SLAAC is entirely independent from DHCPv6. The client should not run SLAAC on any PIO with P=1, and should run it as normal on any prefix with P=0 and A=1.
> 
> There is running code: at least Android has an implementation. But nobody can actually ship code until the document progresses or an early allocation is made. If we want to wait for shipping code before progressing the document, then the chairs will have to request an early allocation.

I think this is complicated enough that it would be useful to have other implementors having a go at it. That’s probably the only way we can ensure that the spec is implementable, unambiguous and results in deterministic behaviour.

> 3) What about RA without a PIO? Then the P-flag wouldn’t work. Is that a valid use case?
> 
> It doesn't seem a very useful thing to do, since any network that has a subnet prefix will always want to notify hosts of that prefix using a PIO. But a network that wants to do this can achieve this effect by sending a PIO for any prefix with P=1 and with zero lifetimes (or with A=0, L=0).

An RA without a PIO, with M-flag set is a perfectly acceptable way of operating the network.
One obvious solution would be to move the P-flag out of the PIO to the RA. It’s connection with the PIO is somewhat arguable anyway.
(And it would give your implementation an experimental flag to use)


>  4) What about services that expect hosts to be on the same link? Like mDNS. The addresses assigned via this mechanism is on a different link than the upstream link. What do we do about that?
> 
> Just like any deployment where hosts are not on a shared link, multicast-based services will not work. In many networks this is desirable. For example, many large enterprise networks block device-to-device communication entirely, for security reasons.

This has to be made clear in the draft. But I think frequently enough this is a requirement. For a network where mDNS previously worked, the introduction of this mechanism broke all the hosts that supports it, doesn’t seem like an acceptable outcome.
Either an applicability statement that this mechanism cannot be used on links where some sort of on-link discovery mechanism is used (how would you even know), or a solution for how it could be done.

Best regards,
Ole