Re: [netmod] I-D Action: draft-ietf-netmod-yang-tree-diagrams-02.txt size

Lou Berger <lberger@labn.net> Thu, 26 October 2017 18:03 UTC

Return-Path: <lberger@labn.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5E87E13F5D4 for <netmod@ietfa.amsl.com>; Thu, 26 Oct 2017 11:03:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 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, URIBL_BLOCKED=0.001] autolearn=ham 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 D7mLAkYXuJTo for <netmod@ietfa.amsl.com>; Thu, 26 Oct 2017 11:03:55 -0700 (PDT)
Received: from gproxy7-pub.mail.unifiedlayer.com (gproxy7-pub.mail.unifiedlayer.com [70.40.196.235]) (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 8053113F441 for <netmod@ietf.org>; Thu, 26 Oct 2017 11:03:55 -0700 (PDT)
Received: from cmgw2 (unknown [10.0.90.83]) by gproxy7.mail.unifiedlayer.com (Postfix) with ESMTP id D0FDC216126 for <netmod@ietf.org>; Thu, 26 Oct 2017 11:32:50 -0600 (MDT)
Received: from box313.bluehost.com ([69.89.31.113]) by cmgw2 with id SHYm1w01b2SSUrH01HYp34; Thu, 26 Oct 2017 11:32:50 -0600
X-Authority-Analysis: v=2.2 cv=dZfw5Tfe c=1 sm=1 tr=0 a=h1BC+oY+fLhyFmnTBx92Jg==:117 a=h1BC+oY+fLhyFmnTBx92Jg==:17 a=IkcTkHD0fZMA:10 a=02M-m0pO-4AA:10 a=wU2YTnxGAAAA:8 a=48vgC7mUAAAA:8 a=DsNEj0OqSk4F1GMhC-0A:9 a=2zuwW42HAEvmORGn:21 a=cZwc4jFpki8unXc9:21 a=WnLS2z3rvpuhsL0o:21 a=QEXdDO2ut3YA:10 a=Yz9wTY_ffGCQnEDHKrcv:22 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:To:Subject:Sender:Reply-To:Cc: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=mhAHdrIhL+JFYo/0VfKqwaxJKTqLVvHoZrT6dN4u3dE=; b=wAxwQ7A4rmlfknkMmSxcFA9FS+ BRekMFfjGPih2bmH2GevUBrapWSuE4VEytL6cTH61mPgUouFQ+zbXAc00n+Y2bdOJqGCA6RcKjg3h XlOKcfjxaYYlu5EyDQVdPvcB4;
Received: from pool-100-15-86-101.washdc.fios.verizon.net ([100.15.86.101]:54550 helo=fs2.dc.labn.net) by box313.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.87) (envelope-from <lberger@labn.net>) id 1e7m1O-000vFR-Du; Thu, 26 Oct 2017 11:32:46 -0600
To: "t.petch" <ietfc@btconnect.com>, netmod@ietf.org
References: <150893578927.4882.2117597388624976982@ietfa.amsl.com> <23892572-a0db-d24b-e591-a19799ace9ae@labn.net> <010301d34e7b$1d5303c0$4001a8c0@gateway.2wire.net>
From: Lou Berger <lberger@labn.net>
Message-ID: <d592e9c4-21c8-16d5-a0a9-f6ce54cd31da@labn.net>
Date: Thu, 26 Oct 2017 13:32:45 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0
MIME-Version: 1.0
In-Reply-To: <010301d34e7b$1d5303c0$4001a8c0@gateway.2wire.net>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 7bit
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.86.101
X-Exim-ID: 1e7m1O-000vFR-Du
X-Source:
X-Source-Args:
X-Source-Dir:
X-Source-Sender: pool-100-15-86-101.washdc.fios.verizon.net (fs2.dc.labn.net) [100.15.86.101]:54550
X-Source-Auth: lberger@labn.net
X-Email-Count: 2
X-Source-Cap: bGFibm1vYmk7bGFibm1vYmk7Ym94MzEzLmJsdWVob3N0LmNvbQ==
X-Local-Domain: yes
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/bNCzAvfEgGwyXmE-q64CcUhlHms>
Subject: Re: [netmod] I-D Action: draft-ietf-netmod-yang-tree-diagrams-02.txt size
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Oct 2017 18:03:59 -0000

Hi Tom,


On 10/26/2017 12:50 PM, t.petch wrote:
> Lou
> 
> I like the advice that diagrams should be one page long but wonder how
> to apply that to those I see in routing WGs.  I have just been looking
> at
> 
>  draft-ietf-teas-yang-te-topo-12
> 
> where the diagram is 36 pages long - which may be one of the larger ones
> but by no means exceptional - and I think the diagram is  more or less
> useless as a result. 

I agree.

> But what practical advice can we give them?

we added section 3.2 covering Long Diagrams in general, and due to this
draft we added:

   When long diagrams are included in a document, authors
   should consider whether to include the long diagram in the main body
   of the document or in an appendix.

This is also the recommendation I made to the authors as that draft's
Shepherd...

If you have any suggestion on improving the language that would be most
appreciated.

Lou

> 
> I append the diagram below
> 
> Tom Petch
> 
> 
> start of diagram
> ==================================================
> 
> 
> Liu, et al             Expires January 17, 2018               [Page 31]
> 
> 
> 6. Tree Structure
> 
>    module: ietf-te-topology
>    augment /nw:networks/nw:network/nw:network-types:
>       +--rw te-topology!
>    augment /nw:networks:
>       +--rw te!
>          +--rw templates
>             +--rw node-template* [name] {template}?
>             |  +--rw name                       te-types:te-template-
>    name
>             |  +--rw priority?                  uint16
>             |  +--rw reference-change-policy?   enumeration
>             |  +--rw te-node-attributes
>             |     +--rw admin-status?        te-types:te-admin-status
>             |     +--rw domain-id?           uint32
>             |     +--rw is-abstract?         empty
>             |     +--rw name?                inet:domain-name
>             |     +--rw signaling-address*   inet:ip-address
>             |     +--rw underlay-topology {te-topology-hierarchy}?
>             |        +--rw network-ref?   leafref
>             +--rw link-template* [name] {template}?
>                +--rw name                       te-types:te-template-
>    name
>                +--rw priority?                  uint16
>                +--rw reference-change-policy?   enumeration
>                +--rw te-link-attributes
>                   +--rw access-type?                      te-types:te-
>    link-access-type
>                   +--rw external-domain
>                   |  +--rw network-ref?            leafref
>                   |  +--rw remote-te-node-id?      te-types:te-node-id
>                   |  +--rw remote-te-link-tp-id?   te-types:te-tp-id
>                   |  +--rw plug-id?                uint32
>                   +--rw is-abstract?                      empty
>                   +--rw name?                             string
>                   +--rw underlay {te-topology-hierarchy}?
>                   |  +--rw enabled?                     boolean
>                   |  +--rw primary-path
>                   |  |  +--rw network-ref?    leafref
>                   |  |  +--rw path-element* [path-element-id]
>                   |  |     +--rw path-element-id    uint32
>                   |  |     +--rw index?             uint32
> 
> 
> 
>                   |  |     +--rw (type)?
>                   |  |        +--:(numbered)
>                   |  |        |  +--rw numbered-hop
>                   |  |        |     +--rw address?    te-types:te-tp-id
>                   |  |        |     +--rw hop-type?   te-hop-type
>                   |  |        +--:(as-number)
>                   |  |        |  +--rw as-number-hop
>                   |  |        |     +--rw as-number?   binary
>                   |  |        |     +--rw hop-type?    te-hop-type
>                   |  |        +--:(unnumbered)
>                   |  |        |  +--rw unnumbered-hop
>                   |  |        |     +--rw node-id?      te-types:te-
>    node-id
>                   |  |        |     +--rw link-tp-id?   te-types:te-tp-
>    id
>                   |  |        |     +--rw hop-type?     te-hop-type
>                   |  |        +--:(label)
>                   |  |        |  +--rw label-hop
>                   |  |        |     +--rw value?   rt-types:generalized-
>    label
>                   |  |        +--:(sid)
>                   |  |           +--rw sid-hop
>                   |  |              +--rw sid?   rt-types:generalized-
>    label
>                   |  +--rw backup-path* [index]
>                   |  |  +--rw index           uint32
>                   |  |  +--rw network-ref?    leafref
>                   |  |  +--rw path-element* [path-element-id]
>                   |  |     +--rw path-element-id    uint32
>                   |  |     +--rw index?             uint32
>                   |  |     +--rw (type)?
>                   |  |        +--:(numbered)
>                   |  |        |  +--rw numbered-hop
>                   |  |        |     +--rw address?    te-types:te-tp-id
>                   |  |        |     +--rw hop-type?   te-hop-type
>                   |  |        +--:(as-number)
>                   |  |        |  +--rw as-number-hop
>                   |  |        |     +--rw as-number?   binary
>                   |  |        |     +--rw hop-type?    te-hop-type
>                   |  |        +--:(unnumbered)
>                   |  |        |  +--rw unnumbered-hop
>                   |  |        |     +--rw node-id?      te-types:te-
>    node-id
>                   |  |        |     +--rw link-tp-id?   te-types:te-tp-
>    id
>                   |  |        |     +--rw hop-type?     te-hop-type
>                   |  |        +--:(label)
> 
> 
>                   |  |        |  +--rw label-hop
>                   |  |        |     +--rw value?   rt-types:generalized-
>    label
>                   |  |        +--:(sid)
>                   |  |           +--rw sid-hop
>                   |  |              +--rw sid?   rt-types:generalized-
>    label
>                   |  +--rw protection-type?             identityref
>                   |  +--rw tunnel-termination-points
>                   |  |  +--rw source?        binary
>                   |  |  +--rw destination?   binary
>                   |  +--rw tunnels
>                   |     +--rw sharing?   boolean
>                   |     +--rw tunnel* [tunnel-name]
>                   |        +--rw tunnel-name    string
>                   |        +--rw sharing?       boolean
>                   +--rw admin-status?                     te-types:te-
>    admin-status
>                   +--rw link-index?                       uint64
>                   +--rw administrative-group?             te-
>    types:admin-groups
>                   +--rw interface-switching-capability* [switching-
>    capability encoding]
>                   |  +--rw switching-capability    identityref
>                   |  +--rw encoding                identityref
>                   |  +--rw max-lsp-bandwidth* [priority]
>                   |     +--rw priority     uint8
>                   |     +--rw bandwidth
>                   |        +--rw te-bandwidth
>                   |           +--rw (technology)?
>                   |              +--:(psc)
>                   |              |  +--rw psc?       rt-types:bandwidth-
>    ieee-float32
>                   |              +--:(otn)
>                   |              |  +--rw otn* [rate-type]
>                   |              |     +--rw rate-type    identityref
>                   |              |     +--rw counter?     uint16
>                   |              +--:(lsc)
>                   |              |  +--rw wdm* [spectrum slot]
>                   |              |     +--rw spectrum    identityref
>                   |              |     +--rw slot        int16
>                   |              |     +--rw width?      uint16
>                   |              +--:(generic)
>                   |                 +--rw generic?   te-bandwidth
>                   +--rw label-restriction* [inclusive-exclusive label-
>    start]
>                   |  +--rw inclusive-exclusive    enumeration
> 
> 
> 
>                   |  +--rw label-start            rt-types:generalized-
>    label
>                   |  +--rw label-end?             rt-types:generalized-
>    label
>                   |  +--rw range-bitmap?          binary
>                   +--rw link-protection-type?             enumeration
>                   +--rw max-link-bandwidth
>                   |  +--rw te-bandwidth
>                   |     +--rw (technology)?
>                   |        +--:(psc)
>                   |        |  +--rw psc?       rt-types:bandwidth-ieee-
>    float32
>                   |        +--:(otn)
>                   |        |  +--rw otn* [rate-type]
>                   |        |     +--rw rate-type    identityref
>                   |        |     +--rw counter?     uint16
>                   |        +--:(lsc)
>                   |        |  +--rw wdm* [spectrum slot]
>                   |        |     +--rw spectrum    identityref
>                   |        |     +--rw slot        int16
>                   |        |     +--rw width?      uint16
>                   |        +--:(generic)
>                   |           +--rw generic?   te-bandwidth
>                   +--rw max-resv-link-bandwidth
>                   |  +--rw te-bandwidth
>                   |     +--rw (technology)?
>                   |        +--:(psc)
>                   |        |  +--rw psc?       rt-types:bandwidth-ieee-
>    float32
>                   |        +--:(otn)
>                   |        |  +--rw otn* [rate-type]
>                   |        |     +--rw rate-type    identityref
>                   |        |     +--rw counter?     uint16
>                   |        +--:(lsc)
>                   |        |  +--rw wdm* [spectrum slot]
>                   |        |     +--rw spectrum    identityref
>                   |        |     +--rw slot        int16
>                   |        |     +--rw width?      uint16
>                   |        +--:(generic)
>                   |           +--rw generic?   te-bandwidth
>                   +--rw unreserved-bandwidth* [priority]
>                   |  +--rw priority     uint8
>                   |  +--rw bandwidth
>                   |     +--rw te-bandwidth
>                   |        +--rw (technology)?
>                   |           +--:(psc)
> 
> 
> 
>                   |           |  +--rw psc?       rt-types:bandwidth-
>    ieee-float32
>                   |           +--:(otn)
>                   |           |  +--rw otn* [rate-type]
>                   |           |     +--rw rate-type    identityref
>                   |           |     +--rw counter?     uint16
>                   |           +--:(lsc)
>                   |           |  +--rw wdm* [spectrum slot]
>                   |           |     +--rw spectrum    identityref
>                   |           |     +--rw slot        int16
>                   |           |     +--rw width?      uint16
>                   |           +--:(generic)
>                   |              +--rw generic?   te-bandwidth
>                   +--rw te-default-metric?                uint32
>                   +--rw te-delay-metric?                  uint32
>                   +--rw te-igp-metric?                    uint32
>                   +--rw te-srlgs
>                   |  +--rw value*   te-types:srlg
>                   +--rw te-nsrlgs {nsrlg}?
>                      +--rw id*   uint32
>    augment /nw:networks/nw:network:
>       +--rw provider-id?      te-types:te-global-id
>       +--rw client-id?        te-types:te-global-id
>       +--rw te-topology-id?   te-types:te-topology-id
>       +--rw te!
>          +--rw preference?               uint8
>          +--rw optimization-criterion?   identityref
>          +--rw nsrlg* [id] {nsrlg}?
>          |  +--rw id              uint32
>          |  +--rw disjointness?   te-types:te-path-disjointness
>          +--ro geolocation
>             +--ro altitude?    int64
>             +--ro latitude?    geographic-coordinate-degree
>             +--ro longitude?   geographic-coordinate-degree
>    augment /nw:networks/nw:network/nw:node:
>       +--rw te-node-id?   te-types:te-node-id
>       +--rw te!
>          +--rw te-node-template*           leafref {template}?
>          +--rw te-node-attributes
>          |  +--rw admin-status?            te-types:te-admin-status
>          |  +--rw connectivity-matrices
>          |  |  +--rw number-of-entries?          uint16
>          |  |  +--rw label-restriction* [inclusive-exclusive label-
>    start]
>          |  |  |  +--rw inclusive-exclusive    enumeration
>          |  |  |  +--rw label-start            rt-types:generalized-
>    label
> 
> 
> 
>          |  |  |  +--rw label-end?             rt-types:generalized-
>    label
>          |  |  |  +--rw range-bitmap?          binary
>          |  |  +--rw is-allowed?                 boolean
>          |  |  +--rw underlay {te-topology-hierarchy}?
>          |  |  |  +--rw enabled?                     boolean
>          |  |  |  +--rw primary-path
>          |  |  |  |  +--rw network-ref?    leafref
>          |  |  |  |  +--rw path-element* [path-element-id]
>          |  |  |  |     +--rw path-element-id    uint32
>          |  |  |  |     +--rw index?             uint32
>          |  |  |  |     +--rw (type)?
>          |  |  |  |        +--:(numbered)
>          |  |  |  |        |  +--rw numbered-hop
>          |  |  |  |        |     +--rw address?    te-types:te-tp-id
>          |  |  |  |        |     +--rw hop-type?   te-hop-type
>          |  |  |  |        +--:(as-number)
>          |  |  |  |        |  +--rw as-number-hop
>          |  |  |  |        |     +--rw as-number?   binary
>          |  |  |  |        |     +--rw hop-type?    te-hop-type
>          |  |  |  |        +--:(unnumbered)
>          |  |  |  |        |  +--rw unnumbered-hop
>          |  |  |  |        |     +--rw node-id?      te-types:te-node-id
>          |  |  |  |        |     +--rw link-tp-id?   te-types:te-tp-id
>          |  |  |  |        |     +--rw hop-type?     te-hop-type
>          |  |  |  |        +--:(label)
>          |  |  |  |        |  +--rw label-hop
>          |  |  |  |        |     +--rw value?   rt-types:generalized-
>    label
>          |  |  |  |        +--:(sid)
>          |  |  |  |           +--rw sid-hop
>          |  |  |  |              +--rw sid?   rt-types:generalized-label
>          |  |  |  +--rw backup-path* [index]
>          |  |  |  |  +--rw index           uint32
>          |  |  |  |  +--rw network-ref?    leafref
>          |  |  |  |  +--rw path-element* [path-element-id]
>          |  |  |  |     +--rw path-element-id    uint32
>          |  |  |  |     +--rw index?             uint32
>          |  |  |  |     +--rw (type)?
>          |  |  |  |        +--:(numbered)
>          |  |  |  |        |  +--rw numbered-hop
>          |  |  |  |        |     +--rw address?    te-types:te-tp-id
>          |  |  |  |        |     +--rw hop-type?   te-hop-type
>          |  |  |  |        +--:(as-number)
>          |  |  |  |        |  +--rw as-number-hop
>          |  |  |  |        |     +--rw as-number?   binary
>          |  |  |  |        |     +--rw hop-type?    te-hop-type
> 
> 
>          |  |  |  |        +--:(unnumbered)
>          |  |  |  |        |  +--rw unnumbered-hop
>          |  |  |  |        |     +--rw node-id?      te-types:te-node-id
>          |  |  |  |        |     +--rw link-tp-id?   te-types:te-tp-id
>          |  |  |  |        |     +--rw hop-type?     te-hop-type
>          |  |  |  |        +--:(label)
>          |  |  |  |        |  +--rw label-hop
>          |  |  |  |        |     +--rw value?   rt-types:generalized-
>    label
>          |  |  |  |        +--:(sid)
>          |  |  |  |           +--rw sid-hop
>          |  |  |  |              +--rw sid?   rt-types:generalized-label
>          |  |  |  +--rw protection-type?             identityref
>          |  |  |  +--rw tunnel-termination-points
>          |  |  |  |  +--rw source?        binary
>          |  |  |  |  +--rw destination?   binary
>          |  |  |  +--rw tunnels
>          |  |  |     +--rw sharing?   boolean
>          |  |  |     +--rw tunnel* [tunnel-name]
>          |  |  |        +--rw tunnel-name    string
>          |  |  |        +--rw sharing?       boolean
>          |  |  +--rw path-constraints
>          |  |  |  +--rw path-metric-bound* [metric-type]
>          |  |  |  |  +--rw metric-type    identityref
>          |  |  |  |  +--rw upper-bound?   uint64
>          |  |  |  +--rw topology-id?         te-types:te-topology-id
>          |  |  |  +--rw ignore-overload?     boolean
>          |  |  |  +--rw bandwidth-generic
>          |  |  |  |  +--rw te-bandwidth
>          |  |  |  |     +--rw (technology)?
>          |  |  |  |        +--:(psc)
>          |  |  |  |        |  +--rw psc?       rt-types:bandwidth-ieee-
>    float32
>          |  |  |  |        +--:(otn)
>          |  |  |  |        |  +--rw otn* [rate-type]
>          |  |  |  |        |     +--rw rate-type    identityref
>          |  |  |  |        |     +--rw counter?     uint16
>          |  |  |  |        +--:(lsc)
>          |  |  |  |        |  +--rw wdm* [spectrum slot]
>          |  |  |  |        |     +--rw spectrum    identityref
>          |  |  |  |        |     +--rw slot        int16
>          |  |  |  |        |     +--rw width?      uint16
>          |  |  |  |        +--:(generic)
>          |  |  |  |           +--rw generic?   te-bandwidth
>          |  |  |  +--rw disjointness?        te-types:te-path-
>    disjointness
>          |  |  |  +--rw setup-priority?      uint8
> 
> 
>          |  |  |  +--rw hold-priority?       uint8
>          |  |  |  +--rw signaling-type?      identityref
>          |  |  |  +--rw path-affinities
>          |  |  |  |  +--rw constraint* [usage]
>          |  |  |  |     +--rw usage    identityref
>          |  |  |  |     +--rw value?   admin-groups
>          |  |  |  +--rw path-srlgs
>          |  |  |     +--rw usage?    identityref
>          |  |  |     +--rw values*   srlg
>          |  |  +--rw optimizations
>          |  |  |  +--rw (algorithm)?
>          |  |  |     +--:(metric) {path-optimization-metric}?
>          |  |  |     |  +--rw optimization-metric* [metric-type]
>          |  |  |     |  |  +--rw metric-type    identityref
>          |  |  |     |  |  +--rw weight?        uint8
>          |  |  |     |  +--rw tiebreakers
>          |  |  |     |     +--rw tiebreaker* [tiebreaker-type]
>          |  |  |     |        +--rw tiebreaker-type    identityref
>          |  |  |     +--:(objective-function) {path-optimization-
>    objective-function}?
>          |  |  |        +--rw objective-function
>          |  |  |           +--rw objective-function-type?   identityref
>          |  |  +--ro computed-path-properties
>          |  |  |  +--ro path-metric* [metric-type]
>          |  |  |  |  +--ro metric-type           identityref
>          |  |  |  |  +--ro accumulative-value?   uint64
>          |  |  |  +--ro path-affinities
>          |  |  |  |  +--ro constraint* [usage]
>          |  |  |  |     +--ro usage    identityref
>          |  |  |  |     +--ro value?   admin-groups
>          |  |  |  +--ro path-srlgs
>          |  |  |  |  +--ro usage?    identityref
>          |  |  |  |  +--ro values*   srlg
>          |  |  |  +--ro path-computed-route-objects
>          |  |  |     +--ro path-computed-route-object* [index]
>          |  |  |        +--ro index             uint32
>          |  |  |        +--ro (type)?
>          |  |  |           +--:(numbered)
>          |  |  |           |  +--ro numbered-hop
>          |  |  |           |     +--ro address?    te-types:te-tp-id
>          |  |  |           |     +--ro hop-type?   te-hop-type
>          |  |  |           +--:(as-number)
>          |  |  |           |  +--ro as-number-hop
>          |  |  |           |     +--ro as-number?   binary
>          |  |  |           |     +--ro hop-type?    te-hop-type
>          |  |  |           +--:(unnumbered)
>          |  |  |           |  +--ro unnumbered-hop
> 
> 
> 
> 
>          |  |  |           |     +--ro node-id?      te-types:te-node-id
>          |  |  |           |     +--ro link-tp-id?   te-types:te-tp-id
>          |  |  |           |     +--ro hop-type?     te-hop-type
>          |  |  |           +--:(label)
>          |  |  |           |  +--ro label-hop
>          |  |  |           |     +--ro value?   rt-types:generalized-
>    label
>          |  |  |           +--:(sid)
>          |  |  |              +--ro sid-hop
>          |  |  |                 +--ro sid?   rt-types:generalized-label
>          |  |  +--rw connectivity-matrix* [id]
>          |  |     +--rw id                          uint32
>          |  |     +--rw from
>          |  |     |  +--rw tp-ref?              leafref
>          |  |     |  +--rw label-restriction* [inclusive-exclusive
>    label-start]
>          |  |     |     +--rw inclusive-exclusive    enumeration
>          |  |     |     +--rw label-start            rt-
>    types:generalized-label
>          |  |     |     +--rw label-end?             rt-
>    types:generalized-label
>          |  |     |     +--rw range-bitmap?          binary
>          |  |     +--rw to
>          |  |     |  +--rw tp-ref?              leafref
>          |  |     |  +--rw label-restriction* [inclusive-exclusive
>    label-start]
>          |  |     |     +--rw inclusive-exclusive    enumeration
>          |  |     |     +--rw label-start            rt-
>    types:generalized-label
>          |  |     |     +--rw label-end?             rt-
>    types:generalized-label
>          |  |     |     +--rw range-bitmap?          binary
>          |  |     +--rw is-allowed?                 boolean
>          |  |     +--rw underlay {te-topology-hierarchy}?
>          |  |     |  +--rw enabled?                     boolean
>          |  |     |  +--rw primary-path
>          |  |     |  |  +--rw network-ref?    leafref
>          |  |     |  |  +--rw path-element* [path-element-id]
>          |  |     |  |     +--rw path-element-id    uint32
>          |  |     |  |     +--rw index?             uint32
>          |  |     |  |     +--rw (type)?
>          |  |     |  |        +--:(numbered)
>          |  |     |  |        |  +--rw numbered-hop
>          |  |     |  |        |     +--rw address?    te-types:te-tp-id
>          |  |     |  |        |     +--rw hop-type?   te-hop-type
>          |  |     |  |        +--:(as-number)
>          |  |     |  |        |  +--rw as-number-hop
> 
> 
> 
> 
>          |  |     |  |        |     +--rw as-number?   binary
>          |  |     |  |        |     +--rw hop-type?    te-hop-type
>          |  |     |  |        +--:(unnumbered)
>          |  |     |  |        |  +--rw unnumbered-hop
>          |  |     |  |        |     +--rw node-id?      te-types:te-
>    node-id
>          |  |     |  |        |     +--rw link-tp-id?   te-types:te-tp-
>    id
>          |  |     |  |        |     +--rw hop-type?     te-hop-type
>          |  |     |  |        +--:(label)
>          |  |     |  |        |  +--rw label-hop
>          |  |     |  |        |     +--rw value?   rt-types:generalized-
>    label
>          |  |     |  |        +--:(sid)
>          |  |     |  |           +--rw sid-hop
>          |  |     |  |              +--rw sid?   rt-types:generalized-
>    label
>          |  |     |  +--rw backup-path* [index]
>          |  |     |  |  +--rw index           uint32
>          |  |     |  |  +--rw network-ref?    leafref
>          |  |     |  |  +--rw path-element* [path-element-id]
>          |  |     |  |     +--rw path-element-id    uint32
>          |  |     |  |     +--rw index?             uint32
>          |  |     |  |     +--rw (type)?
>          |  |     |  |        +--:(numbered)
>          |  |     |  |        |  +--rw numbered-hop
>          |  |     |  |        |     +--rw address?    te-types:te-tp-id
>          |  |     |  |        |     +--rw hop-type?   te-hop-type
>          |  |     |  |        +--:(as-number)
>          |  |     |  |        |  +--rw as-number-hop
>          |  |     |  |        |     +--rw as-number?   binary
>          |  |     |  |        |     +--rw hop-type?    te-hop-type
>          |  |     |  |        +--:(unnumbered)
>          |  |     |  |        |  +--rw unnumbered-hop
>          |  |     |  |        |     +--rw node-id?      te-types:te-
>    node-id
>          |  |     |  |        |     +--rw link-tp-id?   te-types:te-tp-
>    id
>          |  |     |  |        |     +--rw hop-type?     te-hop-type
>          |  |     |  |        +--:(label)
>          |  |     |  |        |  +--rw label-hop
>          |  |     |  |        |     +--rw value?   rt-types:generalized-
>    label
>          |  |     |  |        +--:(sid)
>          |  |     |  |           +--rw sid-hop
>          |  |     |  |              +--rw sid?   rt-types:generalized-
>    label
> 
> 
>          |  |     |  +--rw protection-type?             identityref
>          |  |     |  +--rw tunnel-termination-points
>          |  |     |  |  +--rw source?        binary
>          |  |     |  |  +--rw destination?   binary
>          |  |     |  +--rw tunnels
>          |  |     |     +--rw sharing?   boolean
>          |  |     |     +--rw tunnel* [tunnel-name]
>          |  |     |        +--rw tunnel-name    string
>          |  |     |        +--rw sharing?       boolean
>          |  |     +--rw path-constraints
>          |  |     |  +--rw path-metric-bound* [metric-type]
>          |  |     |  |  +--rw metric-type    identityref
>          |  |     |  |  +--rw upper-bound?   uint64
>          |  |     |  +--rw topology-id?         te-types:te-topology-id
>          |  |     |  +--rw ignore-overload?     boolean
>          |  |     |  +--rw bandwidth-generic
>          |  |     |  |  +--rw te-bandwidth
>          |  |     |  |     +--rw (technology)?
>          |  |     |  |        +--:(psc)
>          |  |     |  |        |  +--rw psc?       rt-types:bandwidth-
>    ieee-float32
>          |  |     |  |        +--:(otn)
>          |  |     |  |        |  +--rw otn* [rate-type]
>          |  |     |  |        |     +--rw rate-type    identityref
>          |  |     |  |        |     +--rw counter?     uint16
>          |  |     |  |        +--:(lsc)
>          |  |     |  |        |  +--rw wdm* [spectrum slot]
>          |  |     |  |        |     +--rw spectrum    identityref
>          |  |     |  |        |     +--rw slot        int16
>          |  |     |  |        |     +--rw width?      uint16
>          |  |     |  |        +--:(generic)
>          |  |     |  |           +--rw generic?   te-bandwidth
>          |  |     |  +--rw disjointness?        te-types:te-path-
>    disjointness
>          |  |     |  +--rw setup-priority?      uint8
>          |  |     |  +--rw hold-priority?       uint8
>          |  |     |  +--rw signaling-type?      identityref
>          |  |     |  +--rw path-affinities
>          |  |     |  |  +--rw constraint* [usage]
>          |  |     |  |     +--rw usage    identityref
>          |  |     |  |     +--rw value?   admin-groups
>          |  |     |  +--rw path-srlgs
>          |  |     |     +--rw usage?    identityref
>          |  |     |     +--rw values*   srlg
>          |  |     +--rw optimizations
>          |  |     |  +--rw (algorithm)?
>          |  |     |     +--:(metric) {path-optimization-metric}?
> 
> 
>          |  |     |     |  +--rw optimization-metric* [metric-type]
>          |  |     |     |  |  +--rw metric-type    identityref
>          |  |     |     |  |  +--rw weight?        uint8
>          |  |     |     |  +--rw tiebreakers
>          |  |     |     |     +--rw tiebreaker* [tiebreaker-type]
>          |  |     |     |        +--rw tiebreaker-type    identityref
>          |  |     |     +--:(objective-function) {path-optimization-
>    objective-function}?
>          |  |     |        +--rw objective-function
>          |  |     |           +--rw objective-function-type?
>    identityref
>          |  |     +--ro computed-path-properties
>          |  |        +--ro path-metric* [metric-type]
>          |  |        |  +--ro metric-type           identityref
>          |  |        |  +--ro accumulative-value?   uint64
>          |  |        +--ro path-affinities
>          |  |        |  +--ro constraint* [usage]
>          |  |        |     +--ro usage    identityref
>          |  |        |     +--ro value?   admin-groups
>          |  |        +--ro path-srlgs
>          |  |        |  +--ro usage?    identityref
>          |  |        |  +--ro values*   srlg
>          |  |        +--ro path-computed-route-objects
>          |  |           +--ro path-computed-route-object* [index]
>          |  |              +--ro index             uint32
>          |  |              +--ro (type)?
>          |  |                 +--:(numbered)
>          |  |                 |  +--ro numbered-hop
>          |  |                 |     +--ro address?    te-types:te-tp-id
>          |  |                 |     +--ro hop-type?   te-hop-type
>          |  |                 +--:(as-number)
>          |  |                 |  +--ro as-number-hop
>          |  |                 |     +--ro as-number?   binary
>          |  |                 |     +--ro hop-type?    te-hop-type
>          |  |                 +--:(unnumbered)
>          |  |                 |  +--ro unnumbered-hop
>          |  |                 |     +--ro node-id?      te-types:te-
>    node-id
>          |  |                 |     +--ro link-tp-id?   te-types:te-tp-
>    id
>          |  |                 |     +--ro hop-type?     te-hop-type
>          |  |                 +--:(label)
>          |  |                 |  +--ro label-hop
>          |  |                 |     +--ro value?   rt-types:generalized-
>    label
>          |  |                 +--:(sid)
>          |  |                    +--ro sid-hop
> 
>          |  |                       +--ro sid?   rt-types:generalized-
>    label
>          |  +--rw domain-id?               uint32
>          |  +--rw is-abstract?             empty
>          |  +--rw name?                    inet:domain-name
>          |  +--rw signaling-address*       inet:ip-address
>          |  +--rw underlay-topology {te-topology-hierarchy}?
>          |     +--rw network-ref?   leafref
>          +--ro oper-status?                te-types:te-oper-status
>          +--ro geolocation
>          |  +--ro altitude?    int64
>          |  +--ro latitude?    geographic-coordinate-degree
>          |  +--ro longitude?   geographic-coordinate-degree
>          +--ro is-multi-access-dr?         empty
>          +--ro information-source?         te-info-source
>          +--ro information-source-state
>          |  +--ro credibility-preference?    uint16
>          |  +--ro logical-network-element?   string
>          |  +--ro network-instance?          string
>          |  +--ro topology
>          |     +--ro node-ref?      leafref
>          |     +--ro network-ref?   leafref
>          +--ro information-source-entry* [information-source]
>          |  +--ro information-source          te-info-source
>          |  +--ro information-source-state
>          |  |  +--ro credibility-preference?    uint16
>          |  |  +--ro logical-network-element?   string
>          |  |  +--ro network-instance?          string
>          |  |  +--ro topology
>          |  |     +--ro node-ref?      leafref
>          |  |     +--ro network-ref?   leafref
>          |  +--ro connectivity-matrices
>          |  |  +--ro number-of-entries?          uint16
>          |  |  +--ro label-restriction* [inclusive-exclusive label-
>    start]
>          |  |  |  +--ro inclusive-exclusive    enumeration
>          |  |  |  +--ro label-start            rt-types:generalized-
>    label
>          |  |  |  +--ro label-end?             rt-types:generalized-
>    label
>          |  |  |  +--ro range-bitmap?          binary
>          |  |  +--ro is-allowed?                 boolean
>          |  |  +--ro underlay {te-topology-hierarchy}?
>          |  |  |  +--ro enabled?                     boolean
>          |  |  |  +--ro primary-path
>          |  |  |  |  +--ro network-ref?    leafref
>          |  |  |  |  +--ro path-element* [path-element-id]
> 
> 
>          |  |  |  |     +--ro path-element-id    uint32
>          |  |  |  |     +--ro index?             uint32
>          |  |  |  |     +--ro (type)?
>          |  |  |  |        +--:(numbered)
>          |  |  |  |        |  +--ro numbered-hop
>          |  |  |  |        |     +--ro address?    te-types:te-tp-id
>          |  |  |  |        |     +--ro hop-type?   te-hop-type
>          |  |  |  |        +--:(as-number)
>          |  |  |  |        |  +--ro as-number-hop
>          |  |  |  |        |     +--ro as-number?   binary
>          |  |  |  |        |     +--ro hop-type?    te-hop-type
>          |  |  |  |        +--:(unnumbered)
>          |  |  |  |        |  +--ro unnumbered-hop
>          |  |  |  |        |     +--ro node-id?      te-types:te-node-id
>          |  |  |  |        |     +--ro link-tp-id?   te-types:te-tp-id
>          |  |  |  |        |     +--ro hop-type?     te-hop-type
>          |  |  |  |        +--:(label)
>          |  |  |  |        |  +--ro label-hop
>          |  |  |  |        |     +--ro value?   rt-types:generalized-
>    label
>          |  |  |  |        +--:(sid)
>          |  |  |  |           +--ro sid-hop
>          |  |  |  |              +--ro sid?   rt-types:generalized-label
>          |  |  |  +--ro backup-path* [index]
>          |  |  |  |  +--ro index           uint32
>          |  |  |  |  +--ro network-ref?    leafref
>          |  |  |  |  +--ro path-element* [path-element-id]
>          |  |  |  |     +--ro path-element-id    uint32
>          |  |  |  |     +--ro index?             uint32
>          |  |  |  |     +--ro (type)?
>          |  |  |  |        +--:(numbered)
>          |  |  |  |        |  +--ro numbered-hop
>          |  |  |  |        |     +--ro address?    te-types:te-tp-id
>          |  |  |  |        |     +--ro hop-type?   te-hop-type
>          |  |  |  |        +--:(as-number)
>          |  |  |  |        |  +--ro as-number-hop
>          |  |  |  |        |     +--ro as-number?   binary
>          |  |  |  |        |     +--ro hop-type?    te-hop-type
>          |  |  |  |        +--:(unnumbered)
>          |  |  |  |        |  +--ro unnumbered-hop
>          |  |  |  |        |     +--ro node-id?      te-types:te-node-id
>          |  |  |  |        |     +--ro link-tp-id?   te-types:te-tp-id
>          |  |  |  |        |     +--ro hop-type?     te-hop-type
>          |  |  |  |        +--:(label)
>          |  |  |  |        |  +--ro label-hop
>          |  |  |  |        |     +--ro value?   rt-types:generalized-
>    label
> 
> 
>          |  |  |  |        +--:(sid)
>          |  |  |  |           +--ro sid-hop
>          |  |  |  |              +--ro sid?   rt-types:generalized-label
>          |  |  |  +--ro protection-type?             identityref
>          |  |  |  +--ro tunnel-termination-points
>          |  |  |  |  +--ro source?        binary
>          |  |  |  |  +--ro destination?   binary
>          |  |  |  +--ro tunnels
>          |  |  |     +--ro sharing?   boolean
>          |  |  |     +--ro tunnel* [tunnel-name]
>          |  |  |        +--ro tunnel-name    string
>          |  |  |        +--ro sharing?       boolean
>          |  |  +--ro path-constraints
>          |  |  |  +--ro path-metric-bound* [metric-type]
>          |  |  |  |  +--ro metric-type    identityref
>          |  |  |  |  +--ro upper-bound?   uint64
>          |  |  |  +--ro topology-id?         te-types:te-topology-id
>          |  |  |  +--ro ignore-overload?     boolean
>          |  |  |  +--ro bandwidth-generic
>          |  |  |  |  +--ro te-bandwidth
>          |  |  |  |     +--ro (technology)?
>          |  |  |  |        +--:(psc)
>          |  |  |  |        |  +--ro psc?       rt-types:bandwidth-ieee-
>    float32
>          |  |  |  |        +--:(otn)
>          |  |  |  |        |  +--ro otn* [rate-type]
>          |  |  |  |        |     +--ro rate-type    identityref
>          |  |  |  |        |     +--ro counter?     uint16
>          |  |  |  |        +--:(lsc)
>          |  |  |  |        |  +--ro wdm* [spectrum slot]
>          |  |  |  |        |     +--ro spectrum    identityref
>          |  |  |  |        |     +--ro slot        int16
>          |  |  |  |        |     +--ro width?      uint16
>          |  |  |  |        +--:(generic)
>          |  |  |  |           +--ro generic?   te-bandwidth
>          |  |  |  +--ro disjointness?        te-types:te-path-
>    disjointness
>          |  |  |  +--ro setup-priority?      uint8
>          |  |  |  +--ro hold-priority?       uint8
>          |  |  |  +--ro signaling-type?      identityref
>          |  |  |  +--ro path-affinities
>          |  |  |  |  +--ro constraint* [usage]
>          |  |  |  |     +--ro usage    identityref
>          |  |  |  |     +--ro value?   admin-groups
>          |  |  |  +--ro path-srlgs
>          |  |  |     +--ro usage?    identityref
>          |  |  |     +--ro values*   srlg
> 
> 
>          |  |  +--ro optimizations
>          |  |  |  +--ro (algorithm)?
>          |  |  |     +--:(metric) {path-optimization-metric}?
>          |  |  |     |  +--ro optimization-metric* [metric-type]
>          |  |  |     |  |  +--ro metric-type    identityref
>          |  |  |     |  |  +--ro weight?        uint8
>          |  |  |     |  +--ro tiebreakers
>          |  |  |     |     +--ro tiebreaker* [tiebreaker-type]
>          |  |  |     |        +--ro tiebreaker-type    identityref
>          |  |  |     +--:(objective-function) {path-optimization-
>    objective-function}?
>          |  |  |        +--ro objective-function
>          |  |  |           +--ro objective-function-type?   identityref
>          |  |  +--ro computed-path-properties
>          |  |  |  +--ro path-metric* [metric-type]
>          |  |  |  |  +--ro metric-type           identityref
>          |  |  |  |  +--ro accumulative-value?   uint64
>          |  |  |  +--ro path-affinities
>          |  |  |  |  +--ro constraint* [usage]
>          |  |  |  |     +--ro usage    identityref
>          |  |  |  |     +--ro value?   admin-groups
>          |  |  |  +--ro path-srlgs
>          |  |  |  |  +--ro usage?    identityref
>          |  |  |  |  +--ro values*   srlg
>          |  |  |  +--ro path-computed-route-objects
>          |  |  |     +--ro path-computed-route-object* [index]
>          |  |  |        +--ro index             uint32
>          |  |  |        +--ro (type)?
>          |  |  |           +--:(numbered)
>          |  |  |           |  +--ro numbered-hop
>          |  |  |           |     +--ro address?    te-types:te-tp-id
>          |  |  |           |     +--ro hop-type?   te-hop-type
>          |  |  |           +--:(as-number)
>          |  |  |           |  +--ro as-number-hop
>          |  |  |           |     +--ro as-number?   binary
>          |  |  |           |     +--ro hop-type?    te-hop-type
>          |  |  |           +--:(unnumbered)
>          |  |  |           |  +--ro unnumbered-hop
>          |  |  |           |     +--ro node-id?      te-types:te-node-id
>          |  |  |           |     +--ro link-tp-id?   te-types:te-tp-id
>          |  |  |           |     +--ro hop-type?     te-hop-type
>          |  |  |           +--:(label)
>          |  |  |           |  +--ro label-hop
>          |  |  |           |     +--ro value?   rt-types:generalized-
>    label
>          |  |  |           +--:(sid)
>          |  |  |              +--ro sid-hop
> 
> 
>          |  |  |                 +--ro sid?   rt-types:generalized-label
>          |  |  +--ro connectivity-matrix* [id]
>          |  |     +--ro id                          uint32
>          |  |     +--ro from
>          |  |     |  +--ro tp-ref?              leafref
>          |  |     |  +--ro label-restriction* [inclusive-exclusive
>    label-start]
>          |  |     |     +--ro inclusive-exclusive    enumeration
>          |  |     |     +--ro label-start            rt-
>    types:generalized-label
>          |  |     |     +--ro label-end?             rt-
>    types:generalized-label
>          |  |     |     +--ro range-bitmap?          binary
>          |  |     +--ro to
>          |  |     |  +--ro tp-ref?              leafref
>          |  |     |  +--ro label-restriction* [inclusive-exclusive
>    label-start]
>          |  |     |     +--ro inclusive-exclusive    enumeration
>          |  |     |     +--ro label-start            rt-
>    types:generalized-label
>          |  |     |     +--ro label-end?             rt-
>    types:generalized-label
>          |  |     |     +--ro range-bitmap?          binary
>          |  |     +--ro is-allowed?                 boolean
>          |  |     +--ro underlay {te-topology-hierarchy}?
>          |  |     |  +--ro enabled?                     boolean
>          |  |     |  +--ro primary-path
>          |  |     |  |  +--ro network-ref?    leafref
>          |  |     |  |  +--ro path-element* [path-element-id]
>          |  |     |  |     +--ro path-element-id    uint32
>          |  |     |  |     +--ro index?             uint32
>          |  |     |  |     +--ro (type)?
>          |  |     |  |        +--:(numbered)
>          |  |     |  |        |  +--ro numbered-hop
>          |  |     |  |        |     +--ro address?    te-types:te-tp-id
>          |  |     |  |        |     +--ro hop-type?   te-hop-type
>          |  |     |  |        +--:(as-number)
>          |  |     |  |        |  +--ro as-number-hop
>          |  |     |  |        |     +--ro as-number?   binary
>          |  |     |  |        |     +--ro hop-type?    te-hop-type
>          |  |     |  |        +--:(unnumbered)
>          |  |     |  |        |  +--ro unnumbered-hop
>          |  |     |  |        |     +--ro node-id?      te-types:te-
>    node-id
>          |  |     |  |        |     +--ro link-tp-id?   te-types:te-tp-
>    id
>          |  |     |  |        |     +--ro hop-type?     te-hop-type
> 
> 
>          |  |     |  |        +--:(label)
>          |  |     |  |        |  +--ro label-hop
>          |  |     |  |        |     +--ro value?   rt-types:generalized-
>    label
>          |  |     |  |        +--:(sid)
>          |  |     |  |           +--ro sid-hop
>          |  |     |  |              +--ro sid?   rt-types:generalized-
>    label
>          |  |     |  +--ro backup-path* [index]
>          |  |     |  |  +--ro index           uint32
>          |  |     |  |  +--ro network-ref?    leafref
>          |  |     |  |  +--ro path-element* [path-element-id]
>          |  |     |  |     +--ro path-element-id    uint32
>          |  |     |  |     +--ro index?             uint32
>          |  |     |  |     +--ro (type)?
>          |  |     |  |        +--:(numbered)
>          |  |     |  |        |  +--ro numbered-hop
>          |  |     |  |        |     +--ro address?    te-types:te-tp-id
>          |  |     |  |        |     +--ro hop-type?   te-hop-type
>          |  |     |  |        +--:(as-number)
>          |  |     |  |        |  +--ro as-number-hop
>          |  |     |  |        |     +--ro as-number?   binary
>          |  |     |  |        |     +--ro hop-type?    te-hop-type
>          |  |     |  |        +--:(unnumbered)
>          |  |     |  |        |  +--ro unnumbered-hop
>          |  |     |  |        |     +--ro node-id?      te-types:te-
>    node-id
>          |  |     |  |        |     +--ro link-tp-id?   te-types:te-tp-
>    id
>          |  |     |  |        |     +--ro hop-type?     te-hop-type
>          |  |     |  |        +--:(label)
>          |  |     |  |        |  +--ro label-hop
>          |  |     |  |        |     +--ro value?   rt-types:generalized-
>    label
>          |  |     |  |        +--:(sid)
>          |  |     |  |           +--ro sid-hop
>          |  |     |  |              +--ro sid?   rt-types:generalized-
>    label
>          |  |     |  +--ro protection-type?             identityref
>          |  |     |  +--ro tunnel-termination-points
>          |  |     |  |  +--ro source?        binary
>          |  |     |  |  +--ro destination?   binary
>          |  |     |  +--ro tunnels
>          |  |     |     +--ro sharing?   boolean
>          |  |     |     +--ro tunnel* [tunnel-name]
>          |  |     |        +--ro tunnel-name    string
>          |  |     |        +--ro sharing?       boolean
> 
> 
> 
>          |  |     +--ro path-constraints
>          |  |     |  +--ro path-metric-bound* [metric-type]
>          |  |     |  |  +--ro metric-type    identityref
>          |  |     |  |  +--ro upper-bound?   uint64
>          |  |     |  +--ro topology-id?         te-types:te-topology-id
>          |  |     |  +--ro ignore-overload?     boolean
>          |  |     |  +--ro bandwidth-generic
>          |  |     |  |  +--ro te-bandwidth
>          |  |     |  |     +--ro (technology)?
>          |  |     |  |        +--:(psc)
>          |  |     |  |        |  +--ro psc?       rt-types:bandwidth-
>    ieee-float32
>          |  |     |  |        +--:(otn)
>          |  |     |  |        |  +--ro otn* [rate-type]
>          |  |     |  |        |     +--ro rate-type    identityref
>          |  |     |  |        |     +--ro counter?     uint16
>          |  |     |  |        +--:(lsc)
>          |  |     |  |        |  +--ro wdm* [spectrum slot]
>          |  |     |  |        |     +--ro spectrum    identityref
>          |  |     |  |        |     +--ro slot        int16
>          |  |     |  |        |     +--ro width?      uint16
>          |  |     |  |        +--:(generic)
>          |  |     |  |           +--ro generic?   te-bandwidth
>          |  |     |  +--ro disjointness?        te-types:te-path-
>    disjointness
>          |  |     |  +--ro setup-priority?      uint8
>          |  |     |  +--ro hold-priority?       uint8
>          |  |     |  +--ro signaling-type?      identityref
>          |  |     |  +--ro path-affinities
>          |  |     |  |  +--ro constraint* [usage]
>          |  |     |  |     +--ro usage    identityref
>          |  |     |  |     +--ro value?   admin-groups
>          |  |     |  +--ro path-srlgs
>          |  |     |     +--ro usage?    identityref
>          |  |     |     +--ro values*   srlg
>          |  |     +--ro optimizations
>          |  |     |  +--ro (algorithm)?
>          |  |     |     +--:(metric) {path-optimization-metric}?
>          |  |     |     |  +--ro optimization-metric* [metric-type]
>          |  |     |     |  |  +--ro metric-type    identityref
>          |  |     |     |  |  +--ro weight?        uint8
>          |  |     |     |  +--ro tiebreakers
>          |  |     |     |     +--ro tiebreaker* [tiebreaker-type]
>          |  |     |     |        +--ro tiebreaker-type    identityref
>          |  |     |     +--:(objective-function) {path-optimization-
>    objective-function}?
>          |  |     |        +--ro objective-function
> 
> 
>          |  |     |           +--ro objective-function-type?
>    identityref
>          |  |     +--ro computed-path-properties
>          |  |        +--ro path-metric* [metric-type]
>          |  |        |  +--ro metric-type           identityref
>          |  |        |  +--ro accumulative-value?   uint64
>          |  |        +--ro path-affinities
>          |  |        |  +--ro constraint* [usage]
>          |  |        |     +--ro usage    identityref
>          |  |        |     +--ro value?   admin-groups
>          |  |        +--ro path-srlgs
>          |  |        |  +--ro usage?    identityref
>          |  |        |  +--ro values*   srlg
>          |  |        +--ro path-computed-route-objects
>          |  |           +--ro path-computed-route-object* [index]
>          |  |              +--ro index             uint32
>          |  |              +--ro (type)?
>          |  |                 +--:(numbered)
>          |  |                 |  +--ro numbered-hop
>          |  |                 |     +--ro address?    te-types:te-tp-id
>          |  |                 |     +--ro hop-type?   te-hop-type
>          |  |                 +--:(as-number)
>          |  |                 |  +--ro as-number-hop
>          |  |                 |     +--ro as-number?   binary
>          |  |                 |     +--ro hop-type?    te-hop-type
>          |  |                 +--:(unnumbered)
>          |  |                 |  +--ro unnumbered-hop
>          |  |                 |     +--ro node-id?      te-types:te-
>    node-id
>          |  |                 |     +--ro link-tp-id?   te-types:te-tp-
>    id
>          |  |                 |     +--ro hop-type?     te-hop-type
>          |  |                 +--:(label)
>          |  |                 |  +--ro label-hop
>          |  |                 |     +--ro value?   rt-types:generalized-
>    label
>          |  |                 +--:(sid)
>          |  |                    +--ro sid-hop
>          |  |                       +--ro sid?   rt-types:generalized-
>    label
>          |  +--ro domain-id?                  uint32
>          |  +--ro is-abstract?                empty
>          |  +--ro name?                       inet:domain-name
>          |  +--ro signaling-address*          inet:ip-address
>          |  +--ro underlay-topology {te-topology-hierarchy}?
>          |     +--ro network-ref?   leafref
>          +--ro statistics
> 
> 
> 
>          |  +--ro discontinuity-time           yang:date-and-time
>          |  +--ro node
>          |  |  +--ro disables?             yang:counter32
>          |  |  +--ro enables?              yang:counter32
>          |  |  +--ro maintenance-sets?     yang:counter32
>          |  |  +--ro maintenance-clears?   yang:counter32
>          |  |  +--ro modifies?             yang:counter32
>          |  +--ro connectivity-matrix-entry
>          |     +--ro creates?    yang:counter32
>          |     +--ro deletes?    yang:counter32
>          |     +--ro disables?   yang:counter32
>          |     +--ro enables?    yang:counter32
>          |     +--ro modifies?   yang:counter32
>          +--rw tunnel-termination-point* [tunnel-tp-id]
>             +--rw tunnel-tp-id                           binary
>             +--rw admin-status?                          te-types:te-
>    admin-status
>             +--rw name?                                  string
>             +--rw switching-capability?                  identityref
>             +--rw encoding?                              identityref
>             +--rw inter-layer-lock-id*                   uint32
>             +--rw protection-type?                       identityref
>             +--rw client-layer-adaptation
>             |  +--rw switching-capability* [switching-capability
>    encoding]
>             |     +--rw switching-capability    identityref
>             |     +--rw encoding                identityref
>             |     +--rw bandwidth
>             |        +--rw te-bandwidth
>             |           +--rw (technology)?
>             |              +--:(psc)
>             |              |  +--rw psc?       rt-types:bandwidth-ieee-
>    float32
>             |              +--:(otn)
>             |              |  +--rw otn* [rate-type]
>             |              |     +--rw rate-type    identityref
>             |              |     +--rw counter?     uint16
>             |              +--:(lsc)
>             |              |  +--rw wdm* [spectrum slot]
>             |              |     +--rw spectrum    identityref
>             |              |     +--rw slot        int16
>             |              |     +--rw width?      uint16
>             |              +--:(generic)
>             |                 +--rw generic?   te-bandwidth
>             +--rw local-link-connectivities
>             |  +--rw number-of-entries?          uint16
> 
> 
> 
>             |  +--rw label-restriction* [inclusive-exclusive label-
>    start]
>             |  |  +--rw inclusive-exclusive    enumeration
>             |  |  +--rw label-start            rt-types:generalized-
>    label
>             |  |  +--rw label-end?             rt-types:generalized-
>    label
>             |  |  +--rw range-bitmap?          binary
>             |  +--rw is-allowed?                 boolean
>             |  +--rw underlay {te-topology-hierarchy}?
>             |  |  +--rw enabled?                     boolean
>             |  |  +--rw primary-path
>             |  |  |  +--rw network-ref?    leafref
>             |  |  |  +--rw path-element* [path-element-id]
>             |  |  |     +--rw path-element-id    uint32
>             |  |  |     +--rw index?             uint32
>             |  |  |     +--rw (type)?
>             |  |  |        +--:(numbered)
>             |  |  |        |  +--rw numbered-hop
>             |  |  |        |     +--rw address?    te-types:te-tp-id
>             |  |  |        |     +--rw hop-type?   te-hop-type
>             |  |  |        +--:(as-number)
>             |  |  |        |  +--rw as-number-hop
>             |  |  |        |     +--rw as-number?   binary
>             |  |  |        |     +--rw hop-type?    te-hop-type
>             |  |  |        +--:(unnumbered)
>             |  |  |        |  +--rw unnumbered-hop
>             |  |  |        |     +--rw node-id?      te-types:te-node-id
>             |  |  |        |     +--rw link-tp-id?   te-types:te-tp-id
>             |  |  |        |     +--rw hop-type?     te-hop-type
>             |  |  |        +--:(label)
>             |  |  |        |  +--rw label-hop
>             |  |  |        |     +--rw value?   rt-types:generalized-
>    label
>             |  |  |        +--:(sid)
>             |  |  |           +--rw sid-hop
>             |  |  |              +--rw sid?   rt-types:generalized-label
>             |  |  +--rw backup-path* [index]
>             |  |  |  +--rw index           uint32
>             |  |  |  +--rw network-ref?    leafref
>             |  |  |  +--rw path-element* [path-element-id]
>             |  |  |     +--rw path-element-id    uint32
>             |  |  |     +--rw index?             uint32
>             |  |  |     +--rw (type)?
>             |  |  |        +--:(numbered)
>             |  |  |        |  +--rw numbered-hop
>             |  |  |        |     +--rw address?    te-types:te-tp-id
> 
> 
> 
> 
>             |  |  |        |     +--rw hop-type?   te-hop-type
>             |  |  |        +--:(as-number)
>             |  |  |        |  +--rw as-number-hop
>             |  |  |        |     +--rw as-number?   binary
>             |  |  |        |     +--rw hop-type?    te-hop-type
>             |  |  |        +--:(unnumbered)
>             |  |  |        |  +--rw unnumbered-hop
>             |  |  |        |     +--rw node-id?      te-types:te-node-id
>             |  |  |        |     +--rw link-tp-id?   te-types:te-tp-id
>             |  |  |        |     +--rw hop-type?     te-hop-type
>             |  |  |        +--:(label)
>             |  |  |        |  +--rw label-hop
>             |  |  |        |     +--rw value?   rt-types:generalized-
>    label
>             |  |  |        +--:(sid)
>             |  |  |           +--rw sid-hop
>             |  |  |              +--rw sid?   rt-types:generalized-label
>             |  |  +--rw protection-type?             identityref
>             |  |  +--rw tunnel-termination-points
>             |  |  |  +--rw source?        binary
>             |  |  |  +--rw destination?   binary
>             |  |  +--rw tunnels
>             |  |     +--rw sharing?   boolean
>             |  |     +--rw tunnel* [tunnel-name]
>             |  |        +--rw tunnel-name    string
>             |  |        +--rw sharing?       boolean
>             |  +--rw path-constraints
>             |  |  +--rw path-metric-bound* [metric-type]
>             |  |  |  +--rw metric-type    identityref
>             |  |  |  +--rw upper-bound?   uint64
>             |  |  +--rw topology-id?         te-types:te-topology-id
>             |  |  +--rw ignore-overload?     boolean
>             |  |  +--rw bandwidth-generic
>             |  |  |  +--rw te-bandwidth
>             |  |  |     +--rw (technology)?
>             |  |  |        +--:(psc)
>             |  |  |        |  +--rw psc?       rt-types:bandwidth-ieee-
>    float32
>             |  |  |        +--:(otn)
>             |  |  |        |  +--rw otn* [rate-type]
>             |  |  |        |     +--rw rate-type    identityref
>             |  |  |        |     +--rw counter?     uint16
>             |  |  |        +--:(lsc)
>             |  |  |        |  +--rw wdm* [spectrum slot]
>             |  |  |        |     +--rw spectrum    identityref
>             |  |  |        |     +--rw slot        int16
>             |  |  |        |     +--rw width?      uint16
> 
> 
> 
> 
>             |  |  |        +--:(generic)
>             |  |  |           +--rw generic?   te-bandwidth
>             |  |  +--rw disjointness?        te-types:te-path-
>    disjointness
>             |  |  +--rw setup-priority?      uint8
>             |  |  +--rw hold-priority?       uint8
>             |  |  +--rw signaling-type?      identityref
>             |  |  +--rw path-affinities
>             |  |  |  +--rw constraint* [usage]
>             |  |  |     +--rw usage    identityref
>             |  |  |     +--rw value?   admin-groups
>             |  |  +--rw path-srlgs
>             |  |     +--rw usage?    identityref
>             |  |     +--rw values*   srlg
>             |  +--rw optimizations
>             |  |  +--rw (algorithm)?
>             |  |     +--:(metric) {path-optimization-metric}?
>             |  |     |  +--rw optimization-metric* [metric-type]
>             |  |     |  |  +--rw metric-type    identityref
>             |  |     |  |  +--rw weight?        uint8
>             |  |     |  +--rw tiebreakers
>             |  |     |     +--rw tiebreaker* [tiebreaker-type]
>             |  |     |        +--rw tiebreaker-type    identityref
>             |  |     +--:(objective-function) {path-optimization-
>    objective-function}?
>             |  |        +--rw objective-function
>             |  |           +--rw objective-function-type?   identityref
>             |  +--ro computed-path-properties
>             |  |  +--ro path-metric* [metric-type]
>             |  |  |  +--ro metric-type           identityref
>             |  |  |  +--ro accumulative-value?   uint64
>             |  |  +--ro path-affinities
>             |  |  |  +--ro constraint* [usage]
>             |  |  |     +--ro usage    identityref
>             |  |  |     +--ro value?   admin-groups
>             |  |  +--ro path-srlgs
>             |  |  |  +--ro usage?    identityref
>             |  |  |  +--ro values*   srlg
>             |  |  +--ro path-computed-route-objects
>             |  |     +--ro path-computed-route-object* [index]
>             |  |        +--ro index             uint32
>             |  |        +--ro (type)?
>             |  |           +--:(numbered)
>             |  |           |  +--ro numbered-hop
>             |  |           |     +--ro address?    te-types:te-tp-id
>             |  |           |     +--ro hop-type?   te-hop-type
>             |  |           +--:(as-number)
> 
> 
> 
>             |  |           |  +--ro as-number-hop
>             |  |           |     +--ro as-number?   binary
>             |  |           |     +--ro hop-type?    te-hop-type
>             |  |           +--:(unnumbered)
>             |  |           |  +--ro unnumbered-hop
>             |  |           |     +--ro node-id?      te-types:te-node-id
>             |  |           |     +--ro link-tp-id?   te-types:te-tp-id
>             |  |           |     +--ro hop-type?     te-hop-type
>             |  |           +--:(label)
>             |  |           |  +--ro label-hop
>             |  |           |     +--ro value?   rt-types:generalized-
>    label
>             |  |           +--:(sid)
>             |  |              +--ro sid-hop
>             |  |                 +--ro sid?   rt-types:generalized-label
>             |  +--rw local-link-connectivity* [link-tp-ref]
>             |     +--rw link-tp-ref                 leafref
>             |     +--rw label-restriction* [inclusive-exclusive label-
>    start]
>             |     |  +--rw inclusive-exclusive    enumeration
>             |     |  +--rw label-start            rt-types:generalized-
>    label
>             |     |  +--rw label-end?             rt-types:generalized-
>    label
>             |     |  +--rw range-bitmap?          binary
>             |     +--rw is-allowed?                 boolean
>             |     +--rw underlay {te-topology-hierarchy}?
>             |     |  +--rw enabled?                     boolean
>             |     |  +--rw primary-path
>             |     |  |  +--rw network-ref?    leafref
>             |     |  |  +--rw path-element* [path-element-id]
>             |     |  |     +--rw path-element-id    uint32
>             |     |  |     +--rw index?             uint32
>             |     |  |     +--rw (type)?
>             |     |  |        +--:(numbered)
>             |     |  |        |  +--rw numbered-hop
>             |     |  |        |     +--rw address?    te-types:te-tp-id
>             |     |  |        |     +--rw hop-type?   te-hop-type
>             |     |  |        +--:(as-number)
>             |     |  |        |  +--rw as-number-hop
>             |     |  |        |     +--rw as-number?   binary
>             |     |  |        |     +--rw hop-type?    te-hop-type
>             |     |  |        +--:(unnumbered)
>             |     |  |        |  +--rw unnumbered-hop
>             |     |  |        |     +--rw node-id?      te-types:te-
>    node-id
> 
> 
> 
> 
>             |     |  |        |     +--rw link-tp-id?   te-types:te-tp-
>    id
>             |     |  |        |     +--rw hop-type?     te-hop-type
>             |     |  |        +--:(label)
>             |     |  |        |  +--rw label-hop
>             |     |  |        |     +--rw value?   rt-types:generalized-
>    label
>             |     |  |        +--:(sid)
>             |     |  |           +--rw sid-hop
>             |     |  |              +--rw sid?   rt-types:generalized-
>    label
>             |     |  +--rw backup-path* [index]
>             |     |  |  +--rw index           uint32
>             |     |  |  +--rw network-ref?    leafref
>             |     |  |  +--rw path-element* [path-element-id]
>             |     |  |     +--rw path-element-id    uint32
>             |     |  |     +--rw index?             uint32
>             |     |  |     +--rw (type)?
>             |     |  |        +--:(numbered)
>             |     |  |        |  +--rw numbered-hop
>             |     |  |        |     +--rw address?    te-types:te-tp-id
>             |     |  |        |     +--rw hop-type?   te-hop-type
>             |     |  |        +--:(as-number)
>             |     |  |        |  +--rw as-number-hop
>             |     |  |        |     +--rw as-number?   binary
>             |     |  |        |     +--rw hop-type?    te-hop-type
>             |     |  |        +--:(unnumbered)
>             |     |  |        |  +--rw unnumbered-hop
>             |     |  |        |     +--rw node-id?      te-types:te-
>    node-id
>             |     |  |        |     +--rw link-tp-id?   te-types:te-tp-
>    id
>             |     |  |        |     +--rw hop-type?     te-hop-type
>             |     |  |        +--:(label)
>             |     |  |        |  +--rw label-hop
>             |     |  |        |     +--rw value?   rt-types:generalized-
>    label
>             |     |  |        +--:(sid)
>             |     |  |           +--rw sid-hop
>             |     |  |              +--rw sid?   rt-types:generalized-
>    label
>             |     |  +--rw protection-type?             identityref
>             |     |  +--rw tunnel-termination-points
>             |     |  |  +--rw source?        binary
>             |     |  |  +--rw destination?   binary
>             |     |  +--rw tunnels
>             |     |     +--rw sharing?   boolean
> 
> 
> 
>             |     |     +--rw tunnel* [tunnel-name]
>             |     |        +--rw tunnel-name    string
>             |     |        +--rw sharing?       boolean
>             |     +--rw path-constraints
>             |     |  +--rw path-metric-bound* [metric-type]
>             |     |  |  +--rw metric-type    identityref
>             |     |  |  +--rw upper-bound?   uint64
>             |     |  +--rw topology-id?         te-types:te-topology-id
>             |     |  +--rw ignore-overload?     boolean
>             |     |  +--rw bandwidth-generic
>             |     |  |  +--rw te-bandwidth
>             |     |  |     +--rw (technology)?
>             |     |  |        +--:(psc)
>             |     |  |        |  +--rw psc?       rt-types:bandwidth-
>    ieee-float32
>             |     |  |        +--:(otn)
>             |     |  |        |  +--rw otn* [rate-type]
>             |     |  |        |     +--rw rate-type    identityref
>             |     |  |        |     +--rw counter?     uint16
>             |     |  |        +--:(lsc)
>             |     |  |        |  +--rw wdm* [spectrum slot]
>             |     |  |        |     +--rw spectrum    identityref
>             |     |  |        |     +--rw slot        int16
>             |     |  |        |     +--rw width?      uint16
>             |     |  |        +--:(generic)
>             |     |  |           +--rw generic?   te-bandwidth
>             |     |  +--rw disjointness?        te-types:te-path-
>    disjointness
>             |     |  +--rw setup-priority?      uint8
>             |     |  +--rw hold-priority?       uint8
>             |     |  +--rw signaling-type?      identityref
>             |     |  +--rw path-affinities
>             |     |  |  +--rw constraint* [usage]
>             |     |  |     +--rw usage    identityref
>             |     |  |     +--rw value?   admin-groups
>             |     |  +--rw path-srlgs
>             |     |     +--rw usage?    identityref
>             |     |     +--rw values*   srlg
>             |     +--rw optimizations
>             |     |  +--rw (algorithm)?
>             |     |     +--:(metric) {path-optimization-metric}?
>             |     |     |  +--rw optimization-metric* [metric-type]
>             |     |     |  |  +--rw metric-type    identityref
>             |     |     |  |  +--rw weight?        uint8
>             |     |     |  +--rw tiebreakers
>             |     |     |     +--rw tiebreaker* [tiebreaker-type]
>             |     |     |        +--rw tiebreaker-type    identityref
> 
> 
> 
> 
>             |     |     +--:(objective-function) {path-optimization-
>    objective-function}?
>             |     |        +--rw objective-function
>             |     |           +--rw objective-function-type?
>    identityref
>             |     +--ro computed-path-properties
>             |        +--ro path-metric* [metric-type]
>             |        |  +--ro metric-type           identityref
>             |        |  +--ro accumulative-value?   uint64
>             |        +--ro path-affinities
>             |        |  +--ro constraint* [usage]
>             |        |     +--ro usage    identityref
>             |        |     +--ro value?   admin-groups
>             |        +--ro path-srlgs
>             |        |  +--ro usage?    identityref
>             |        |  +--ro values*   srlg
>             |        +--ro path-computed-route-objects
>             |           +--ro path-computed-route-object* [index]
>             |              +--ro index             uint32
>             |              +--ro (type)?
>             |                 +--:(numbered)
>             |                 |  +--ro numbered-hop
>             |                 |     +--ro address?    te-types:te-tp-id
>             |                 |     +--ro hop-type?   te-hop-type
>             |                 +--:(as-number)
>             |                 |  +--ro as-number-hop
>             |                 |     +--ro as-number?   binary
>             |                 |     +--ro hop-type?    te-hop-type
>             |                 +--:(unnumbered)
>             |                 |  +--ro unnumbered-hop
>             |                 |     +--ro node-id?      te-types:te-
>    node-id
>             |                 |     +--ro link-tp-id?   te-types:te-tp-
>    id
>             |                 |     +--ro hop-type?     te-hop-type
>             |                 +--:(label)
>             |                 |  +--ro label-hop
>             |                 |     +--ro value?   rt-types:generalized-
>    label
>             |                 +--:(sid)
>             |                    +--ro sid-hop
>             |                       +--ro sid?   rt-types:generalized-
>    label
>             +--ro oper-status?                           te-types:te-
>    oper-status
>             +--ro geolocation
>             |  +--ro altitude?    int64
> 
> 
>             |  +--ro latitude?    geographic-coordinate-degree
>             |  +--ro longitude?   geographic-coordinate-degree
>             +--ro statistics
>             |  +--ro discontinuity-time          yang:date-and-time
>             |  +--ro tunnel-termination-point
>             |  |  +--ro disables?             yang:counter32
>             |  |  +--ro enables?              yang:counter32
>             |  |  +--ro maintenance-clears?   yang:counter32
>             |  |  +--ro maintenance-sets?     yang:counter32
>             |  |  +--ro modifies?             yang:counter32
>             |  |  +--ro downs?                yang:counter32
>             |  |  +--ro ups?                  yang:counter32
>             |  |  +--ro in-service-clears?    yang:counter32
>             |  |  +--ro in-service-sets?      yang:counter32
>             |  +--ro local-link-connectivity
>             |     +--ro creates?    yang:counter32
>             |     +--ro deletes?    yang:counter32
>             |     +--ro disables?   yang:counter32
>             |     +--ro enables?    yang:counter32
>             |     +--ro modifies?   yang:counter32
>             +--rw supporting-tunnel-termination-point* [node-ref tunnel-
>    tp-ref]
>                +--rw node-ref         inet:uri
>                +--rw tunnel-tp-ref    binary
>    augment /nw:networks/nw:network/nt:link:
>       +--rw te!
>          +--rw (bundle-stack-level)?
>          |  +--:(bundle)
>          |  |  +--rw bundled-links
>          |  |     +--rw bundled-link* [sequence]
>          |  |        +--rw sequence      uint32
>          |  |        +--rw src-tp-ref?   leafref
>          |  |        +--rw des-tp-ref?   leafref
>          |  +--:(component)
>          |     +--rw component-links
>          |        +--rw component-link* [sequence]
>          |           +--rw sequence             uint32
>          |           +--rw src-interface-ref?   string
>          |           +--rw des-interface-ref?   string
>          +--rw te-link-template*           leafref {template}?
>          +--rw te-link-attributes
>          |  +--rw access-type?                      te-types:te-link-
>    access-type
>          |  +--rw external-domain
>          |  |  +--rw network-ref?            leafref
>          |  |  +--rw remote-te-node-id?      te-types:te-node-id
>          |  |  +--rw remote-te-link-tp-id?   te-types:te-tp-id
> 
> 
> 
> 
>          |  |  +--rw plug-id?                uint32
>          |  +--rw is-abstract?                      empty
>          |  +--rw name?                             string
>          |  +--rw underlay {te-topology-hierarchy}?
>          |  |  +--rw enabled?                     boolean
>          |  |  +--rw primary-path
>          |  |  |  +--rw network-ref?    leafref
>          |  |  |  +--rw path-element* [path-element-id]
>          |  |  |     +--rw path-element-id    uint32
>          |  |  |     +--rw index?             uint32
>          |  |  |     +--rw (type)?
>          |  |  |        +--:(numbered)
>          |  |  |        |  +--rw numbered-hop
>          |  |  |        |     +--rw address?    te-types:te-tp-id
>          |  |  |        |     +--rw hop-type?   te-hop-type
>          |  |  |        +--:(as-number)
>          |  |  |        |  +--rw as-number-hop
>          |  |  |        |     +--rw as-number?   binary
>          |  |  |        |     +--rw hop-type?    te-hop-type
>          |  |  |        +--:(unnumbered)
>          |  |  |        |  +--rw unnumbered-hop
>          |  |  |        |     +--rw node-id?      te-types:te-node-id
>          |  |  |        |     +--rw link-tp-id?   te-types:te-tp-id
>          |  |  |        |     +--rw hop-type?     te-hop-type
>          |  |  |        +--:(label)
>          |  |  |        |  +--rw label-hop
>          |  |  |        |     +--rw value?   rt-types:generalized-label
>          |  |  |        +--:(sid)
>          |  |  |           +--rw sid-hop
>          |  |  |              +--rw sid?   rt-types:generalized-label
>          |  |  +--rw backup-path* [index]
>          |  |  |  +--rw index           uint32
>          |  |  |  +--rw network-ref?    leafref
>          |  |  |  +--rw path-element* [path-element-id]
>          |  |  |     +--rw path-element-id    uint32
>          |  |  |     +--rw index?             uint32
>          |  |  |     +--rw (type)?
>          |  |  |        +--:(numbered)
>          |  |  |        |  +--rw numbered-hop
>          |  |  |        |     +--rw address?    te-types:te-tp-id
>          |  |  |        |     +--rw hop-type?   te-hop-type
>          |  |  |        +--:(as-number)
>          |  |  |        |  +--rw as-number-hop
>          |  |  |        |     +--rw as-number?   binary
>          |  |  |        |     +--rw hop-type?    te-hop-type
>          |  |  |        +--:(unnumbered)
>          |  |  |        |  +--rw unnumbered-hop
> 
> 
>          |  |  |        |     +--rw node-id?      te-types:te-node-id
>          |  |  |        |     +--rw link-tp-id?   te-types:te-tp-id
>          |  |  |        |     +--rw hop-type?     te-hop-type
>          |  |  |        +--:(label)
>          |  |  |        |  +--rw label-hop
>          |  |  |        |     +--rw value?   rt-types:generalized-label
>          |  |  |        +--:(sid)
>          |  |  |           +--rw sid-hop
>          |  |  |              +--rw sid?   rt-types:generalized-label
>          |  |  +--rw protection-type?             identityref
>          |  |  +--rw tunnel-termination-points
>          |  |  |  +--rw source?        binary
>          |  |  |  +--rw destination?   binary
>          |  |  +--rw tunnels
>          |  |     +--rw sharing?   boolean
>          |  |     +--rw tunnel* [tunnel-name]
>          |  |        +--rw tunnel-name    string
>          |  |        +--rw sharing?       boolean
>          |  +--rw admin-status?                     te-types:te-admin-
>    status
>          |  +--rw link-index?                       uint64
>          |  +--rw administrative-group?             te-types:admin-
>    groups
>          |  +--rw interface-switching-capability* [switching-capability
>    encoding]
>          |  |  +--rw switching-capability    identityref
>          |  |  +--rw encoding                identityref
>          |  |  +--rw max-lsp-bandwidth* [priority]
>          |  |     +--rw priority     uint8
>          |  |     +--rw bandwidth
>          |  |        +--rw te-bandwidth
>          |  |           +--rw (technology)?
>          |  |              +--:(psc)
>          |  |              |  +--rw psc?       rt-types:bandwidth-ieee-
>    float32
>          |  |              +--:(otn)
>          |  |              |  +--rw otn* [rate-type]
>          |  |              |     +--rw rate-type    identityref
>          |  |              |     +--rw counter?     uint16
>          |  |              +--:(lsc)
>          |  |              |  +--rw wdm* [spectrum slot]
>          |  |              |     +--rw spectrum    identityref
>          |  |              |     +--rw slot        int16
>          |  |              |     +--rw width?      uint16
>          |  |              +--:(generic)
>          |  |                 +--rw generic?   te-bandwidth
>          |  +--rw label-restriction* [inclusive-exclusive label-start]
> 
> 
> 
>          |  |  +--rw inclusive-exclusive    enumeration
>          |  |  +--rw label-start            rt-types:generalized-label
>          |  |  +--rw label-end?             rt-types:generalized-label
>          |  |  +--rw range-bitmap?          binary
>          |  +--rw link-protection-type?             enumeration
>          |  +--rw max-link-bandwidth
>          |  |  +--rw te-bandwidth
>          |  |     +--rw (technology)?
>          |  |        +--:(psc)
>          |  |        |  +--rw psc?       rt-types:bandwidth-ieee-float32
>          |  |        +--:(otn)
>          |  |        |  +--rw otn* [rate-type]
>          |  |        |     +--rw rate-type    identityref
>          |  |        |     +--rw counter?     uint16
>          |  |        +--:(lsc)
>          |  |        |  +--rw wdm* [spectrum slot]
>          |  |        |     +--rw spectrum    identityref
>          |  |        |     +--rw slot        int16
>          |  |        |     +--rw width?      uint16
>          |  |        +--:(generic)
>          |  |           +--rw generic?   te-bandwidth
>          |  +--rw max-resv-link-bandwidth
>          |  |  +--rw te-bandwidth
>          |  |     +--rw (technology)?
>          |  |        +--:(psc)
>          |  |        |  +--rw psc?       rt-types:bandwidth-ieee-float32
>          |  |        +--:(otn)
>          |  |        |  +--rw otn* [rate-type]
>          |  |        |     +--rw rate-type    identityref
>          |  |        |     +--rw counter?     uint16
>          |  |        +--:(lsc)
>          |  |        |  +--rw wdm* [spectrum slot]
>          |  |        |     +--rw spectrum    identityref
>          |  |        |     +--rw slot        int16
>          |  |        |     +--rw width?      uint16
>          |  |        +--:(generic)
>          |  |           +--rw generic?   te-bandwidth
>          |  +--rw unreserved-bandwidth* [priority]
>          |  |  +--rw priority     uint8
>          |  |  +--rw bandwidth
>          |  |     +--rw te-bandwidth
>          |  |        +--rw (technology)?
>          |  |           +--:(psc)
>          |  |           |  +--rw psc?       rt-types:bandwidth-ieee-
>    float32
>          |  |           +--:(otn)
>          |  |           |  +--rw otn* [rate-type]
> 
> 
>          |  |           |     +--rw rate-type    identityref
>          |  |           |     +--rw counter?     uint16
>          |  |           +--:(lsc)
>          |  |           |  +--rw wdm* [spectrum slot]
>          |  |           |     +--rw spectrum    identityref
>          |  |           |     +--rw slot        int16
>          |  |           |     +--rw width?      uint16
>          |  |           +--:(generic)
>          |  |              +--rw generic?   te-bandwidth
>          |  +--rw te-default-metric?                uint32
>          |  +--rw te-delay-metric?                  uint32
>          |  +--rw te-igp-metric?                    uint32
>          |  +--rw te-srlgs
>          |  |  +--rw value*   te-types:srlg
>          |  +--rw te-nsrlgs {nsrlg}?
>          |     +--rw id*   uint32
>          +--ro oper-status?                te-types:te-oper-status
>          +--ro is-transitional?            empty
>          +--ro information-source?         te-info-source
>          +--ro information-source-state
>          |  +--ro credibility-preference?    uint16
>          |  +--ro logical-network-element?   string
>          |  +--ro network-instance?          string
>          |  +--ro topology
>          |     +--ro link-ref?      leafref
>          |     +--ro network-ref?   leafref
>          +--ro information-source-entry* [information-source]
>          |  +--ro information-source                te-info-source
>          |  +--ro information-source-state
>          |  |  +--ro credibility-preference?    uint16
>          |  |  +--ro logical-network-element?   string
>          |  |  +--ro network-instance?          string
>          |  |  +--ro topology
>          |  |     +--ro link-ref?      leafref
>          |  |     +--ro network-ref?   leafref
>          |  +--ro link-index?                       uint64
>          |  +--ro administrative-group?             te-types:admin-
>    groups
>          |  +--ro interface-switching-capability* [switching-capability
>    encoding]
>          |  |  +--ro switching-capability    identityref
>          |  |  +--ro encoding                identityref
>          |  |  +--ro max-lsp-bandwidth* [priority]
>          |  |     +--ro priority     uint8
>          |  |     +--ro bandwidth
>          |  |        +--ro te-bandwidth
>          |  |           +--ro (technology)?
> 
> 
>          |  |              +--:(psc)
>          |  |              |  +--ro psc?       rt-types:bandwidth-ieee-
>    float32
>          |  |              +--:(otn)
>          |  |              |  +--ro otn* [rate-type]
>          |  |              |     +--ro rate-type    identityref
>          |  |              |     +--ro counter?     uint16
>          |  |              +--:(lsc)
>          |  |              |  +--ro wdm* [spectrum slot]
>          |  |              |     +--ro spectrum    identityref
>          |  |              |     +--ro slot        int16
>          |  |              |     +--ro width?      uint16
>          |  |              +--:(generic)
>          |  |                 +--ro generic?   te-bandwidth
>          |  +--ro label-restriction* [inclusive-exclusive label-start]
>          |  |  +--ro inclusive-exclusive    enumeration
>          |  |  +--ro label-start            rt-types:generalized-label
>          |  |  +--ro label-end?             rt-types:generalized-label
>          |  |  +--ro range-bitmap?          binary
>          |  +--ro link-protection-type?             enumeration
>          |  +--ro max-link-bandwidth
>          |  |  +--ro te-bandwidth
>          |  |     +--ro (technology)?
>          |  |        +--:(psc)
>          |  |        |  +--ro psc?       rt-types:bandwidth-ieee-float32
>          |  |        +--:(otn)
>          |  |        |  +--ro otn* [rate-type]
>          |  |        |     +--ro rate-type    identityref
>          |  |        |     +--ro counter?     uint16
>          |  |        +--:(lsc)
>          |  |        |  +--ro wdm* [spectrum slot]
>          |  |        |     +--ro spectrum    identityref
>          |  |        |     +--ro slot        int16
>          |  |        |     +--ro width?      uint16
>          |  |        +--:(generic)
>          |  |           +--ro generic?   te-bandwidth
>          |  +--ro max-resv-link-bandwidth
>          |  |  +--ro te-bandwidth
>          |  |     +--ro (technology)?
>          |  |        +--:(psc)
>          |  |        |  +--ro psc?       rt-types:bandwidth-ieee-float32
>          |  |        +--:(otn)
>          |  |        |  +--ro otn* [rate-type]
>          |  |        |     +--ro rate-type    identityref
>          |  |        |     +--ro counter?     uint16
>          |  |        +--:(lsc)
>          |  |        |  +--ro wdm* [spectrum slot]
> 
> 
> 
>          |  |        |     +--ro spectrum    identityref
>          |  |        |     +--ro slot        int16
>          |  |        |     +--ro width?      uint16
>          |  |        +--:(generic)
>          |  |           +--ro generic?   te-bandwidth
>          |  +--ro unreserved-bandwidth* [priority]
>          |  |  +--ro priority     uint8
>          |  |  +--ro bandwidth
>          |  |     +--ro te-bandwidth
>          |  |        +--ro (technology)?
>          |  |           +--:(psc)
>          |  |           |  +--ro psc?       rt-types:bandwidth-ieee-
>    float32
>          |  |           +--:(otn)
>          |  |           |  +--ro otn* [rate-type]
>          |  |           |     +--ro rate-type    identityref
>          |  |           |     +--ro counter?     uint16
>          |  |           +--:(lsc)
>          |  |           |  +--ro wdm* [spectrum slot]
>          |  |           |     +--ro spectrum    identityref
>          |  |           |     +--ro slot        int16
>          |  |           |     +--ro width?      uint16
>          |  |           +--:(generic)
>          |  |              +--ro generic?   te-bandwidth
>          |  +--ro te-default-metric?                uint32
>          |  +--ro te-delay-metric?                  uint32
>          |  +--ro te-igp-metric?                    uint32
>          |  +--ro te-srlgs
>          |  |  +--ro value*   te-types:srlg
>          |  +--ro te-nsrlgs {nsrlg}?
>          |     +--ro id*   uint32
>          +--ro recovery
>          |  +--ro restoration-status?   te-types:te-recovery-status
>          |  +--ro protection-status?    te-types:te-recovery-status
>          +--ro underlay {te-topology-hierarchy}?
>          |  +--ro dynamic?     boolean
>          |  +--ro committed?   boolean
>          +--ro statistics
>             +--ro discontinuity-time                 yang:date-and-time
>             +--ro disables?                          yang:counter32
>             +--ro enables?                           yang:counter32
>             +--ro maintenance-clears?                yang:counter32
>             +--ro maintenance-sets?                  yang:counter32
>             +--ro modifies?                          yang:counter32
>             +--ro downs?                             yang:counter32
>             +--ro ups?                               yang:counter32
>             +--ro fault-clears?                      yang:counter32
> 
> 
> 
>             +--ro fault-detects?                     yang:counter32
>             +--ro protection-switches?               yang:counter32
>             +--ro protection-reverts?                yang:counter32
>             +--ro restoration-failures?              yang:counter32
>             +--ro restoration-starts?                yang:counter32
>             +--ro restoration-successes?             yang:counter32
>             +--ro restoration-reversion-failures?    yang:counter32
>             +--ro restoration-reversion-starts?      yang:counter32
>             +--ro restoration-reversion-successes?   yang:counter32
>    augment /nw:networks/nw:network/nw:node/nt:termination-point:
>       +--rw te-tp-id?   te-types:te-tp-id
>       +--rw te!
>          +--rw admin-status?                     te-types:te-admin-
>    status
>          +--rw name?                             string
>          +--rw interface-switching-capability* [switching-capability
>    encoding]
>          |  +--rw switching-capability    identityref
>          |  +--rw encoding                identityref
>          |  +--rw max-lsp-bandwidth* [priority]
>          |     +--rw priority     uint8
>          |     +--rw bandwidth
>          |        +--rw te-bandwidth
>          |           +--rw (technology)?
>          |              +--:(psc)
>          |              |  +--rw psc?       rt-types:bandwidth-ieee-
>    float32
>          |              +--:(otn)
>          |              |  +--rw otn* [rate-type]
>          |              |     +--rw rate-type    identityref
>          |              |     +--rw counter?     uint16
>          |              +--:(lsc)
>          |              |  +--rw wdm* [spectrum slot]
>          |              |     +--rw spectrum    identityref
>          |              |     +--rw slot        int16
>          |              |     +--rw width?      uint16
>          |              +--:(generic)
>          |                 +--rw generic?   te-bandwidth
>          +--rw inter-layer-lock-id*              uint32
>          +--ro oper-status?                      te-types:te-oper-status
>          +--ro geolocation
>             +--ro altitude?    int64
>             +--ro latitude?    geographic-coordinate-degree
>             +--ro longitude?   geographic-coordinate-degree
> 
> 
> 
> =====================================
> end of diagram
> 
> ----- Original Message -----
> From: "Lou Berger" <lberger@labn.net>
> To: <netmod@ietf.org>
> Sent: Wednesday, October 25, 2017 2:13 PM
> Subject: Re: [netmod] I-D Action:
> draft-ietf-netmod-yang-tree-diagrams-02.txt
> 
> 
>> Hi,
>>
>> This version addresses all known / open issues in the draft known to
>> the authors.
>>
>> The changes are as follows:
>> - Added groupings and yang-data descriptions
>> - Added Comments, Long Diagrams and Security Considerations sections
>> - Clarified representation of schema mount points and representation
> of
>> modules exposed using schema mount.
>> - Miscellaneous editorial changes
>>
>> Lou (for draft authors)
>>
>> On 10/25/2017 8:49 AM, internet-drafts@ietf.org wrote:
>>> A New Internet-Draft is available from the on-line Internet-Drafts
> directories.
>>> This draft is a work item of the Network Modeling WG of the IETF.
>>>
>>>         Title           : YANG Tree Diagrams
>>>         Authors         : Martin Bjorklund
>>>                           Lou Berger
>>> Filename        : draft-ietf-netmod-yang-tree-diagrams-02.txt
>>> Pages           : 11
>>> Date            : 2017-10-25
>>>
> 
>