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

Sergio Aguilar Romero <sergio.aguilar.romero@upc.edu> Tue, 04 April 2023 23:09 UTC

Return-Path: <sergio.aguilar.romero@upc.edu>
X-Original-To: lp-wan@ietfa.amsl.com
Delivered-To: lp-wan@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 40B21C1524C8 for <lp-wan@ietfa.amsl.com>; Tue, 4 Apr 2023 16:09:33 -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, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=upc-edu.20210112.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 LnwflhlQ2a9a for <lp-wan@ietfa.amsl.com>; Tue, 4 Apr 2023 16:09:28 -0700 (PDT)
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com [IPv6:2a00:1450:4864:20::332]) (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 E3DBFC14CEF9 for <lp-wan@ietf.org>; Tue, 4 Apr 2023 16:09:28 -0700 (PDT)
Received: by mail-wm1-x332.google.com with SMTP id j18-20020a05600c1c1200b003ee5157346cso22698297wms.1 for <lp-wan@ietf.org>; Tue, 04 Apr 2023 16:09:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=upc-edu.20210112.gappssmtp.com; s=20210112; t=1680649767; x=1683241767; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=PP1ltfRcnRfOVDxin7pUB4rN2/0FKoZhajAab7MqRdc=; b=3VXBmKCK/+rAJ8v0NiJktq0axy3rC2SYyakeD/eHVVEG0R3GufHPslfGDsv3kImVgc Eup8DWNNpMRwAhfqZt03Du1AItMj7zA+/FEYI/mn3S1uGb+cbvzYTBiKfJrKIv4xemmw q2AUMZl8QrNhcLPbLDCEiE2DnP3mVXIpXaP/iFNJnCEZ41TFtBPXYSgtVbItd4md7ZRT xtR+J1s9QA4jpkTV4Jl1hNKVXkMGFq3yGpOE3WUmnlaikt07K5/X0CI+6aBp+VE9SVs2 NHMVt7HIxRCGvA0UKEakGt/ay+qGvdbhyidZGAEOskMTf/Q/at0YzGB4oQnVs3Gq1O7p UAFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680649767; x=1683241767; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=PP1ltfRcnRfOVDxin7pUB4rN2/0FKoZhajAab7MqRdc=; b=qZrNNHHsdU/YlcbMurUyLClUhhQyxLbjdKphu8z/yQ64EwVTWLSGJIUkqlHhmR8kAl wfelKnTSuNKpt+1c/k0WGMgkRy99/f9daWDWwtBMtkiUOechrtkOhELlp6K9rF4Gw1SA RVmAodNvFvZM9euj47UAVuHO+/2GKzPLenwJt5tIAvtSlPGfpAx3UTJkNwuTRCzoG8cq 2uxXz8yLrgdUxyX0P/vcdwncviB6rJBjPd9iMQCFdLyvaTWurNfJPwIkVWMWbj0uc+dJ nnnMbHJ9T5paf/UuIrMTh2b837dlMw1nqYnVnMpdCVu5QQqP817A0DQ3T8Dq6POZax7L iFog==
X-Gm-Message-State: AAQBX9fE1sHvsArxfkcJr/m2SlvfZzx80WOBBW7woLKLVtVk4xci13Td 85iE+080B4jK8Nqecsbgmiv1uA==
X-Google-Smtp-Source: AKy350a46ZA+ehFNGfRnP9z0/dEODbky6rMZP072PZUAsHWlN4P9X9QKqoF+sHeRSPc2xH1bqfAlFw==
X-Received: by 2002:a1c:7206:0:b0:3eb:29fe:734a with SMTP id n6-20020a1c7206000000b003eb29fe734amr3221124wmc.39.1680649766673; Tue, 04 Apr 2023 16:09:26 -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 ay8-20020a05600c1e0800b003edddae1068sm302923wmb.9.2023.04.04.16.09.26 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 04 Apr 2023 16:09:26 -0700 (PDT)
From: Sergio Aguilar Romero <sergio.aguilar.romero@upc.edu>
Message-Id: <A07303F3-F46C-4A06-829B-21357F42552C@upc.edu>
Content-Type: multipart/alternative; boundary="Apple-Mail=_F87A2B4A-9199-4B4D-9DDD-1201EBE428E1"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.2\))
Date: Wed, 05 Apr 2023 01:09:25 +0200
In-Reply-To: <ZChRMM5by6dInZLu@localhost>
Cc: yang-doctors@ietf.org, draft-ietf-lpwan-schc-compound-ack.all@ietf.org, lp-wan@ietf.org
To: Ebben Aries <exa@juniper.net>
References: <167932785174.33963.9262295488753655300@ietfa.amsl.com> <53E21AE4-2BF8-43F8-AD18-941873179B3C@upc.edu> <ZChRMM5by6dInZLu@localhost>
X-Mailer: Apple Mail (2.3696.120.41.1.2)
Archived-At: <https://mailarchive.ietf.org/arch/msg/lp-wan/EYIKHJ6Ya8H5g8Ll0gDfwCZ8Awc>
Subject: Re: [lp-wan] Yangdoctors early review of draft-ietf-lpwan-schc-compound-ack-14
X-BeenThere: lp-wan@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Low-Power Wide Area Networking \(LP-WAN\), also known as LPWA or Low-Rate WAN \(LR-WAN\)" <lp-wan.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lp-wan>, <mailto:lp-wan-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lp-wan/>
List-Post: <mailto:lp-wan@ietf.org>
List-Help: <mailto:lp-wan-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lp-wan>, <mailto:lp-wan-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 04 Apr 2023 23:09:33 -0000

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.
>> 
>>> 
>>