Re: [core] Opsdir last call review of draft-ietf-core-hop-limit-05

Carsten Bormann <cabo@tzi.org> Fri, 27 September 2019 12:24 UTC

Return-Path: <cabo@tzi.org>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BCD39120812; Fri, 27 Sep 2019 05:24:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.197
X-Spam-Level:
X-Spam-Status: No, score=-4.197 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_NONE=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 LC0ZChHRbauT; Fri, 27 Sep 2019 05:24:41 -0700 (PDT)
Received: from gabriel-vm-2.zfn.uni-bremen.de (gabriel-vm-2.zfn.uni-bremen.de [134.102.50.17]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1DA5812004C; Fri, 27 Sep 2019 05:24:41 -0700 (PDT)
Received: from eduroam-pool6-0867.wlan.uni-bremen.de (eduroam-pool6-0867.wlan.uni-bremen.de [134.102.27.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by gabriel-vm-2.zfn.uni-bremen.de (Postfix) with ESMTPSA id 46frZv2J2kzyqd; Fri, 27 Sep 2019 14:24:39 +0200 (CEST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Carsten Bormann <cabo@tzi.org>
In-Reply-To: <20190927114946.igkh7f3evmclwt4p@EMB-918HFH01>
Date: Fri, 27 Sep 2019 14:24:39 +0200
Cc: "Scott O. Bradner" <sob@sobco.com>, "draft-ietf-core-hop-limit.all@ietf.org" <draft-ietf-core-hop-limit.all@ietf.org>, "ops-dir@ietf.org" <ops-dir@ietf.org>, "ietf@ietf.org" <ietf@ietf.org>, "core@ietf.org" <core@ietf.org>
X-Mao-Original-Outgoing-Id: 591279877.452345-3e7cdd004112b7d3ec2b8130398120cf
Content-Transfer-Encoding: quoted-printable
Message-Id: <30446701-ADE2-4231-A987-CB6AE906A3E8@tzi.org>
References: <156954173082.31982.2465512704956520690@ietfa.amsl.com> <787AE7BB302AE849A7480A190F8B9330313276CF@OPEXCAUBMA2.corporate.adroot.infra.ftgroup> <A63F6779-653D-4DC6-9A79-E3983A742714@sobco.com> <20190927114946.igkh7f3evmclwt4p@EMB-918HFH01>
To: Jaime Jiménez <jaime@iki.fi>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/tFrRM0mjg06W8105PE6Psy9sP7g>
Subject: Re: [core] Opsdir last call review of draft-ietf-core-hop-limit-05
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Sep 2019 12:24:44 -0000

Hi Jaime,

On the option registration scheme, Scott raises some good points that we should have had in mind in 2011..13 when all this was designed.  

CoAP’s main extension point is the “Option”, i.e. a TLV item (in a highly efficient encoding) that can be added to a request or response.  Options are maintained in a registry, which coordinates the code point space (Option number) and points to a spec.

Options have a number of properties/flags, which are typically shown in the specification that defines the option using a table like Table 4 of RFC 7252.
The Option number itself encodes a number of properties of an option, specifically the “C” (critical), “U” (proxy-unsafe), and “N” (not-a-cache-key) flags, so those three properties are available to any system processing the Option, whether the Option is known to it or not.
In other words, if you look closer, these three flags are captured in the registry because the Option number is.

The R flag (repeatable), the data type (format), the length range, and the default (if any) are not captured in the registry; these need to be taken from the Option specification.

This may not be the brightest way to run a registry (among other things, it relies heavily on the designated expert knowing about C/U/N and making sure that the option number encodes this properly, and it leads to squatters like ITU-T invariably choosing broken option numbers), but it is what we have been using for a while already.  So that part of the comments may be nudging us to reconsider our ways managing the CoAP Option registry, but is not specifically a comment on hop-limit.

The other question was why the hop-limit option isn’t made mandatory.  Med has already pointed out that the text of the draft does recommend its use in specific situations (i.e., where proxies are involved).  The transition strategy is somewhat mild, as proxies today don’t know the option, so its interpretation by a receiving instance is elective (i.e., not critical).
Application domains that do make use of complicated proxying structures (which is not the norm today for CoAP), such as DOTS, might make more stringent requirements.  Generally, we don’t use “updates” for specifications that merely exercise an extension point, so I don’t think hop-limit “updates” RFC 7252, but the “updates” label is in active discussion already anyway.

Grüße, Carsten


> On Sep 27, 2019, at 13:49, Jaime Jiménez <jaime@iki.fi> wrote:
> 
> Hi,
> 
> I do not know of the rationale for not adding the CUNR information for
> each option, I'd assume that the respective RFC is enough for that.
> Maybe Carsten or others can shed some light to that.
> 
> Ciao!
> 
> On Fri, Sep 27, 2019 at 06:59:34AM -0400, Scott O. Bradner wrote:
>> 
>> 
>>> On Sep 27, 2019, at 4:30 AM, mohamed.boucadair@orange.com wrote:
>>> 
>>> 
>>>> (that
>>>> the IANA registry does not include the option categories)  and would
>>>> suggest
>>>> that section 6.2 specifically refer back to section 5.10 of RFC 7252 and
>>>> say
>>>> that it is an extension of the table in the RFC.
>>> 
>>> [Med] No need to mention this is an "extension" of the table in 7252. The IANA registry is used to maintain the updated table.
>> 
>> not quite the case - the IANA maintains a list of options - the table includes additional information not maintained by the IANA
>> (but maybe should be)
>> 
>> Scott
>> 
>> _______________________________________________
>> core mailing list
>> core@ietf.org
>> https://www.ietf.org/mailman/listinfo/core
> 
>