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

Mahesh Jethanandani <mjethanandani@gmail.com> Thu, 26 October 2017 17:35 UTC

Return-Path: <mjethanandani@gmail.com>
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 DE33D13F421 for <netmod@ietfa.amsl.com>; Thu, 26 Oct 2017 10:35:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 mFuCLhv97W1F for <netmod@ietfa.amsl.com>; Thu, 26 Oct 2017 10:35:09 -0700 (PDT)
Received: from mail-pg0-x241.google.com (mail-pg0-x241.google.com [IPv6:2607:f8b0:400e:c05::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6040813F3C7 for <netmod@ietf.org>; Thu, 26 Oct 2017 10:35:09 -0700 (PDT)
Received: by mail-pg0-x241.google.com with SMTP id j3so3255588pga.1 for <netmod@ietf.org>; Thu, 26 Oct 2017 10:35:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:mime-version:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=c5D7Z7pLV/T67JPb3Ffmu1e7eRt2HHVjo7ORZjiXbvc=; b=Dtf0cmOyw5dkuIKoYQdTPRpVRxLlQMhntEA8pWaB9cBpJzBaQNDsMHGg760GrwnfRZ SfKewnUkpLG7WeFLF7hajuWZU9aTTX3+bOltYkdKWzC3PQXE96VrjlilV9LDr9lXH1Ul n2wV/S0oaBd31oSyD2JZK+gOTx1BC+XibKF1CYYvVhdve2pAk+2tXcSZLqJR0f3m0/s2 UqTTAweaYRB9lzxXGgJi/2gQlPY1Ch9cquFc4eMvPoorC/KB+wn4klvH9d2ZhETPz4Nh sV/wobvO5VmubFAzQTYTSD8MbBCOA+izvJG93YacFzAQ8ZKd+FPIaVgsGUN0I1s92Nly lYiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=c5D7Z7pLV/T67JPb3Ffmu1e7eRt2HHVjo7ORZjiXbvc=; b=ZyuEG0Pb2XyCfoU2i7TIL1dzAYkiCtAzW/nbdmuEogz7xKxMl3xT3PHgj3LdrCktMU wwZtJaVYFOuLhuelCnL2+uc1vyDEdoS5lS5udou0FHeL7n/glCJw153ol59sOK1gn6m/ Qs4NgCErF6hMXBT7wJuZVh5tNnlmxurSdIZZNWjTFZjchYP59evky+steB9xOVpz9uK3 papLoJZC6TObGF5cVAO+3q4qnnVXQrviTpAjcMyQz8jFau7TEgF7x9MaDGyfIHZRJXix 9/pIE2HBuhGaQYRV75K7XmTJ2tu9pehXSjomQ/3kQ4NgbeEzwFvHq85vvOzgEPSzDEkn 5Lvg==
X-Gm-Message-State: AMCzsaWGIq7MfWvP+Q2qBGSDkYNWG5VkcwtLiDjPqHkRu4UIZxODuLjA yJvjDtG2DvGplRSLLt2GT5s=
X-Google-Smtp-Source: ABhQp+QS9jHQVGgcUemsVrwfv2QC0g/DoVf6YfhVfr2L9SMOeSwPDi2I5DOeiFR3OCPSKG/40IrltQ==
X-Received: by 10.99.111.65 with SMTP id k62mr5491092pgc.56.1509039306149; Thu, 26 Oct 2017 10:35:06 -0700 (PDT)
Received: from sjc-mahesh-nitro4.cisco.com ([128.107.241.177]) by smtp.gmail.com with ESMTPSA id g7sm10918268pfj.13.2017.10.26.10.35.04 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 26 Oct 2017 10:35:05 -0700 (PDT)
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
Content-Type: text/plain; charset=utf-8
From: Mahesh Jethanandani <mjethanandani@gmail.com>
X-Priority: 3
In-Reply-To: <010301d34e7b$1d5303c0$4001a8c0@gateway.2wire.net>
Date: Thu, 26 Oct 2017 10:35:27 -0700
Cc: netmod@ietf.org, Lou Berger <lberger@labn.net>
Content-Transfer-Encoding: quoted-printable
Message-Id: <122E6B31-38CA-47DD-8891-A79D3BC8BCC7@gmail.com>
References: <150893578927.4882.2117597388624976982@ietfa.amsl.com> <23892572-a0db-d24b-e591-a19799ace9ae@labn.net> <010301d34e7b$1d5303c0$4001a8c0@gateway.2wire.net>
To: "t.petch" <ietfc@btconnect.com>
X-Mailer: Apple Mail (2.3124)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/voIngD_eiCx4VsPDzQTdEX2vhQQ>
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 17:35:15 -0000

> On Oct 26, 2017, at 9:50 AM, t.petch <ietfc@btconnect.com> 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.  But what practical advice can we give them?

How about using the depth of the —tree-depth option to generate smaller trees that may not give the whole tree, but at least give you a nice overview? Follow that with smaller chunks using the —tree-path for each section of the tree.

> 
> 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
>>> 
> 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod

Mahesh Jethanandani
mjethanandani@gmail.com