blob: 506eec95868a399f17a9145e6fadc14066f5c56b [file] [log] [blame]
Toru Furusawa28988892017-10-30 17:28:40 -07001module tapi-oam {
2 namespace "urn:onf:params:xml:ns:yang:tapi-oam";
3 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 }
13 organization "Open Networking Foundation (ONF) / Open Transport Working Group(OTWG) / Transport API (TAPI) Project";
14 contact "
15 WG Web: TAPI SDK Project <http://opensourcesdn.org/projects/project-snowmass/>
16 WG List: TAPI Discussion list <mailto: transport-api@login.opennetworking.org>,
17 WG Chair: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>,
18 Editor: Ricard Vilalta <mailto:ricard.vilalta@cttc.es>";
19 description "none";
20 revision 2017-05-31 {
21 description "TAPI SDK 2.0-alpha";
22 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020 and RFC 6087";
23 }
24 augment "/tapi-common:context" {
25 uses oam-context;
26 description "Augments the base TAPI Context with OamService information";
27 }
28 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
29 uses mep-mip-list;
30 description "none";
31 }
32 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
33 uses mep-mip-list;
34 description "none";
35 }
36 /***********************
37 * package object-classes
38 **********************/
39 grouping mep {
40 leaf-list on-demand-measurement-job {
41 type leafref {
42 path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:on-demand-measurement-job/tapi-oam:local-id';
43 }
44 config false;
45 description "none";
46 }
47 leaf-list pro-active-measurement-job {
48 type leafref {
49 path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:pro-active-measurement-job/tapi-oam:local-id';
50 }
51 config false;
52 description "none";
53 }
54 leaf layer-protocol-name {
55 type tapi-common:layer-protocol-name;
56 config false;
57 description "none";
58 }
59 leaf meg-identifier {
60 type string;
61 config false;
62 description "none";
63 }
64 leaf mep-identifier {
65 type string;
66 config false;
67 description "none";
68 }
69 leaf-list peer-mep-identifier {
70 type string;
71 config false;
72 min-elements 1;
73 description "none";
74 }
75 leaf monitored-direction {
76 type tapi-common:termination-direction;
77 description "none";
78 }
79 uses tapi-common:local-class;
80 description "none";
81 }
82 grouping on-demand-measurement-job {
Toru Furusawa28988892017-10-30 17:28:40 -070083 uses tapi-common:local-class;
wu6a418d22018-02-02 01:49:21 -050084 uses tapi-common:admin-state-pac;
Toru Furusawa28988892017-10-30 17:28:40 -070085 description "none";
86 }
87 grouping pro-active-measurement-job {
Toru Furusawa28988892017-10-30 17:28:40 -070088 uses tapi-common:local-class;
wu6a418d22018-02-02 01:49:21 -050089 uses tapi-common:admin-state-pac;
Toru Furusawa28988892017-10-30 17:28:40 -070090 description "none";
91 }
92 grouping meg {
93 list me {
94 key 'local-id';
95 config false;
96 min-elements 1;
97 uses me;
98 description "none";
99 }
100 list mep {
101 key 'local-id';
102 config false;
103 uses mep;
104 description "1. ME may have 0 MEPs (case of transit domains where at least 1 MIP is present)
105 2. ME may have 1 MEP (case of edge domaind, where the peer MEP is ouside the managed domain)
106 3. ME may have 2 MEPs";
107 }
108 list mip {
109 key 'local-id';
110 config false;
111 uses mip;
112 description "ME may 0, 1, or more MIPs";
113 }
114 leaf meg-level {
115 type uint64;
116 config false;
117 description "none";
118 }
119 uses tapi-common:resource-spec;
120 description "none";
121 }
122 grouping me {
123 leaf-list mep {
124 type leafref {
125 path '/tapi-common:context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
126 }
127 config false;
128 max-elements 2;
129 description "none";
130 }
131 leaf-list mip {
132 type leafref {
133 path '/tapi-common:context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';
134 }
135 config false;
136 description "none";
137 }
138 leaf connection-route {
139 type leafref {
140 path '/tapi-common:context/tapi-connectivity:connection/tapi-connectivity:route/tapi-connectivity:local-id';
141 }
142 config false;
143 description "none";
144 }
145 uses tapi-common:local-class;
146 description "none";
147 }
148 grouping mip {
149 leaf layer-protocol-name {
150 type tapi-common:layer-protocol-name;
151 config false;
152 description "none";
153 }
154 uses tapi-common:local-class;
155 description "none";
156 }
157 grouping oam-service {
158 leaf meg {
159 type leafref {
160 path '/tapi-common:context/tapi-oam:meg/tapi-oam:uuid';
161 }
162 config false;
163 description "none";
164 }
165 list end-point {
166 key 'local-id';
167 min-elements 1;
168 uses oam-service-end-point;
169 description "none";
170 }
171 uses tapi-common:service-spec;
172 description "none";
173 }
174 grouping oam-context {
175 list oam-service {
176 key 'uuid';
177 uses oam-service;
178 description "none";
179 }
180 list meg {
181 key 'uuid';
182 config false;
183 uses meg;
184 description "none";
185 }
186 description "none";
187 }
188 grouping oam-service-end-point {
189 leaf service-interface-point {
190 type leafref {
191 path '/tapi-common:context/tapi-common:service-interface-point/tapi-common:uuid';
192 }
193 description "none";
194 }
195 leaf connectivity-service-end-point {
196 type leafref {
197 path '/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point/tapi-connectivity:local-id';
198 }
199 description "none";
200 }
201 list pro-active-measurement-job {
202 key 'local-id';
203 uses pro-active-measurement-job;
204 description "none";
205 }
206 list on-demand-measurement-job {
207 key 'local-id';
208 uses on-demand-measurement-job;
209 description "none";
210 }
211 leaf associated-mep {
212 type leafref {
213 path '/tapi-common:context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
214 }
215 config false;
216 description "none";
217 }
218 leaf direction {
219 type tapi-common:port-direction;
220 config false;
221 description "none";
222 }
223 uses tapi-common:local-class;
224 description "none";
225 }
226 grouping mep-mip-list {
227 leaf-list mip {
228 type leafref {
229 path '/tapi-common:context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';
230 }
231 description "none";
232 }
233 leaf-list mep {
234 type leafref {
235 path '/tapi-common:context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
236 }
237 description "none";
238 }
239 description "none";
240 }
241
242 /***********************
243 * package interfaces
244 **********************/
245 rpc abort-measurement-job {
246 description "none";
247 }
248 rpc disable-pro-active-measurement-job {
249 description "none";
250 }
251 rpc enable-pro-active-measurement-job {
252 description "none";
253 }
254 rpc establish-measurement-job {
255 description "none";
256 }
257 rpc get-contained-measurement-jobs {
258 description "none";
259 }
260 rpc terminate-measurement-job {
261 description "none";
262 }
263 rpc get-all-contained-meg {
264 description "none";
265 }
266
267}