Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 1 | module tapi-connectivity {
|
Yuta HIGUCHI | 80d0bbd | 2018-02-28 11:13:11 -0800 | [diff] [blame] | 2 | namespace "urn:onf:otcc:yang:tapi-connectivity";
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 3 | prefix tapi-connectivity;
|
| 4 | import tapi-common {
|
| 5 | prefix tapi-common;
|
| 6 | }
|
| 7 | import tapi-topology {
|
| 8 | prefix tapi-topology;
|
| 9 | }
|
| 10 | import tapi-path-computation {
|
| 11 | prefix tapi-path-computation;
|
| 12 | }
|
Yuta HIGUCHI | 80d0bbd | 2018-02-28 11:13:11 -0800 | [diff] [blame] | 13 | organization "ONF OTCC (Open Transport Configuration & Control) Project";
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 14 | contact "
|
| 15 | Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
|
| 16 | Project List: <mailto:transport-api@opennetworking.org>
|
| 17 | Editor: Karthik Sethuraman
|
| 18 | <mailto:karthik.sethuraman@necam.com>";
|
Yuta HIGUCHI | 80d0bbd | 2018-02-28 11:13:11 -0800 | [diff] [blame] | 19 | description "
|
| 20 | This module contains TAPI Connectivity Model definitions.
|
| 21 | Source: TapiConnectivity.uml
|
| 22 | Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
|
| 23 | License: This module is distributed under the Apache License 2.0";
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 24 | revision 2018-10-16 {
|
| 25 | description "ONF Transport API version 2.1.0.
|
| 26 | - The TAPI YANG models included in this TAPI release (v2.1.0) are a *normative* part of the TAPI SDK.
|
| 27 | - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool]
|
| 28 | <https://github.com/OpenNetworkingFoundation/EagleUmlYang>
|
| 29 | and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines]
|
| 30 | <https://wiki.opennetworking.org/display/OIMT/UML+-+YANG+Guidelines>
|
| 31 | - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts.
|
| 32 | As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts.
|
| 33 | - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases.
|
| 34 | The YANG model backward compatibility criteria are outlined in section 11 of <https://tools.ietf.org/html/rfc7950>.
|
| 35 | YANG models included in this release are not backward compatible with previous TAPI releases.
|
| 36 | - Changes included in this TAPI release (v2.1.0) are listed in
|
| 37 | <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
|
| 38 | reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model |
| 39 | <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
|
| 40 | }
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 41 | revision 2018-03-07 {
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 42 | description "ONF Transport API version 2.0.2 |
| 43 | This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool. |
Yuta HIGUCHI | e1ca23f | 2018-04-06 10:05:45 -0700 | [diff] [blame] | 44 | Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 45 | reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model |
Yuta HIGUCHI | e1ca23f | 2018-04-06 10:05:45 -0700 | [diff] [blame] | 46 | <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
|
| 47 | }
|
| 48 | revision 2018-02-16 {
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 49 | description "ONF Transport API version 2.0.1 |
| 50 | This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool. |
Yuta HIGUCHI | e1ca23f | 2018-04-06 10:05:45 -0700 | [diff] [blame] | 51 | Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 52 | reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model |
Yuta HIGUCHI | e1ca23f | 2018-04-06 10:05:45 -0700 | [diff] [blame] | 53 | <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
|
| 54 | }
|
| 55 | revision 2018-01-02 {
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 56 | description "ONF Transport API version 2.0.0 |
| 57 | This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool. |
Yuta HIGUCHI | e1ca23f | 2018-04-06 10:05:45 -0700 | [diff] [blame] | 58 | Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 59 | reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model |
Yuta HIGUCHI | e1ca23f | 2018-04-06 10:05:45 -0700 | [diff] [blame] | 60 | <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 61 | }
|
| 62 | augment "/tapi-common:context" {
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 63 | container connectivity-context {
|
| 64 | uses connectivity-context;
|
| 65 | description "Augments the base TAPI Context with ConnectivityService information";
|
| 66 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 67 | description "Augments the base TAPI Context with ConnectivityService information";
|
| 68 | }
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 69 | augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
|
| 70 | container cep-list {
|
| 71 | uses cep-list;
|
| 72 | description "none";
|
| 73 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 74 | description "none";
|
| 75 | }
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 76 |
|
| 77 | /*************************
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 78 | * definitions of references
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 79 | *************************/
|
| 80 | grouping connectivity-service-ref {
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 81 | leaf connectivity-service-uuid {
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 82 | type leafref {
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 83 | path '/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:uuid';
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 84 | }
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 85 | description "none";
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 86 | }
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 87 | description "none";
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 88 | }
|
| 89 |
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 90 | grouping connectivity-service-end-point-ref {
|
| 91 | uses connectivity-service-ref;
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 92 | leaf connectivity-service-end-point-local-id {
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 93 | type leafref {
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 94 | path '/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point/tapi-connectivity:local-id';
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 95 | }
|
| 96 | description "none";
|
| 97 | }
|
| 98 | description "none";
|
| 99 | }
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 100 | grouping connection-end-point-ref {
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 101 | uses tapi-topology:node-edge-point-ref;
|
| 102 | leaf connection-end-point-uuid {
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 103 | type leafref {
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 104 | path '/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:cep-list/tapi-connectivity:connection-end-point/tapi-connectivity:uuid';
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 105 | }
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 106 | description "none";
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 107 | }
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 108 | description "none";
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 109 | }
|
| 110 |
|
| 111 | grouping connection-ref {
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 112 | leaf connection-uuid {
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 113 | type leafref {
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 114 | path '/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connection/tapi-connectivity:uuid';
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 115 | }
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 116 | description "none";
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 117 | }
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 118 | description "none";
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 119 | }
|
| 120 |
|
| 121 | grouping switch-control-ref {
|
| 122 | uses connection-ref;
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 123 | leaf switch-control-uuid {
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 124 | type leafref {
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 125 | path '/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connection/tapi-connectivity:switch-control/tapi-connectivity:uuid';
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 126 | }
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 127 | description "none";
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 128 | }
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 129 | description "none";
|
| 130 | }
|
| 131 |
|
| 132 | grouping route-ref {
|
| 133 | uses connection-ref;
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 134 | leaf route-local-id {
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 135 | type leafref {
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 136 | path '/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connection/tapi-connectivity:route/tapi-connectivity:local-id';
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 137 | }
|
| 138 | description "none";
|
| 139 | }
|
| 140 | description "none";
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 141 | }
|
| 142 |
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 143 | /***********************
|
| 144 | * package object-classes
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 145 | **********************/
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 146 | grouping connection {
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 147 | list connection-end-point {
|
| 148 | uses connection-end-point-ref;
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 149 | key 'topology-uuid node-uuid node-edge-point-uuid connection-end-point-uuid';
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 150 | config false;
|
| 151 | min-elements 2;
|
| 152 | description "none";
|
| 153 | }
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 154 | list lower-connection {
|
| 155 | uses connection-ref;
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 156 | key 'connection-uuid';
|
| 157 | config false;
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 158 | description "An Connection object supports a recursive aggregation relationship such that the internal construction of an Connection can be exposed as multiple lower level Connection objects (partitioning).
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 159 | Aggregation is used as for the Node/Topology to allow changes in hierarchy.
|
| 160 | Connection aggregation reflects Node/Topology aggregation.
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 161 | The FC represents a Cross-Connection in an NE. The Cross-Connection in an NE is not necessarily the lowest level of FC partitioning.";
|
| 162 | }
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 163 | list supported-client-link {
|
| 164 | uses tapi-topology:link-ref;
|
| 165 | key 'topology-uuid link-uuid';
|
| 166 | config false;
|
| 167 | description "none";
|
| 168 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 169 | list route {
|
| 170 | key 'local-id';
|
| 171 | config false;
|
| 172 | uses route;
|
| 173 | description "none";
|
| 174 | }
|
| 175 | list switch-control {
|
Yuta HIGUCHI | 80d0bbd | 2018-02-28 11:13:11 -0800 | [diff] [blame] | 176 | key 'uuid';
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 177 | config false;
|
| 178 | uses switch-control;
|
| 179 | description "none";
|
| 180 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 181 | leaf direction {
|
| 182 | type tapi-common:forwarding-direction;
|
| 183 | config false;
|
| 184 | description "none";
|
| 185 | }
|
| 186 | leaf layer-protocol-name {
|
| 187 | type tapi-common:layer-protocol-name;
|
| 188 | config false;
|
| 189 | description "none";
|
| 190 | }
|
| 191 | uses tapi-common:resource-spec;
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 192 | uses tapi-common:operational-state-pac;
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 193 | description "The ForwardingConstruct (FC) object class models enabled potential for forwarding between two or more LTPs and like the LTP supports any transport protocol including all circuit and packet forms.
|
| 194 | At the lowest level of recursion, a FC represents a cross-connection within an NE.";
|
| 195 | }
|
| 196 | grouping connection-end-point {
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 197 | leaf layer-protocol-name {
|
| 198 | type tapi-common:layer-protocol-name;
|
| 199 | config false;
|
| 200 | description "none";
|
| 201 | }
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 202 | leaf layer-protocol-qualifier {
|
| 203 | type tapi-common:layer-protocol-qualifier;
|
| 204 | config false;
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 205 | description "none";
|
| 206 | }
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 207 | container parent-node-edge-point {
|
| 208 | uses tapi-topology:node-edge-point-ref;
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 209 | config false;
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 210 | description "none";
|
| 211 | }
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 212 | list client-node-edge-point {
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 213 | uses tapi-topology:node-edge-point-ref;
|
| 214 | key 'topology-uuid node-uuid node-edge-point-uuid';
|
| 215 | config false;
|
| 216 | description "none";
|
| 217 | }
|
| 218 | list aggregated-connection-end-point {
|
| 219 | uses connection-end-point-ref;
|
| 220 | key 'topology-uuid node-uuid node-edge-point-uuid connection-end-point-uuid';
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 221 | config false;
|
| 222 | description "none";
|
| 223 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 224 | leaf connection-port-direction {
|
| 225 | type tapi-common:port-direction;
|
| 226 | config false;
|
| 227 | description "The orientation of defined flow at the EndPoint.";
|
| 228 | }
|
| 229 | leaf connection-port-role {
|
| 230 | type tapi-common:port-role;
|
| 231 | config false;
|
| 232 | description "Each EP of the FC has a role (e.g., working, protection, protected, symmetric, hub, spoke, leaf, root) in the context of the FC with respect to the FC function. ";
|
| 233 | }
|
| 234 | uses tapi-common:resource-spec;
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 235 | uses tapi-common:operational-state-pac;
|
| 236 | uses tapi-common:termination-pac;
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 237 | description "The LogicalTerminationPoint (LTP) object class encapsulates the termination and adaptation functions of one or more transport layers.
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 238 | The structure of LTP supports all transport protocols including circuit and packet forms.";
|
| 239 | }
|
| 240 | grouping connectivity-constraint {
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 241 | leaf service-layer {
|
| 242 | type tapi-common:layer-protocol-name;
|
| 243 | description "none";
|
| 244 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 245 | leaf service-type {
|
| 246 | type service-type;
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 247 | description "none";
|
| 248 | }
|
| 249 | leaf service-level {
|
| 250 | type string;
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 251 | description "An abstract value the meaning of which is mutually agreed – typically represents metrics such as - Class of service, priority, resiliency, availability";
|
| 252 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 253 | container requested-capacity {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 254 | uses tapi-common:capacity;
|
| 255 | description "none";
|
| 256 | }
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 257 | leaf connectivity-direction {
|
| 258 | type tapi-common:forwarding-direction;
|
| 259 | description "none";
|
| 260 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 261 | container schedule {
|
| 262 | uses tapi-common:time-range;
|
| 263 | description "none";
|
| 264 | }
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 265 | container coroute-inclusion {
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 266 | uses connectivity-service-ref;
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 267 | description "none";
|
| 268 | }
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 269 | list diversity-exclusion {
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 270 | uses connectivity-service-ref;
|
| 271 | key 'connectivity-service-uuid';
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 272 | description "none";
|
| 273 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 274 | description "none";
|
| 275 | }
|
| 276 | grouping connectivity-service {
|
| 277 | list end-point {
|
| 278 | key 'local-id';
|
| 279 | min-elements 2;
|
| 280 | uses connectivity-service-end-point;
|
| 281 | description "none";
|
| 282 | }
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 283 | list connection {
|
| 284 | uses connection-ref;
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 285 | key 'connection-uuid';
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 286 | config false;
|
| 287 | description "none";
|
| 288 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 289 | uses tapi-common:service-spec;
|
Yuta HIGUCHI | 80d0bbd | 2018-02-28 11:13:11 -0800 | [diff] [blame] | 290 | uses connectivity-constraint;
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 291 | uses tapi-path-computation:routing-constraint;
|
| 292 | uses tapi-path-computation:topology-constraint;
|
Yuta HIGUCHI | 80d0bbd | 2018-02-28 11:13:11 -0800 | [diff] [blame] | 293 | uses resilience-constraint;
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 294 | uses tapi-common:admin-state-pac;
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 295 | description "The ForwardingConstruct (FC) object class models enabled potential for forwarding between two or more LTPs and like the LTP supports any transport protocol including all circuit and packet forms.
|
| 296 | At the lowest level of recursion, a FC represents a cross-connection within an NE.";
|
| 297 | }
|
| 298 | grouping connectivity-service-end-point {
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 299 | leaf layer-protocol-name {
|
| 300 | type tapi-common:layer-protocol-name;
|
| 301 | description "none";
|
| 302 | }
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 303 | leaf layer-protocol-qualifier {
|
| 304 | type tapi-common:layer-protocol-qualifier;
|
| 305 | description "none";
|
| 306 | }
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 307 | container service-interface-point {
|
| 308 | uses tapi-common:service-interface-point-ref;
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 309 | description "none";
|
| 310 | }
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 311 | list connection-end-point {
|
| 312 | uses connection-end-point-ref;
|
| 313 | key 'topology-uuid node-uuid node-edge-point-uuid connection-end-point-uuid';
|
| 314 | config false;
|
| 315 | description "none";
|
| 316 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 317 | container capacity {
|
Yuta HIGUCHI | 80d0bbd | 2018-02-28 11:13:11 -0800 | [diff] [blame] | 318 | uses tapi-common:capacity;
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 319 | description "none";
|
| 320 | }
|
| 321 | leaf direction {
|
| 322 | type tapi-common:port-direction;
|
| 323 | description "The orientation of defined flow at the EndPoint.";
|
| 324 | }
|
| 325 | leaf role {
|
| 326 | type tapi-common:port-role;
|
| 327 | description "Each EP of the FC has a role (e.g., working, protection, protected, symmetric, hub, spoke, leaf, root) in the context of the FC with respect to the FC function. ";
|
| 328 | }
|
| 329 | leaf protection-role {
|
| 330 | type protection-role;
|
| 331 | description "To specify the protection role of this Port when create or update ConnectivityService.";
|
| 332 | }
|
| 333 | uses tapi-common:local-class;
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 334 | uses tapi-common:admin-state-pac;
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 335 | description "The association of the FC to LTPs is made via EndPoints.
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 336 | The EndPoint (EP) object class models the access to the FC function.
|
| 337 | The traffic forwarding between the associated EPs of the FC depends upon the type of FC and may be associated with FcSwitch object instances.
|
| 338 | In cases where there is resilience the EndPoint may convey the resilience role of the access to the FC.
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 339 | It can represent a protected (resilient/reliable) point or a protecting (unreliable working or protection) point.
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 340 | The EP replaces the Protection Unit of a traditional protection model.
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 341 | The ForwadingConstruct can be considered as a component and the EndPoint as a Port on that component";
|
| 342 | }
|
| 343 | grouping route {
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 344 | list connection-end-point {
|
| 345 | uses connection-end-point-ref;
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 346 | key 'topology-uuid node-uuid node-edge-point-uuid connection-end-point-uuid';
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 347 | config false;
|
| 348 | min-elements 2;
|
| 349 | description "none";
|
| 350 | }
|
| 351 | uses tapi-common:local-class;
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 352 | description "The FC Route (FcRoute) object class models the individual routes of an FC.
|
| 353 | The route of an FC object is represented by a list of FCs at a lower level.
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 354 | Note that depending on the service supported by an FC, an the FC can have multiple routes.";
|
| 355 | }
|
| 356 | grouping connectivity-context {
|
| 357 | list connectivity-service {
|
| 358 | key 'uuid';
|
| 359 | uses connectivity-service;
|
| 360 | description "none";
|
| 361 | }
|
| 362 | list connection {
|
| 363 | key 'uuid';
|
| 364 | config false;
|
| 365 | uses connection;
|
| 366 | description "none";
|
| 367 | }
|
| 368 | description "none";
|
| 369 | }
|
| 370 | grouping switch {
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 371 | list selected-connection-end-point {
|
| 372 | uses connection-end-point-ref;
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 373 | key 'topology-uuid node-uuid node-edge-point-uuid connection-end-point-uuid';
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 374 | min-elements 1;
|
| 375 | description "none";
|
| 376 | }
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 377 | list selected-route {
|
| 378 | uses route-ref;
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 379 | key 'connection-uuid route-local-id';
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 380 | min-elements 1;
|
| 381 | description "none";
|
| 382 | }
|
| 383 | leaf selection-control {
|
| 384 | type selection-control;
|
| 385 | description "Degree of administrative control applied to the switch selection.";
|
| 386 | }
|
| 387 | leaf selection-reason {
|
| 388 | type selection-reason;
|
| 389 | config false;
|
| 390 | description "The reason for the current switch selection.";
|
| 391 | }
|
| 392 | leaf switch-direction {
|
| 393 | type tapi-common:port-direction;
|
| 394 | description "Indicates whether the switch selects from ingress to the FC or to egress of the FC, or both.";
|
| 395 | }
|
| 396 | uses tapi-common:local-class;
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 397 | description "The class models the switched forwarding of traffic (traffic flow) between FcPorts (ConnectionEndPoints) and is present where there is protection functionality in the FC (Connection).
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 398 | If an FC exposes protection (having two or more FcPorts that provide alternative identical inputs/outputs), the FC will have one or more associated FcSwitch objects to represent the alternative flow choices visible at the edge of the FC.
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 399 | The FC switch represents and defines a protection switch structure encapsulated in the FC.
|
| 400 | Essentially performs one of the functions of the Protection Group in a traditional model. It associates to 2 or more FcPorts each playing the role of a Protection Unit.
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 401 | One or more protection, i.e. standby/backup, FcPorts provide protection for one or more working (i.e. regular/main/preferred) FcPorts where either protection or working can feed one or more protected FcPort.
|
| 402 | The switch may be used in revertive or non-revertive (symmetric) mode. When in revertive mode it may define a waitToRestore time.
|
| 403 | It may be used in one of several modes including source switch, destination switched, source and destination switched etc (covering cases such as 1+1 and 1:1).
|
| 404 | It may be locked out (prevented from switching), force switched or manual switched.
|
| 405 | It will indicate switch state and change of state.
|
| 406 | The switch can be switched away from all sources such that it becomes open and hence two coordinated switches can both feed the same LTP so long as at least one of the two is switched away from all sources (is 'open').
|
| 407 | The ability for a Switch to be 'high impedance' allows bidirectional ForwardingConstructs to be overlaid on the same bidirectional LTP where the appropriate control is enabled to prevent signal conflict.
|
| 408 | This ability allows multiple alternate routes to be present that otherwise would be in conflict.";
|
| 409 | }
|
| 410 | grouping switch-control {
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 411 | list sub-switch-control {
|
| 412 | uses switch-control-ref;
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 413 | key 'connection-uuid switch-control-uuid';
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 414 | description "none";
|
| 415 | }
|
| 416 | list switch {
|
| 417 | key 'local-id';
|
| 418 | uses switch;
|
| 419 | description "none";
|
| 420 | }
|
Yuta HIGUCHI | 80d0bbd | 2018-02-28 11:13:11 -0800 | [diff] [blame] | 421 | uses tapi-common:resource-spec;
|
| 422 | uses resilience-constraint;
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 423 | description "Represents the capability to control and coordinate switches, to add/delete/modify FCs and to add/delete/modify LTPs/LPs so as to realize a protection scheme.";
|
| 424 | }
|
| 425 | grouping resilience-constraint {
|
| 426 | container resilience-type {
|
| 427 | uses tapi-topology:resilience-type;
|
| 428 | description "none";
|
| 429 | }
|
| 430 | leaf restoration-coordinate-type {
|
| 431 | type coordinate-type;
|
| 432 | description " The coordination mechanism between multi-layers.";
|
| 433 | }
|
| 434 | leaf restore-priority {
|
| 435 | type uint64;
|
| 436 | description "none";
|
| 437 | }
|
| 438 | leaf reversion-mode {
|
| 439 | type reversion-mode;
|
| 440 | description "Indcates whether the protection scheme is revertive or non-revertive.";
|
| 441 | }
|
| 442 | leaf wait-to-revert-time {
|
| 443 | type uint64;
|
| 444 | default "15";
|
| 445 | description "If the protection system is revertive, this attribute specifies the time, in minutes, to wait after a fault clears on a higher priority (preferred) resource before reverting to the preferred resource.";
|
| 446 | }
|
| 447 | leaf hold-off-time {
|
| 448 | type uint64;
|
| 449 | description "This attribute indicates the time, in milliseconds, between declaration of signal degrade or signal fail, and the initialization of the protection switching algorithm.";
|
| 450 | }
|
| 451 | leaf is-lock-out {
|
| 452 | type boolean;
|
| 453 | description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.
|
| 454 | This overrides all other protection control states including forced.
|
| 455 | If the item is locked out then it cannot be used under any circumstances.
|
| 456 | Note: Only relevant when part of a protection scheme.";
|
| 457 | }
|
| 458 | leaf is-frozen {
|
| 459 | type boolean;
|
Yuta HIGUCHI | 7f165b1 | 2018-03-25 19:05:29 -0700 | [diff] [blame] | 460 | description "Temporarily prevents any switch action to be taken and, as such, freezes the current state.
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 461 | Until the freeze is cleared, additional near-end external commands are rejected and fault condition changes and received APS messages are ignored.
|
| 462 | All administrative controls of any aspect of protection are rejected.";
|
| 463 | }
|
| 464 | leaf is-coordinated-switching-both-ends {
|
| 465 | type boolean;
|
| 466 | description "Is operating such that switching at both ends of each flow acorss the FC is coordinated at both ingress and egress ends.";
|
| 467 | }
|
| 468 | leaf max-switch-times {
|
| 469 | type uint64;
|
| 470 | description "Used to limit the maximum swtich times. When work fault disappears , and traffic return to the original work path, switch counter reset.";
|
| 471 | }
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 472 | leaf-list preferred-restoration-layer {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 473 | type tapi-common:layer-protocol-name;
|
| 474 | description "Indicate which layer this resilience parameters package configured for.";
|
| 475 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 476 | description "A list of control parameters to apply to a switch.";
|
| 477 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 478 | grouping cep-list {
|
| 479 | list connection-end-point {
|
| 480 | key 'uuid';
|
| 481 | uses connection-end-point;
|
| 482 | description "none";
|
| 483 | }
|
| 484 | description "none";
|
| 485 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 486 |
|
| 487 | /***********************
|
| 488 | * package type-definitions
|
| 489 | **********************/
|
| 490 | typedef service-type {
|
| 491 | type enumeration {
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 492 | enum POINT_TO_POINT_CONNECTIVITY {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 493 | description "none";
|
| 494 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 495 | enum POINT_TO_MULTIPOINT_CONNECTIVITY {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 496 | description "none";
|
| 497 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 498 | enum MULTIPOINT_CONNECTIVITY {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 499 | description "none";
|
| 500 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 501 | enum ROOTED_MULTIPOINT_CONNECTIVITY {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 502 | description "none";
|
| 503 | }
|
| 504 | }
|
| 505 | description "none";
|
| 506 | }
|
| 507 | typedef reversion-mode {
|
| 508 | type enumeration {
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 509 | enum REVERTIVE {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 510 | description "An FC switched to a lower priority (non-preferred) resource will revert to a higher priority (preferred) resource when that recovers (potentially after some hold-off time).";
|
| 511 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 512 | enum NON-REVERTIVE {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 513 | description "An FC switched to a lower priority (non-preferred) resource will not revert to a higher priority (preferred) resource when that recovers.";
|
| 514 | }
|
| 515 | }
|
| 516 | description "The reversion mode associated with protection.";
|
| 517 | }
|
| 518 | typedef selection-control {
|
| 519 | type enumeration {
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 520 | enum LOCK_OUT {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 521 | description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.
|
| 522 | This overrides all other protection control states including forced.
|
| 523 | If the item is locked out then it cannot be used under any circumstances.
|
| 524 | Note: Only relevant when part of a protection scheme.";
|
| 525 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 526 | enum NORMAL {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 527 | description "none";
|
| 528 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 529 | enum MANUAL {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 530 | description "none";
|
| 531 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 532 | enum FORCED {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 533 | description "none";
|
| 534 | }
|
| 535 | }
|
| 536 | description "Possible degrees of administrative control applied to the Route selection.";
|
| 537 | }
|
| 538 | typedef selection-reason {
|
| 539 | type enumeration {
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 540 | enum LOCKOUT {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 541 | description "none";
|
| 542 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 543 | enum NORMAL {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 544 | description "none";
|
| 545 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 546 | enum MANUAL {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 547 | description "none";
|
| 548 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 549 | enum FORCED {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 550 | description "none";
|
| 551 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 552 | enum WAIT_TO_REVERT {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 553 | description "none";
|
| 554 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 555 | enum SIGNAL_DEGRADE {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 556 | description "none";
|
| 557 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 558 | enum SIGNAL_FAIL {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 559 | description "none";
|
| 560 | }
|
| 561 | }
|
| 562 | description "The cause of the current route selection.";
|
| 563 | }
|
| 564 | typedef coordinate-type {
|
| 565 | type enumeration {
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 566 | enum NO_COORDINATE {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 567 | description "none";
|
| 568 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 569 | enum HOLD_OFF_TIME {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 570 | description "none";
|
| 571 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 572 | enum WAIT_FOR_NOTIFICATION {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 573 | description "none";
|
| 574 | }
|
| 575 | }
|
| 576 | description "none";
|
| 577 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 578 | typedef protection-role {
|
| 579 | type enumeration {
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 580 | enum WORK {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 581 | description "none";
|
| 582 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 583 | enum PROTECT {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 584 | description "none";
|
| 585 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 586 | enum PROTECTED {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 587 | description "none";
|
| 588 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 589 | enum NA {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 590 | description "none";
|
| 591 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 592 | enum WORK_RESTORE {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 593 | description "none";
|
| 594 | }
|
wu | 6a418d2 | 2018-02-02 01:49:21 -0500 | [diff] [blame] | 595 | enum PROTECT_RESTORE {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 596 | description "none";
|
| 597 | }
|
| 598 | }
|
| 599 | description "none";
|
| 600 | }
|
| 601 |
|
| 602 | /***********************
|
| 603 | * package interfaces
|
| 604 | **********************/
|
| 605 | rpc get-connection-details {
|
| 606 | description "none";
|
| 607 | input {
|
| 608 | leaf service-id-or-name {
|
| 609 | type string;
|
| 610 | description "none";
|
| 611 | }
|
| 612 | leaf connection-id-or-name {
|
| 613 | type string;
|
| 614 | description "none";
|
| 615 | }
|
| 616 | }
|
| 617 | output {
|
| 618 | container connection {
|
| 619 | uses connection;
|
| 620 | description "none";
|
| 621 | }
|
| 622 | }
|
| 623 | }
|
| 624 | rpc get-connectivity-service-list {
|
| 625 | description "none";
|
| 626 | output {
|
| 627 | list service {
|
| 628 | uses connectivity-service;
|
| 629 | description "none";
|
| 630 | }
|
| 631 | }
|
| 632 | }
|
| 633 | rpc get-connectivity-service-details {
|
| 634 | description "none";
|
| 635 | input {
|
| 636 | leaf service-id-or-name {
|
| 637 | type string;
|
| 638 | description "none";
|
| 639 | }
|
| 640 | }
|
| 641 | output {
|
| 642 | container service {
|
| 643 | uses connectivity-service;
|
| 644 | description "none";
|
| 645 | }
|
| 646 | }
|
| 647 | }
|
| 648 | rpc create-connectivity-service {
|
| 649 | description "none";
|
| 650 | input {
|
| 651 | list end-point {
|
Yuta HIGUCHI | 348bba7 | 2018-03-08 13:46:48 -0800 | [diff] [blame] | 652 | key 'local-id';
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 653 | min-elements 2;
|
| 654 | uses connectivity-service-end-point;
|
| 655 | description "none";
|
| 656 | }
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 657 | container connectivity-constraint {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 658 | uses connectivity-constraint;
|
| 659 | description "none";
|
| 660 | }
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 661 | container routing-constraint {
|
| 662 | uses tapi-path-computation:routing-constraint;
|
| 663 | description "none";
|
| 664 | }
|
| 665 | container topology-constraint {
|
| 666 | uses tapi-path-computation:topology-constraint;
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 667 | description "none";
|
| 668 | }
|
| 669 | list resilience-constraint {
|
| 670 | uses resilience-constraint;
|
| 671 | description "none";
|
| 672 | }
|
| 673 | leaf state {
|
| 674 | type string;
|
| 675 | description "none";
|
| 676 | }
|
| 677 | }
|
| 678 | output {
|
| 679 | container service {
|
| 680 | uses connectivity-service;
|
| 681 | description "none";
|
| 682 | }
|
| 683 | }
|
| 684 | }
|
| 685 | rpc update-connectivity-service {
|
| 686 | description "none";
|
| 687 | input {
|
| 688 | leaf service-id-or-name {
|
| 689 | type string;
|
| 690 | description "none";
|
| 691 | }
|
| 692 | container end-point {
|
| 693 | uses connectivity-service-end-point;
|
| 694 | description "none";
|
| 695 | }
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 696 | container connectivity-constraint {
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 697 | uses connectivity-constraint;
|
| 698 | description "none";
|
| 699 | }
|
hiroki | d8fd786 | 2018-10-09 15:24:24 +0900 | [diff] [blame] | 700 | container routing-constraint {
|
| 701 | uses tapi-path-computation:routing-constraint;
|
| 702 | description "none";
|
| 703 | }
|
| 704 | container topology-constraint {
|
| 705 | uses tapi-path-computation:topology-constraint;
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 706 | description "none";
|
| 707 | }
|
| 708 | list resilience-constraint {
|
| 709 | uses resilience-constraint;
|
| 710 | description "none";
|
| 711 | }
|
| 712 | leaf state {
|
| 713 | type string;
|
| 714 | description "none";
|
| 715 | }
|
| 716 | }
|
| 717 | output {
|
| 718 | container service {
|
| 719 | uses connectivity-service;
|
| 720 | description "none";
|
| 721 | }
|
| 722 | }
|
| 723 | }
|
| 724 | rpc delete-connectivity-service {
|
| 725 | description "none";
|
| 726 | input {
|
| 727 | leaf service-id-or-name {
|
| 728 | type string;
|
| 729 | description "none";
|
| 730 | }
|
| 731 | }
|
Toru Furusawa | 2898889 | 2017-10-30 17:28:40 -0700 | [diff] [blame] | 732 | }
|
| 733 |
|
| 734 | }
|