Re: Running code (Was: I-D Action: draft-ietf-6man-ipv6only-flag-03.txt)

Mark Andrews <marka@isc.org> Thu, 25 October 2018 00:15 UTC

Return-Path: <marka@isc.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 2305C1294D7 for <ipv6@ietfa.amsl.com>; Wed, 24 Oct 2018 17:15:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Level:
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LbbKaOmCoX_v for <ipv6@ietfa.amsl.com>; Wed, 24 Oct 2018 17:15:26 -0700 (PDT)
Received: from mx.pao1.isc.org (mx.pao1.isc.org [IPv6:2001:4f8:0:2::2b]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B25611294D0 for <ipv6@ietf.org>; Wed, 24 Oct 2018 17:15:26 -0700 (PDT)
Received: from zmx1.isc.org (zmx1.isc.org [149.20.0.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx.pao1.isc.org (Postfix) with ESMTPS id B22B83AB070; Thu, 25 Oct 2018 00:15:25 +0000 (UTC)
Received: from zmx1.isc.org (localhost [127.0.0.1]) by zmx1.isc.org (Postfix) with ESMTPS id 800D0160070; Thu, 25 Oct 2018 00:15:25 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1]) by zmx1.isc.org (Postfix) with ESMTP id 6CFDC16006D; Thu, 25 Oct 2018 00:15:25 +0000 (UTC)
Received: from zmx1.isc.org ([127.0.0.1]) by localhost (zmx1.isc.org [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 0ho13WWxSgik; Thu, 25 Oct 2018 00:15:25 +0000 (UTC)
Received: from beetledviscorg9.home.lan (c27-253-115-14.carlnfd2.nsw.optusnet.com.au [27.253.115.14]) by zmx1.isc.org (Postfix) with ESMTPSA id 4404A160046; Thu, 25 Oct 2018 00:15:24 +0000 (UTC)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Subject: Re: Running code (Was: I-D Action: draft-ietf-6man-ipv6only-flag-03.txt)
From: Mark Andrews <marka@isc.org>
In-Reply-To: <bfa4397a-aa7a-1184-4147-4cbfbfd13603@si6networks.com>
Date: Thu, 25 Oct 2018 11:15:21 +1100
Cc: Brian E Carpenter <brian.e.carpenter@gmail.com>, Lee Howard <lee@asgard.org>, ipv6@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <8C587906-F0EE-4A61-9046-2BFAC52588C0@isc.org>
References: <CAFU7BASO_ByzbanhLKnWV280O_fASd-8W+ujpj3sN6d2-whw2w@mail.gmail.com> <CACWOCC-u7aAPwAOcixYvt2On=-o_8X25GhqdXTfA+tWRC1o2XA@mail.gmail.com> <3beca72e-19c5-10af-02e5-c21a90d77100@gmail.com> <20181019.223739.271916573.sthaug@nethelp.no> <4f58643c-272e-507e-3282-c87befd42395@gmail.com> <0927741c-4e8e-fcf7-ddd6-3ba500ba4c3d@si6networks.com> <7B48A11D-31DE-443C-B73A-14642EA0A397@jisc.ac.uk> <7526af75-4359-6fc6-e39b-eb94024a04de@si6networks.com> <E1BB1232-C1A2-496A-8157-0682D91EED42@steffann.nl> <5E75F3CA-F1D2-4F4F-9CF7-EEEE59634C1E@gmail.com> <C46C990E-0A4F-4731-8CB1-FD204858935E@consulintel.es> <9B53019C-3506-4C9E-AFCF-D6125FA1A65B@gmail.com> <1157b739-3a66-8d45-e3e1-e5f904dfb9bc@asgard.org> <a00607f9-7ced-f889-b5cb-c2fe16367d73@si6networks.com> <66759b73-0a22-e1a9-49db-21154e8e1267@gmail.com> <37ba23b3-df19-9c2a-bdbe-ba7a99d72d05@si6networks.com> <0d6008a4-337b-2ccb-2d9f-837f786eca65@gmail.com> <bfa4397a-aa7a-1184-4147-4cbfbfd13603@si6networks.com>
To: Fernando Gont <fgont@si6networks.com>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/nr7x_YvCk1G4aqSvnSvAZ0b3q6A>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 25 Oct 2018 00:15:29 -0000


> On 25 Oct 2018, at 8:38 am, Fernando Gont <fgont@si6networks.com> wrote:
> 
> On 10/24/18 9:54 PM, Brian E Carpenter wrote:
>> On 2018-10-24 16:20, Fernando Gont wrote:
>>> On 10/24/18 4:54 AM, Brian E Carpenter wrote:
>>>> On 2018-10-24 11:13, Fernando Gont wrote:
>>>> 
>>>> <snip>
>>>> 
>>>>> 
>>>>> In this particular case (ipv6-only flag), what goes on the wire is
>>>>> simple enough that..I don't think having an implementation will buy much
>>>>> wrt how different implementations interoperate with each other. And the
>>>>> insights you'll gain from an implementation are most likely "out of the
>>>>> scope of the I-D", since how you disable the IPv4 stack is certainly
>>>>> going to be very implementation-dependent. (me thinking out loud)
>>>>> 
>>>> 
>>>> Exactly right. There isn't actually an interop requirement of any kind.
>>>> This is a one-way signal from the routers to each host, and each host
>>>> may choose what to do with that information. Legacy hosts will ignore
>>>> it, for example. A host with a sophisticated connection manager might
>>>> use a complicated heuristic, and there are many possibilities in
>>>> between, which is the reason that the draft uses SHOULD language.
>>> 
>>> Without endorsing or opposing to the proposal what I would expect is
>>> that it's quite clear what is expected from hosts in response to the bit.
>>> 
>>> If, when sending the bit set you get each node doing it's own thing (one
>>> reduces timers, another disables the stack forever, another disables it
>>> but might re-enable it when the bit is no longer set, etc.), that would
>>> be an undesirable outcome. Me, I think it should be clear what to do
>>> with the bit, and the exceptions (the corner cases when you might go
>>> against the advice) should be spelled out.
>> 
>> That's exactly the reason for using an RFC2119 SHOULD - but spelling out
>> all the corner cases seems like an impossible task.
> 
> I'd expect that, say, you spell out the cases that made you use "SHOULD"
> rather than "MUST". Put another way: what are the scenarios that you
> have already envisioned where hosts shouldn't disable the IPv4 stack?

When you as the administrator of the host know that the administrator of
router erred.

When you as the administrator of the host configure the host to only talk
to a subset of otherwise reachable machines over IPv4.

When you as a administrator of the host want to test something.

> If I had to code the host part, for example, I'd wonder: Should I
> disable IPv4 for mDNS? If the network is marked as IPv6-only does it
> meant that I shouldn't even try to find, say, a network printer using
> IPv4 link-local addresses (169…)?

Yes.  The assumption when the flag is set is that all the boxes are IPv6
capable.

> Putting this mechanism (ipv6-only flag), I am not sure the extent to
> which you might want to disable IPv4 completely. For instance, there are
> networks that, whether we like it or not, end up learning the RDNS
> address via DHCPv4, because e.g. they employ a version of MS Windows
> that predates W10.

If I was implementing it the interface would become un-numbered for IPv4,
the DHCP client would be disabled, mDNS would not be attempted over IPv4.

I might gate that decision on whether there is a working IPv4 lease or not
(see SHOULD).

> Or the network might not use IPv6 itself, but nodes might need IPv4 for
> "peer to peer" stuff withing the network (whether transferring files,
> printing documents, etc.). And those services are not provide by "the
> network", so the networrk admin doesn't have much of a say about them
> (i.e., he/she might not even know about apps that might require IPv4).

Then the network is not IPv6-only and you shouldn’t be setting the flag.

You can do a thousand "what if someone does something stupid”.   

>>> (things like e.g. what we have with SLAAC/DHCPv6 interaction ar, IMO,
>>> quite undesirable)
>> 
>> Agreed. But if that was easy to fix, we'd have fixed it years ago.
> 
> I'd say it's worse than that: we don't even seem to have much of a model
> for automatic configuration, and keep contributing to that mess. I
> believe we should have a clear model about what goes where, etc....
> rather than continuing adding features (normally to SLAAC) with the
> implicit idea of "well, if the feature is needed, and since nobody is
> gonna use DHCPv6, we should add it to slaac". (which I don't necessarily
> object.. but if we're really going to do that, we better stop working on
> dhcpv6).
> 
> 
> For some of us that at times have to explain IPv6 to newcomers, the part
> where we get to autoconfiguration is... quite uncomfortable, so to
> speak. (particularly when it gets to how to convey info about RDNSS, no
> routes in DHCPv6, etc.)
> 
> -- 
> Fernando Gont
> SI6 Networks
> e-mail: fgont@si6networks.com
> PGP Fingerprint: 6666 31C6 D484 63B2 8FB1 E3C4 AE25 0D55 1D4E 7492
> 
> 
> 
> 
> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> ipv6@ietf.org
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------

-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742              INTERNET: marka@isc.org