Re: [core] Yangdoctors last call review of draft-ietf-core-sid-15

Xufeng Liu <xufeng.liu.ietf@gmail.com> Fri, 23 July 2021 00:45 UTC

Return-Path: <xufeng.liu.ietf@gmail.com>
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 BAF4F3A14DA; Thu, 22 Jul 2021 17:45:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.086
X-Spam-Level:
X-Spam-Status: No, score=-2.086 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 7s3wriqPNcn1; Thu, 22 Jul 2021 17:45:20 -0700 (PDT)
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) (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 89B083A14D1; Thu, 22 Jul 2021 17:45:19 -0700 (PDT)
Received: by mail-ej1-x62f.google.com with SMTP id o5so1314505ejy.2; Thu, 22 Jul 2021 17:45:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=546Be0lS7gjvICuqHMsR4i+Twkf4/IF/cTQMtrSRlUM=; b=pJXeMUKEv/hDgXdDZzHaqlwZmKwj0UZXpxO/Ec7OKpYaUPjtjW6sy2AxsJ+f1C5+1j HOUYKWSLIONWfRYjiUQa5/yybyDbDzwxX8Ms8BDXMGVH+8e6GLeP/2r4kyH5uifD45LT KfVmaEGXZcuyKTnMPO8xYwiWW1dvs296cZuFwK64AAVBNXVsp2S5LqR62p0zZYXxWdQF zsG8XdiVU4i7OemoSCLiWdLylfGx6xII0hVAEzqQbJGI6gSrJvZmEcZfEy2Mj3ZqxPlf BJQxWDtUDAUhYT+SfQxcIaIjuWdSEEYu1dVUqjHkrUAaFMkE4xgg9hOPPwVQizaGYtjg UZCQ==
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:cc; bh=546Be0lS7gjvICuqHMsR4i+Twkf4/IF/cTQMtrSRlUM=; b=TA49ka6oGvouE/OnGEX4Liwq7zuVAemkOJdLboESkB7h9iJTeuLUbAh1ioNg40u6bV fylXDv74IrwDKKUReC39zKif4NizwKYq/AIB7vbdx1RxEfdnAlsUu8jCCeeAijUVM3WG xtk4gp7b+9D1pabakEVr2vIGDIM+X/jKJaJJYsDWoeoY61rEZ826aFLq4A7bWw0rA5bC iMcrHEENK3ZR1VR9q9cNUDcsnGZjkxlLS8Wczx36EP3e4NAo5YYVx6P0o+NNGGq0q61W tvME7pv64HkPLz5ZV7DB0O3gDaBvegqfm8+w8CItuthAsJsxHIjm40JpZ2xkjGwu6yLd oqEA==
X-Gm-Message-State: AOAM531btw3m75NOPXIJf9zZG/GAWj0LXEZF83WXgtoX1xtuZ1kezIu9 1N0P3Xpry2PccVnDFZQ9X3vnURrK+WsPJOn4grc=
X-Google-Smtp-Source: ABdhPJyrA+v2KBc6Q9oSi8c0kkqiqiNVh7yF9KJ0g1eDav8L2rjEtgyVNkPMHVwSNLwEXqcJLREKn3CvARn67+j+m5M=
X-Received: by 2002:a17:906:a391:: with SMTP id k17mr2379577ejz.516.1627001117096; Thu, 22 Jul 2021 17:45:17 -0700 (PDT)
MIME-Version: 1.0
References: <161671562340.18744.12200188901217754567@ietfa.amsl.com> <CAJFkdRy+dKDF2mXZzeNsDrkk5-ZNVmzMKzmyCdoJH3FDMVi5iw@mail.gmail.com>
In-Reply-To: <CAJFkdRy+dKDF2mXZzeNsDrkk5-ZNVmzMKzmyCdoJH3FDMVi5iw@mail.gmail.com>
From: Xufeng Liu <xufeng.liu.ietf@gmail.com>
Date: Thu, 22 Jul 2021 20:45:05 -0400
Message-ID: <CAEz6PPRmNGbp=5WvJTiTk6yRr5Hotk9O1eBEx8WBdr+zFhvRQg@mail.gmail.com>
To: Ivaylo Petrov <ivaylo@ackl.io>
Cc: yang-doctors@ietf.org, core <core@ietf.org>, draft-ietf-core-sid.all@ietf.org, Last Call <last-call@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000a23bda05c7bfb776"
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/oxyViiFSPMVxtZpb4cGamiVE51c>
Subject: Re: [core] Yangdoctors last call review of draft-ietf-core-sid-15
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, 23 Jul 2021 00:45:27 -0000

Hi Ivaylo,

Thanks for addressing the comments. One more minor comment on item 1.

Best regards,
- Xufeng

On Sun, Jun 13, 2021 at 5:52 PM Ivaylo Petrov <ivaylo@ackl.io> wrote:

> Hello Xufeng,
>
> Thank you for your review and apologies for the delay! Please find our
> answers to your questions below. The diff with -15 is available here
> [1]. The updated version is available as txt [2] and as html [3].
>
> Thanks,
> Ivaylo
>
> [1]:
> https://tools.ietf.org/rfcdiff?url1=https://tools.ietf.org/id/draft-ietf-core-sid-15.txt&url2=https://core-wg.github.io/yang-cbor/draft-ietf-core-sid-latest.txt
> [2]: https://core-wg.github.io/yang-cbor/draft-ietf-core-sid-latest.txt
> [3]:  https://core-wg.github.io/yang-cbor/draft-ietf-core-sid-latest.html
>
> On Fri, Mar 26, 2021 at 12:40 AM Xufeng Liu via Datatracker
> <noreply@ietf.org> wrote:
> >
> > Reviewer: Xufeng Liu
> > Review result: Ready with Nits
> >
> > This is a review of the YANG module in draft-ietf-core-sid-15.
> >
> > Minor Issues, Nits, and Questions:
> >
> > 1) This module uses the yang-data extension in RFC8040, which was the
> best
> > choice a few years ago when this draft started. However, RFC8791 has been
> > published so that the YANG structure extension is available now. Has the
> YANG
> > structure extension been considered to replace the yang-data extension?
> >
>
> [IP]: Thank you for providing this pointer! We would really prefer not
> to change this given the mature state of this document, unless there
> are some really important advantages of using YANG structure
> extension. Quickly looking at the document I did not find compelling
> reasons to do the change, but please do let us know if you believe
> there are such reasons.
>
[Xufeng]: If yang-data is kept,  Sec 2 of RFC8340 specifies the format for
the tree diagram for yang-data. In this case "yang-data" is used, so the
tree would be:

module: ietf-sid-file
  yang-data sid-file:
    +-- sid-file
      +-- module-name?              yang:yang-identifier


> > 2) The container sid-file is missing in the tree diagram in Section 4.
> RFC8340
> > specifies the tree format to represent such a yang-data definition. If
> the YANG
> > structure extension in RFC8791 is used, RFC8791 describes how the tree
> diagram
> > looks like for such a YANG structure. Also, the top container would not
> be
> > needed, because a YANG structure is encoded as a 'container'.
> >
>
> [IP]: I fixed the tree diagram. About adding the sid-file container,
> it was suggested in the following email:
> https://mailarchive.ietf.org/arch/msg/core/-1YKD5X75p9CeTIm1yt0BM3KtOg/.
> We can discuss with Andy, but from the email I am under the impression
> that he believed the container is needed.
>
[Xufeng] You are right the the container is needed for yang-data. If the
YANG structure extension in RFC8791 were used, the container would not be
needed.

>
> > 3) In the container sid-file, the leaf module-name is optional. What is
> the
> > assumption when it is not specified? It would be beneficial to clarify
> in the
> > description statement.
>
> [IP]: I could not remember why that was made optional. I will have to
> check with my co-authors and come back to you.
>
> > 4) In the container sid-file, the leaf sid-file-version is optional. The
> > description says that this number starts at zero. Let’s say that there
> are two
> > .sid files, one of which does not have the version number and the other
> one has
> > version number 0. Are they the same? If so, would it be better to have a
> > default statement with a default value of 0?
>
> [IP]: Fixed.
>
> > 5) For “list dependency-revision”, the key is module-name. The
> “mandatory
> > true” statement is not necessary for this leaf because it is a key.
>
> [IP]: Fixed.
>
> > 6) Under the “list dependency-revision”, the leaf revision-identifier is
> > specified as “mandatory”. What would this leaf be specified when a
> dependent
> > module does not have a revision?
>
> [IP]: Is it possible to make two different versions of a YANG module
> without revisions in practice? If the answer is no, then I believe we
> can make that optional. My understanding is that the answer would be
> maybe and then I do not think we can support this as it will add non
> determinism in the SID allocation, which we can not allow.
>
> > 7) “list assigment-ranges” should be “list assignment-ranges”. A letter
> ‘n’ is
> > missing in the current YANG module because of a typo.
> >
> > 8) For “list assignment-ranges”, the key is entry-point. The  “mandatory
> true”
> > statement is not necessary for this leaf because it is a key.
>
> [IP]: Fixed.
>
> > 9) As a convention, the node names of “list assignment-ranges” and “list
> items”
> > should be in the singular form, the same way as “list
> dependency-revision”, so
> > that they would be “list assignment-range” and “list item”.
>
> [IP]: Fixed.
>
> > 10) Since a YANG SID value is globally unique, would it be beneficial to
> have a
> > statement in the YANG file to describe the requirement formally? This
> can be
> > easily done by adding the following statement under “list items”:
> >         unique "sid";
>
> [IP]: Added.
>
> > 11) The format of the YANG file needs to be adjusted. Some of the lines
> in the
> > .yang file are longer than 69 characters. For example, at line 108 is:
> >        o  Any subsequent schema node name is in the namespace-qualified
> form
> > To examine, the command “pyang --ietf --max-line-length 69 FILE” can be
> used.
> > Before publishing, an RFC editor would normalize the format by using the
> > command “pyang -f yang --keep-comments --yang-line-length 69 FILE”. It
> would be
> > helpful to run this command now since it may change the lines to be
> longer than
> > the limit of 69 characters.
>
> [IP]: Fixed.
>
> > 12) In the example in Appendix A, the four "module-revision" statements
> contain
> > “.yang” after the date, not following the pattern rule of the
> > revision-identifier. It seems that the sid generation tool did not take
> out the
> > extension “.yang”.
>
> [IP]: Removed those and made a note to check the tool.
>
> > 13) In Appendix A, the 5th item is:
> >  o  iana-crypt-hash@2014-04-04.yang (defined in [RFC7317])
> > but in  RFC7317, the revision of  iana-crypt-hash is 2014-08-06
>
> [IP]: I believe I manually downloaded or created that file when I last
> generated this and probably I have mistakenly put an incorrect
> revision. Now it's fixed.
>
> > 14) The following is a thought that may have been discussed before and
> decided
> > by the WG, but I’d mention it here anyway just in case: Since the scope
> of a
> > .sid file is for a single YANG file (module), many of the data nodes
> start with
> > the namespace of this particular module. The “schema-node-path” currently
> > requires an identifier string to always start with a namespace. Because
> of this
> > requirement, there are many repeated namespace strings in the
> identifiers of
> > the items. If we assume that the default starting namespace is the module
> > associated with the .sid file, we may shorten the .sid file?
>
> [IP]: On the constraint devices or over the network the SID file will
> not be present at all, therefore having some possibly redundant data
> is not a big issue and my concern is can we introduce possible
> ambiguity because of an attempt to save a few bytes where they were
> not creating an issue. If you feel strongly about this, we will bring
> it to the WG to discuss.
>
> > - Xufeng
> >
> >
> >
>