blob: da1627324aa22c69281dc448aecec0b29ccb662f [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 {
83 container state {
84 uses tapi-common:admin-state-pac;
85 description "none";
86 }
87 uses tapi-common:local-class;
88 description "none";
89 }
90 grouping pro-active-measurement-job {
91 container state {
92 uses tapi-common:admin-state-pac;
93 description "none";
94 }
95 uses tapi-common:local-class;
96 description "none";
97 }
98 grouping meg {
99 list me {
100 key 'local-id';
101 config false;
102 min-elements 1;
103 uses me;
104 description "none";
105 }
106 list mep {
107 key 'local-id';
108 config false;
109 uses mep;
110 description "1. ME may have 0 MEPs (case of transit domains where at least 1 MIP is present)
111 2. ME may have 1 MEP (case of edge domaind, where the peer MEP is ouside the managed domain)
112 3. ME may have 2 MEPs";
113 }
114 list mip {
115 key 'local-id';
116 config false;
117 uses mip;
118 description "ME may 0, 1, or more MIPs";
119 }
120 leaf meg-level {
121 type uint64;
122 config false;
123 description "none";
124 }
125 uses tapi-common:resource-spec;
126 description "none";
127 }
128 grouping me {
129 leaf-list mep {
130 type leafref {
131 path '/tapi-common:context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
132 }
133 config false;
134 max-elements 2;
135 description "none";
136 }
137 leaf-list mip {
138 type leafref {
139 path '/tapi-common:context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';
140 }
141 config false;
142 description "none";
143 }
144 leaf connection-route {
145 type leafref {
146 path '/tapi-common:context/tapi-connectivity:connection/tapi-connectivity:route/tapi-connectivity:local-id';
147 }
148 config false;
149 description "none";
150 }
151 uses tapi-common:local-class;
152 description "none";
153 }
154 grouping mip {
155 leaf layer-protocol-name {
156 type tapi-common:layer-protocol-name;
157 config false;
158 description "none";
159 }
160 uses tapi-common:local-class;
161 description "none";
162 }
163 grouping oam-service {
164 leaf meg {
165 type leafref {
166 path '/tapi-common:context/tapi-oam:meg/tapi-oam:uuid';
167 }
168 config false;
169 description "none";
170 }
171 list end-point {
172 key 'local-id';
173 min-elements 1;
174 uses oam-service-end-point;
175 description "none";
176 }
177 uses tapi-common:service-spec;
178 description "none";
179 }
180 grouping oam-context {
181 list oam-service {
182 key 'uuid';
183 uses oam-service;
184 description "none";
185 }
186 list meg {
187 key 'uuid';
188 config false;
189 uses meg;
190 description "none";
191 }
192 description "none";
193 }
194 grouping oam-service-end-point {
195 leaf service-interface-point {
196 type leafref {
197 path '/tapi-common:context/tapi-common:service-interface-point/tapi-common:uuid';
198 }
199 description "none";
200 }
201 leaf connectivity-service-end-point {
202 type leafref {
203 path '/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point/tapi-connectivity:local-id';
204 }
205 description "none";
206 }
207 list pro-active-measurement-job {
208 key 'local-id';
209 uses pro-active-measurement-job;
210 description "none";
211 }
212 list on-demand-measurement-job {
213 key 'local-id';
214 uses on-demand-measurement-job;
215 description "none";
216 }
217 leaf associated-mep {
218 type leafref {
219 path '/tapi-common:context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
220 }
221 config false;
222 description "none";
223 }
224 leaf direction {
225 type tapi-common:port-direction;
226 config false;
227 description "none";
228 }
229 uses tapi-common:local-class;
230 description "none";
231 }
232 grouping mep-mip-list {
233 leaf-list mip {
234 type leafref {
235 path '/tapi-common:context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';
236 }
237 description "none";
238 }
239 leaf-list mep {
240 type leafref {
241 path '/tapi-common:context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
242 }
243 description "none";
244 }
245 description "none";
246 }
247
248 /***********************
249 * package interfaces
250 **********************/
251 rpc abort-measurement-job {
252 description "none";
253 }
254 rpc disable-pro-active-measurement-job {
255 description "none";
256 }
257 rpc enable-pro-active-measurement-job {
258 description "none";
259 }
260 rpc establish-measurement-job {
261 description "none";
262 }
263 rpc get-contained-measurement-jobs {
264 description "none";
265 }
266 rpc terminate-measurement-job {
267 description "none";
268 }
269 rpc get-all-contained-meg {
270 description "none";
271 }
272
273}