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

Ebben Aries via Datatracker <noreply@ietf.org> Mon, 20 March 2023 15:57 UTC

Return-Path: <noreply@ietf.org>
X-Original-To: yang-doctors@ietf.org
Delivered-To: yang-doctors@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id B7E42C16B5A8; Mon, 20 Mar 2023 08:57:31 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: Ebben Aries via Datatracker <noreply@ietf.org>
To: yang-doctors@ietf.org
Cc: draft-ietf-lpwan-schc-compound-ack.all@ietf.org, lp-wan@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 9.15.0
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <167932785174.33963.9262295488753655300@ietfa.amsl.com>
Reply-To: Ebben Aries <exa@juniper.net>
Date: Mon, 20 Mar 2023 08:57:31 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/mwB3n4fX7Jkzit1YCjYHf8xda2c>
Subject: [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
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: Mon, 20 Mar 2023 15:57:31 -0000

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
- 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')";
    }
  }

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
- Module contact information - Feel free to include authors as stated in
  RFC8407 Section 4.8
- 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
- For all description statements in the module, use correct capitilization and
  be as descriptive as possible without being overly verbose.
- Section 7 - Include the full Security Considerations as is in any other
  drafts/RFCs related to YANG modules vs. point to a related RFC
- 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

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
            }
        ]
    }
}