Re: [yang-doctors] Yangdoctors last call review of draft-ietf-ospf-yang-09

Martin Bjorklund <mbj@tail-f.com> Wed, 06 December 2017 11:47 UTC

Return-Path: <mbj@tail-f.com>
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 41C91126E64; Wed, 6 Dec 2017 03:47:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-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 bDdnRoidkg2N; Wed, 6 Dec 2017 03:47:35 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 5B625124205; Wed, 6 Dec 2017 03:47:32 -0800 (PST)
Received: from localhost (unknown [173.38.220.60]) by mail.tail-f.com (Postfix) with ESMTPSA id 6BA701AE0141; Wed, 6 Dec 2017 12:47:31 +0100 (CET)
Date: Wed, 06 Dec 2017 12:46:11 +0100
Message-Id: <20171206.124611.1073986528289329597.mbj@tail-f.com>
To: lhotka@nic.cz
Cc: yang-doctors@ietf.org, draft-ietf-ospf-yang.all@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <151255960762.30655.17225294251460480729@ietfa.amsl.com>
References: <151255960762.30655.17225294251460480729@ietfa.amsl.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/3PcvEWNnI61Q8rCmVFMEyOz8qUI>
Subject: Re: [yang-doctors] Yangdoctors last call review of draft-ietf-ospf-yang-09
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.22
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, 06 Dec 2017 11:47:43 -0000

Ladislav Lhotka <lhotka@nic.cz> wrote:
> Reviewer: Ladislav Lhotka
> Review result: Ready with Issues
> 
> The data model defined in this document is a massive piece of work: it
> consists of 11 YANG modules and defines around 1200 schema nodes. The

11 YANG modules?  Isn't there just one?


I would like to add two quick comments to Lada's review.

o  Remove all "revision" statements except the one that says "initial
   revision".   The idea is to have one revision statement per
   published version (i.e., RFC).


o  Many of the nodes have quite rudimentary descriptions, and the
   "reference" statement is rarely used.  For example:

         leaf lsa-id {
           type yang:dotted-quad;
           mandatory true;
           description "LSA ID.";
         }

   It seems as the description is put there just to keep the tools
   quiet.  I know that it is painful to write good descriptions, but
   it does help the consumer of the data model.


/martin


> "ietf-ospf@2017-10-30" module is compatible with the NMDA architecture.
> 
> **** Comments
> 
> 1. Unless there is a really compelling reason not to do so, the
>    "ietf-ospf" should declare YANG version 1.1. For one,
>    "ietf-routing" that is being augmented by "ietf-ospf" already
>    declares this version. Some of my suggestions below also assume
>    version 1.1.
> 
> 2. The "ietf-ospf" can work only with the new NMDA-compatible
>    revisions of some modules, such as "ietf-interfaces" and
>    "ietf-routing". I understand it is not desirable to import such
>    modules by revision, but at least it should be mentioned in a
>    description attached to every such import.
> 
> 3. Maybe the draft could mention that implementations should supply a
>    default routing domain as a system-controlled resource.
> 
> 4. In "when" expressions, the module uses literal strings for
>    identities. This is known to be problematic, the XPath functions
>    derived-from() or derived-from-or-self() should be used instead.
> 
> 5. Some enumerations, such as "packet-type" and "if-state-type"
>    define enum identifiers with uppercase letters and/or underscores,
>    for example "Database-Description" or "LONG_WAIT". RFC6087bis
>    recommends that only lowercase letters, numbers and dashes. I think
>    this convention should be observed despite the fact that the
>    current names are traditionally used in OSPF specs. The
>    "ietf-routing" module also defines "router-id" even though the
>    documents use "Router ID".
> 
> 6. The types of LSA headers are modelled as integers. While OSPF gurus
>    probably know these numbers by heart, it is not very
>    reader-frienly. So at least some references to documents defining
>    these numbers should be provided, but my suggestion is to consider
>    implementing them with identities. It seems it might also be useful
>    to define some "abstract" identities for these types. For example,
>    if "opaque-lsa" is defined, then the definition of container
>    "opaque" could simply use
> 
>      when "derived-from(../../header/type, 'ospf:opaque-lsa')";
> 
>    instead of
> 
>       when "../../header/type = 9 or "
>               + "../../header/type = 10 or "
>               + "../../header/type = 11";
> 
> 7. The title of sec. 2.9 should be "OSPF Notifications" rather than
>    "OSPF notification".
> 
> 
> _______________________________________________
> yang-doctors mailing list
> yang-doctors@ietf.org
> https://www.ietf.org/mailman/listinfo/yang-doctors
>