Re: [core] Roman Danyliw's No Objection on draft-ietf-core-senml-data-ct-05: (with COMMENT)

Carsten Bormann <cabo@tzi.org> Wed, 20 October 2021 09:31 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 27F0B3A0856; Wed, 20 Oct 2021 02:31:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, 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 OvcCkp9GH-Mo; Wed, 20 Oct 2021 02:30:55 -0700 (PDT)
Received: from gabriel-smtp.zfn.uni-bremen.de (gabriel-smtp.zfn.uni-bremen.de [134.102.50.15]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8E6C03A0855; Wed, 20 Oct 2021 02:30:55 -0700 (PDT)
Received: from [192.168.217.118] (p5089a10c.dip0.t-ipconnect.de [80.137.161.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by gabriel-smtp.zfn.uni-bremen.de (Postfix) with ESMTPSA id 4HZ52P1QWJz30Lx; Wed, 20 Oct 2021 11:30:53 +0200 (CEST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.7\))
From: Carsten Bormann <cabo@tzi.org>
In-Reply-To: <163199251278.32143.9125277138231739491@ietfa.amsl.com>
Date: Wed, 20 Oct 2021 11:30:52 +0200
Cc: The IESG <iesg@ietf.org>, draft-ietf-core-senml-data-ct@ietf.org, core-chairs@ietf.org, "core@ietf.org WG" <core@ietf.org>, Jaime Jimenez <jaime@iki.fi>
X-Mao-Original-Outgoing-Id: 656415052.64104-201bd2965ea443bf0dc02243d9107ffc
Content-Transfer-Encoding: quoted-printable
Message-Id: <546C3C20-0928-4D76-99D3-B73824E0D811@tzi.org>
References: <163199251278.32143.9125277138231739491@ietfa.amsl.com>
To: Roman Danyliw <rdd@cert.org>
X-Mailer: Apple Mail (2.3608.120.23.2.7)
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/0Ch-ObuYFguOke0qbntFebOj1o0>
Subject: Re: [core] Roman Danyliw's No Objection on draft-ietf-core-senml-data-ct-05: (with COMMENT)
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: Wed, 20 Oct 2021 09:31:01 -0000

Hi Roman,

Francesca reminded me never replied to your comments.
Sorry about that.

> On 2021-09-18, at 21:15, Roman Danyliw via Datatracker <noreply@ietf.org> wrote:
[…]
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
> 
> Is there any generic guidance to provide on expected error handling behavior if:
> 
> -- ct (or bct) contains a number outside of the 0-65535 range, or an
> unregistered value per the CoAP Content-Formats?
> 
> -- ct (or bct) contains a text value that is not a registered
> Content-Format-String?
> 
> -- ct (or bct) contains a valid Content-Format-String, but an unregistered 
> Content-Format?
> 
> Or is this application specific?

Based on the discussion at the CoRE Virtual interim - 2021-10-13 [1], in -06 we actually decided to answer the question you didn’t ask, and added a subsection [2]:
 
+## Evolution
+
+As with SenML in general, there is no expectation that the creator of
+a SenML pack knows (or has negotiated with) the consumer of that pack,
+which may be very remote in space and particularly in time.
+This means that the SenML creator has no way to know whether the
+consumer knows:
+
+- each specific media-type name used
+- each parameter and each parameter value used
+- each content-coding in use
+- each content-format number in use for a combination of these
+
+What SenML, as well as the new fields defined here, guarantees is that
+a recipient implementation *knows* when it needs to be updated to
+understand these field values and the values controlled by them;
+registries are used to evolve these name spaces in a controlled way.
+SenML packs can be processed by a consumer while not understanding all
+the information in them, and information can generally be preserved in
+this processing such that it is useful for further consumers.

I hope this, indirectly, does answer your question, as evolution can make it look like a creator used unregistered values (that the consumer just hasn’t heard about yet), and that needs to be handled exactly the same way.

(The content-format being out of range is the only error that can be reliably detected by a consumer the writer of which didn’t have a crystal ball.
I think at some point we’ll write an informative document about SenML best practices, and that will also contain some hints about error handling.
But putting this here would be going outside the scope of the specification of this single pair of fields.)

Grüße, Carsten

[1]: https://datatracker.ietf.org/doc/minutes-interim-2021-core-12-202110131600/
[2]: https://github.com/core-wg/senml-data-ct/commit/0a57952 and
https://www.ietf.org/archive/id/draft-ietf-core-senml-data-ct-06.html#name-evolution