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

"t.petch" <ietfc@btconnect.com> Thu, 26 October 2017 16:57 UTC

Return-Path: <ietfc@btconnect.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 B606013B1A9 for <netmod@ietfa.amsl.com>; Thu, 26 Oct 2017 09:57:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.92
X-Spam-Level:
X-Spam-Status: No, score=-1.92 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=btconnect.onmicrosoft.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 pc1YDOq6Pjwa for <netmod@ietfa.amsl.com>; Thu, 26 Oct 2017 09:57:15 -0700 (PDT)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0123.outbound.protection.outlook.com [104.47.2.123]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A28FE139059 for <netmod@ietf.org>; Thu, 26 Oct 2017 09:57:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=btconnect.onmicrosoft.com; s=selector1-btconnect-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=vJhU/9ovZSFTE6aLi1U0vAoi0j8MigiOqFZdxBkksOs=; b=KWw7Qw+4ocBeDBfL9xWE3CbeBiHZPihr689D1tvsX5E2T9T4c952Lq3kLHHsMNyxquHAep2uc/IjT7F23wHucr76Kp4epONei+K86g3axc6daErW5s6RCBIp5W+5QLIInnRZHd4HgmzKQN2DSHMvlMk9/FRHAEjJRT6LAY1mapk=
Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ietfc@btconnect.com;
Received: from pc6 (86.169.153.236) by AM5PR0701MB2993.eurprd07.prod.outlook.com (2603:10a6:203:48::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.3; Thu, 26 Oct 2017 16:57:09 +0000
Message-ID: <010301d34e7b$1d5303c0$4001a8c0@gateway.2wire.net>
From: "t.petch" <ietfc@btconnect.com>
To: <netmod@ietf.org>, "Lou Berger" <lberger@labn.net>
References: <150893578927.4882.2117597388624976982@ietfa.amsl.com> <23892572-a0db-d24b-e591-a19799ace9ae@labn.net>
Date: Thu, 26 Oct 2017 17:50:02 +0100
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
X-Originating-IP: [86.169.153.236]
X-ClientProxiedBy: VI1PR07CA0141.eurprd07.prod.outlook.com (2603:10a6:802:16::28) To AM5PR0701MB2993.eurprd07.prod.outlook.com (2603:10a6:203:48::15)
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e0519939-89f4-4f97-f8ca-08d51c929909
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(4627075)(201703031133081)(201702281549075)(2017052603199); SRVR:AM5PR0701MB2993;
X-Microsoft-Exchange-Diagnostics: 1; AM5PR0701MB2993; 3:rRPNmymqsMYfLzPkggJGJyuAXIA9QXRDcILlVFbvhOHzlXRC4aqdGuZB2Rhi/CvQLlYM2aml670fmjr54cSCmK6ZUGMrWCzsmZGHZubhhscJKJurYJIGPTWJE2H9ZPWQwXaKDwLl1ViNpqgSr+cmruLiLvPxBLomu8mHgv138anLOfAvTzFs7pOAcX4n7Eg2mEHJqdKB0BlNvvf3wd+r6qsDihMcczIYsdDu3JwchFHZJwrF4ORnVosjtnclO13j; 25:57APduamL3gyYVWZlb6+iChX6GxPlqL6JHkgd3368vQK8kjkOKF+GsgEerD+TMEtprUfXjnYhvYqUfPzjNxN4ycr/fJVQEEGM3SPm7whBtHvKqgLhDSHckaABRKQDKTqBf37Iq9J1Q3/WX6sYf1Mng73RnJKn8DjUboFqVYnD9c+WeMDGvhtczW7fZpvDa+qsowF+wmRKcQw/kTZa67eW6C/G74Ltj/V/gTAs7Y8PadtljbL3SyDiOz6E093Y+mu2ulM4kpkzGRMwk3CzEc2ZIhFb28f+JKH6Sfwqm73GaPfNlQK5d+rQGczZ+E07zXmIdjcuFtkY7IqLvOechPlRQ==; 31:NFs8BwKkoy2ci5OJPraoBTuHuE/2tMuCRb9KOJuv5hjD6D1X3AL7MuVQgO6H7d6XfUg/h04E55+Ct7wPdNg0AStPKWZ1ZgZQ8OlY/8C1PVL5J2roYNluQfuFB/JqOny2NoYCsZSfPkK6MZKwDrOCBfUsHGrUZ6O4NK2jFQ+HvD/AkwfoOcA+eWjSkZ/aClnE/viHy48B3vzCRSREJYYjFshipgJpSFzuUi9wVtOGZMk=
X-MS-TrafficTypeDiagnostic: AM5PR0701MB2993:
X-Exchange-Antispam-Report-Test: UriScan:(192374486261705);
X-Microsoft-Antispam-PRVS: <AM5PR0701MB299361613782492ACB261711A0450@AM5PR0701MB2993.eurprd07.prod.outlook.com>
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(61425038)(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(100000703101)(100105400095)(3002001)(3231020)(10201501046)(61426038)(61427038)(6041248)(20161123562025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123564025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0701MB2993; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0701MB2993;
X-Microsoft-Exchange-Diagnostics: 1; AM5PR0701MB2993; 4:TN7WrLCGxjyG60H55U+MDuXPaEI6eaa2Dxlj4RuvHLifYta6SDWJm0nSBnsr0kUInIkYPvH6WnQ4Al8VLa1qL3sXD/5br2D0z7EmcOpq8u6Uhgt706zYMkcRbi5Z/7AroMzvp6iNyaxw9g/ZnaVlq0zIOq33CaKoCAt0LXmumkaPFGaTPIaIxCpuE+a6pWhIDyUsoPcJvB19G/Gh8NNDrSFhwQYh7EIUxTeWgeMgPxB5wn3FBiKa2yYKsH9rLecZMvQrIwCjiE7QdbnsK0D+Ag1JE4lo2dyh3Xc2UaxyA2C5Q+i8pLE2MOSgCL6VV+Yz
X-Forefront-PRVS: 04724A515E
X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(39860400002)(376002)(346002)(377424004)(13464003)(24454002)(199003)(189002)(8676002)(230783001)(2906002)(116806002)(229853002)(33646002)(44736005)(7736002)(6486002)(16526018)(305945005)(106356001)(2870700001)(105586002)(6666003)(5660300001)(84392002)(61296003)(8936002)(81166006)(1556002)(6496005)(4720700003)(1456003)(189998001)(101416001)(81816999)(81686999)(316002)(86362001)(50226002)(110136005)(68736007)(62236002)(47776003)(66066001)(81156014)(44716002)(50986999)(478600001)(53546010)(76176999)(6246003)(53936002)(9686003)(97736004)(53946003)(25786009)(6116002)(4001150100001)(16200700003)(14496001)(23676002)(50466002)(3846002)(74416001)(7726001)(559001)(569006); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0701MB2993; H:pc6; FPR:; SPF:None; PTR:InfoNoRecords; A:0; MX:1; LANG:en;
Received-SPF: None (protection.outlook.com: btconnect.com does not designate permitted sender hosts)
X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTVQUjA3MDFNQjI5OTM7MjM6bEswS3psV0lIaGZrS2xmSTJnY2RYRm5Q?= =?utf-8?B?VDNJVUNOa2R5TTUzbUJTTGF2TWdLOC8ybUFwZWRxVkllbnpxcWxYVTVEejgy?= =?utf-8?B?MFFCRmUyNjJ6TTVMRWc5QkUrd0hBdlJaVkwrZkJWV0RUVGxVL3lkM244SW1u?= =?utf-8?B?eGs5dUJMS0VaZStyYURZTTZwTW5HVzNHNzhDenFmR3VHVkdraHJyUStHWUFP?= =?utf-8?B?ODluNHZNSzdRZzg3N3NiZmtDVEVNdjl6SW02b3VlcHBPTUUzZ2QyR3d4TnY0?= =?utf-8?B?VTlscUh3b3ZLL1lHL1h2YUsxKzJsOVo3c0RlSktSME5SMmlPNjBhaldVV0hw?= =?utf-8?B?b1lkRnNZQmgrUEprNWI0UjhlTFF5WWwwU1EyM0JoMkIyUDMwVEhzL210OWh4?= =?utf-8?B?dU8xcHZsY3ZjM2JUVFBZdnZORXVMYUxPZkNraVVWNkx5RjlTOWNWZE5sUFRJ?= =?utf-8?B?aW93Q3BDTTBTTFBIeUdFTVQ0OCt3S0ltaFpKbG1ramROUUNrRU1hMzZCNCtD?= =?utf-8?B?OXdMTHpja3ZXMjNQc2FwVGhWRy85N0U2U2l4cXpnT0VrVVR5a0xQQ2pEd0xS?= =?utf-8?B?QXMyM3ZuS2tTOFdqeU13ZlBIMldUWHJteEpWd2RwMjlGVlc5clVmeUpIYWdS?= =?utf-8?B?OGd1L0R6aXVrRkFSenROU1R5ajhBTDNYV2JucDlkWktHVmRrTGQ3azEzZWI2?= =?utf-8?B?MVBQTUw4Z1JQSDdXNjllNmNuTm1IYmpEOWo1ZFBvZ2lGWHZNTUsvTHdpNW91?= =?utf-8?B?c2ZXdVdYSzJKM0Izc0oxTk5iSDNzUDFNRkNJelFWTUdPSWE2VHc1bUpKNFhD?= =?utf-8?B?SkxET1o5RFh5T2J6YkR1TUZFclVucUE2Zmo3a2tGVGdxL1RhS1hqRUpwcHJ4?= =?utf-8?B?SjMxdVZCWEpjNGlRTlBzb0xWWGtNcVJLQWZ4VmdGc1lHMHg2VTUyZ1B5ck1H?= =?utf-8?B?bXlaSEduZkpJekFkODZ3OEd3K2NWZ2lWVlBqVzZRbHVES1NCQzBLb2wwcmV2?= =?utf-8?B?M3Z4Z0Urc1p3RGxrOUFWNjJxQ1orMGNZWWd6ZHQySHY5UEFYODJobkNGamJN?= =?utf-8?B?aTN1L0tYeHBSNVZrQ0FHeWdHbjdMTC9HbUlNTjZ6S2JDL1NyNG82eDJWNDBy?= =?utf-8?B?QUFZVnNURHBncEloYUh4ZEZVZUxqQmwwbnJuZTV5Y3NHYk1mWGYxcGdjOVh4?= =?utf-8?B?YTgyMGpvNnhwT1FvR3Z3aTdDQlhhYTdTY2swMTljeUZPUXV1NjFoOWpCSVRB?= =?utf-8?B?TXhWNk1CalZlVkxQaDdaQ3dXcXhtVFlnNGN5dGJXMUNzNWMrOXI5L2gvZll2?= =?utf-8?B?a0psRHgrdFEyRjlKbHBSVVV0SG9aUDU2SWdxUDJMNWEvQSsxQzZoeXBrTmtp?= =?utf-8?B?RTYzdzBYV09vbGRCVG9Lcnp1RlhlbjEvQmxDVi9Ea0R0NUM5ME4xV0FTRGxR?= =?utf-8?B?WlVUR1FVQjM2clRPR1E3Tm9SOWQ2MGwyaDU4OW9CeU5EUEo5amlZT2k0RVJ5?= =?utf-8?B?SXdxWWNYVWp5cGhJcUJYb2tETkhLM1ZNMmRPaWM4T3NPUUFBZ1dKR1dVZ09Y?= =?utf-8?B?cVp1R29wODl5L1VOK2RlL0lidHRmcnNYQ2RMN2hsUEEwZDBkWjVONlE5a01x?= =?utf-8?B?d2o4WlRORU5YUzVKT0djUjhDdk56R3VKQnA1TGJIQnQ5TXVJamZTRW5jNTJu?= =?utf-8?B?WXc4amU3WTdhU0h5MExrYmlEWHk2WWd2Tkx4TFJxbWV5d0t6SkhjTEpYa1J1?= =?utf-8?B?cE9CVTg3TUZLNzNDUnhRVWxqZHhhTVpEN2UvSjFsWDEyNDVRV1Q0aFRkcEVs?= =?utf-8?B?Zk1YeHh5MDFvbTFiVnJKeGVjQytSbDFvSXkrQzlFU3M2eHg1M0h3akM5ZmVG?= =?utf-8?B?dTlGd29YQ0hNcE84bnlMUlZscjlRaFAyR2VsRWJnTGlzbEZSWTFwN1IwSVlP?= =?utf-8?B?WFJtVnZ3dnFldUNhV1FrbkR2Y0pyT3FOUktwb0NQakl2elJ2UHMvVDRiNit3?= =?utf-8?B?QkxGT01XWldYZ1QxWU9xRGJFN3VVNFBXOVByQlk0b3I1ODdYWTBqeUVEVldD?= =?utf-8?B?M3J5WThtd2E5SFNtaEtvM05lZjVmNTFEa3VJRzdFR2FpQVJibW9hZytCY1Nx?= =?utf-8?B?VCtWUT09?=
X-Microsoft-Exchange-Diagnostics: 1; AM5PR0701MB2993; 6:qRAMl7bmVll+1ebPmiz/R1TnyG8FCJdki16vW3Wq67VTlrofUX2x04CSGtIyjH02Ft5JAMe7/Gg9+YQYNsLm9xfncT25NVReYXCXBKYwXx4foODIIFIm4TdCJinsdRVEAU7Jk65OCDdetnwj3eInBbDG/yiF0sMWJ+p9D5jj4/dCKczCD7Y/jVcKI5s1jXesvEVYqZkNYP7las1i1DNNTLONE+3l3/PwLp7aKA66E63JoW+TmLiRAGXsU6HEwzPE4LQupw1Scx1ZFtvAG3EHgcy7fVqbtYAIv/JoB0kESVP0VsKRl/GER1aHNKlED2alYopoajN85z/+sM/ZVzhW8++tav90UZl9AweDWsilYkY=; 5:uBFbAYRrbkXwmAU8LUuHDZiOZXGlXXnJqeZtb4jn55cirweygQJhcmLec4zb11l2/kGAbftIAoaj80HrzebAB3B6VS4ZNeeS1/gxA7tLBIwj1G5Jw3roT13duG9c5Em2SS34k6sKUgcVOd/AF9/h2h6U1k2NhlGmkUoqSqa8axE=; 24:soF3pGCak2bbUye+DaxXeegd5yjm5MxifpZJco2RWBdGt94HQuGSneEJrHwJVt2mT+IS/tFb3dTAW49N7l1CqJKG8Qv20XOowPbN7rE7670=; 7:oW0lZ40U0vz2b9469tUCJ+S+5xGi/49eA2ffy0Mx2E+y0429UjQANaDKbzu/kj5leXGptmsP5G6Gm9T4zw0g1dBrFoQ8iJfTiQpa30ZT+9H5r9wpzwJEy4MLSTqSVpXdD1xE9ND5wNkQZp60chAdgDhP7jdcAQ/PGKM1YBGUkd9tRznXw3oDpklv5xbm/6otU0BtI7Mb6OvTk/guyOIpocnn536lyjmyH31s95qMJr9gc9hgFbgAkJFYya3F5QCi
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-OriginatorOrg: btconnect.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Oct 2017 16:57:09.7101 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e0519939-89f4-4f97-f8ca-08d51c929909
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: cf8853ed-96e5-465b-9185-806bfe185e30
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0701MB2993
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/wyvlmj-akivNUryCKFK6mQzC1ro>
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 16:57:31 -0000

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?

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
> >