1 module org-openroadm-routing-constraints {
2 namespace "http://org/openroadm/routing/constraints";
3 prefix org-openroadm-routing-constraints;
5 import org-openroadm-common-node-types {
6 prefix org-openroadm-common-node-types;
7 revision-date 2021-05-28;
9 import org-openroadm-network-resource {
10 prefix org-openroadm-network-resource;
11 revision-date 2019-11-29;
19 "YANG definitions of routing constraints.
21 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
22 All other rights reserved.
24 Redistribution and use in source and binary forms, with or without modification,
25 are permitted provided that the following conditions are met:
27 * Redistributions of source code must retain the above copyright notice, this
28 list of conditions and the following disclaimer.
29 * Redistributions in binary form must reproduce the above copyright notice,
30 this list of conditions and the following disclaimer in the documentation and/or
31 other materials provided with the distribution.
32 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
33 contributors may be used to endorse or promote products derived from this software
34 without specific prior written permission.
36 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
37 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
38 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
39 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
40 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
41 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
42 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
43 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
44 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
45 POSSIBILITY OF SUCH DAMAGE";
103 revision 2016-10-14 {
108 grouping routing-constraints {
109 container hard-constraints {
112 container soft-constraints {
117 grouping constraints {
118 leaf-list customer-code {
121 leaf-list operational-mode {
124 container diversity {
125 uses diversity-existing-service-constraints;
126 uses diversity-constraints;
128 "Diversity constraints for single or bulk requests.
129 diversity-constraints provides more options for bulk requests";
132 uses common-constraints;
133 leaf-list supporting-service-name {
136 "Supporting service(s) to exclude from this route.";
140 uses common-constraints;
141 leaf-list supporting-service-name {
144 "Supporting service(s) to include in this route.";
149 "Maximum allowed one-way latency in milliseconds";
154 units "milliseconds";
157 container hop-count {
159 "Maximum hops allowed";
160 leaf max-wdm-hop-count {
163 leaf max-otn-hop-count {
167 container TE-metric {
169 "Maximum cost allowed";
170 leaf max-wdm-TE-metric {
173 leaf max-otn-TE-metric {
179 "Maximum distance allowed";
187 container co-routing {
188 list service-identifier-list {
190 "Indicates that new services that are part of the bulk service request
191 should be co-routed";
192 key "service-identifier";
193 leaf service-identifier {
196 "This can be a service-name or a common-id";
198 uses service-applicability-g;
204 grouping common-constraints {
205 leaf-list fiber-bundle {
211 "unique identifier for SRLG";
216 "site identifies the clli.
217 clli from the device model; clli-network-ref + clli from the network model.";
220 type org-openroadm-common-node-types:node-id-type;
222 "node-id from the device model; openroadm-network-ref + node-id from the network model.";
224 list link-identifier {
225 key "link-network-id link-id";
227 "Refers to link-id(s) from the network model.
228 The openroadm-topology-ref + link-id identifies the link in the network model.";
229 uses org-openroadm-network-resource:network-link-name;
234 container equipment {
237 description "ROADM shared-risk-group diversity";
241 description "xponder eqpt-srg-id diversity";
244 "Equipment Diversity Contraints";
248 grouping existing-service-applicability-g {
249 container existing-service-applicability {
266 grouping service-applicability-g {
267 container service-applicability {
284 grouping diversity-existing-service-constraints {
285 list service-identifier-list {
287 "Indicates that new services that are part of the bulk service request
288 should be co-routed";
289 key "service-indentifier";
290 leaf service-indentifier {
293 "This can be a service-name or a common-id";
295 uses service-applicability-g;
298 leaf-list existing-service {
301 "Diverse from existing services identified by facility CLFI";
303 uses existing-service-applicability-g;
307 grouping diversity-constraints {
308 leaf diversity-type {
313 "Indicates that new services that are part of the bulk service request
314 should be routed serially for diversity.";
319 "Indicates that new services that are part of the bulk service request
320 should be routed synchronously for diversity.";
324 "This is only used when creating services using service-create-bulk.
325 It is expected that 'diversity-type' should be same for all services,
326 within the group. Which means it can be either 'serial' or 'synchronous'