[core] Re: CoRE WG Virtual Interim 2026-04-22 RFC9595 Errata implementation
Andy Bierman <andy@yumaworks.com> Tue, 05 May 2026 17:26 UTC
Return-Path: <andy@yumaworks.com>
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 83A2BE964301 for <core@mail2.ietf.org>; Tue, 5 May 2026 10:26:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1778002008; bh=irtBDBaIStnALewDg83Z/OfNfiy4WjPuAln9wbYb/3c=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=CLCqTJ1vJYYojOfQLdDiHIIRdvqjM08iWZLpD+gl2DDO1J3VfjX2qlzNaKOVK3E2/ aa90wwlAjq1yc81ndFHEkJvChUKrTTFI1n3GHkJV2PuPAmLm+ZSLiGgBvljyB7vUue xgaAFwuDsZrjMbdrpBBJId9ieLiU8qGSZomX9RhM=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks.com
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 xQaSHL5hZjmV for <core@mail2.ietf.org>; Tue, 5 May 2026 10:26:44 -0700 (PDT)
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com [IPv6:2a00:1450:4864:20::12e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id F1F83E9638C9 for <core@ietf.org>; Tue, 5 May 2026 10:24:50 -0700 (PDT)
Received: by mail-lf1-x12e.google.com with SMTP id 2adb3069b0e04-5a74741d8c4so390238e87.0 for <core@ietf.org>; Tue, 05 May 2026 10:24:50 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1778001890; cv=none; d=google.com; s=arc-20240605; b=eNPuguvKMoFOMc0VLgNSeInlQcbtBh4Lo9MXS29NPZCagnlWT97uFl14bHZH7w96P2 740gQ24YkQtHnFGraypSBKc42liKGr5imXGrmEzMOEuTWeQ8ioE3sOLl6HYiI5M3K8Oz kds/ILbjbntjf6d0/rRqgCyGMlTxFZ0s2alMDWeVfEZKTUld07cw3xU/iIiU9SrxlUhx JhLlKgeDzpm3YdOiR4fG6Oc0g51YQobd0+pAD2QguomwyEr1e+pWFUsALbLo2OiiQZ7D AXu145eCH3PK+aFCeYjiKB9Iemaax7l8af9eZf13rZXK3cRC5baANSjJ2Vdf4Ehr0CWV HVRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=zGc1UGS47dWir2YbblfzXecj8Z4F9hQ7/56rcRYrnyo=; fh=+ZRsQDRBLYh0w8nfnbtLwBe0JqVzsSxDzINx1CBmb3Y=; b=IQ1L+KckgBtdnUKos3JVfqpq7tDDk+y6JTZhETe8uDTGH9LDB27hcakw2VQfQPW5DU TiuafTmhd/Ru3TiF8N0mWaUGUhgpj/SrtG5FMIiRESrPqIQ3WYEtsvDRDLg5zK+MS7K1 UD0aIWT1BRVDmRcgsazVFY9Rwii6VA6uvaR2ixfaH02dLOcEwg5FEt9IcVADmWWnSqpx LSawJ55Vd1Vs1FBPQefOmeaUg15dKNAV2rFuHeEfL+b8UkegfkFK/m0csfCkgmup0jQF U1Jp5F2Bv9GqJWU7cJYPhCFp9OCbHbPr7xiQG1v1FucBT502/iRDSriFZwkmyHoq5G0c pvZQ==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks.com; s=google; t=1778001890; x=1778606690; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=zGc1UGS47dWir2YbblfzXecj8Z4F9hQ7/56rcRYrnyo=; b=iATWNG1IhySkjEVv6eLEyNMf9U44CycZ5ddQnq0naerRvTXMb++axIzAxTwE5PY30d 1AkGP8G5zZZDXymJLE45e0/IdKkaVA5NdjMqjIZnP1EZBdr7GelFIpgbwYaN+udxVa3B 6ltmB9Xyfl6tCVIV2jxbe8JYdeom9L0AVJKBbof3IS8oLDfgh8cgOh/C+86Jfn+Sc3z0 /zzGUSHha3Ha52UOEFZH9pmai/hkK9F9tHbKHmXy1WS0axmTaGk32WwqQoOKaP5/HhK4 36SNqulhL+0F2uYhAXIGYFx5Ke/8LnBSMZdz9rVbaZrrGBf20K00yM2+W+yhwaMBsEiP IoXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778001890; x=1778606690; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=zGc1UGS47dWir2YbblfzXecj8Z4F9hQ7/56rcRYrnyo=; b=CcQoFjWJ1uzipk6lfGXg8dCAHhErYLVyau11+HpSvf2Svy/ZUaJ9gjPHKXzI+ELe1D iP1X3UPijdjNnRv0kFykd++7CnDDukbOB3lcmcQleQSfzVOS1kRIphKIAsxmtvhYkJU8 ImvTNqt0Ca8nA7KmFxMIPBAQ6eUv4DVskv5ojDx/+MCV2gEbKPpfFOXFvV2N7IBN19Gu ZqsAr1QpNeja83z/IcVXf8aUEVUSrMujo2lgSkL+guF3P2EcyjaGwWNJQ14cNWvgZJ0b nBTS3zGCVqhbUjSaBljgdIBllu8oS08s+9NuhUCyuQBjtVbqtzBZe2229mNjWC6cW2fN zzmg==
X-Gm-Message-State: AOJu0YwhEbSsHNZlCFMpaN9hAbm/U7sJqJHFvvq7uDzmbSM/z2Dt5ffx lkX1vcblkxaSPn63m0V1MzyYWgr/8CKgluJXmrrXMhW6N6kgSaTSZMEL8L7aSVcEc1mMYHx+259 9IrYS3t38Iqd3uHCEq47b7FKwTnAnc6onBYaoBQb+t8u1pP/LyCDdpPc=
X-Gm-Gg: AeBDieuVKSYlGGoLxybpnr9yjCpxMHVPZCoj60WsfzIr+zsnHNSb5Rll9fzdetLHAJF 9NLmEmFtl91HJUBmecGxofGeoRZ3QvfqbkQsP15qoyb1CMem053GcsL8EL/sd4N/ER2xrKN3Ytw 3MZFOmtNPTOed59h8xApij94JNPMnt+bxRCTzLsOK0boUS/dNCirOTfXS/zZirCsBRvV15JG5BV DZtfKH5wUH0dIu7oIFX1CXLmT+mU+rspu6ECQATRVFXCJeRldgGSClbCyNf/w8/a4Xv3sqExund mz5YnqU8YLSbTE7LvCnGAsXxUx0=
X-Received: by 2002:a05:6512:2251:b0:5a3:ff48:f7fd with SMTP id 2adb3069b0e04-5a8631c57c1mr1700431e87.8.1778001889633; Tue, 05 May 2026 10:24:49 -0700 (PDT)
MIME-Version: 1.0
References: <GVYP280MB046407F36FD07D77BDDC1BFD99232@GVYP280MB0464.SWEP280.PROD.OUTLOOK.COM> <GVYP280MB046478A4B3530548505E8828992C2@GVYP280MB0464.SWEP280.PROD.OUTLOOK.COM> <caecf8b9-1170-4688-bb68-75cd5b54a227@nic.cz> <580.1777404862@obiwan.sandelman.ca> <aee7ff55-ed97-4911-b123-24aea7a26dfa@iotconsultancy.nl> <16355.1777570877@obiwan.sandelman.ca> <CABCOCHTWnNgwuKeng6mN9eF0nb931mkF6TxSmrgbaXBi+1c54Q@mail.gmail.com> <2caa980e-e0ab-4d43-bda5-0febb17794ca@nic.cz>
In-Reply-To: <2caa980e-e0ab-4d43-bda5-0febb17794ca@nic.cz>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 05 May 2026 10:24:37 -0700
X-Gm-Features: AVHnY4LYAIh2obtT9kdJPa1rG3H1ee0MZyxxl8TM4jA_kaY3OE1B3IuAJvl3uCE
Message-ID: <CABCOCHQu9RQTbEbzO12ek=hMUaXoK4izezpe=zxM-15NwGrE7Q@mail.gmail.com>
To: Vojtech Vilimek <vojtech.vilimek@nic.cz>
Content-Type: multipart/alternative; boundary="0000000000000ab7d80651155315"
Message-ID-Hash: SIZHKUZ62JR5TSSRQ5MRNTMOMARZW57P
X-Message-ID-Hash: SIZHKUZ62JR5TSSRQ5MRNTMOMARZW57P
X-MailFrom: andy@yumaworks.com
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
CC: core@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [core] Re: CoRE WG Virtual Interim 2026-04-22 RFC9595 Errata implementation
List-Id: "Constrained RESTful Environments (CoRE) Working Group list" <core.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/9jIV8qwV7mjKOTVFk342JoQrcj8>
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>
On Mon, May 4, 2026 at 4:05 PM Vojtech Vilimek <vojtech.vilimek@nic.cz>
wrote:
> Hi Andy, Michael, Carsten and all,
>
> On 4/30/26 7:56 PM, Andy Bierman wrote:
> >
> >
> > On Thu, Apr 30, 2026 at 10:41 AM Michael Richardson
> > <mcr+ietf@sandelman.ca <mailto:mcr%2Bietf@sandelman.ca>> wrote:
> >
> >
> > Esko Dijk <esko.dijk@iotconsultancy.nl
> > <mailto:esko.dijk@iotconsultancy.nl>> wrote:
> > > So in this case the prior single leaf was an optional item?
> >
> > I have to think about whether, in a prior case, that leaf had to be
> > optional.
> > I guess if it goes from required->optional (make a choice), that
> > would be a
> > semantic change.
> >
> > > Then it
> > > seems like the optimal solution to keep the SID for that
> > leaf, and
> > > assign new SIDs for the new leaves. If the single leaf is
> > deprecated in
> > > a new version of the YANG module, then a 'new single leaf'
> > will be
> > > added that gets a new SID.
> >
> > One could also go from a choice to a single leaf.
> > That effectively obsoleting all the other choices, but at some
> > point, one
> > might want to clean up the YANG. I don't know if choice with a
> > single choice
> > is rejected somewhere as nonsense.
> >
> > > Whether the specs and the tooling also say this is another
> > question - I
> > > didn't investigate :)
> >
> >
> >
> > I don't see why this NBC change is special.
>
> Because the only change might be that the node previously was not in
> choice+case but in the updated revision it is.
>
> To make the discussion easier, let us consider an example:
>
> container box {
> leaf a { type uint32; }
> }
>
> The change to following is not permitted by current YANG:
>
> container box {
> choice extensible-exclusivity {
> case case-a {
> leaf a { type uint32; }
> }
> case case-b {
> leaf b { type string; }
> }
> // possibly more cases augmented by other modules
> }
> }
>
> Note that all leafs that does not have "mandatory true;" are optional.
>
> If I understand the YANG rules correctly, change between examples is not
> possible, partly because the leaf on schema path "/mod:box/a" is lost
> from the YANG module. The mentioned leaf must be removed because the
> names of the case's children are imported into the choice's parent
> namespace.
>
>
Changing the schema path string from /box/a to
/box/extensible-exclusivity/case-a/a
breaks any modules that used /box/a in an augment or deviation statement.
It is an NBC change in YANG.
It is true that the leafref and SID path string (/box/a) did not change.
IMO not an interesting cornercase.
What if the updated YANG changed from a leaf to a container?
container box {
container a;
}
Just another NBC change. All path strings (and SID assignments) remain the
same.
>From an operational POV, clients need to be YANG aware (by whatever means)
to align with the server YANG library contents.
Andy
I don't think this is NBC from the functionality point of view. If only
> the client is aware of the newer revision, then client MUST send valid
> messages. Client message containing leaf "b" is rejected because it is
> not understood by the server. If only the server is aware if the newer
> revision, everything works because client never sends both leaf "a" and
> "b" instantiated in the same message.
>
> Micheal: The example is simplistic. Does this show what you are asking
> about?
>
> All: Do you agree?
>
> > While the sid-file-status is 'unpublished', a tool should expect NBC
> > changes in the YANG modules.
> > For 'published' modules, NBC changes are not allowed, but they still
> > occur occasionally.
>
> So we declare stability we couldn't provide, great. What is the whole
> effort for then? (Feel free to understand the question as of rhetorical
> nature.)
>
> >
> > IMO the SID should be tied to the path string, even if that node changes
> > semantics over time.
> > It is up to the YANG designer to create a new node/path and obsolete the
> > old path.
>
> What path do you mean? Absolute schema path? (Absolute) Data path?
> String representation of NID?
>
> Based on WG discussions, we converged to the .sid file defining
> (ideally) a mapping from SID to NID.
>
> Carsten: Could you please provide a (more) formal definition of NID?
> We discussed this matter on the interim but if we define the NID as
> the instance data path without predicates, there are corner cases that
> do not work.
>
> Such as:
> rpc time-compare-and-swap {
> input {
> leaf expected { type yang:date-and-time; }
> leaf operand { type yang:date-and-time; }
> }
> output {
> leaf operand { type yang:date-and-time; }
> }
> }
>
> container box {
> container a { container b {
> action bound {
> input {
> leaf in { type uint32; }
> }
> output {
> leaf result { type string; }
> }
> }
> } }
> }
>
> What is the NID for following schema paths:
> - time-compare-and-swap/input/operand
> - time-compare-and-swap/output/operand
> - time-compare-and-swap/input
> - time-compare-and-swap/input
> - box/a/b/bound/input/in
> - box/a/b/bound/output/result
> - box/a/b/bound/input
> - box/a/b/bound/output
>
> Because the input and output nodes are not really a part of the instance
> paths. Actions have more complex paths. It is dependent on the data
> format used, but generally the rpcs and actions are sent as:
> context + children of input, or context + children of output.
> E.g. CORECONF differentiate inputs from outputs by type of the message
> (request vs. response).
>
>
> Have a nice day!
>
> Best regards,
> Vojtech Vilimek
> CZ.NIC z.s.p.o.
>
> >
> >
> > Andy
> >
> >
> >
> > > On 4/28/26 21:34, Michael Richardson wrote:
> > >> Thank you for working on this. For me, the still outstanding
> > >> question,*AT THE YANG LEVEL* is when introducing a choice,
> where
> > >> previously there was only a single leaf, *AND* the single
> > leaf is now
> > >> one of the choices... is that a*semantic* change that SHOULD
> > result in
> > >> a new SID being allocated?
> > >>
> > >> I'd like to say*no*, as doing so is an unnecessary breaking
> > change.
> > >> Tooling didn't agree a few months (years?) ago, so we backed
> > out the
> > >> choices from RFC8366bis, even though they made semantic
> sense.
> > >>
> > >> I'd like to change that.
> >
> > --
> > Michael Richardson <mcr+IETF@sandelman.ca
> > <mailto:mcr%2BIETF@sandelman.ca>> . o O ( IPv6 IøT consulting )
> > Sandelman Software Works Inc, Ottawa and Worldwide
> >
> > ** My working hours and your working hours may be different.
> > **
> > ** Please do not feel obligated to reply outside your normal working
> > hours **
> >
>
- [core] CoRE WG Virtual Interim 2026-04-22 Marco Tiloca
- [core] Re: CoRE WG Virtual Interim 2026-04-22 Marco Tiloca
- [core] Re: CoRE WG Virtual Interim 2026-04-22 RFC… Vojtech Vilimek
- [core] Re: CoRE WG Virtual Interim 2026-04-22 RFC… Michael Richardson
- [core] Re: CoRE WG Virtual Interim 2026-04-22 RFC… Esko Dijk
- [core] Re: CoRE WG Virtual Interim 2026-04-22 RFC… Carsten Bormann
- [core] Re: CoRE WG Virtual Interim 2026-04-22 RFC… Michael Richardson
- [core] Re: CoRE WG Virtual Interim 2026-04-22 RFC… Andy Bierman
- [core] Re: CoRE WG Virtual Interim 2026-04-22 RFC… Carsten Bormann
- [core] Re: CoRE WG Virtual Interim 2026-04-22 RFC… Vojtech Vilimek
- [core] does adding/removing a choice have to be a… Michael Richardson
- [core] Re: CoRE WG Virtual Interim 2026-04-22 RFC… Andy Bierman
- [core] Re: CoRE WG Virtual Interim 2026-04-22 RFC… Vojtech Vilimek
- [core] Re: CoRE WG Virtual Interim 2026-04-22 Marco Tiloca
- [core] Re: CoRE WG Virtual Interim 2026-04-22 RFC… Carsten Bormann
- [core] Re: CoRE WG Virtual Interim 2026-04-22 RFC… Vojtech Vilimek
- [core] Re: RFC9595 NIDs (was CoRE WG Virtual Inte… Vojtech Vilimek
- [core] Re: RFC9595 NIDs (was CoRE WG Virtual Inte… Carsten Bormann
- [core] Re: RFC9595 NIDs (was CoRE WG Virtual Inte… Andy Bierman
- [core] Re: RFC9595 NIDs (was CoRE WG Virtual Inte… Vojtech Vilimek
- [core] Re: RFC9595 NIDs (was CoRE WG Virtual Inte… Andy Bierman
- [core] Re: RFC9595 NIDs (was CoRE WG Virtual Inte… Michael Richardson
- [core] Re: RFC9595 NIDs (was CoRE WG Virtual Inte… Andy Bierman
- [core] Re: RFC9595 NIDs (was CoRE WG Virtual Inte… Michael Richardson
- [core] Re: RFC9595 NIDs (was CoRE WG Virtual Inte… Vojtech Vilimek
- [core] Re: RFC9595 NIDs (was CoRE WG Virtual Inte… Andy Bierman