Re: Adam Roach's Discuss on draft-ietf-6man-maxra-03: (with DISCUSS and COMMENT)

Adam Roach <adam@nostrum.com> Fri, 27 October 2017 20:21 UTC

Return-Path: <adam@nostrum.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 29ED313F43D; Fri, 27 Oct 2017 13:21:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.879
X-Spam-Level:
X-Spam-Status: No, score=-1.879 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, T_SPF_HELO_PERMERROR=0.01, T_SPF_PERMERROR=0.01] autolearn=unavailable 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 zuMIsmEy6_WC; Fri, 27 Oct 2017 13:21:39 -0700 (PDT)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 C3CD813F5CE; Fri, 27 Oct 2017 13:21:39 -0700 (PDT)
Received: from Orochi.local (99-152-146-228.lightspeed.dllstx.sbcglobal.net [99.152.146.228]) (authenticated bits=0) by nostrum.com (8.15.2/8.15.2) with ESMTPSA id v9RKLU8u032803 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Fri, 27 Oct 2017 15:21:31 -0500 (CDT) (envelope-from adam@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host 99-152-146-228.lightspeed.dllstx.sbcglobal.net [99.152.146.228] claimed to be Orochi.local
Subject: Re: Adam Roach's Discuss on draft-ietf-6man-maxra-03: (with DISCUSS and COMMENT)
To: 神明達哉 <jinmei@wide.ad.jp>, Ole Troan <otroan@employees.org>
Cc: IPv6 List <ipv6@ietf.org>, 6man Chairs <6man-chairs@ietf.org>, Bob Hinden <bob.hinden@gmail.com>, IESG <iesg@ietf.org>, draft-ietf-6man-maxra@ietf.org
References: <150888618658.4890.17540557977964477269.idtracker@ietfa.amsl.com> <4F068A57-9F88-4951-A584-D103193744C4@gmail.com> <b16972d4-5456-76f5-0555-d94d9818d21c@nostrum.com> <494DB70A-D752-45A9-9D9F-B0062F2E2764@employees.org> <CAJE_bqdJZREuyUK9bvyK+N+-7Mc1xr-0Q+w5iFohoR=j4mZgNg@mail.gmail.com>
From: Adam Roach <adam@nostrum.com>
Message-ID: <b6026ad9-d4e4-6258-4db7-6d691c1a2fa9@nostrum.com>
Date: Fri, 27 Oct 2017 15:21:25 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:52.0) Gecko/20100101 Thunderbird/52.4.0
MIME-Version: 1.0
In-Reply-To: <CAJE_bqdJZREuyUK9bvyK+N+-7Mc1xr-0Q+w5iFohoR=j4mZgNg@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------DE1D3B4924FA7BE14513A34C"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/8UfWT15zWLLxalTy84zjgoh5CXY>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.22
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: Fri, 27 Oct 2017 20:21:41 -0000

On 10/27/17 11:41, 神明達哉 wrote:
> FWFIW, an implementation that I know of adopts the "inclusive" version 
> of "between" (it doesn't support 6man-maxra so it still only conforms 
> to RFC4861)

Right. And I think "inclusive" is probably the right answer here. Let's 
examine the statement in question: "AdvDefaultLifetime MUST either be 
zero (the router is not to be used as a default router) or be a value 
between MaxRtrAdvInterval and 65535."

Let's first consider the low end of this interval. Section 3 says: 
"AdvDefaultLifetime MUST be set to a value greater than or equal to the 
selected MaxRtrAdvInterval." Assuming "or equal to" is not a very 
complicated misspelling, would seem to indicate that the range is 
inclusive on the lower end. [1]

Now, let's consider the high end of this interval.  The normative 
statement "MaxRtrAdvInterval MUST be no greater than 65535" allows 
MaxRtrAdvInterval == 65535. In the case that MaxRtrAdvInterval == 65535, 
what would be the allowable values for AdvDefaultLifetime? If it must be 
less-than-and-never-equal-to 65535, and yet must be 
greater-than-or-equal-to MaxRtrAdvInterval, you're left in a bit of a 
pickle: "65535 <= x < 65535" cannot be solved for x. This then indicates 
that the range needs to be inclusive on the upper end.

So while I believe the answer is probably self-evident if one does the 
analysis, the problem is that one has to chain together a lot of logical 
statements to arrive at this conclusion; and such a chain is 
sufficiently non-obvious that even the document shepherd/WG chair 
appears to have arrived at a different conclusion than what this logical 
analysis would lead us to understand.

All I'm asking for is the insertion of a single word in the normative 
statement in question, so that it reads: "AdvDefaultLifetime MUST either 
be zero (the router is not to be used as a default router) or be a value 
between MaxRtrAdvInterval and 65535, inclusive."

I'm happy to keep discussing this; but for me to change my ballot 
position, you'll have to do one of the following:

 1. Change the statement to be unambiguous.
 2. Change the statement to be non-normative.
 3. Make a compelling case that it is okay for normative statements to
    be ambiguous.

/a

____
[1] This is complicated by the following language: 
"K=AdvDefaultLifetime/MaxRtrAdvInterval" and "on a theoretically perfect 
link with no losses, it would have been sufficient to have K just above 
1" -- which implies that K=1 (that is, AdvDefaultLifetime == 
MaxRtrAdvInterval) is problematic even in a theoretically perfect case. 
However, since this text is non-normative, I think it has less weight 
than the normative statements cited above.