Re: YANG doctor review of draft-ietf-rtgwg-ni-model-02

Lou Berger <lberger@labn.net> Mon, 26 June 2017 13:37 UTC

Return-Path: <lberger@labn.net>
X-Original-To: rtgwg@ietfa.amsl.com
Delivered-To: rtgwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 85506129B72 for <rtgwg@ietfa.amsl.com>; Mon, 26 Jun 2017 06:37:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (768-bit key) header.d=labn.net
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 IqGYVA5-S52q for <rtgwg@ietfa.amsl.com>; Mon, 26 Jun 2017 06:37:28 -0700 (PDT)
Received: from gproxy2.mail.unifiedlayer.com (gproxy2-pub.mail.unifiedlayer.com [69.89.18.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BBC24129B98 for <rtgwg@ietf.org>; Mon, 26 Jun 2017 06:37:28 -0700 (PDT)
Received: from cmgw4 (unknown [10.0.90.85]) by gproxy2.mail.unifiedlayer.com (Postfix) with ESMTP id B0B201E13CA for <rtgwg@ietf.org>; Mon, 26 Jun 2017 07:33:23 -0600 (MDT)
Received: from box313.bluehost.com ([69.89.31.113]) by cmgw4 with id dRZK1v0192SSUrH01RZNxu; Mon, 26 Jun 2017 07:33:23 -0600
X-Authority-Analysis: v=2.2 cv=QdwWhoTv c=1 sm=1 tr=0 a=h1BC+oY+fLhyFmnTBx92Jg==:117 a=h1BC+oY+fLhyFmnTBx92Jg==:17 a=IkcTkHD0fZMA:10 a=xqWC_Br6kY4A:10 a=LWSFodeU3zMA:10 a=48vgC7mUAAAA:8 a=qHsDxRAUQWCsUaGwS4UA:9 a=QEXdDO2ut3YA:10 a=w1C3t2QeGrPiZgrLijVG:22
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=labn.net; s=default; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:MIME-Version :Date:Message-ID:From:References:Cc:To:Subject:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=5BIiXSD15V6gT79mSRj5yoCqex5X+D+utw223AU3Y1I=; b=NW/BJsFp8SR2/DVq6mIjuIlXnZ 47bv+DJmIkGqZbIoT/AAfuWPw7Cm0Q1tMO4KYDWqJfH8DMrU1aQvB0WEvnXJmK1Kfi4+fAmGCWsVi G/u2k8LEW9WyQaANitAw1Fj4v;
Received: from pool-100-15-84-20.washdc.fios.verizon.net ([100.15.84.20]:50700 helo=[IPv6:::1]) by box313.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.87) (envelope-from <lberger@labn.net>) id 1dPU8l-00037q-MS; Mon, 26 Jun 2017 07:33:19 -0600
Subject: Re: YANG doctor review of draft-ietf-rtgwg-ni-model-02
To: Martin Bjorklund <mbj@tail-f.com>, rtgwg@ietf.org
Cc: yang-doctors@ietf.org
References: <20170423.114838.190354600276418424.mbj@tail-f.com>
From: Lou Berger <lberger@labn.net>
Message-ID: <cc705b35-21bc-a3ba-2523-c0411e6c8a95@labn.net>
Date: Mon, 26 Jun 2017 09:33:16 -0400
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1
MIME-Version: 1.0
In-Reply-To: <20170423.114838.190354600276418424.mbj@tail-f.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Content-Language: en-US
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - box313.bluehost.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - labn.net
X-BWhitelist: no
X-Source-IP: 100.15.84.20
X-Exim-ID: 1dPU8l-00037q-MS
X-Source:
X-Source-Args:
X-Source-Dir:
X-Source-Sender: pool-100-15-84-20.washdc.fios.verizon.net ([IPv6:::1]) [100.15.84.20]:50700
X-Source-Auth: lberger@labn.net
X-Email-Count: 13
X-Source-Cap: bGFibm1vYmk7bGFibm1vYmk7Ym94MzEzLmJsdWVob3N0LmNvbQ==
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtgwg/WXH7lv-hi9qABi1bidhmtnifn_k>
X-BeenThere: rtgwg@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Routing Area Working Group <rtgwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtgwg>, <mailto:rtgwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtgwg/>
List-Post: <mailto:rtgwg@ietf.org>
List-Help: <mailto:rtgwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtgwg>, <mailto:rtgwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Jun 2017 13:37:30 -0000

Martin,

    sorry about the slow response, but as you know we've been waiting to
update this document until schema-mount was updated/finalized. 


On 4/23/2017 5:48 AM, Martin Bjorklund wrote:
> Hi,
>
> I am the assigned YANG doctor for draft-ietf-rtgwg-ni-model, and
> here are my review comments, based on -02:
>
>
>
> 1) Add reference to import statements.
>
>      import ietf-interfaces {
>        prefix if;
>        reference
>          "RFC 7223: A YANG Data Model for Interface Management";
>      }
okay.

>
> 2) IETF boilerplate
>
>   Use IETF boilerplate with contact, description w/ copyright etc.
will do.
>
> 3) feature bind-network-instance-name
>
>     feature bind-network-instance-name {
>       description
>         "Network Instance to which an interface instance is bound";
>     }
>
>   This description doesn't make much sense.
>
>   Also, this feature is not used in the model.  Should the feature be
>   removed or used?
 this is vestigial and can be deleted

>
> 4) unused groupings
>
>   The module defines 3 groupings that are not used:
>
>     interface-ip-common
>     ipv4-interface-protocols
>     ipv6-interface-protocols
>
>   Either they should be removed, or the text needs to explain how they
>   are supposed to be used by other modules.
>
same issue.

> 5)  network-instances
>
>   The module has this:
>
>     container network-instances {
>         description "Network instances each of which have
>                      an independent IP/IPv6 addressing space
>                      and protocol instantiations. For layer 3,
>                      this consistent with the routing-instance
>                      definition in ietf-routing";
>
>   There is no "routing-instance" in "ietf-routing".  This description
>   needs to be updated.
agreed.

>
> 6)  leaf type
>
>           leaf type {
>               type identityref {
>                   base network-instance-type;
>               }
>               description
>                   "The network instance type -- details TBD
>                    Likely types include core, L3-VRF, VPLS,
>                    L2-cross-connect, L2-VSI, etc.";
>           }
>
>   "details TBD" - needs to be fixed.
>
>   Should this leaf be mandatory? 
yes

>  If not, it needs to be specified
>   what it means if this leaf is not present.
>
>
> 7)  container network-instance-policy
>
>     container network-instance-policy {
>         description
>           "Network Instance Policy -- details TBD,
>           perhaps based on BESS model";
>     }
>
>   "details TBD" - needs to be fixed.
agreed. Hope to have this done in the rev we're working now.

> 8)  augments
>
>     augment "/if:interfaces/if:interface" {
>       description
>           "Add a node for the identification of the logical network
>           instance (which is within the interface's identified logical
>           network element) associated with the IP information
>           configured on an interface";
>
>
>   Does this mean that this model cannot be used without the LNE model?
how about:

       "Add a node for the identification of the network instance
        (which is within the interface's identified physical or
        virtual device) associated with the information
        configured on an interface";

>
>     augment "/if:interfaces/if:interface/ip:ipv4" {
>       description
>           "Add a node for the identification of the logical
>           network instance (which is within the interface's
>           identified physical or virtual device) associated with
>           the IP information configured on an interface";
>
>   What does "which is within the interface's identified physical or
>   virtual device" mean?
How about:

       "Add a node for the identification of the network instance
        (which is within the interface's identified physical or
        virtual device) associated with the IP information
        configured on an interface";

>
> 9) leaf bind-network-instance-name
>
>   This leaf is a string.  Shouldn't it be a leafref?
>
>     leaf bind-network-instance-name {
>       type leafref {
>         path "/network-instances/network-instance/name";
>       }
>       ...
>     }
good catch, this was left over form earlier version.
>
> 10) inconsistent formatting
>
>   I suggest you run pyang -f yang [--keep-comments] and possibly edit
>   the result add/remove comments.
>
>   The following comment doesn't add much and should be removed:
>
>    // namespace
>    namespace "urn:ietf:params:xml:ns:yang:ietf-network-instance";
>
>   Also remove the comments about rpcs and notifications.
>
>   Also add period ('.') at the end of all sentences in the
>   descriptions.
>
will do

>
> 11)  section 2
>
>   Align with section 2 in the LNE document.
>
will do

> 12)  section 3
>
>   Can the same interface be bound to both an LNE and an NI?  If not,
>   this needs to be explained.
>
okay.

> 13) YANG tree
>
>   Section 3.2 uses a tree diagram to show instance data.  I think this
>   is confusing, and you should use XML or JSON instead.
>
>   (see my comments on YANG tree in the LNE review as well)
>
I personally like the tree representation to show instance data find it
as much more readable for informative text, but agree that this isn't a
'standard' convention so perhaps we need to move way from it.  The next
rev will use JSON representation for example instance data.

>
>
> /martin

Thank you for the comments!
> _______________________________________________
> rtgwg mailing list
> rtgwg@ietf.org
> https://www.ietf.org/mailman/listinfo/rtgwg
>