Re: you have running code ... I-D Action: draft-ietf-6man-ipv6only-flag-03.txt

Brian E Carpenter <brian.e.carpenter@gmail.com> Sat, 03 November 2018 21:15 UTC

Return-Path: <brian.e.carpenter@gmail.com>
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 057E6128766 for <ipv6@ietfa.amsl.com>; Sat, 3 Nov 2018 14:15:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 sB5OEeuqfWhU for <ipv6@ietfa.amsl.com>; Sat, 3 Nov 2018 14:15:46 -0700 (PDT)
Received: from mail-pf1-x442.google.com (mail-pf1-x442.google.com [IPv6:2607:f8b0:4864:20::442]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ED20A126DBF for <ipv6@ietf.org>; Sat, 3 Nov 2018 14:15:45 -0700 (PDT)
Received: by mail-pf1-x442.google.com with SMTP id g7-v6so321841pfo.10 for <ipv6@ietf.org>; Sat, 03 Nov 2018 14:15:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=7r7muLRXxyWuzyJiAZe3WBOTsN+YjHWcPSvyL31gzgE=; b=jpVn2rQFehA++dLRuMayD3GxsWtEeRV3k9M1I/Pacd3VsNzDvhc1Abm3Ebu6JMo/bn vefo4PICwL1k04POcggM3dapXPe7sChCNWx3LA9UO1nBB9MoZ6dmFXT2o/3+TRpUjk/b KhwLKD+qqe5EYRyrfPWNmn0W92s67c4LBibDMH+Z8EhyzCOrKlOvfobjT96HTE3sBLR2 c9PgNsB1Q8BzlSFQ36nDdFAiyUXP0pmqGZj6y/S3JhcRJrRC2A6Fk0arm2DPMxMoCFUh SGcByFemotcZbQmJsNTwJC3S5TRXnP2Wr9odbNpwfUMTrqAo+AOx4+AlNYVWUcAjkr3o lGdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=7r7muLRXxyWuzyJiAZe3WBOTsN+YjHWcPSvyL31gzgE=; b=JjiPbwtcu+YpLKz+JQWyAfdnQDM4uK346+kH8PG6ZQ2j7TaGK20NnoP2M5WNWAb7xE 6pIAkGpGNaAYUrshMczvrJEV0AewZ9mBYi/Safw6oYp2sz2omtdNAUjrF5/xfdPiVd98 twz5npp8EME4jhMYZ0Yn11MUWKdIxuWJ7Ol8H3Fw4nL097S+DZtL4SRnyDs9nF1naXsH 29T+0P2kAG+WRJamQnQ1yXPcz5ZCkVd53e5aKS1/2rE+Lti6c9xJa4Az3oqIjcYS0aUi 4vkEY39PCYVi7utNZURrD/5MjOGc1Kk3ZHFzGUCNIudrDjZGFXW3PmueJAW4ljc7aUO1 LB+w==
X-Gm-Message-State: AGRZ1gKZBvL8FJ2EWuqrevrysfJCEWZAANUjyhZ4DQqnMWJZ1tPtrSjJ YQb13aHQ4LwaWgEmS16HWcQU2NMs
X-Google-Smtp-Source: AJdET5f9iqzPSmLVFDelA9lGLa+xDG+GZFcVG4cnriBQ5+Ex72SWFuUIPtSZs6q/PKpTWYQzvVEWpQ==
X-Received: by 2002:a63:6643:: with SMTP id a64-v6mr12324277pgc.15.1541279745048; Sat, 03 Nov 2018 14:15:45 -0700 (PDT)
Received: from [192.168.178.30] ([118.148.76.40]) by smtp.gmail.com with ESMTPSA id 11-v6sm40076587pfr.55.2018.11.03.14.15.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 03 Nov 2018 14:15:44 -0700 (PDT)
Subject: Re: you have running code ... I-D Action: draft-ietf-6man-ipv6only-flag-03.txt
To: Lee Howard <lee@asgard.org>, ipv6@ietf.org
References: <153973137181.9473.10666616544238076833@ietfa.amsl.com> <6264F7A1-59EB-467D-A576-E5F2F0DEE7DD@lists.zabbadoz.net> <CACWOCC-xL0PfkNHgCqhB28GE-jCWUUagQE4PukdpXK+YHgWpyg@mail.gmail.com> <97ba35ff-b4a7-314c-3010-297d06be645d@foobar.org> <01c2a55e-1888-3ebc-3252-11b9005b8272@gmail.com> <0abd7b4d-b0e0-b1bc-2468-678befbc7cac@asgard.org> <3e155df0-5799-8788-5fbe-767a7421828c@gmail.com> <18646396-e3f7-b9ad-3871-69868468859a@asgard.org>
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
Message-ID: <d080497b-4f39-b877-1524-f23d9b1446e0@gmail.com>
Date: Sun, 04 Nov 2018 10:15:39 +1300
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <18646396-e3f7-b9ad-3871-69868468859a@asgard.org>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/DsEAy-oKxOf1WZMGnW8XJJqT9RE>
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: Sat, 03 Nov 2018 21:15:48 -0000

On 2018-11-04 00:35, Lee Howard wrote:
> Sorry, I didn't trim because I think it's all context...
> 
> On 11/3/18 12:50 AM, Brian E Carpenter wrote:
>> On 2018-11-02 19:09, Lee Howard wrote:
>>> On 11/1/18 1:13 AM, Brian E Carpenter wrote:
>>>> On 2018-10-31 22:24, Nick Hilliard wrote:
>>>>> Job Snijders wrote on 30/10/2018 22:27:
>>>>>> Can you (or others running FreeBSD EXPERIMENTAL) share reports on how
>>>>>> this pans out in practise?
>>>>> Looking at the code, it acts by blocking outbound ipv4 frames from being
>>>>> transmitted on ethernet interfaces.  This would mean - for example -
>>>>> that if there were a default route already configured on the receiving
>>>>> device, any userland code attempting to use ipv4 services would block
>>>>> until ARP times out for the default route (default 20 minutes on freebsd).
>>>>>
>>>>> The only part of the ipv6only discussion that was uncontroversial was
>>>>> implementation of the kernel processing side of this flag - there's very
>>>>> little to go wrong when toggling a single flag.
>>>>>
>>>>> The problem area is how to handle the interpretation of this flag in
>>>>> userland and in the kernel, which is a much more difficult problem.
>>>> It's a question, but I don't know why it's a problem. It isn't an interop
>>>> problem, because each host is an independent actor in this. And we now have
>>>> running code proof that legacy hosts aren't affected. So I'd say that from
>>>> a protocol spec point of view, it's actually a non-issue.
>>> Doesn't it mean that user space applications on a host that had/expected
>>> IPv4 would fail?
>> Well yes, but that is presumably the network administrator's intention,
>> so I'm not sure I'd characterise it as am interop issue exactly, and it's
>> not an interop issues *involving the RA message itself*.
>>   
>>> I think I described my interop concern:
>>> https://mailarchive.ietf.org/arch/browse/ipv6/?qdr=m&so=frm
>>>
>>> IPv4-only hosts, and dual-stack hosts
>>> that do not recognize the new
>>>       flag, may continue to attempt IPv4 operations
>>>
>>> If some devices require IPv4 and others disable IPv4, you have lost
>>> connectivity between systems on a local network. As written, this is not
>>> considered a misconfiguration by the administrator who sets the flag.
>> Indeed not. The admin will presumably be happy at this result.
>> I don't think we disagree about the effect, just about whether
>> it's desirable.
>>
>>>>> This also disregards the issue of whether the flag was either necessary
>>>>> or a good idea to start with, and nearly 700 emails into this
>>>>> discussion, the WG seems to be hopelessly divided on these issues.
>>>> I'll leave that one to the WG chair who isn't a co-author. But I will
>>>> say that in my mind the issue is whether the feature is one that will
>>>> be valuable in 5, 10 or 20 years time rather than whether it's valuable
>>>> today.
>>> I've come into the camp that believes that in 10 or 20 years IPv4 will
>>> be disabled by default. When people post to stackoverflow complaining
>>> that their 10-20 year old devices are unreachable from their brand new
>>> devices, the response will be, "The old stuff might be using the old
>>> protocol, IPv4. Go into Control Panel, Networking, Protocols, select
>>> IPv4, click enable."
>>>
>>> If that's likely, then this flag is only useful in the interim 5 years.
>>> During that time, I would like to maximize connectivity.
>>>
>>> If a network administrator wants central control over IPv4/IPv6
>>> enablement in hosts, there are better, more centralized tools for that.
>>> As a principle, host behavior should be managed by host management
>>> tools, and not by hints from a router.
>> I'm not sure how that can work on a BYOD network. On a fully managed network,
>> sure, we could "easily" invent a solution.
> 
> Taken all-in-all, then, the use case for this flag is a network where 
> the administrator:
> 
> 1. does not know what's on the network,

May not know what's on the link, or does not have management access
to some devices on the link, or does not have policy control over
some devices on the link. There are many such networks.

> 2. expects that there are some applications using IPv4,

I don't see that. The admin has decided that there are no IPv4
services on the link - presumably no DHCPv4, no DNS over IPv4,
no IPv4 routing. Whether or not some hosts contain IPv4 applications
isn't necessarily known to the admin.

> 3. understands that IPv4 will continue to work locally, 3b. except for 
> dual-stack hosts that honor the flag,

It might be fairer to say that the admin doesn't care whether
IPv4 works locally, but has decided to announce to everybody that
there are no IPv4 services on the link, knowing that only 3b hosts
will understand the announcement.

(The fact that RAs are universal, whereas other possible mechanisms
such as DHCPv6 or NETCONF are not, is relevant here.)

> 4. understands that applications may have already negotiated IPv4 
> connectivity,

Again - doesn't care.

> 5. desires to break communications for 3b and 4, 

Again - doesn't care.

> and prevent IPv4 
> Internet access.

Yes, that's the primary decision. Of course, the assumption is that
IPv6-only access to the Internet is necessary and sufficient.

> It's not just that administrator accepts that 3b and 4 won't work, but 
> as you said above, "The admin will presumably be happy with this result."

Or doesn't care.

> This seems to me a very narrow application.

It's certainly directed at a specific (and future) phase of history, when
IPv6-only is viable and IPv4 has not yet faded into oblivion. How many
links for how many years would be in that phase is an open question.

As the draft recognizes, there are other mechanisms available too.
What strikes me as unique about this mechanism is simply that *every*
dual stack host receives and understands RAs; this is our only way
of getting a bit to every single dual stack device. That's not
narrow, IMHO.

     Brian