[core] [core]: I-D.core-comi or CORECONF Comments

Vojtech Vilimek <vojtech.vilimek@nic.cz> Tue, 13 January 2026 16:27 UTC

Return-Path: <vojtech.vilimek@nic.cz>
X-Original-To: core@mail2.ietf.org
Delivered-To: core@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id EAD1CA718E3E for <core@mail2.ietf.org>; Tue, 13 Jan 2026 08:27:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.799
X-Spam-Level:
X-Spam-Status: No, score=-2.799 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Adr47Q3ALMWk for <core@mail2.ietf.org>; Tue, 13 Jan 2026 08:27:19 -0800 (PST)
Received: from mail.nic.cz (mail.nic.cz [217.31.204.67]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id E023EA718E2F for <core@ietf.org>; Tue, 13 Jan 2026 08:27:18 -0800 (PST)
Received: from [IPV6:2001:1488:fffe:6:2a0b:2945:82f3:47a3] (unknown [IPv6:2001:1488:fffe:6:2a0b:2945:82f3:47a3]) by mail.nic.cz (Postfix) with ESMTPSA id AE2CF1C0607 for <core@ietf.org>; Tue, 13 Jan 2026 17:27:16 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nic.cz; s=default; t=1768321636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CXXSHiRhIw1Di7mHaOu0uvLD+Tx7hFUqd74iBKIo0SY=; b=FI2Cv2P0fApweHgXyeWeKDXkwK0XzRo7O58mcxSV9IfTkIa4Ek3G9tAUUhz5hoWkD0VZIH M8ND+Nr7590DpEBH7Q+vGMtoFCrOkMkOWJGuIZGp2fAZf6EAx6FjXdQ9mvv5deXcTP/lSS qPKt3ovwtSZrLHl3YCK7daHs6O2m2AQ=
Authentication-Results: mail.nic.cz; auth=pass smtp.auth=vojtech.vilimek@nic.cz smtp.mailfrom=vojtech.vilimek@nic.cz
Message-ID: <47198184-469a-4c02-9a00-77dc412a74a7@nic.cz>
Date: Tue, 13 Jan 2026 17:27:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: core <core@ietf.org>
From: Vojtech Vilimek <vojtech.vilimek@nic.cz>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Spamd-Bar: /
X-Rspamd-Queue-Id: AE2CF1C0607
X-Spamd-Result: default: False [-0.10 / 16.00]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; ASN(0.00)[asn:25192, ipnet:2001:1488::/32, country:CZ]; WHITELISTED_IP(0.00)[2001:1488:fffe:6:2a0b:2945:82f3:47a3]; FROM_HAS_DN(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; DKIM_SIGNED(0.00)[nic.cz:s=default]; MIME_TRACE(0.00)[0:+]
X-Rspamd-Pre-Result: action=no action; module=multimap; Matched map: WHITELISTED_IP
X-Rspamd-Action: no action
X-Rspamd-Server: mail
Message-ID-Hash: GSX4JJVHF7TF537364EVVSFTRANQY6II
X-Message-ID-Hash: GSX4JJVHF7TF537364EVVSFTRANQY6II
X-MailFrom: vojtech.vilimek@nic.cz
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-core.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [core] [core]: I-D.core-comi or CORECONF Comments
List-Id: "Constrained RESTful Environments (CoRE) Working Group list" <core.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/Ex0SemXPAwGNiYnQbZXKnUbcn0A>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Owner: <mailto:core-owner@ietf.org>
List-Post: <mailto:core@ietf.org>
List-Subscribe: <mailto:core-join@ietf.org>
List-Unsubscribe: <mailto:core-leave@ietf.org>

Hi all,

my comments to the CORECONF document [1] follows.

Identification of nodes:
Both of the MIME types used by the current version of the document uses 
the 'instance-identifier' YANG datatype. The only think the datatype 
miss is ability to identify whole list or leaf-list not just one 
particular instance. This _can_ be worked around be putting the selected 
list into a container but this work around for example does not work on 
most of the current IETF YANG models. Therefore I define a new type 
'node-identifier', which is allowed to have the last list/leaf-list 
identifier with unspecified key/index. This 'node-identifier' would used 
in places that use 'instance-identifier' now.
(Related sections: 2.3 Media types, ...)

YANG-CBOR:
The YANG-CBOR has some missing pieces. As I already pointed out in my 
draft to fix this [2]. I think we should consider this a blocking issue 
and find a consensus of the ideal solution. I think the extension of the 
RFC9254 (YANG-CBOR) [3] should be references along side the the RFC9254 
references or at least on point of introduction of the RFC9254.

CORECONF vs RESTCONF:
I think that everything accessible by 'node-identifier' (or 
'instance-identifier') can be places as target for CoAP FETCH and iPATCH 
requests/responses. However this will bring more differences between 
CORECONF and RESTCONF that must be dealt with by the protocol proxies.

YANG standins:
I think that the document should require the implementation to have 
reasonable subset or full conformance to the YANG standin [4]. In the 
introduction, the document says that most of the decisions are taken to 
save bytes of the messages. Also the document requires the usage of SIDs 
so the inclusion of YANG standins feels pretty much natural. I also 
think that the YANG standins should be part of the YANG-CBOR 
serialization model from the beginning.

Atomicity of message processing:
In the past wrote some code for SNMP, which mandates that all messages 
must be process atomically. Is this requirement also put on the 
CORECONF? I feel like in the microcontroller/constrained world, it is 
not that expensive. But for more of a HPC kind of software, it may be 
really expensive to process larger request in atomic way.

Unified datastore semantics etc.:
I don't fully understand the expected semantics of the Unified 
datastore. Is it expected that the server holds basically two views of 
the datastore model, the config instance data tree and the runtime state 
instance data tree? Because I need to implemented FETCH on both runtime 
and config instances. While FETCHing an node with both config=true and 
config=false instances and query parameter 'c=a' content all descendant 
nodes, should the config=false take precedence? Is it possible to have 
two instances with config=false and config=true at the same time in the 
Unified datastore?
The iPATCH cannot have a content query parameter, so it only work on the 
config=true data tree? (Based on the fact that YANG has config=true 
read-write and config=false read-only).

Let's say a have a counter of some events instantiated in config=false 
mode only. It it than impossible to zero the counter simply be write 0 
to it?

CORECONF over TCP, CORECONF over WS, CORECONF over Unix domain sockets:
Should the document speak about the alternative transport-layer protocols?

Discovery:
It is good to have the '/.well-known/core' to have text-based format. 
But I worry that the Link format is much bigger than the transmitted data.
I also think that the constrained YANG library should use CBOR over JSON 
with one URI the the JSON version.


Best regards,

Vojtech Vilimek
CZ.NIC z.s.p.o
Czech Republic

[1]: https://www.ietf.org/archive/id/draft-ietf-core-comi-20.html
[2]: https://github.com/vvilimek/draft-vilimek-yang-cbor-inst-id
[3]: https://www.rfc-editor.org/rfc/rfc9254
[4]: https://github.com/cabo/yang-standin