Re: [yang-doctors] Yangdoctors early review of draft-ietf-lpwan-schc-compound-ack-14

Sergio Aguilar Romero <sergio.aguilar.romero@upc.edu> Wed, 19 April 2023 12:22 UTC

Return-Path: <sergio.aguilar.romero@upc.edu>
X-Original-To: yang-doctors@ietfa.amsl.com
Delivered-To: yang-doctors@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 68746C13AE33 for <yang-doctors@ietfa.amsl.com>; Wed, 19 Apr 2023 05:22:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.006
X-Spam-Level:
X-Spam-Status: No, score=-1.006 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, MIME_HTML_ONLY=0.1, MIME_HTML_ONLY_MULTI=0.001, MIME_QP_LONG_LINE=0.001, MPART_ALT_DIFF=0.79, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=upc-edu.20221208.gappssmtp.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OdkXuNPFSzUI for <yang-doctors@ietfa.amsl.com>; Wed, 19 Apr 2023 05:22:34 -0700 (PDT)
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com [IPv6:2a00:1450:4864:20::32f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 43853C13AE30 for <yang-doctors@ietf.org>; Wed, 19 Apr 2023 05:22:34 -0700 (PDT)
Received: by mail-wm1-x32f.google.com with SMTP id r15so7456482wmo.1 for <yang-doctors@ietf.org>; Wed, 19 Apr 2023 05:22:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=upc-edu.20221208.gappssmtp.com; s=20221208; t=1681906952; x=1684498952; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :from:content-transfer-encoding:from:to:cc:subject:date:message-id :reply-to; bh=6HqmaOh+FqaiSwFivDBln5rf4gfnjx2UrXa/YibrKng=; b=CGlxjg9rWHDvWd21vdnsaCwrsIIynR5WmB3nL23u/9ic/Tr8pzXMt1rZW+zA7WEDUe Zz2Ge8c/vJgrPv4Eb1waU7GblM3rZsERUVfgz4Z4fvNe9S9H92nbPhfm6GhQ7tOk7lx+ xrE+cNLoCMGErEbde6du/JipUnt30NP9O8/W6XKBMSJ3TsecgVzRzECZgWCe6as5gTTu DarIeNp5p4TEAOJjdUQjWTLGzITQAmExM/foJq3Di04YqjzF/Lw6/orjcWNFCKqefFBT U8fj6WXCQmBoh3CKTVT0JtluZXd1I0EwoQgRrX6dFgeOfVTpXOYm6ocxyVrVgmHA9+tD dafw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681906952; x=1684498952; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :from:content-transfer-encoding:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6HqmaOh+FqaiSwFivDBln5rf4gfnjx2UrXa/YibrKng=; b=KfJJoZU/dbyxHLaJ72tcb8mCMoLqjHCKRBp+b0wOCKH9JC02iIbaFE0n32yCDJboc4 8DtEYgZVwZWeiO1K2AXSrB9aXzviK1/zkANGwOBJsCO618obtmq2apebuxZHxaPz+Knc jI8OlDgFKuwo+/SysZG3NrTSj4mOeIjLcyEIQHow5LRfzcBruq2sZce/q/2KwR0N9VUM alS2AI4BWSQ9+J3TgXsDVuBk3FJpsD8EdSCveZHex5G9iIz+XVwK/qReXnRjaak4XL/s 4nYKVdbWxrFTfnZeoEWJqJVwO8ZArlPTP6H/t3l+/zJ2yXuTycQr6+JSyXPgaTukDJGm mp0g==
X-Gm-Message-State: AAQBX9fDHhdLsaNWk0SppQEyrcH/Zlva3760OaAj2IV0KXWnU8ti+hxz eKABbMV80G06nR3eSj41z51Ivg==
X-Google-Smtp-Source: AKy350b6edw3lJao99YYXRQ+je3hTByVOzbWpXvQzmxsSido6YDTYxwthbL6FgajLwSJNT/ZItAtHQ==
X-Received: by 2002:a7b:cb86:0:b0:3f1:7129:6b25 with SMTP id m6-20020a7bcb86000000b003f171296b25mr9830743wmi.18.1681906952407; Wed, 19 Apr 2023 05:22:32 -0700 (PDT)
Received: from smtpclient.apple (104.red-79-153-123.dynamicip.rima-tde.net. [79.153.123.104]) by smtp.gmail.com with ESMTPSA id l8-20020a7bc448000000b003f179fc6d8esm2020037wmi.44.2023.04.19.05.22.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 19 Apr 2023 05:22:32 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail-9F39D204-56BE-46CB-B4F1-6CDACD7A0E41"
Content-Transfer-Encoding: 7bit
From: Sergio Aguilar Romero <sergio.aguilar.romero@upc.edu>
Mime-Version: 1.0 (1.0)
Date: Wed, 19 Apr 2023 14:22:21 +0200
Message-Id: <297E0F46-452C-408C-AE33-C179D9AC1B96@upc.edu>
References: <A07303F3-F46C-4A06-829B-21357F42552C@upc.edu>
Cc: yang-doctors@ietf.org, draft-ietf-lpwan-schc-compound-ack.all@ietf.org, lp-wan@ietf.org
In-Reply-To: <A07303F3-F46C-4A06-829B-21357F42552C@upc.edu>
To: Ebben Aries <exa@juniper.net>
X-Mailer: iPhone Mail (20D67)
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/c0N8w3ZHsx8DewBnr7VmYSmQKLU>
Subject: Re: [yang-doctors] Yangdoctors early review of draft-ietf-lpwan-schc-compound-ack-14
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Email list of the yang-doctors directorate <yang-doctors.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/yang-doctors/>
List-Post: <mailto:yang-doctors@ietf.org>
List-Help: <mailto:yang-doctors-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 19 Apr 2023 12:22:35 -0000

Hello Ebben,

Hope you are doing well.

Do you have any update of this review? 

Thanks.

Best regards,

Sergio

On Apr 5, 2023, at 1:09 AM, Sergio Aguilar Romero <sergio.aguilar.romero@upc.edu> wrote:

Hello Ebben,

Hope you are doing well.

Thanks for your review.

We have published a new version (-17) addressing all the comments.

Please let us know if they are addressed correctly, specially the IANA Consideration text.

Best regards,

Authors Compound ACK draft

On Apr 1, 2023, at 5:43 PM, Ebben Aries <exa@juniper.net> wrote:

Hi Sergio,

I've gone ahead and re-reviewed based off the latest -16 publish and
appears quite a few items were not addressed as previously suggested.
See below.

Validation
- The modules still fail to validate.  Below was not actually addressed
 as your `derived-from()` function should rather be
 `derived-from-or-self()`.  You can validate this data as well using
 yanglint.


Changed. We used derive-from-or-self as in RFC9363. We are not sure how to valide it.


Module 'description' stmt
- This is now failing the pyang IETF checks.  Please cut/paste and
 modify the text output from `pyang --ietf-help` underneath your module
 description as there are some precise string matches failing here.

Changed the copyright and pyang --ietf is ok.


- For your module description here, you are getting very precise in your
 wording here about introducing "a new leaf".  This is best left for
 revision descriptions otherwise any future edits will require
 modification of the module description.  Stick w/ the overall
 intention of this module which should not change if there are revision
 updates.


We added some descriptions to the different element and reference to RFC8724.  

Overall 'description' statements
- I see a few were updated but there are still quite a few that remain
 that do not use correct capitalization or alignment.  Please look at
 other published modules for what this entails.  You want to be
 descriptive and ensure you have consistent alignment (you can adjust
 some by running the module through a linter such as pyang)


The description is started with a capital letter and ended it with a dot. Also we pass pyang -f yang --max-line-length=72 to reformat. 

Section 5.1
- You have updated the revision in the module but the filename now
 contains the old revision-date (just after CODE BEGINS).  Please
 adjust this otherwise tools like rfcstrip will produce a file that
 conflicts w/ the revision in the module

We updated the module name.


Section 5.2
- This was still not addressed in -16.  This is an incomplete and
 incorrect representation of the tree diagram.  Please correct this per
 RFC8340 (You are still missing the other augmented leaf)

We fixed the tree, adding the two leafs. 
 


Section 7
- Please follow RFC8407 and include the full security considerations

We have added the security consideration (like in RFC9363), with consideration of the new module.


Section 8
- You do have IANA considerations.  You are introducing a new YANG
 module and a new namespace so you have a URI + a module name
 registration that needs to be taken care of.  See your parent
 dependency as an example (RFC9363)


We have modified the IANA Considerations to include the URi and module.
We leave blank the reference RFC, because in the examples we found it was the number of current document.


Thx

/ebben

On Mar 28 16:15 PM, Sergio Aguilar Romero wrote:
[External Email. Be cautious of content]


Hello,

Thanks for your review.

We have published a new version (-16).

Some comments inline.

Best regards,

Authors Compound ACK draft


On Mar 20, 2023, at 4:57 PM, Ebben Aries via Datatracker <noreply@ietf.org> wrote:

Reviewer: Ebben Aries
Review result: On the Right Track

1 module in this draft:
- ietf-lpwan-schc-compound-ack@2022-12-02.yang

YANG compiler errors or warnings (pyang 2.5.3, yanglint 2.1.55, yangson 1.4.16)
- No compiler errors or warnings for tree outputs
- Instance data however fails validation (see below)

Module ietf-lpwan-schc-compound-ack@2022-12-02.yang
- Overall, the module is small (2 leaf augments to ietf-schc) and concise.
There are some style nits (alignment/spacing) that can be cleaned up by
running the module through a linter and adding back to the draft code blocks

The revision performed to version -14 by Robert Wilton included the pyang output that was copied into version -15.


- As mentioned above, instance data will fail to validate due to the following
when stmt

  when "derived-from(../schc:fragmentation-mode,"
  +" 'schc:fragmentation-mode-ack-on-error')";

Should rather be:

  when "derived-from-or-self(../schc:fragmentation-mode," +
       "'schc:fragmentation-mode-ack-on-error')";
- Since you are applying the same when restriction to 2 leaf nodes here, I
would recommend grouping the leaf nodes and gating the augment by way of
uses + when

e.g.

augment "/schc:schc/schc:rule/schc:nature/schc:fragmentation" +
        "/schc:mode/schc:ack-on-error" {
  description
    "";

  uses ack-on-error {
    when "derived-from-or-self(./schc:fragmentation-mode, " +
         "'schc:fragmentation-mode-ack-on-error')";
  }
}


We have fixed the “+” location.



General comments on the draft/modules:
- Section 5.2 - It appears that only 1 augment is conveyed here and the Figure
10 line is out of place.  This section should conform to RFC8340 and be
labeled "Tree Diagram" as seen in other published drafts/RFCs

We have modified Figure 10 label.


- Module contact information - Feel free to include authors as stated in
RFC8407 Section 4.8

One more author was added.

- Module description - Put the description of the module at the top and the
Copyright information beneth with correct line breaks and removal of the
asterisk delimeter

Module description was move to the top and asterisk have been removed. When the new version was uploaded, we have a warning saying that the IETF Trust Copyright statement seems to be missing, but it is there.

- For all description statements in the module, use correct capitilization and
be as descriptive as possible without being overly verbose.

Some description was added.

- Section 7 - Include the full Security Considerations as is in any other
drafts/RFCs related to YANG modules vs. point to a related RFC

The draft mentions that same security considerations defined in RFC8724  applied. We added RFC9363 to the security considerations.

- Section 8 - IANA Considerations.  You are introducing a new module that
contains a new namespace so will require registering a new URI.  This will
need to follow the same process and contain the same verbiage as other
related drafts/RFCs


We understand that this document has no IANA actions.


Example validated instance data after the when stmt fix:

<schc xmlns="urn:ietf:params:xml:ns:yang:ietf-schc"
xmlns:schc-compound-ack="urn:ietf:params:xml:ns:yang:ietf-lpwan-schc-compound-ack">
<rule>
  <rule-id-value>100</rule-id-value>
  <rule-id-length>1</rule-id-length>
  <rule-nature>nature-fragmentation</rule-nature>
  <fragmentation-mode>fragmentation-mode-ack-on-error</fragmentation-mode>
  <direction>di-up</direction>
  <fcn-size>2</fcn-size>
  <schc-compound-ack:bitmap-format>schc-compound-ack:bitmap-compound-ack</schc-compound-ack:bitmap-format>
  <schc-compound-ack:last-bitmap-compression>true</schc-compound-ack:last-bitmap-compression>
</rule>
</schc>

{
  "ietf-schc:schc": {
      "rule": [
          {
              "rule-id-value": 100,
              "rule-id-length": 1,
              "rule-nature": "ietf-schc:nature-fragmentation",
              "fragmentation-mode":
              "ietf-schc:fragmentation-mode-ack-on-error", "direction":
              "ietf-schc:di-up", "fcn-size": 2,
              "ietf-lpwan-schc-compound-ack:bitmap-format":
              "ietf-lpwan-schc-compound-ack:bitmap-compound-ack",
              "ietf-lpwan-schc-compound-ack:last-bitmap-compression": true
          }
      ]
  }
}


Great.