Re: [core] js review of draft-ietf-core-sid-12
Ivaylo Petrov <ivaylo@ackl.io> Wed, 10 June 2020 09:17 UTC
Return-Path: <ivaylo@ackl.io>
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 CC28D3A0802 for <core@ietfa.amsl.com>; Wed, 10 Jun 2020 02:17:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=ackl-io.20150623.gappssmtp.com
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 B3o8qqgFDKrU for <core@ietfa.amsl.com>; Wed, 10 Jun 2020 02:17:16 -0700 (PDT)
Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) (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 129863A07FB for <core@ietf.org>; Wed, 10 Jun 2020 02:17:16 -0700 (PDT)
Received: by mail-wm1-x342.google.com with SMTP id d128so1117304wmc.1 for <core@ietf.org>; Wed, 10 Jun 2020 02:17:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ackl-io.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=RAQnW1kLjnRHhJ2Vv53N1q4sNfVDm8WyWREUvHYmF6s=; b=AdBenUXLzHlODb22QWL98TmOPdtdSlv4AUqWa9v61BdYkZAXgewla5spvV3o453Er3 nW1zpWgxyBNPnGzXVKyUc0c22YC98840JVoqj81/vody7K0FLOvx8hp7zxnQcxkU3k35 JaoP9CPZOJNu7Diyk0AKdsdeSulyjBMnwGVFdQqA8/kMqiq3/c8DHtY8AXRAnPO6IswZ f2rdSWqKtQWpeDl9VEfw0dGeE3dB2OGQJJi/FPk6IwhMA3QkC6+OxqDTZ266LzWotnAh Csg0nEkbIdtGlIxwoF5imQWVXRnpxALr5hkv6n+q0UcBCqkNJV/j7XjvyXX7yPfbqTGi bNPg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=RAQnW1kLjnRHhJ2Vv53N1q4sNfVDm8WyWREUvHYmF6s=; b=OXcbE6MpQIw5GW+LCbk9l6UIhWSC5B8QPMdQfmufeitB9o8Y+U1n8zKT7Ow8KxMiW2 ozH2E1JZ5zj29IUDxYMooLSXQJ+uSMwn9z2O92ok3Av/4lhsE7xU16qldw1OvyAEbzA5 584hMY9dGOc9KJWjssncCvQCI8lqGR9TyQdo5npR9Hkuk9uw4B5JfAoFZ3MAIf6reNYW iexs5C8vwlNvEU+KevtJCgvWaqqnAWaifli/QJQ/heTt9SNxGVrDB4F3y0FH0oYel2fW 9Q4iQg3I38nYZEqpIUDYF/19Xnm74Y/URC313v5a+Fueay9rf21pIIgWz1ma7Iqyco54 M97g==
X-Gm-Message-State: AOAM531g3LQzG7TW1nxr8ut+Zee27ckB+YIZ0DfEBLcUPLmu8jLNb+GA QHKXnKVaGSjKV+jfLmI3UDHRVdApRGy6lTdInV0dYQ==
X-Google-Smtp-Source: ABdhPJylp/RYFTpnqwvtIRBWKuMZRR1lepIZFSPt1i4VGzblmBwOIZApz3peAzmRBRJGkmOyHNAlcYC8QhArP/fYgls=
X-Received: by 2002:a1c:4405:: with SMTP id r5mr2295574wma.72.1591780633452; Wed, 10 Jun 2020 02:17:13 -0700 (PDT)
MIME-Version: 1.0
References: <20200330213129.m2azrbeaxrtgivfc@anna.jacobs.jacobs-university.de> <CAJFkdRz445b4n86ug=v1ruYYWbDjwnEJwUNCZvEzENu_gMV0bg@mail.gmail.com> <20200415162054.s4bjcrienqvrytfz@anna.jacobs.jacobs-university.de>
In-Reply-To: <20200415162054.s4bjcrienqvrytfz@anna.jacobs.jacobs-university.de>
From: Ivaylo Petrov <ivaylo@ackl.io>
Date: Wed, 10 Jun 2020 11:16:47 +0200
Message-ID: <CAJFkdRyVc0Ti6nsaWbNoqMH4GZU9qB3r0EQb0MtUoueEBma-Pg@mail.gmail.com>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Ivaylo Petrov <ivaylo@ackl.io>, core <core@ietf.org>, NetMod WG <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000037c2ce05a7b74f82"
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/S1cfRPa8Jtp_g1LEGohZ_7rE2SE>
Subject: Re: [core] js review of draft-ietf-core-sid-12
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, 10 Jun 2020 09:17:19 -0000
Hello Jurgen, I am sorry for the late reply and thank you for your latest review and comments. Please find my answers below. The updated version that contains those changes is already published as -13, therefore the diff with the previous text can be found here [1]. Best regards, Ivaylo [1]: https://www.ietf.org/rfcdiff?url1=draft-ietf-core-sid-12&url2=draft-ietf-core-sid-13 On Wed, Apr 15, 2020 at 6:20 PM Juergen Schoenwaelder < j.schoenwaelder@jacobs-university.de> wrote: > On Wed, Apr 15, 2020 at 03:27:21PM +0200, Ivaylo Petrov wrote: > > > - The ID seems to assume that semantics of yang items never change. > > > This is true so far but NETMOD has chartered work that might change > > > this property. So what happens if the semantics of a YANG item > > > changes? > > > > > > SIDs are assigned permanently, items introduced by a new revision of > > > a YANG module are added to the list of SIDs already assigned. > > > > > > If a YANG module changes in a non-backwards compatible way, I assume > > > a new sid range must be allocated? Strictly speaking, this question > > > does not have to be answered today but it very likely needs an > > > answer in the future... > > > > > > > [IP]: We will not be able to clearly answer this before there is more > > information how the YANG items semantics can change. For now it looks > like > > assigning new range would be a good solution, but maybe there will be > some > > other solutions that will be even more optimal. What looks logical is > that > > at least every semantic of an item should have a separate SID. > > Yes and this will impact the SID document since SIDs are going to be > specific to a (module, path, version) triple. > [IP]: I rephrased the following text in order to prepare the future change of meaning: Old: SIDs are assigned permanently, items introduced by a new revision of a YANG module are added to the list of SIDs already assigned. New: SIDs are assigned permanently, items introduced by a new revision of a YANG module are added to the list of SIDs already assigned. If the meaning of an item changes, for example as a result from a non-backward compatible update of the YANG module, a new SID should be assigned to it. > - Is it CoRECONF or CORECONF? And I find the term CORECONF confusing. > > > We have two protocols called NETCONF and RESTCONF and now we add > > > another protocol called CoMI and we call CoMI together with YANG > > > CBOR and SIDs CORECONF? > > > > > > 1) NETCONF + YANG + XML serialization + path naming -> ? > > > 2) RESTCONF + YANG + XML|JSON serialization + path naming -> ? > > > 3) CoMI + YANG + CBOR serialization + SID naming -> CORECONF > > > > > > We do not have a term for 1) and 2) and then we have a term for 3) > > > which, however, looks more like the protocol names used in 1) and > > > 2). This comment is not specific to this ID, but the asymmetry > > > showed up while reading the SID document, I had to look at other IDs > > > to understand how things are named. And the SID document says > > > > > > YANG is a language designed to model data accessed using one of the > > > compatible protocols (e.g. NETCONF [RFC6241], RESCONF [RFC8040] and > > > CoRECONF [I-D.ietf-core-comi]). > > > > > > Then I read the CoMI abstract. It first says CoMI is "a CoAP > > > Management Interface", it then says "The complete solution composed > > > of CoMI, [I-D.ietf-core-yang-cbor] and [I-D.ietf-core-sid] is called > > > CORECONF." and finally it states that "CORECONF extends the set of > > > YANG based protocols, NETCONF and RESTCONF, with the capability to > > > manage constrained devices and networks.". So I am confused, is > > > CORECONF a protocol as stated in this document? Or is CoMI a > > > protocol? (What is then the difference between a "Management > > > Interface" and a management protocol?) I am not sure whether I get > > > to review comi, hence I mention my confusion here as I hit it while > > > reviewing the sid document. > > > > > > > [IP]: Currently this is indeed somewhat confusing. The proposed change > from > > Michael Richardson was to at least have CORECONF in the title of the CoMI > > document. I am wondering if that might still leave some of the confusion. > > For me the simple solution is in this document to refer to CoMI, not > > CORECONF and let CoMI draft define what CORECONF actually is. Unless you > > think this will still not resolve the issue, this is going to be my way > > forward. > > Avoiding CORECONF in this document helps to limit the problem. If CoMI > is the name of the protocol, I would hope we do not need CORECONF at > all. But then CORECONF is all over the place in > draft-ietf-core-comi-09.txt, it actually looks like the protocol is > called CORECONF and not CoMI. I really believe this terminology > confusion needs to be resolved in the WG so the WG actually knows and > agrees on the name of the technology they standardize. > > > - This description makes little sense to me: > > > > > > typedef sid-file-version-identifier { > > > type uint64; > > > description > > > "Optional attribute that gives information about the .sid file > > > version."; > > > } > > > > > > This is a type definition. Why does the description talk about an > > > optional attribute? The type should not state whether something > > > using the type is optional or not. (And I would prefer to avoid > > > 'attribute', better use YANG defined terms or just describe that > > > this type represents a version number for a SID file.) > > > > > > > [IP]: I believe now it should be more clear. > > Yes. I wonder though, is this a simple linear counter? Or can it be > anything as long as newer > older is satisfied? Or is this just a tag > that needs to match and it does not imply any order semantics? > [IP]: The intention was to be newer > older without any implied semantics. I rephrased the text to capture this. Old: "Optional leaf that specifies the version number of the .sid file. .sid files and the version sequence are specific to a given YANG module revision. This number starts at zero when there is a YANG module update. This number can distinguish updates to the SID file which are the result of new processing, or the result of reported errata."; New: "Optional leaf that specifies the version number of the .sid file. .sid files and the version sequence are specific to a given YANG module revision. This number starts at zero when there is a new YANG module revision and increases monotonically. This number can distinguish updates to the .sid file which are the result of new processing, or the result of reported errata."; > s/Identifies a schema-node path string/A schema-node path" > > > > > > It is a bit confusing to define a schema-node path by way of > > > reference to an instance identifier. I understand that you borrow > > > the namespace encoding from the way JSON encode instance identifiers > > > but this type really represents what RFC 7950 calls an absolute > > > schema node identifier, no? Is the term schema-node path actually > > > needed or is it the same as absolute schema node identifier? Or is > > > the difference between the two how namespaces are represented? > > > > > > > [IP]: I might have misunderstood something, but my understanding is that > > the prefix related to a module could be changed during an import, whereas > > here we really want to use the module name as a more stable identifier. > The > > difference between absolute schema node identifier and schema-node path > is > > that we mandate the use of module name and not prefix as defined in RFC > > 7950. > > Well, what you model here is an absolute schema node path, except that > prefixes are replaced by module names. Note that refering to > instance-identifier as defined in RFC 7951 has the problem, the RFC > 7951 definition of an instance-identifier also includes prefixes > instead of module names. > [IP]: I might be misunderstanding your statement or the text in RFC 7951, but if I read sec 6.11. from RFC 7951 correctly, The leftmost (top-level) data node name is always in the namespace-qualified form. In sec 4 of RFC 7951 the namespace-qualified form seems to only use the module name and not the prefix. My impression seems to be supported also by the example in this section. Due to this I believe the current text is actually correct. /js > > -- > Juergen Schoenwaelder Jacobs University Bremen gGmbH > Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany > Fax: +49 421 200 3103 <https://www.jacobs-university.de/> >
- [core] js review of draft-ietf-core-sid-12 Juergen Schoenwaelder
- Re: [core] js review of draft-ietf-core-sid-12 Ivaylo Petrov
- Re: [core] js review of draft-ietf-core-sid-12 Juergen Schoenwaelder
- Re: [core] js review of draft-ietf-core-sid-12 Ivaylo Petrov
- Re: [core] js review of draft-ietf-core-sid-12 Juergen Schoenwaelder
- Re: [core] js review of draft-ietf-core-sid-12 Ivaylo Petrov
- Re: [core] js review of draft-ietf-core-sid-12 Juergen Schoenwaelder
- Re: [core] js review of draft-ietf-core-sid-12 Ivaylo Petrov
- Re: [core] js review of draft-ietf-core-sid-12 Juergen Schoenwaelder
- Re: [core] js review of draft-ietf-core-sid-12 Ivaylo Petrov