blob: 261f5f03fea87f2fd150a15e5f7dcd67b8567182 [file] [log] [blame]
Toru Furusawa28988892017-10-30 17:28:40 -07001module tapi-oam {
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -08002 namespace "urn:onf:otcc:yang:tapi-oam";
Toru Furusawa28988892017-10-30 17:28:40 -07003 prefix tapi-oam;
4 import tapi-common {
5 prefix tapi-common;
6 }
7 import tapi-connectivity {
8 prefix tapi-connectivity;
9 }
10 import tapi-topology {
11 prefix tapi-topology;
12 }
Yuta HIGUCHI80d0bbd2018-02-28 11:13:11 -080013 organization "ONF OTCC (Open Transport Configuration & Control) Project";
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>";
19 description "
20 This module contains TAPI OAM Model definitions.
21 Source: TapiOam.uml
22 Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
23 License: This module is distributed under the Apache License 2.0";
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -070024 revision 2018-03-07 {
Yuta HIGUCHIe1ca23f2018-04-06 10:05:45 -070025 description "ONF Transport API version 2.0.2
26 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
27 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
28 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
29 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
30 }
31 revision 2018-02-16 {
32 description "ONF Transport API version 2.0.1
33 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
34 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
35 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
36 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
37 }
38 revision 2018-01-02 {
39 description "ONF Transport API version 2.0.0
40 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
41 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
42 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
43 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
Toru Furusawa28988892017-10-30 17:28:40 -070044 }
45 augment "/tapi-common:context" {
46 uses oam-context;
47 description "Augments the base TAPI Context with OamService information";
48 }
49 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
50 uses mep-mip-list;
51 description "none";
52 }
53 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
54 uses mep-mip-list;
55 description "none";
56 }
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -070057
58 /*************************
59 * definitions of references
60 *************************/
61 grouping oam-service-ref {
62 leaf oam-service-id {
63 type leafref {
64 path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:uuid';
65 }
66 description "none";
67 }
68 description "none";
69 }
70
71 grouping oam-service-end-point-ref {
72 uses oam-service-ref;
73 leaf oam-service-end-point-id {
74 type leafref {
75 path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:local-id';
76 }
77 description "none";
78 }
79 description "none";
80 }
81 grouping meg-ref {
82 leaf meg-id {
83 type leafref {
84 path '/tapi-common:context/tapi-oam:meg/tapi-oam:uuid';
85 }
86 description "none";
87 }
88 description "none";
89 }
90
91 grouping mep-ref {
92 uses meg-ref;
93 leaf mep-id {
94 type leafref {
95 path '/tapi-common:context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
96 }
97 description "none";
98 }
99 description "none";
100 }
101
102 grouping mip-ref {
103 uses meg-ref;
104 leaf mip-id {
105 type leafref {
106 path '/tapi-common:context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';
107 }
108 description "none";
109 }
110 description "none";
111 }
112
113 grouping me-ref {
114 uses meg-ref;
115 leaf me-id {
116 type leafref {
117 path '/tapi-common:context/tapi-oam:meg/tapi-oam:me/tapi-oam:local-id';
118 }
119 description "none";
120 }
121 description "none";
122 }
123
Toru Furusawa28988892017-10-30 17:28:40 -0700124 /***********************
125 * package object-classes
126 **********************/
127 grouping mep {
128 leaf-list on-demand-measurement-job {
129 type leafref {
130 path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:on-demand-measurement-job/tapi-oam:local-id';
131 }
132 config false;
133 description "none";
134 }
135 leaf-list pro-active-measurement-job {
136 type leafref {
137 path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:pro-active-measurement-job/tapi-oam:local-id';
138 }
139 config false;
140 description "none";
141 }
142 leaf layer-protocol-name {
143 type tapi-common:layer-protocol-name;
144 config false;
145 description "none";
146 }
147 leaf meg-identifier {
148 type string;
149 config false;
150 description "none";
151 }
152 leaf mep-identifier {
153 type string;
154 config false;
155 description "none";
156 }
157 leaf-list peer-mep-identifier {
158 type string;
159 config false;
160 min-elements 1;
161 description "none";
162 }
163 leaf monitored-direction {
164 type tapi-common:termination-direction;
165 description "none";
166 }
167 uses tapi-common:local-class;
168 description "none";
169 }
170 grouping on-demand-measurement-job {
Toru Furusawa28988892017-10-30 17:28:40 -0700171 uses tapi-common:local-class;
wu6a418d22018-02-02 01:49:21 -0500172 uses tapi-common:admin-state-pac;
Toru Furusawa28988892017-10-30 17:28:40 -0700173 description "none";
174 }
175 grouping pro-active-measurement-job {
Toru Furusawa28988892017-10-30 17:28:40 -0700176 uses tapi-common:local-class;
wu6a418d22018-02-02 01:49:21 -0500177 uses tapi-common:admin-state-pac;
Toru Furusawa28988892017-10-30 17:28:40 -0700178 description "none";
179 }
180 grouping meg {
181 list me {
182 key 'local-id';
183 config false;
184 min-elements 1;
185 uses me;
186 description "none";
187 }
188 list mep {
189 key 'local-id';
190 config false;
191 uses mep;
192 description "1. ME may have 0 MEPs (case of transit domains where at least 1 MIP is present)
193 2. ME may have 1 MEP (case of edge domaind, where the peer MEP is ouside the managed domain)
194 3. ME may have 2 MEPs";
195 }
196 list mip {
197 key 'local-id';
198 config false;
199 uses mip;
200 description "ME may 0, 1, or more MIPs";
201 }
202 leaf meg-level {
203 type uint64;
204 config false;
205 description "none";
206 }
207 uses tapi-common:resource-spec;
208 description "none";
209 }
210 grouping me {
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700211 list mep {
212 uses mep-ref;
213 key 'meg-id mep-id';
Toru Furusawa28988892017-10-30 17:28:40 -0700214 config false;
215 max-elements 2;
216 description "none";
217 }
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700218 list mip {
219 uses mip-ref;
220 key 'meg-id mip-id';
Toru Furusawa28988892017-10-30 17:28:40 -0700221 config false;
222 description "none";
223 }
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700224 container connection-route {
225 uses tapi-connectivity:route-ref;
Toru Furusawa28988892017-10-30 17:28:40 -0700226 config false;
227 description "none";
228 }
229 uses tapi-common:local-class;
230 description "none";
231 }
232 grouping mip {
233 leaf layer-protocol-name {
234 type tapi-common:layer-protocol-name;
235 config false;
236 description "none";
237 }
238 uses tapi-common:local-class;
239 description "none";
240 }
241 grouping oam-service {
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700242 container meg {
243 uses meg-ref;
Toru Furusawa28988892017-10-30 17:28:40 -0700244 config false;
245 description "none";
246 }
247 list end-point {
248 key 'local-id';
249 min-elements 1;
250 uses oam-service-end-point;
251 description "none";
252 }
253 uses tapi-common:service-spec;
254 description "none";
255 }
256 grouping oam-context {
257 list oam-service {
258 key 'uuid';
259 uses oam-service;
260 description "none";
261 }
262 list meg {
263 key 'uuid';
264 config false;
265 uses meg;
266 description "none";
267 }
268 description "none";
269 }
270 grouping oam-service-end-point {
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700271 container service-interface-point {
272 uses tapi-common:service-interface-point-ref;
Toru Furusawa28988892017-10-30 17:28:40 -0700273 description "none";
274 }
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700275 container connectivity-service-end-point {
276 uses tapi-connectivity:connectivity-service-end-point-ref;
Toru Furusawa28988892017-10-30 17:28:40 -0700277 description "none";
278 }
279 list pro-active-measurement-job {
280 key 'local-id';
281 uses pro-active-measurement-job;
282 description "none";
283 }
284 list on-demand-measurement-job {
285 key 'local-id';
286 uses on-demand-measurement-job;
287 description "none";
288 }
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700289 container associated-mep {
290 uses mep-ref;
Toru Furusawa28988892017-10-30 17:28:40 -0700291 config false;
292 description "none";
293 }
294 leaf direction {
295 type tapi-common:port-direction;
296 config false;
297 description "none";
298 }
299 uses tapi-common:local-class;
300 description "none";
301 }
302 grouping mep-mip-list {
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700303 list mip {
304 uses mip-ref;
305 key 'meg-id mip-id';
Toru Furusawa28988892017-10-30 17:28:40 -0700306 description "none";
307 }
Yuta HIGUCHI7f165b12018-03-25 19:05:29 -0700308 list mep {
309 uses mep-ref;
310 key 'meg-id mep-id';
Toru Furusawa28988892017-10-30 17:28:40 -0700311 description "none";
312 }
313 description "none";
314 }
315
316 /***********************
317 * package interfaces
318 **********************/
319 rpc abort-measurement-job {
320 description "none";
321 }
322 rpc disable-pro-active-measurement-job {
323 description "none";
324 }
325 rpc enable-pro-active-measurement-job {
326 description "none";
327 }
328 rpc establish-measurement-job {
329 description "none";
330 }
331 rpc get-contained-measurement-jobs {
332 description "none";
333 }
334 rpc terminate-measurement-job {
335 description "none";
336 }
337 rpc get-all-contained-meg {
338 description "none";
339 }
340
341}