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

Toerless Eckert <tte@cs.fau.de> Wed, 24 October 2018 17:33 UTC

Return-Path: <eckert@i4.informatik.uni-erlangen.de>
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 B1F77129619 for <ipv6@ietfa.amsl.com>; Wed, 24 Oct 2018 10:33:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.952
X-Spam-Level:
X-Spam-Status: No, score=-3.952 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-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 mLkjeXoGARgM for <ipv6@ietfa.amsl.com>; Wed, 24 Oct 2018 10:33:25 -0700 (PDT)
Received: from faui40.informatik.uni-erlangen.de (faui40.informatik.uni-erlangen.de [131.188.34.40]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 068071288BD for <ipv6@ietf.org>; Wed, 24 Oct 2018 10:33:24 -0700 (PDT)
Received: from faui48f.informatik.uni-erlangen.de (faui48f.informatik.uni-erlangen.de [131.188.34.52]) by faui40.informatik.uni-erlangen.de (Postfix) with ESMTP id CDAFD548137; Wed, 24 Oct 2018 19:33:20 +0200 (CEST)
Received: by faui48f.informatik.uni-erlangen.de (Postfix, from userid 10463) id C1787440210; Wed, 24 Oct 2018 19:33:20 +0200 (CEST)
Date: Wed, 24 Oct 2018 19:33:20 +0200
From: Toerless Eckert <tte@cs.fau.de>
To: Lee Howard <lee@asgard.org>
Cc: ipv6@ietf.org
Subject: Interop (was: Re: Running code (Was: I-D Action: draft-ietf-6man-ipv6only-flag-03.txt))
Message-ID: <20181024173320.nh4zzql5p4lm7cl7@faui48f.informatik.uni-erlangen.de>
References: <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> <2DC241B3-310B-4A3A-BD4C-C0005FCE6155@consulintel.es> <20181024103057.GD924@hanna.meerval.net> <1F8FC133-7887-457C-A316-D2E6FCD450E9@consulintel.es> <c9091a6e-7fe1-c435-924b-7dd9c53f6cd9@asgard.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <c9091a6e-7fe1-c435-924b-7dd9c53f6cd9@asgard.org>
User-Agent: NeoMutt/20170113 (1.7.2)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/eC1DHgcTpLHcWA9C7zvt2VDWdPo>
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: Wed, 24 Oct 2018 17:33:28 -0000

On Wed, Oct 24, 2018 at 12:21:50PM -0400, Lee Howard wrote:
> If two implementers can't tell from a draft what to do to make sure their
> implementations can interoperate, the draft should not advance, regardless
> of how good the idea is.

Agreed

> A) In this case, one OS could say, "That's advisory,
> I'll ignore it and do everything over IPv4,"

> B) another could say, "The router
> has no IPv4 but I'm using IPv4 for service discovery, so I'll keep doing
> it,"

> C) and a third could say, "RA says no IPv4, I'm disabling the stack."

> All
> comply with the document as written, but those three systems would have a
> very hard time communicating.

Why would any of those nodes have problems communicating via IPv6 with
each other ?  Its a basic happy eyeball problem of selecting the IP version
that works best in dual stack, right ? If they fail to communicate via IPv6 it
sounds to me A) or B) are violating those pre-existing requirements.

The way i see it, the resulting behavior on a host MUST NOT be anything
that is not already defined behavior, just triggered differently, or
else the new behavior has to be spelled out by the draft and the
interop with existing hosts/happy-eyeball recommendations has to be
described.

C) is existing behavior, it's called non-dual-stack-IPv6-only-host,
just thats its triggered here differently so thats safe i think.

A) is also existing behavior, that's safe too.

I am not sure what exactly you mean with B), but it sounds broken
already in the absence of the new RA option because if it doesn't
interop with C) it wouldn't interop with an IPv6 only host on he LAN
either.

The draft does mention IMHO new behaviors like 

D) Bring up IPv4 on-demand. Thats new and i mentioned that previously in
email, IMHO thats something that should be defined separately and vetted
separately. Sounds like a cool IPv4 sunset option, but quite difficult.

E) Do not do RFC3927. Sounds fine to me, because i think this is
pre-existing functionality in many IPv4 nodes (i hope there is no
host requirement to support RFC3927). 

> What guidance would you give those implementers? Can we put that guidance
> into the draft?

Agree on as specific guidance as is agreeable to the WG to be put into
the draft.  Just don't think that consistency (one single recommendation) across
all hosts on a LAN is necessary. See above.

> > A couple of examples I can remember, IPv6 site local (it was an RFC) and draft-ietf-ipv6-dns-discovery, different process stages, both got implemented by many OS vendors and also Linux. No longer used.
> 
> Implementation is not a guarantee of deployment.

Implementation is a guarantee to make bad ideas big pains for years to
come. Especially when its conception process is as nasty as site local was. 
There is a lot to be said about well vetted drafts before implementing.

> Yes. We are trying to discriminate between clear documents and vague
> documents. From what I can see, developers can write completely compliant
> implementations that break communications between systems on a network.
> 
> We also discriminate between ideas that help and those that hurt, or even
> those that do no harm but are useless. If we never discriminated, we would
> publish every draft.

And there are different hurts.

I think hurt to operations can be eliminated through above discussed
better guidance, e.g.: "don't make hosts do new things to IPv4, just
use this as a new trigger for existing modes to operate or non-operate
v4".

I'd be even happy if no host use the trigger and its just for
diagnostics showing up in a GUI (IPv4 not supported on this network).

The hurt to the RA codepoint space is IMHO a more difficult problem to
vet because i have no idea about the likelyhood of running out and
workarounds if one does, so the value of this options seems to need to
be quite high to justify the desired encoding. IMHO it would help a lot
to use an encoding that wouldn're quire justifing a high-value of the
feature.

Cheers
   Toerless
> 
> Lee