[RTG-DIR] RtgDir Early review: draft-ietf-i2rs-yang-l3-topology

Michael Richardson <mcr+ietf@sandelman.ca> Wed, 19 July 2017 08:45 UTC

Return-Path: <mcr@sandelman.ca>
X-Original-To: rtg-dir@ietfa.amsl.com
Delivered-To: rtg-dir@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 61F09131C32; Wed, 19 Jul 2017 01:45:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 pUG3AZ3GA69u; Wed, 19 Jul 2017 01:45:17 -0700 (PDT)
Received: from relay.sandelman.ca (relay.cooperix.net [176.58.120.209]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4F796131C2F; Wed, 19 Jul 2017 01:45:15 -0700 (PDT)
Received: from dooku.sandelman.ca (unknown [IPv6:2001:67c:370:1998:a11:96ff:fe01:81e0]) by relay.sandelman.ca (Postfix) with ESMTPS id B2E111F8F6; Wed, 19 Jul 2017 08:45:13 +0000 (UTC)
Received: by dooku.sandelman.ca (Postfix, from userid 179) id AF3F52934; Wed, 19 Jul 2017 10:45:03 +0200 (CEST)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: l2rs-wg-chairs@ietf.org, draft-ietf-i2rs-yang-l3-topology@ietf.org
cc: rtg-dir@ietf.org, l2rs@ietf.org
X-Attribution: mcr
X-Mailer: MH-E 8.6; nmh 1.6; GNU Emacs 24.5.1
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha1"; protocol="application/pgp-signature"
Date: Wed, 19 Jul 2017 10:45:03 +0200
Message-ID: <10278.1500453903@dooku.sandelman.ca>
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtg-dir/7RZuuJKjXNj2hI-F7EvckectemU>
Subject: [RTG-DIR] RtgDir Early review: draft-ietf-i2rs-yang-l3-topology
X-BeenThere: rtg-dir@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Routing Area Directorate <rtg-dir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-dir>, <mailto:rtg-dir-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtg-dir/>
List-Post: <mailto:rtg-dir@ietf.org>
List-Help: <mailto:rtg-dir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-dir>, <mailto:rtg-dir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 19 Jul 2017 08:45:19 -0000

Hello

I have been selected to do a routing directorate “early” review of this draft. 
https://tools.ietf.org/html/draft-ietf-i2rs-yang-l3-topology-10

The routing directorate will, on request from the working group chair,
perform an “early” review of a draft before it is submitted for publication
to the IESG. The early review can be performed at any time during the draft’s
lifetime as a working group document. The purpose of the early review depends
on the stage that the document has reached.

I believe that this is case 3, the document is neither recently adopted
nor is it in WGLC.   The request is for a sanity check.

For more information about the Routing Directorate, please see
​http://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir 

Document: draft-ietf-i2rs-yang-l3-topology
Reviewer: Michael Richardson
Review Date: 2017-07-18
Intended Status: Standards Track

Summary: 

I have some minor concerns about this document that I think should be
resolved before it is submitted to the IESG.

Comments:

I found the document clear and well written.
You told me at the beginning that:
   For this purpose,
   example models are introduced that cover IS-IS [RFC1195] and OSPF
   [RFC2328].

Yet I still felt sad when I got to spot where it said:
   Accordingly, the module is not delimited with
   CODE BEGINS and CODE ENDS

I think that the point of the OSPF and ISIS examples was to show, via a kind
of running-code of YANG, that the specification was complete enough that
it could be used.   Maybe this could be clarified better, the examples occupy
a large portion of the document.   I'm not sure so much of the document
should be devoted to non-normative examples.

I don't think I agree with ommitting the CODE BEGINS, because someone reading
this might well want to run the examples through their yang validator.
   
It was nice to have the mini-tutorial on YANG, but I don't think it needed
to be repeated.

I found parts of the YANG to be silly, such as:

        leaf-list flag {
           type node-flag-type;
           description
             "Node flags";
         }

Does YANG require that actually have to have a description?
It is meaningless as above.  What are node flags?   I suggest that the
description should be far more useful.  Consider someone seeing the data
decoded into a database, but has this description.

Another example of useless descriptions:
        case asbr {
           leaf asbr {
             type empty;
             description
               "The node is ASBR";
           }

okay, fair enough, it is an example, so don't work too hard here.

As examples, I thought that maybe I'd see this module instantiated into
JSON or XML and to see an example of a data set that describes a real-life
router's interfaces.  I did not see such a thing.
Perhaps there are feelings about whether or not a YANG model should include
concrete code or not, I'm not sure.

I didn't understand why:
  Appendix A.  Companion YANG model for non-NMDA compliant implementations
was included.  Probably I don't know enough about NMDA.

Nits:

I found no trivial nits.

-- 
Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
 -= IPv6 IoT consulting =-