1 module mef-services {
\r
2 namespace "http://metroethernetforum.org/ns/yang/mef-services";
\r
4 import ietf-yang-types { prefix yang; }
\r
5 import ietf-inet-types { prefix inet; }
\r
6 import mef-types { prefix mef-types; }
\r
7 import mef-global { prefix mef-global; }
\r
8 import mef-interfaces { prefix mef-interfaces; }
\r
9 organization "Metro Ethernet Forum";
\r
11 "Web URL: http://metroethernetforum.org/ E-mail: mibs@metroethernetforum.org
\r
12 Postal: Metro Ethernet Forum 6033 W. Century Boulevard, Suite
\r
13 1107 Los Angeles, CA 90045 U.S.A. Phone: +1 310-642-2800 Fax:
\r
16 "This module implements the Carrier Ethernet Services as defined
\r
17 in MEF 10.3, MEF 6.2, and MEF 7.2. Reference Overview: A number
\r
18 of base documents have been used to create the MEF Services YANG
\r
19 Module. The following are the abbreviations for the baseline documents:
\r
20 [RFC 6991] refers to IETF RFC 6991 'Common YANG Data Types', 2013-07-15
\r
21 [RFC 6643] refers to IETF RFC 6643 'Translation of Structure of
\r
22 Management Information Version 2 (SMIv2) MIB Modules to YANG Modules',
\r
23 2011-11-25 [802.1AB] refers to 'Station and Media Access Control
\r
24 Connectivity Discovery', IEEE 802.1AB-2009, September 2009 [802.1q]
\r
25 refers to IEEE 802.1Q-2011 'IEEE Standard for Local and metropolitan
\r
26 area networks --Media Access Control (MAC) Bridges and Virtual
\r
27 Bridged Local Area Networks, August 2011 [802-2001] refers to
\r
28 'IEEE Standard for Local and Metropolitan Area Networks: Overview
\r
29 and Architecture', IEEE 802-2001, February 2002 [MEF10.3] refers
\r
30 to MEF 10.3 'Ethernet Services Attributes Phase 3', October 2013
\r
31 [MEF6.2] refers to MEF 6.2 'EVC Ethernet Services Defintions Phase
\r
32 3', August 2014 [MEF40] refers to MEF 40 'UNI and EVC Definition
\r
33 of Managed Objects', April 2013 [MEF45] refers to MEF 45 'Multi-CEN
\r
34 L2CP', August 2014 [MEF7.2] refers to MEF 7.2 'Carrier Ethernet
\r
35 Management Information Model', April 2013 [MEF7.3] refers to MEF
\r
36 7.3 'Carrier Ethernet Management Information Model', Working Draft
\r
37 #1 2015 [RFC 2737] refers to IETF RFC 2737 'Entity MIB (Version
\r
38 2)', December 1999 [RFC 2863] refers to IETF RFC 2863 'The Interfaces
\r
39 Group MIB', June 2000 [RFC 3419] refers to IETF RFC 3419 'Textual
\r
40 Conventions for Transport Addresses', December 2002 [Y.1731] refers
\r
41 to ITU-T Y.1731 'OAM functions and mechanisms for Ethernet based
\r
42 networks', July 2011 [Q.840.1] refers to ITU-T Q.840.1 'Requirements
\r
43 and analysis for NMS-EMS management interface of Ethernet over
\r
44 Transport and Metro Ethernet Network(EoT/MEN)' March 2007";
\r
45 revision 2015-05-26 {
\r
47 "Formal Project Review Draft 1.";
\r
48 reference "EVC Ethernet Services Definitions YANG Modules " +
\r
52 container mef-services {
\r
56 must "(not(/mef-global:mef-global/mef-global:svc-providers)" +
\r
58 "not(./sp-id)) or " +
\r
59 "(/mef-global:mef-global/mef-global:svc-providers and " +
\r
61 error-message "If the Service Providers list has been " +
\r
62 "populated, a Service Provider ID must be " +
\r
63 "configured for a Service.";
\r
65 "A Service sees a single Service Provider. This must " +
\r
66 "statement is effectively a 'mandatory true' when " +
\r
67 "the Global Service Providers list is being used.";
\r
70 unique "evc/evc-id";
\r
71 unique "ipvc/ipvc-id";
\r
73 "Metro Ethernet Forum's Ethernet Services.";
\r
74 choice mef-service-choice {
\r
81 path "/mef-interfaces:mef-interfaces/" +
\r
82 "mef-interfaces:unis/mef-interfaces:uni/" +
\r
83 "mef-interfaces:uni-id";
\r
87 type mef-types:identifier45;
\r
90 container evc-uni-ce-vlans {
\r
92 "EVC Per UNI CE-VLAN IDs.";
\r
93 list evc-uni-ce-vlan {
\r
96 "A list of the CE-VLAN IDs mapped to this UNI " +
\r
98 reference "[MEF10.3] Section 8.6.1, [R24] " +
\r
99 "[R25], Section 9.10.2, Section 9.12, " +
\r
103 path "/mef-interfaces:mef-interfaces/" +
\r
104 "mef-interfaces:unis/" +
\r
105 "mef-interfaces:uni" +
\r
106 "[mef-interfaces:uni-id = " +
\r
107 "current()/../../../uni-id]" +
\r
108 "/mef-interfaces:ce-vlans/" +
\r
109 "mef-interfaces:ce-vlan/" +
\r
110 "mef-interfaces:vid";
\r
113 "VLAN Identifier.";
\r
121 type mef-types:evc-id-type;
\r
125 type mef-types:ipvc-type;
\r
129 "This IPVC attribute describes the IPVC as either " +
\r
130 "Cloud-access, Multipoint, or " +
\r
131 "Rooted-Multipoint.";
\r
138 must "not(sls-uni-inclusions) or " +
\r
139 "(sls-uni-inclusions and not(sls-uni-exclusions))" {
\r
140 error-message "The EVC Performance SLS Exclusions and " +
\r
141 "Inclusions List cannot both be configured for " +
\r
144 "The EVC Performance SLS Exclusions and Inclusions " +
\r
145 "List cannot both be configured for an EVC.";
\r
147 must "(evc-type != 'rooted-multipoint') or " +
\r
148 "((evc-type = 'rooted-multipoint') and " +
\r
149 "not(sls-uni-exclusions) )" {
\r
150 error-message "If EVC Type is Rooted-Multipoint, " +
\r
151 "sls-uni-inclusions must be used instead of " +
\r
152 "sls-uni-exclusions.";
\r
154 "If EVC Type is Rooted-Multipoint, " +
\r
155 "sls-uni-inclusions must be used instead of " +
\r
156 "sls-uni-exclusions.";
\r
159 "Ethernet Virtual Circuit(EVC) Configuration and Status.";
\r
162 "EVC Per Universal Network Interface(UNI) " +
\r
163 "Configuration and Status.";
\r
165 must "not(evc-uni-ce-vlans/evc-uni-ce-vlan[2]) or " +
\r
166 "../../preserve-ce-vlan-id = 'true'" {
\r
167 error-message "When more than one CE-VLAN-ID is " +
\r
168 "mapped to an EVC at a UNI, the EVC must have " +
\r
169 "CE-VLAN ID Preservation Enabled.";
\r
171 "When more than one CE-VLAN-ID is mapped to " +
\r
172 "an EVC at a UNI, the EVC must have CE-VLAN ID " +
\r
173 "Preservation Enabled.";
\r
175 must "/mef-interfaces:mef-interfaces/mef-interfaces:" +
\r
176 "unis/mef-interfaces:uni" +
\r
177 "[mef-interfaces:uni-id = current()/" +
\r
178 "mef-services:uni-id]" +
\r
179 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
180 "max-svc-frame-size >= current()/../../" +
\r
181 "mef-services:max-svc-frame-size]" {
\r
182 error-message "The value of the EVC Maximum " +
\r
183 "Service Frame Size must be less than " +
\r
184 "or equal to all the UNI Maximum Service " +
\r
187 "The value of the EVC Maximum Service Frame " +
\r
188 "Size must be less than or equal to all the " +
\r
189 "UNI Maximum Service Frame Sizes.";
\r
191 must "(/mef-interfaces:mef-interfaces/mef-interfaces:" +
\r
192 "unis/mef-interfaces:uni" +
\r
193 "[mef-interfaces:uni-id = current()/" +
\r
194 "mef-services:uni-id]" +
\r
195 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
196 "bundling-enabled = 'true']) or " +
\r
197 "(/mef-interfaces:mef-interfaces/" +
\r
198 "mef-interfaces:unis/mef-interfaces:uni" +
\r
199 "[mef-interfaces:uni-id = current()/" +
\r
200 "mef-services:uni-id]" +
\r
201 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
202 "all-to-one-bundling-enabled = 'true']) or " +
\r
203 "not(evc-uni-ce-vlans/evc-uni-ce-vlan[2])" {
\r
204 error-message "If both Bundling and All-to-One " +
\r
205 "Bundling are disabled for a UNI, only one " +
\r
206 "CE VLAN ID can be configured for a specific " +
\r
207 "EVC on that UNI.";
\r
209 "If both Bundling and All-to-One Bundling are " +
\r
210 "disabled for a UNI, only one CE VLAN ID can be " +
\r
211 "configured for a specific EVC on that UNI.";
\r
213 must "(/mef-interfaces:mef-interfaces/mef-interfaces:" +
\r
214 "unis/mef-interfaces:uni" +
\r
215 "[mef-interfaces:uni-id = current()/" +
\r
216 "mef-services:uni-id]" +
\r
217 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
218 "all-to-one-bundling-enabled = 'false']) or " +
\r
219 "(count(/mef-services:mef-services/" +
\r
220 "mef-service/evc/unis/uni[uni-id = " +
\r
221 "current()/uni-id]) = 1)" {
\r
222 error-message "If All-to-One Bundling is enabled " +
\r
223 "for any UNI in an EVC, all CE-VLAN IDs " +
\r
224 "mapped to any EVC for that UNI must map " +
\r
225 "to the same EVC ID.";
\r
227 "If All-to-One Bundling is enabled for any UNI " +
\r
228 "in an EVC, all CE-VLAN IDs mapped to any EVC " +
\r
229 "for that UNI must map to the same EVC ID.";
\r
231 must "((/mef-interfaces:mef-interfaces/" +
\r
232 "mef-interfaces:unis/mef-interfaces:uni" +
\r
233 "[mef-interfaces:uni-id = current()/" +
\r
234 "mef-services:uni-id]" +
\r
235 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
236 "ingress-bw-profile-per-uni]) or " +
\r
237 "(/mef-services:mef-services/mef-service/" +
\r
239 "[uni-id = current()/mef-services:uni-id]" +
\r
240 "/ingress-bwp-flows-per-cos) or " +
\r
241 "(/mef-services:mef-services/mef-service/" +
\r
243 "[uni-id = current()/mef-services:uni-id]" +
\r
244 "/ingress-bw-profile-per-evc)) or " +
\r
245 "not(/mef-interfaces:mef-interfaces/" +
\r
246 "mef-interfaces:unis/mef-interfaces:uni" +
\r
247 "[mef-interfaces:uni-id = current()/" +
\r
248 "mef-services:uni-id]" +
\r
249 "/mef-interfaces:ingress-envelopes)" {
\r
250 error-message "If no Ingress Bandwidth Profiles " +
\r
251 "are specied for this UNI (BW Profile " +
\r
252 "Per UNI, BWP Flows Per CoS, nor BW Profile " +
\r
253 "Per EVC), then the UNI Ingress Envelopes " +
\r
254 "list must be empty.";
\r
256 "If no Ingress Bandwidth Profiles are specied " +
\r
257 "for this UNI (BW Profile Per UNI, BWP Flows " +
\r
258 "Per CoS, nor BW Profile Per EVC), then the " +
\r
259 "UNI Ingress Envelopes list must be empty.";
\r
261 must "((/mef-interfaces:mef-interfaces/" +
\r
262 "mef-interfaces:unis/mef-interfaces:uni" +
\r
263 "[mef-interfaces:uni-id = current()/" +
\r
264 "mef-services:uni-id]" +
\r
265 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
266 "egress-bw-profile-per-uni]) or " +
\r
267 "(/mef-services:mef-services/mef-service/" +
\r
269 "[uni-id = current()/mef-services:uni-id]" +
\r
270 "/egress-bwp-flows-per-eec) or " +
\r
271 "(/mef-services:mef-services/mef-service/" +
\r
273 "[uni-id = current()/mef-services:uni-id]" +
\r
274 "/egress-bw-profile-per-evc)) or " +
\r
275 "not(/mef-interfaces:mef-interfaces/" +
\r
276 "mef-interfaces:unis/mef-interfaces:uni" +
\r
277 "[mef-interfaces:uni-id = current()/" +
\r
278 "mef-services:uni-id]" +
\r
279 "/mef-interfaces:egress-envelopes)" {
\r
280 error-message "If no Egress Bandwidth Profiles are " +
\r
281 "specied for this UNI (BW Profile Per UNI, " +
\r
282 "BWP Flows Per EEC, nor BW Profile Per EVC), " +
\r
283 "then the UNI Egress Envelopes list must be " +
\r
286 "If no Egress Bandwidth Profiles are specied " +
\r
287 "for this UNI (BW Profile Per UNI, BWP Flows " +
\r
288 "Per EEC, nor BW Profile Per EVC), then the UNI " +
\r
289 "Egress Envelopes list must be empty.";
\r
291 must "not(./ingress-bw-profile-per-evc) or " +
\r
292 "((./ingress-bw-profile-per-evc) and " +
\r
293 "not(./ingress-bwp-flows-per-cos))" {
\r
294 error-message "If there is a per EVC Ingress " +
\r
295 "Bandwidth Profile on an EVC, then there " +
\r
296 "cannot be any per Class of Service Ingress " +
\r
297 "Bandwidth Profiles on that EVC.";
\r
299 "If there is a per EVC Ingress Bandwidth Profile " +
\r
300 "on an EVC, then there cannot be any per " +
\r
301 "Class of Service Ingress Bandwidth Profiles " +
\r
304 must "not(./egress-bw-profile-per-evc) or " +
\r
305 "((./egress-bw-profile-per-evc) and " +
\r
306 "not(./egress-bwp-flows-per-eec))" {
\r
307 error-message "If there is a per EVC Egress " +
\r
308 "Bandwidth Profile on an EVC, then there " +
\r
309 "cannot be any per Egress Equivalence " +
\r
310 "Class Identifier Bandwidth Profiles on " +
\r
313 "If there is a per EVC Egress Bandwidth " +
\r
314 "Profile on an EVC, then there cannot be " +
\r
315 "any per Egress Equivalence Class Identifier " +
\r
316 "Bandwidth Profiles on that EVC.";
\r
318 must "not(/mef-interfaces:mef-interfaces/" +
\r
319 "mef-interfaces:unis/mef-interfaces:uni" +
\r
320 "[mef-interfaces:uni-id = current()/" +
\r
321 "mef-services:uni-id]" +
\r
322 "/mef-interfaces:ingress-bw-profile-" +
\r
324 "(/mef-global:mef-global/mef-global:" +
\r
325 "profiles/mef-global:ingress-bwp-flows/" +
\r
326 "mef-global:bwp-flow" +
\r
327 "[mef-global:bw-profile = /mef-interfaces:" +
\r
328 "mef-interfaces/mef-interfaces:unis/" +
\r
329 "mef-interfaces:uni" +
\r
330 "[mef-interfaces:uni-id = current()/" +
\r
331 "mef-services:uni-id]" +
\r
332 "/mef-interfaces:ingress-bw-profile-per-uni]" +
\r
333 "[mef-global:cir = 0]) or " +
\r
334 "(/mef-global:mef-global/mef-global:" +
\r
335 "profiles/mef-global:ingress-bwp-flows/" +
\r
336 "mef-global:bwp-flow" +
\r
337 "[mef-global:bw-profile = /mef-interfaces:" +
\r
338 "mef-interfaces/mef-interfaces:unis/" +
\r
339 "mef-interfaces:uni" +
\r
340 "[mef-interfaces:uni-id = current()/" +
\r
341 "mef-services:uni-id]" +
\r
342 "/mef-interfaces:ingress-bw-profile-per-uni]" +
\r
343 "[mef-global:cbs >= current()/../../" +
\r
344 "max-svc-frame-size])" {
\r
345 error-message "Ingress Bandwidth Profile Per UNI: " +
\r
346 "If CIR > 0, CBS must be greater than or " +
\r
347 "equal to the EVC Max Service Frame Size " +
\r
350 "Ingress Bandwidth Profile Per UNI: If CIR > 0, " +
\r
351 "CBS must be greater than or equal to the " +
\r
352 "EVC Max Service Frame Size for the EVC.";
\r
354 must "not(/mef-interfaces:mef-interfaces/" +
\r
355 "mef-interfaces:unis/mef-interfaces:uni" +
\r
356 "[mef-interfaces:uni-id = current()/" +
\r
357 "mef-services:uni-id]" +
\r
358 "/mef-interfaces:egress-bw-profile-per-uni) " +
\r
360 "(/mef-global:mef-global/mef-global:profiles/" +
\r
361 "mef-global:egress-bwp-flows/mef-global:" +
\r
363 "[mef-global:bw-profile = /mef-interfaces:" +
\r
364 "mef-interfaces/mef-interfaces:unis/" +
\r
365 "mef-interfaces:uni" +
\r
366 "[mef-interfaces:uni-id = current()/" +
\r
367 "mef-services:uni-id]" +
\r
368 "/mef-interfaces:egress-bw-profile-per-uni]" +
\r
369 "[mef-global:cir = 0]) or " +
\r
370 "(/mef-global:mef-global/mef-global:profiles/" +
\r
371 "mef-global:ingress-bwp-flows/mef-global:" +
\r
373 "[mef-global:bw-profile = /mef-interfaces:" +
\r
374 "mef-interfaces/mef-interfaces:unis/" +
\r
375 "mef-interfaces:uni" +
\r
376 "[mef-interfaces:uni-id = current()/" +
\r
377 "mef-services:uni-id]" +
\r
378 "/mef-interfaces:egress-bw-profile-per-uni]" +
\r
379 "[mef-global:cbs >= current()/../../" +
\r
380 "max-svc-frame-size])" {
\r
381 error-message "Egress Bandwidth Profile Per UNI: " +
\r
382 "If CIR > 0, CBS must be greater than or " +
\r
383 "equal to the EVC Max Service Frame Size " +
\r
386 "Egress Bandwidth Profile Per UNI: If CIR > 0, " +
\r
387 "CBS must be greater than or equal to the " +
\r
388 "EVC Max Service Frame Size for the EVC.";
\r
390 must "not(/mef-interfaces:mef-interfaces/" +
\r
391 "mef-interfaces:unis/mef-interfaces:uni" +
\r
392 "[mef-interfaces:uni-id = current()/" +
\r
393 "mef-services:uni-id]" +
\r
394 "/mef-interfaces:ingress-envelopes) or " +
\r
395 "(/mef-global:mef-global/mef-global:" +
\r
396 "profiles/mef-global:ingress-bwp-flows/" +
\r
397 "mef-global:bwp-flow" +
\r
398 "[mef-global:bw-profile = /mef-interfaces:" +
\r
399 "mef-interfaces/mef-interfaces:unis/" +
\r
400 "mef-interfaces:uni" +
\r
401 "[mef-interfaces:uni-id = current()/" +
\r
402 "mef-services:uni-id]" +
\r
403 "/mef-interfaces:ingress-envelopes/" +
\r
404 "mef-interfaces:envelope/mef-interfaces:" +
\r
405 "bwp-flows/mef-interfaces:bwp-flow/" +
\r
406 "mef-interfaces:bw-profile]" +
\r
407 "[mef-global:cir = 0]) or " +
\r
408 "(/mef-global:mef-global/mef-global:" +
\r
409 "profiles/mef-global:ingress-bwp-flows/" +
\r
410 "mef-global:bwp-flow" +
\r
411 "[mef-global:bw-profile = /mef-interfaces:" +
\r
412 "mef-interfaces/mef-interfaces:unis/" +
\r
413 "mef-interfaces:uni" +
\r
414 "[mef-interfaces:uni-id = current()/" +
\r
415 "mef-services:uni-id]" +
\r
416 "/mef-interfaces:ingress-envelopes/" +
\r
417 "mef-interfaces:envelope/mef-interfaces:" +
\r
418 "bwp-flows/mef-interfaces:bwp-flow/" +
\r
419 "mef-interfaces:bw-profile]" +
\r
420 "[mef-global:cbs >= current()/../../" +
\r
421 "max-svc-frame-size])" {
\r
422 error-message "Ingress Bandwidth Profile Envelope: " +
\r
423 "If CIR > 0, CBS must be greater than or " +
\r
424 "equal to the EVC Max Service Frame Size " +
\r
427 "Ingress Bandwidth Profile Envelope: " +
\r
428 "If CIR > 0, CBS must be greater than " +
\r
429 "or equal to the EVC Max Service Frame " +
\r
430 "Size for the EVC.";
\r
432 must "not(/mef-interfaces:mef-interfaces/" +
\r
433 "mef-interfaces:unis/mef-interfaces:uni" +
\r
434 "[mef-interfaces:uni-id = current()/" +
\r
435 "mef-services:uni-id]" +
\r
436 "/mef-interfaces:egress-envelopes) or " +
\r
437 "(/mef-global:mef-global/mef-global:" +
\r
438 "profiles/mef-global:egress-bwp-flows/" +
\r
439 "mef-global:bwp-flow" +
\r
440 "[mef-global:bw-profile = " +
\r
441 "/mef-interfaces:mef-interfaces/" +
\r
442 "mef-interfaces:unis/mef-interfaces:uni" +
\r
443 "[mef-interfaces:uni-id = current()/" +
\r
444 "mef-services:uni-id]" +
\r
445 "/mef-interfaces:egress-envelopes/" +
\r
446 "mef-interfaces:envelope/mef-interfaces:" +
\r
447 "bwp-flows/mef-interfaces:bwp-flow/" +
\r
448 "mef-interfaces:bw-profile]" +
\r
449 "[mef-global:cir = 0]) or " +
\r
450 "(/mef-global:mef-global/mef-global:" +
\r
451 "profiles/mef-global:egress-bwp-flows/" +
\r
452 "mef-global:bwp-flow" +
\r
453 "[mef-global:bw-profile = /mef-interfaces:" +
\r
454 "mef-interfaces/mef-interfaces:unis/" +
\r
455 "mef-interfaces:uni" +
\r
456 "[mef-interfaces:uni-id = current()/" +
\r
457 "mef-services:uni-id]" +
\r
458 "/mef-interfaces:egress-envelopes/" +
\r
459 "mef-interfaces:envelope/mef-interfaces:" +
\r
460 "bwp-flows/mef-interfaces:bwp-flow/" +
\r
461 "mef-interfaces:bw-profile]" +
\r
462 "[mef-global:cbs >= current()/../../" +
\r
463 "max-svc-frame-size])" {
\r
464 error-message "Egress Bandwidth Profile " +
\r
465 "Envelope: If CIR > 0, CBS must be greater " +
\r
466 "than or equal to the EVC Max Service Frame " +
\r
467 "Size for the EVC.";
\r
469 "Egress Bandwidth Profile Envelope: If CIR > 0, " +
\r
470 "CBS must be greater than or equal to the " +
\r
471 "EVC Max Service Frame Size for the EVC.";
\r
473 must "not(/mef-interfaces:mef-interfaces/" +
\r
474 "mef-interfaces:unis/mef-interfaces:uni" +
\r
475 "[mef-interfaces:uni-id = current()/" +
\r
476 "mef-services:uni-id]" +
\r
477 "/mef-interfaces:ingress-bw-profile-per-uni) " +
\r
479 "(/mef-global:mef-global/mef-global:profiles/" +
\r
480 "mef-global:ingress-bwp-flows/mef-global:" +
\r
482 "[mef-global:bw-profile = /mef-interfaces:" +
\r
483 "mef-interfaces/mef-interfaces:unis/" +
\r
484 "mef-interfaces:uni" +
\r
485 "[mef-interfaces:uni-id = current()/" +
\r
486 "mef-services:uni-id]/mef-interfaces:" +
\r
487 "ingress-bw-profile-per-uni]" +
\r
488 "[mef-global:eir = 0]) or " +
\r
489 "(/mef-global:mef-global/mef-global:profiles/" +
\r
490 "mef-global:ingress-bwp-flows/" +
\r
491 "mef-global:bwp-flow" +
\r
492 "[mef-global:bw-profile = /mef-interfaces:" +
\r
493 "mef-interfaces/mef-interfaces:unis/" +
\r
494 "mef-interfaces:uni" +
\r
495 "[mef-interfaces:uni-id = current()/" +
\r
496 "mef-services:uni-id]" +
\r
497 "/mef-interfaces:ingress-bw-profile-per-uni]" +
\r
498 "[mef-global:ebs >= current()/../../" +
\r
499 "max-svc-frame-size])" {
\r
500 error-message "Ingress Bandwidth Profile Per UNI: " +
\r
501 "If EIR > 0, EBS must be greater than or " +
\r
502 "equal to the EVC Max Service Frame Size " +
\r
505 "Ingress Bandwidth Profile Per UNI: If EIR > 0, " +
\r
506 "EBS must be greater than or equal to the " +
\r
507 "EVC Max Service Frame Size for the EVC.";
\r
509 must "not(/mef-interfaces:mef-interfaces/" +
\r
510 "mef-interfaces:unis/mef-interfaces:uni" +
\r
511 "[mef-interfaces:uni-id = current()/" +
\r
512 "mef-services:uni-id]" +
\r
513 "/mef-interfaces:egress-bw-profile-" +
\r
515 "(/mef-global:mef-global/mef-global:" +
\r
516 "profiles/mef-global:egress-bwp-flows/" +
\r
517 "mef-global:bwp-flow" +
\r
518 "[mef-global:bw-profile = /mef-interfaces:" +
\r
519 "mef-interfaces/mef-interfaces:unis/" +
\r
520 "mef-interfaces:uni" +
\r
521 "[mef-interfaces:uni-id = current()/" +
\r
522 "mef-services:uni-id]/mef-interfaces:" +
\r
523 "egress-bw-profile-per-uni]" +
\r
524 "[mef-global:eir = 0]) or " +
\r
525 "(/mef-global:mef-global/mef-global:" +
\r
526 "profiles/mef-global:ingress-bwp-flows/" +
\r
527 "mef-global:bwp-flow" +
\r
528 "[mef-global:bw-profile = /mef-interfaces:" +
\r
529 "mef-interfaces/mef-interfaces:unis/" +
\r
530 "mef-interfaces:uni" +
\r
531 "[mef-interfaces:uni-id = current()/" +
\r
532 "mef-services:uni-id]/mef-interfaces:" +
\r
533 "egress-bw-profile-per-uni]" +
\r
534 "[mef-global:ebs >= current()/../../" +
\r
535 "max-svc-frame-size])" {
\r
536 error-message "Egress Bandwidth Profile Per UNI: " +
\r
537 "If EIR > 0, EBS must be greater than or " +
\r
538 "equal to the EVC Max Service Frame Size " +
\r
541 "Egress Bandwidth Profile Per UNI: If EIR > 0, " +
\r
542 "EBS must be greater than or equal to the " +
\r
543 "EVC Max Service Frame Size for the EVC.";
\r
545 must "not(/mef-interfaces:mef-interfaces/" +
\r
546 "mef-interfaces:" +
\r
547 "unis/mef-interfaces:uni" +
\r
548 "[mef-interfaces:uni-id = current()/" +
\r
549 "mef-services:uni-id]" +
\r
550 "/mef-interfaces:ingress-envelopes) or " +
\r
551 "(/mef-global:mef-global/mef-global:profiles/" +
\r
552 "mef-global:ingress-bwp-flows/mef-global:" +
\r
554 "[mef-global:bw-profile = /mef-interfaces:" +
\r
555 "mef-interfaces/mef-interfaces:unis/" +
\r
556 "mef-interfaces:uni" +
\r
557 "[mef-interfaces:uni-id = current()/" +
\r
558 "mef-services:uni-id]" +
\r
559 "/mef-interfaces:ingress-envelopes/" +
\r
560 "mef-interfaces:envelope/mef-interfaces:" +
\r
561 "bwp-flows/mef-interfaces:bwp-flow/" +
\r
562 "mef-interfaces:bw-profile]" +
\r
563 "[mef-global:eir = 0]) or " +
\r
564 "(/mef-global:mef-global/mef-global:profiles/" +
\r
565 "mef-global:ingress-bwp-flows/mef-global:" +
\r
567 "[mef-global:bw-profile = /mef-interfaces:" +
\r
568 "mef-interfaces/mef-interfaces:unis/" +
\r
569 "mef-interfaces:uni" +
\r
570 "[mef-interfaces:uni-id = current()/" +
\r
571 "mef-services:uni-id]" +
\r
572 "/mef-interfaces:ingress-envelopes/" +
\r
573 "mef-interfaces:envelope/mef-interfaces:" +
\r
574 "bwp-flows/mef-interfaces:bwp-flow/" +
\r
575 "mef-interfaces:bw-profile]" +
\r
576 "[mef-global:ebs >= current()/../../" +
\r
577 "max-svc-frame-size])" {
\r
578 error-message "Ingress Bandwidth Profile Envelope: " +
\r
579 "If EIR > 0, EBS must be greater than or " +
\r
580 "equal to the EVC Max Service Frame Size " +
\r
583 "Ingress Bandwidth Profile Envelope: " +
\r
584 "If EIR > 0, EBS must be greater than or equal " +
\r
585 "to the EVC Max Service Frame Size for the EVC.";
\r
587 must "not(/mef-interfaces:mef-interfaces/" +
\r
588 "mef-interfaces:unis/mef-interfaces:uni" +
\r
589 "[mef-interfaces:uni-id = current()/" +
\r
590 "mef-services:uni-id]" +
\r
591 "/mef-interfaces:egress-envelopes) or " +
\r
592 "(/mef-global:mef-global/mef-global:" +
\r
593 "profiles/mef-global:egress-bwp-flows/" +
\r
594 "mef-global:bwp-flow" +
\r
595 "[mef-global:bw-profile = /mef-interfaces:" +
\r
596 "mef-interfaces/mef-interfaces:unis/" +
\r
597 "mef-interfaces:uni" +
\r
598 "[mef-interfaces:uni-id = current()/" +
\r
599 "mef-services:uni-id]" +
\r
600 "/mef-interfaces:egress-envelopes/" +
\r
601 "mef-interfaces:envelope/mef-interfaces:" +
\r
602 "bwp-flows/mef-interfaces:bwp-flow/" +
\r
603 "mef-interfaces:bw-profile]" +
\r
604 "[mef-global:eir = 0]) or " +
\r
605 "(/mef-global:mef-global/mef-global:profiles/" +
\r
606 "mef-global:egress-bwp-flows/mef-global:" +
\r
608 "[mef-global:bw-profile = /mef-interfaces:" +
\r
609 "mef-interfaces/mef-interfaces:unis/" +
\r
610 "mef-interfaces:uni" +
\r
611 "[mef-interfaces:uni-id = current()/" +
\r
612 "mef-services:uni-id]" +
\r
613 "/mef-interfaces:egress-envelopes/" +
\r
614 "mef-interfaces:envelope/mef-interfaces:" +
\r
615 "bwp-flows/mef-interfaces:bwp-flow/" +
\r
616 "mef-interfaces:bw-profile]" +
\r
617 "[mef-global:ebs >= current()/../../" +
\r
618 "max-svc-frame-size])" {
\r
619 error-message "Egress Bandwidth Profile Envelope: " +
\r
620 "If EIR > 0, EBS must be greater than or " +
\r
621 "equal to the EVC Max Service Frame Size " +
\r
624 "Egress Bandwidth Profile Envelope: " +
\r
625 "If EIR > 0, EBS must be greater than or " +
\r
626 "equal to the EVC Max Service Frame Size " +
\r
631 "EVC Flow Points and EVC-UNI List defines the " +
\r
632 "roles of each UNI in the Service. One UNI can " +
\r
633 "be used by 0 or more EVCs.";
\r
634 reference "[MEF10.3] Section 8.3. " +
\r
635 "[MEF7.3] Section 12.2.2.";
\r
636 container evc-uni-ce-vlans {
\r
638 "EVC Per UNI CE-VLAN IDs.";
\r
639 list evc-uni-ce-vlan {
\r
642 "A list of the CE-VLAN IDs mapped to this UNI " +
\r
644 reference "[MEF10.3] Section 8.6.1, [R24] " +
\r
645 "[R25], Section 9.10.2, Section 9.12, " +
\r
649 path "/mef-interfaces:mef-interfaces/" +
\r
650 "mef-interfaces:unis/" +
\r
651 "mef-interfaces:uni" +
\r
652 "[mef-interfaces:uni-id = " +
\r
653 "current()/../../../uni-id]" +
\r
654 "/mef-interfaces:ce-vlans/" +
\r
655 "mef-interfaces:ce-vlan/" +
\r
656 "mef-interfaces:vid";
\r
658 must "not(current()/../../" +
\r
659 "evc-uni-ce-vlan[2]) or " +
\r
660 "(count(../../../../uni/evc-uni-ce-vlans/" +
\r
661 "evc-uni-ce-vlan" +
\r
662 "[vid = current()]) = " +
\r
663 "count(../../../../uni))" {
\r
664 error-message "If more than one CE-VLAN ID " +
\r
665 "is configured for a UNI as part of " +
\r
666 "an EVC, every CE VLAN-ID mapped to " +
\r
667 "that EVC must be configured for all " +
\r
668 "UNIs within that EVC.";
\r
670 "If more than one CE-VLAN ID is configured " +
\r
671 "for a UNI as part of an EVC, every " +
\r
672 "CE VLAN-ID mapped to that EVC must be " +
\r
673 "configured for all UNIs within that EVC.";
\r
676 "VLAN Identifier.";
\r
680 container ingress-bwp-flows-per-cos {
\r
681 presence "Use Ingress Bandwidth Profiles Per CoS";
\r
683 "EVC Per UNI Class of Service Identifiers " +
\r
684 "corresponding to this EVC's Ingress Bandwidth " +
\r
686 leaf coupling-enabled {
\r
690 "EVC Per UNI Envelope Coupling Flag (CF) " +
\r
692 reference "[MEF10.3] Section 12.1.";
\r
694 list bwp-flow-per-cos {
\r
697 "EVC Per UNI: The list of Class of Service " +
\r
698 "Identifiers corresponding to this UNI's " +
\r
699 "Ingress Bandwidth Profile Flow.";
\r
702 path "/mef-global:mef-global/mef-global:" +
\r
703 "profiles/mef-global:cos-names/" +
\r
704 "mef-global:cos-name/mef-global:name";
\r
707 "EVC Per UNI: Class of Service Identifier " +
\r
708 "for this Bandwidth Profile Flow.";
\r
709 reference "[MEF7.3] Section 12.1.2.";
\r
713 path "/mef-interfaces:mef-interfaces/" +
\r
714 "mef-interfaces:unis/" +
\r
715 "mef-interfaces:uni" +
\r
716 "[mef-interfaces:uni-id = " +
\r
717 "current()/../../../uni-id]" +
\r
718 "/mef-interfaces:ingress-envelopes/" +
\r
719 "mef-interfaces:envelope/" +
\r
720 "mef-interfaces:env-id";
\r
724 "EVC Per UNI: Ingress Bandwidth Profile " +
\r
725 "Envelope Per CoS ID. If this parameter " +
\r
726 "is not configured (ie. 'No') this " +
\r
727 "setting is configured else at the " +
\r
729 reference "[MEF10.3] Section 10.6, Table 28. " +
\r
730 "[MEF7.3] Section 12.1.2.";
\r
734 container egress-bwp-flows-per-eec {
\r
735 presence "Using Egress Bandwidth Profiles Per " +
\r
736 "Egress Equivalence Class";
\r
738 "EVC Per UNI: The Egress Equivalence Class " +
\r
739 "Identifiers corresponding to this EVC's Egress " +
\r
740 "Bandwidth Profile Flows.";
\r
741 leaf coupling-enabled {
\r
745 "EVC Per UNI: The Envelope Coupling Flag (CF) " +
\r
747 reference "[MEF10.3] Section 12.1.";
\r
749 list bwp-flow-per-eec {
\r
752 "EVC Per UNI: The list of Egress Equivalence " +
\r
753 "Class Identifiers corresponding to this " +
\r
754 "EVC's Egress Bandwidth Profile Flow.";
\r
757 path "/mef-global:mef-global/mef-global:" +
\r
758 "profiles/mef-global:eec-names/" +
\r
759 "mef-global:eec-name/mef-global:name";
\r
762 "EVC Per UNI: Egress Equivalence Class " +
\r
763 "Identifier for this Bandwidth Profile Flow.";
\r
764 reference "[MEF7.3] Section 12.1.2.";
\r
768 path "/mef-interfaces:mef-interfaces/" +
\r
769 "mef-interfaces:unis/" +
\r
770 "mef-interfaces:uni" +
\r
771 "[mef-interfaces:uni-id = " +
\r
772 "current()/../../../uni-id]" +
\r
773 "/mef-interfaces:egress-envelopes/" +
\r
774 "mef-interfaces:envelope/" +
\r
775 "mef-interfaces:env-id";
\r
779 "EVC Per UNI: Egress Bandwidth Profile " +
\r
780 "Envelope Per Equivance Class. If this " +
\r
781 "parameter is not configured (ie. 'No') " +
\r
782 "this setting is configured else at the " +
\r
784 reference "[MEF10.3] Section 10.6, Table 28. " +
\r
785 "[MEF7.3] Section 12.1.2.";
\r
791 "EVC Per UNI: This status group is related to " +
\r
792 "the MEF 7.3 Service Endpoint";
\r
793 leaf oper-state-enabled {
\r
798 "EVC Per UNI: Operational Status of the " +
\r
799 "Virtual Connection as Enabled/Disabled.";
\r
800 reference "[MEF15]. [MEF7.3] Section 11.2.1.";
\r
802 leaf available-status {
\r
803 type mef-types:svc-endpoint-availability-type;
\r
804 default "not-installed";
\r
807 "EVC Per UNI: Availability Status of the " +
\r
808 "Virtual Connection.";
\r
809 reference "[MEF15]. [MEF7.3] Section 11.2.1.";
\r
814 path "/mef-interfaces:mef-interfaces/" +
\r
815 "mef-interfaces:unis/mef-interfaces:uni/" +
\r
816 "mef-interfaces:uni-id";
\r
819 "EVC Per UNI: The UNI ID paired with the EVC ID " +
\r
820 "in the containing list.";
\r
821 reference "[MEF10.3] Section 8.3, Section 10.1. " +
\r
822 "[MEF7.3] Section 12.1.2.";
\r
825 type mef-types:evc-uni-role-type;
\r
828 "EVC Per UNI: The UNI Role MUST have the value " +
\r
829 "of either 'root' or 'leaf'.";
\r
830 reference "[MEF10.3] [R4], [R5], [R10], [R11], " +
\r
831 "[R12]. [MEF7.3] Section 12.2.2.";
\r
833 leaf admin-state-enabled {
\r
837 "EVC Per UNI: Locked/Unlocked is inconsistent " +
\r
838 "with Oper Status and will be confusing.";
\r
839 reference "[MEF15]. [MEF7.3] Section 11.2.1.";
\r
842 type mef-types:cos-color-identifier-type;
\r
844 "EVC Per UNI: The Color Identifier for " +
\r
846 reference "[MEF10.3] Section 10.3. " +
\r
847 "[MEF7.3] Section 12.1.2.";
\r
849 leaf data-svc-frm-cos {
\r
851 path "/mef-global:mef-global/mef-global:profiles/" +
\r
852 "mef-global:cos/mef-global:cos-profile/" +
\r
855 must "not(/mef-global:mef-global/mef-global:" +
\r
856 "profiles/mef-global:cos/" +
\r
857 "mef-global:cos-profile" +
\r
858 "[mef-global:id = current()]" +
\r
859 "/mef-global:cos-pcp) or " +
\r
860 "((/mef-global:mef-global/mef-global:" +
\r
861 "profiles/mef-global:cos/" +
\r
862 "mef-global:cos-profile" +
\r
863 "[mef-global:id = current()]" +
\r
864 "/mef-global:cos-pcp) and " +
\r
865 "((../color-id = 'pcp') or " +
\r
866 "(../color-id = 'dei')) )" {
\r
867 error-message "When the Class of Service " +
\r
868 "Identifier is based on PCP for a " +
\r
869 "given EVC at a given UNI, the Color " +
\r
870 "Identifier must be based on either " +
\r
873 "When the Class of Service Identifier is " +
\r
874 "based on PCP for a given EVC at a given UNI, " +
\r
875 "the Color Identifier must be based on either " +
\r
878 must "not(/mef-global:mef-global/mef-global:" +
\r
879 "profiles/mef-global:cos/mef-global:" +
\r
881 "[mef-global:id = current()]/mef-global:" +
\r
883 "((/mef-global:mef-global/mef-global:" +
\r
884 "profiles/mef-global:cos/mef-global:" +
\r
886 "[mef-global:id = current()]/mef-global:" +
\r
888 "(../color-id = 'dscp'))" {
\r
889 error-message "When the Class of Service " +
\r
890 "Identifier is based on DSCP for a " +
\r
891 "given EVC at a given UNI, the Color " +
\r
892 "Identifier must be based DSCP.";
\r
894 "When the Class of Service Identifier is based " +
\r
895 "on DSCP for a given EVC at a given UNI, the " +
\r
896 "Color Identifier must be based DSCP.";
\r
899 "EVC Per UNI: Ingress Data Service Frame " +
\r
901 reference "[MEF10.3] Section 8.8, Section 10.2. " +
\r
902 "[MEF7.3] Section 12.1.2.";
\r
904 leaf l2cp-svc-frm-cos {
\r
906 path "/mef-global:mef-global/mef-global:" +
\r
907 "profiles/mef-global:l2cp-cos/mef-global:" +
\r
908 "l2cp-profile/mef-global:id";
\r
911 "EVC Per UNI: Ingress Layer 2 Control Protocol " +
\r
913 reference "[MEF10.3] Section 8.8, Section 10.2. " +
\r
914 "[MEF7.3] Section 12.1.2.";
\r
916 leaf soam-svc-frm-cos {
\r
918 path "/mef-global:mef-global/mef-global:profiles/" +
\r
919 "mef-global:cos/mef-global:cos-profile/" +
\r
922 must "(not(.) and not(../data-svc-frm-cos)) or " +
\r
923 "(. = ../data-svc-frm-cos)" {
\r
924 error-message "For a given EVC at a given UNI, " +
\r
925 "the basis for the Class of Service " +
\r
926 "Identifier for ingress SOAM Service " +
\r
927 "Frames must be the same as that for " +
\r
928 "ingress Data Service Frames.";
\r
930 "For a given EVC at a given UNI, the basis " +
\r
931 "for the Class of Service Identifier for " +
\r
932 "ingress SOAM Service Frames must be the " +
\r
933 "same as that for ingress Data Service Frames.";
\r
936 "EVC Per UNI: Ingress SOAM Service Frames.";
\r
937 reference "[MEF7.3] Section 12.1.2.";
\r
939 leaf data-svc-frm-eec {
\r
941 path "/mef-global:mef-global/mef-global:profiles/" +
\r
942 "mef-global:eec/mef-global:eec-profile/" +
\r
945 must "not(/mef-global:mef-global/mef-global:" +
\r
946 "profiles/mef-global:eec/mef-global:" +
\r
948 "[mef-global:id = current()]" +
\r
949 "/mef-global:eec-pcp) or " +
\r
950 "((/mef-global:mef-global/mef-global:" +
\r
951 "profiles/mef-global:eec/mef-global:" +
\r
953 "[mef-global:id = current()]" +
\r
954 "/mef-global:eec-pcp) and " +
\r
955 "((../color-id = 'pcp') or " +
\r
956 "(../color-id = 'dei')) )" {
\r
957 error-message "When the Egress Equivalence " +
\r
958 "Class Identifier is based on PCP " +
\r
959 "for a given EVC at a given UNI, " +
\r
960 "the Color Identifier must be based " +
\r
961 "on either DEI or PCP.";
\r
963 "When the Egress Equivalence Class Identifier " +
\r
964 "is based on PCP for a given EVC at a " +
\r
965 "given UNI, the Color Identifier must " +
\r
966 "be based on either DEI or PCP.";
\r
968 must "not(/mef-global:mef-global/mef-global:" +
\r
969 "profiles/mef-global:eec/mef-global:" +
\r
971 "[mef-global:id = current()]" +
\r
972 "/mef-global:eec-dscp) or " +
\r
973 "((/mef-global:mef-global/mef-global:" +
\r
974 "profiles/mef-global:eec/mef-global:" +
\r
976 "[mef-global:id = current()]" +
\r
977 "/mef-global:eec-dscp) and " +
\r
978 "(../color-id = 'dscp'))" {
\r
979 error-message "When the Egress Equivalence " +
\r
980 "Class Identifier is based on DSCP for " +
\r
981 "a given EVC at a given UNI, the Color " +
\r
982 "Identifier must be based DSCP.";
\r
984 "When the Egress Equivalence Class Identifier " +
\r
985 "is based on DSCP for a given EVC at a given " +
\r
986 "UNI, the Color Identifier must be based DSCP.";
\r
989 "EVC Per UNI: Egress Data Service Frame Processing.";
\r
990 reference "[MEF10.3] Section 10.4. " +
\r
991 "[MEF7.3] Section 12.1.2.";
\r
993 leaf l2cp-svc-frm-eec {
\r
995 path "/mef-global:mef-global/mef-global:profiles/" +
\r
996 "mef-global:l2cp-eec/mef-global:" +
\r
997 "l2cp-profile/mef-global:id";
\r
1000 "EVC Per UNI: Egress Layer 2 Control Protocol " +
\r
1002 reference "[MEF10.3] Section 10.4. " +
\r
1003 "[MEF7.3] Section 12.1.2.";
\r
1005 leaf soam-svc-frm-eec {
\r
1007 path "/mef-global:mef-global/mef-global:" +
\r
1008 "profiles/mef-global:eec/mef-global:" +
\r
1009 "eec-profile/mef-global:id";
\r
1011 must "(not(.) and not(../data-svc-frm-eec)) or " +
\r
1012 "(. = ../data-svc-frm-eec)" {
\r
1013 error-message "For a given EVC at a given UNI, " +
\r
1014 "the basis for the Egress Equivalence " +
\r
1015 "Class Identifier for egress SOAM " +
\r
1016 "Service Frames must be the same as " +
\r
1017 "that for egress Data Service Frames.";
\r
1019 "For a given EVC at a given UNI, the basis " +
\r
1020 "for the Egress Equivalence Class Identifier " +
\r
1021 "for egress SOAM Service Frames must be " +
\r
1022 "the same as that for egress Data " +
\r
1023 "Service Frames.";
\r
1026 "EVC Per UNI: Egress SOAM Service Frames.";
\r
1027 reference "[MEF10.3] Section 10.4. " +
\r
1028 "[MEF7.3] Section 12.1.2.";
\r
1030 leaf ingress-bw-profile-per-evc {
\r
1032 path "/mef-interfaces:mef-interfaces/" +
\r
1033 "mef-interfaces:unis/" +
\r
1034 "mef-interfaces:uni" +
\r
1035 "[mef-interfaces:uni-id = " +
\r
1036 "current()/../uni-id]" +
\r
1037 "/mef-interfaces:ingress-envelopes/" +
\r
1038 "mef-interfaces:envelope/" +
\r
1039 "mef-interfaces:env-id";
\r
1042 "EVC Per UNI: Ingress Bandwidth Profile " +
\r
1043 "Envelope Per EVC. If this parameter is " +
\r
1044 "not configured (ie. 'No') this setting " +
\r
1045 "is configured else at the UNI Level.";
\r
1046 reference "[MEF10.3] Section 10.5. " +
\r
1047 "[MEF7.3] Section 12.1.2.";
\r
1049 leaf egress-bw-profile-per-evc {
\r
1051 path "/mef-interfaces:mef-interfaces/" +
\r
1052 "mef-interfaces:unis/" +
\r
1053 "mef-interfaces:uni" +
\r
1054 "[mef-interfaces:uni-id = " +
\r
1055 "current()/../uni-id]" +
\r
1056 "/mef-interfaces:egress-envelopes/" +
\r
1057 "mef-interfaces:envelope/mef-interfaces:" +
\r
1061 "EVC Per UNI: Egress Bandwidth Profile Envelope " +
\r
1062 "Per EVC. If this parameter is not configured " +
\r
1063 "(ie. 'No') this setting is configured else at " +
\r
1065 reference "[MEF10.3] Section 10.7. " +
\r
1066 "[MEF7.3] Section 12.1.2.";
\r
1068 leaf src-mac-addr-limit-enabled {
\r
1072 "EVC Per UNI: Source MAC Address Limit " +
\r
1073 "Enable / Disable. If Enabled, the values " +
\r
1074 "for the Source MAC Address Limit and Source " +
\r
1075 "MAC Address Interval must be set.";
\r
1076 reference "[MEF10.3] Section 10.9. " +
\r
1077 "[MEF7.3] Section 12.1.2.";
\r
1079 leaf src-mac-addr-limit {
\r
1084 "EVC Per UNI: Source MAC Address Limit. " +
\r
1085 "This value is used when the Source MAC Address " +
\r
1086 "Limit Enabled is true.";
\r
1087 reference "[MEF10.3] Section 10.9.";
\r
1089 leaf src-mac-addr-limit-interval {
\r
1090 type yang:timeticks;
\r
1093 "EVC Per UNI: Source MAC Address Limit " +
\r
1094 "Interval. This value is used when the " +
\r
1095 "Source MAC Address Limit Enabled is true.";
\r
1096 reference "[MEF10.3] Section 10.9.";
\r
1098 leaf test-meg-enabled {
\r
1102 "EVC Per UNI: Test MEG Enabled / Disabled.";
\r
1103 reference "[MEF10.3] Section 10.10. " +
\r
1104 "[MEF7.3] Section 12.1.2.";
\r
1107 type mef-types:identifier45;
\r
1109 "EVC Per UNI: Test MEG Identifier.";
\r
1110 reference "[MEF7.3] Section 12.1.2.";
\r
1112 leaf subscriber-meg-mip-enabled {
\r
1116 "EVC Per UNI: Subscriber MEG MIP " +
\r
1117 "Enabled / Disabled.";
\r
1118 reference "[MEF10.3] Section 10.11. " +
\r
1119 "[MEF7.3] Section 12.1.2.";
\r
1121 leaf subscriber-meg-mip {
\r
1122 type mef-types:identifier45;
\r
1124 "EVC Per UNI: Subscriber MEG MIP Identifier.";
\r
1125 reference "[MEF7.3] Section 12.1.2.";
\r
1129 container status {
\r
1131 "This status group is related to the MEF 7.3 Virtual " +
\r
1133 leaf oper-state-enabled {
\r
1138 "EVC Operational Status of the Virtual Connection " +
\r
1139 "as Enabled/Disabled.";
\r
1140 reference "[MEF7.3] Section 11.1.1.";
\r
1142 leaf available-status {
\r
1143 type mef-types:virt-cx-availability-type;
\r
1144 default "not-installed";
\r
1147 "EVC Availability Status of the Virtual Connection.";
\r
1148 reference "[MEF7.3] Section 11.1.1.";
\r
1151 container sls-inclusions-by-cos {
\r
1153 "SLS Inclusions by CoS: For this EVC, the following " +
\r
1154 "CoS Names/Labels are applicable.";
\r
1155 list sls-inclusion-by-cos {
\r
1161 path "/mef-global:mef-global/mef-global:profiles/" +
\r
1162 "mef-global:cos-names/mef-global:" +
\r
1163 "cos-name/mef-global:name";
\r
1166 "EVC: This attribute identifies the name of " +
\r
1167 "a class of service (CoS) instance to be used " +
\r
1168 "for EVC Performance.";
\r
1172 container sls-uni-inclusions {
\r
1173 presence "EVC: Defines the EVC Flow Points (UNI) Pairs " +
\r
1174 "that must conform to the EVC's SLS Performance " +
\r
1177 "SLS UNI Inclusions List. The following pairs of UNI " +
\r
1178 "Interconnections are to required to meet the " +
\r
1179 "SLS Performance Objectives. Configing both SLS " +
\r
1180 "UNI Inclusions and SLS UNI Exclusions is not " +
\r
1182 list sls-uni-inclusion-set {
\r
1183 must "uni-id1 != uni-id2" {
\r
1184 error-message "The two UNI IDs for a given " +
\r
1185 "inclusion cannot be the same.";
\r
1187 "The two UNI IDs for a given inclusion " +
\r
1188 "cannot be the same.";
\r
1190 must "(../../evc-type != 'rooted-multipoint') or " +
\r
1191 "((../../evc-type = 'rooted-multipoint') " +
\r
1193 "not((../../unis/uni[uni-id = " +
\r
1194 "current()/uni-id1]/role = 'leaf') and " +
\r
1195 "(../../unis/uni[uni-id = current()/uni-id2]" +
\r
1196 "/role = 'leaf')))" {
\r
1197 error-message "If EVC Type is Rooted-Multipoint, " +
\r
1198 "sls-uni-inclusion UNI Pairs cannot both " +
\r
1199 "be role 'leaf'.";
\r
1201 "If EVC Type is Rooted-Multipoint, " +
\r
1202 "sls-uni-inclusion UNI Pairs cannot " +
\r
1203 "both be role 'leaf'.";
\r
1205 key "pm-type pm-id uni-id1 uni-id2";
\r
1207 "EVC: Defines the EVC Flow Points (UNI) Pairs that " +
\r
1208 "must conform to the EVC's SLS Performance " +
\r
1209 "Metrics. Use of this list indicates that a " +
\r
1210 "complete set of UNI Pairs has been specified " +
\r
1211 "for the Performance Metrics defined in the " +
\r
1215 path "/mef-global:mef-global/mef-global:slss/" +
\r
1216 "mef-global:sls" +
\r
1217 "[mef-global:sls-id = current()/../../../" +
\r
1218 "evc-performance-sls]" +
\r
1219 "/mef-global:perf-objs/mef-global:" +
\r
1220 "perf-obj/mef-global:pm-type";
\r
1223 "EVC: Performance Metric.";
\r
1224 reference "[MEF10.3] Section 8.8.";
\r
1228 path "/mef-global:mef-global/mef-global:slss/" +
\r
1229 "mef-global:sls" +
\r
1230 "[mef-global:sls-id = current()/../../../" +
\r
1231 "evc-performance-sls]" +
\r
1232 "/mef-global:perf-objs/mef-global:perf-obj" +
\r
1233 "[mef-global:pm-type = current()/../" +
\r
1235 "/mef-global:pm-id";
\r
1238 "EVC: This is a friendly name for specific " +
\r
1239 "performance profile.";
\r
1243 path "../../../unis/uni/uni-id";
\r
1246 "EVC: The UNI ID paired with the EVC ID in the " +
\r
1247 "containing list.";
\r
1248 reference "[MEF10.3] Section 8.3, Section 10.1. " +
\r
1249 "[MEF7.3] Section 12.1.2.";
\r
1253 path "../../../unis/uni/uni-id";
\r
1256 "EVC: The UNI ID paired with the EVC ID in the " +
\r
1257 "containing list.";
\r
1258 reference "[MEF10.3] Section 8.3, Section 10.1. " +
\r
1259 "[MEF7.3] Section 12.1.2.";
\r
1263 container sls-uni-exclusions {
\r
1264 presence "Not all EVC Flow Points (UNI) must conform " +
\r
1265 "to the EVC SLS Performance Metrics.";
\r
1267 "EVC: Not all EVC Flow Points (UNI) must conform to " +
\r
1268 "the EVC SLS Performance Metrics. Use of this " +
\r
1269 "list indicates that all UNI Pairs EXCEPT for " +
\r
1270 "the ones indicated (per Performance Metric) must " +
\r
1271 "conform to the SLS.";
\r
1272 list sls-uni-exclusion-set {
\r
1273 must "uni-id1 != uni-id2" {
\r
1274 error-message "The two UNI IDs for a given " +
\r
1275 "exclusion cannot be the same.";
\r
1277 "The two UNI IDs for a given exclusion cannot " +
\r
1278 "be the same as these pairs are invalid as " +
\r
1279 "defined in MEF 10.3.";
\r
1281 key "pm-type pm-id uni-id1 uni-id2";
\r
1283 "SLS UNI Exclusions List. The following pairs " +
\r
1284 "of UNI Interconnections are not required " +
\r
1285 "meet the SLS Performance Objectives. " +
\r
1286 "Configing both SLS UNI Inclusions and SLS " +
\r
1287 "UNI Exclusions is not permitted.";
\r
1290 path "/mef-global:mef-global/mef-global:" +
\r
1291 "slss/mef-global:sls" +
\r
1292 "[mef-global:sls-id = current()/../../../" +
\r
1293 "evc-performance-sls]" +
\r
1294 "/mef-global:perf-objs/mef-global:" +
\r
1295 "perf-obj/mef-global:pm-type";
\r
1298 "EVC: Performance Metric.";
\r
1299 reference "[MEF10.3] Section 8.8.";
\r
1303 path "/mef-global:mef-global/mef-global:slss/" +
\r
1304 "mef-global:sls" +
\r
1305 "[mef-global:sls-id = current()/../../../" +
\r
1306 "evc-performance-sls]" +
\r
1307 "/mef-global:perf-objs/mef-global:perf-obj" +
\r
1308 "[mef-global:pm-type = current()/../" +
\r
1310 "/mef-global:pm-id";
\r
1313 "EVC: This is a friendly name for specific " +
\r
1314 "performance profile.";
\r
1318 path "../../../unis/uni/uni-id";
\r
1321 "EVC: The UNI ID paired with the EVC ID in the " +
\r
1322 "containing list.";
\r
1323 reference "[MEF10.3] Section 8.3, Section 10.1. " +
\r
1324 "[MEF7.3] Section 12.1.2.";
\r
1328 path "../../../unis/uni/uni-id";
\r
1331 "EVC: The UNI ID paired with the EVC ID in the " +
\r
1332 "containing list.";
\r
1333 reference "[MEF10.3] Section 8.3, Section 10.1. " +
\r
1334 "[MEF7.3] Section 12.1.2.";
\r
1339 type mef-types:evc-id-type;
\r
1342 "The EVC ID must be unique across all EVCs in the CEN." +
\r
1343 " The EVC ID must be non-NULL.";
\r
1344 reference "[MEF10.3] Section 8.2 [R7]. " +
\r
1345 "[MEF7.3] Section 11.1.1, Section 12.2.2.";
\r
1348 type mef-types:evc-status-type;
\r
1351 "EVC Operational Status.";
\r
1352 reference "[MEF16] Section 5.3.";
\r
1355 type mef-types:evc-type;
\r
1356 must "(. != 'point-to-point') or " +
\r
1357 "((. = 'point-to-point') and " +
\r
1358 "(count(../unis/uni[role = 'leaf']) = 0))" {
\r
1359 error-message "If EVC Type is Point-to-Point, all " +
\r
1360 "UNI Roles must be root.";
\r
1362 "If EVC Type is Point-to-Point, all UNI Roles must " +
\r
1365 must "(. != 'multipoint-to-multipoint') or " +
\r
1366 "((. = 'multipoint-to-multipoint') and " +
\r
1367 "(count(../unis/uni[role = 'leaf']) = 0))" {
\r
1368 error-message "If EVC Type is " +
\r
1369 "Multipoint-to-Multipoint, all UNI Roles " +
\r
1372 "If EVC Type is Multipoint-to-Multipoint, all UNI " +
\r
1373 "Roles must be root.";
\r
1375 must "(. != 'rooted-multipoint') or " +
\r
1376 "((. = 'rooted-multipoint') and " +
\r
1377 "(count(../unis/uni[role = 'root']) > 0) )" {
\r
1378 error-message "If EVC Type is Rooted-Multipoint, one " +
\r
1379 "or more UNI Roles must be root.";
\r
1381 "If EVC Type is Rooted-Multipoint, one or more " +
\r
1382 "UNI Roles must be root.";
\r
1384 must "(. != 'point-to-point') or " +
\r
1385 "((. = 'point-to-point') and " +
\r
1386 "(count(../unis/uni) = 2))" {
\r
1387 error-message "If EVC Type is Point-to-Point, there " +
\r
1388 "must be exactly 2 UNI configured for the EVC.";
\r
1390 "If EVC Type is Point-to-Point, there must be " +
\r
1391 "exactly 2 UNI configured for the EVC.";
\r
1393 must "(. != 'multipoint-to-multipoint') or " +
\r
1394 "((. = 'multipoint-to-multipoint') and " +
\r
1395 "(count(../unis/uni) > 1) and " +
\r
1396 "(count(../unis/uni) <= ../max-uni-count))" {
\r
1397 error-message "If EVC Type is " +
\r
1398 "Multipoint-to-Multipoint, " +
\r
1399 "there must be 2 or more UNI configured " +
\r
1402 "If EVC Type is Multipoint-to-Multipoint, " +
\r
1403 "there must be 2 or more UNI configured for " +
\r
1406 must "(. != 'rooted-multipoint') or " +
\r
1407 "((. = 'rooted-multipoint') and " +
\r
1408 "(count(../unis/uni) > 1) and " +
\r
1409 "(count(../unis/uni) <= ../max-uni-count))" {
\r
1410 error-message "If EVC Type is Rooted-Multipoint, " +
\r
1411 "there must be 2 or more UNI configured for the EVC.";
\r
1413 "If EVC Type is Rooted-Multipoint, there must " +
\r
1414 "be 2 or more UNI configured for the EVC.";
\r
1416 must "(. != 'point-to-point') or " +
\r
1417 "((. = 'point-to-point') and " +
\r
1418 "(../max-uni-count = 2))" {
\r
1419 error-message "If EVC Type is Point-to-Point, " +
\r
1420 "the value of max-uni-count must be 2.";
\r
1422 "If EVC Type is Point-to-Point, the value of " +
\r
1423 "max-uni-count must be 2.";
\r
1425 must "(. != 'multipoint-to-multipoint') or " +
\r
1426 "((. = 'multipoint-to-multipoint') and " +
\r
1427 "(../max-uni-count > 2))" {
\r
1428 error-message "If EVC Type is " +
\r
1429 "Multipoint-to-Multipoint, the value of " +
\r
1430 "max-uni-count must be at least 3.";
\r
1432 "If EVC Type is Multipoint-to-Multipoint, the " +
\r
1433 "value of max-uni-count must be at least 3.";
\r
1435 must "(. != 'rooted-multipoint') or " +
\r
1436 "((. = 'rooted-multipoint') and " +
\r
1437 "(../max-uni-count > 2))" {
\r
1438 error-message "If EVC Type is Rooted-Multipoint, " +
\r
1439 "the value of max-uni-count must be at " +
\r
1442 "If EVC Type is Rooted-Multipoint, the value " +
\r
1443 "of max-uni-count must be at least 3.";
\r
1445 // mandatory true;
\r
1447 "This EVC attribute describes the EVC as either " +
\r
1448 "Multipoint-To-Multipoint, Point-To-Point, or " +
\r
1449 "Rooted-Multipoint.";
\r
1450 reference "[MEF10.3] Section 8.1, [R4], [R5], " +
\r
1451 "[R10], [R11], [R12], [R13] and [R14]. " +
\r
1452 "[MEF7.3] Section 12.2.2.";
\r
1454 leaf admin-state-enabled {
\r
1458 "EVC: Locked/Unlocked is inconsistent with " +
\r
1459 "Oper Status and will be confusing.";
\r
1460 reference "[MEF15]. [MEF7.3] Section 11.1.1.";
\r
1462 leaf elastic-enabled {
\r
1466 "EVC: Elastic Enabled/Disabled.";
\r
1467 reference "[MEF7.3] Section 11.1.1.";
\r
1469 leaf elastic-service {
\r
1470 type mef-types:identifier45;
\r
1472 "EVC: Related to CE4Cloud Information Model.";
\r
1473 reference "[MEF7.3] Section 11.1.1.";
\r
1475 leaf max-uni-count {
\r
1479 must "(. > 2) or ((. = 2) and " +
\r
1480 "(../evc-type = 'point-to-point'))" {
\r
1481 error-message "If EVC Type is Point-to-Point, the " +
\r
1482 "max-uni-count value must be 2.";
\r
1484 "If EVC Type is Point-to-Point, the max-uni-count " +
\r
1485 "value must be 2.";
\r
1487 must "(. = 2) or ((. > 2) and " +
\r
1488 "((../evc-type = 'multipoint-to-multipoint') or " +
\r
1489 "(../evc-type = 'rooted-multipoint')))" {
\r
1490 error-message "If EVC Type is " +
\r
1491 "Multipoint-to-Multipoint or " +
\r
1492 "Rooted-Multipoint, the max-uni-count value " +
\r
1493 "must be at least 3.";
\r
1495 "If EVC Type is Multipoint-to-Multipoint or " +
\r
1496 "Rooted-Multipoint, the max-uni-count value " +
\r
1497 "must be at least 3.";
\r
1501 "EVC:The Maximum Number of UNIs this EVC can be " +
\r
1502 "configured for (Default 2).If EVC Type is " +
\r
1503 "Multipoint-to-Multipoint or Rooted-Multipoint, " +
\r
1504 "the max-uni-count value must be at least 3. " +
\r
1505 "This value must be 2 for point-to-point mode.";
\r
1506 reference "[MEF10.3] [R14]. [MEF7.3] Section 12.2.2.";
\r
1508 leaf preserved-vlan {
\r
1511 leaf preserve-ce-vlan-id {
\r
1515 "EVC:An EVC with more than one CE-VLAN ID mapping " +
\r
1516 "to it must have the same list of CE-VLAN IDs " +
\r
1517 "mapping to the EVC at each UNI in the EVC.";
\r
1518 reference "[MEF10.3] Section 8.6.1, [R24] [R25], " +
\r
1519 "Section 9.10.2, Section 9.12, [R81], Figure 20. " +
\r
1520 "[MEF7.3] Section 12.2.2.";
\r
1522 leaf cos-preserve-ce-vlan-id {
\r
1526 "EVC: Preserve CE-VLAN ID for CoS.";
\r
1527 reference "[MEF10.3] Section 8.6.2, [R26]. " +
\r
1528 "[MEF7.3] Section 12.2.2.";
\r
1530 leaf evc-performance-sls {
\r
1532 path "/mef-global:mef-global/mef-global:slss/" +
\r
1533 "mef-global:sls/mef-global:sls-id";
\r
1536 "EVC: EVC-specific performance objectives and " +
\r
1537 "parameters. Note that an SLS can also specify " +
\r
1538 "performance objectives spanning more than one EVC. " +
\r
1539 "By default, all the UNI associated with the EVC " +
\r
1540 "have this SLS applied for them.";
\r
1541 reference "[MEF10.3] Section 8.8, Section 10. " +
\r
1542 "[MEF7.3] Section 12.2.2.";
\r
1544 leaf unicast-svc-frm-delivery {
\r
1545 type mef-types:data-svc-frame-delivery-type;
\r
1546 default "unconditional";
\r
1548 "EVC: Unicast Data Service Frame Delivery Mode " +
\r
1549 "(unconditional[default], conditional, or discard).";
\r
1550 reference "[MEF10.3] Section 8.5.2,[R16], [R17], " +
\r
1551 "Section 8.8, Section 11. [MEF7.3] Section 12.2.2.";
\r
1553 leaf multicast-svc-frm-delivery {
\r
1554 type mef-types:data-svc-frame-delivery-type;
\r
1555 default "unconditional";
\r
1557 "EVC: Multicast Data Service Frame Delivery Mode " +
\r
1558 "(unconditional[default], conditional, or discard).";
\r
1559 reference "[MEF10.3] Section 8.5.2, [R16], [R18], " +
\r
1560 "Section 8.8, Section 11. [MEF7.3] Section 12.2.2.";
\r
1562 leaf broadcast-svc-frm-delivery {
\r
1563 type mef-types:data-svc-frame-delivery-type;
\r
1564 default "unconditional";
\r
1566 "EVC: Broadcast Data Service Frame Delivery Mode " +
\r
1567 "(unconditional[default], conditional, or discard).";
\r
1568 reference "[MEF10.3] Section 8.5.2, [R16], [R19], " +
\r
1569 "Section 8.8, Section 11. [MEF7.3] Section 12.2.2.";
\r
1572 type mef-types:identifier45;
\r
1574 "EVC: Identifies the Maintenance Entity Group (MEG) " +
\r
1576 reference "[MEF7.3] Section 12.2.2. MEF 35.1.";
\r
1578 leaf max-svc-frame-size {
\r
1579 type mef-types:max-svc-frame-size-type;
\r
1582 "EVC: This attribute describes the maximum service " +
\r
1583 "frame size for the EVC.";
\r
1584 reference "[MEF10.3] Section 8.9, Section 9.7, [R71], " +
\r
1585 "[MEF6.2] Section 8.2.2 and MEF 22.1: [D2]. " +
\r
1586 "[MEF7.3] Section 12.2.2.";
\r
1592 type mef-types:retail-svc-id-type;
\r
1594 "The MEF Service ID is a simple key used to " +
\r
1595 "distinguish MEF Service Configuration Groups.";
\r
1596 reference "[MEF10.3] Section 7.";
\r
1599 when "/mef-global:mef-global/mef-global:svc-providers" {
\r
1601 "Only configure when the Global Service Providers " +
\r
1602 "list has been populated.";
\r
1605 path "/mef-global:mef-global/mef-global:svc-providers/" +
\r
1606 "mef-global:svc-provider/mef-global:sp-id";
\r
1609 "The MEF Service Provider ID must be globally unique " +
\r
1610 "as all CENs and Subscribers must be supported by a " +
\r
1611 "specific Service Provider(SP). A SP can support " +
\r
1613 reference "[MEF10.3] Section 7.";
\r
1616 type mef-types:mef-service-type;
\r
1617 must "(. != 'epl') or ((. = 'epl') and " +
\r
1618 "(count(/mef-interfaces:mef-interfaces/" +
\r
1619 "mef-interfaces:unis/mef-interfaces:uni" +
\r
1620 "[mef-interfaces:uni-id = current()/../" +
\r
1621 "mef-services:evc/mef-services:unis/mef-services:" +
\r
1622 "uni/mef-services:uni-id]" +
\r
1623 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
1624 "svc-mux-enabled = 'true']) = 0))" {
\r
1625 error-message "For EPL, Service Multiplexing must be " +
\r
1626 "disabled for all UNIs in the EVC UNI List.";
\r
1628 "For EPL, Service Multiplexing must be disabled for " +
\r
1629 "all UNIs in the EVC UNI List.";
\r
1631 must "(. != 'epl') or ((. = 'epl') and " +
\r
1632 "(count(/mef-interfaces:mef-interfaces/" +
\r
1633 "mef-interfaces:unis/mef-interfaces:uni" +
\r
1634 "[mef-interfaces:uni-id = current()/../" +
\r
1635 "mef-services:evc/mef-services:unis/mef-services:" +
\r
1636 "uni/mef-services:uni-id]" +
\r
1637 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
1638 "bundling-enabled = 'true']) = 0))" {
\r
1639 error-message "For EPL, Bundling must be disabled for " +
\r
1640 "all UNIs in the EVC UNI List.";
\r
1642 "For EPL, Bundling must be disabled for all UNIs in " +
\r
1643 "the EVC UNI List.";
\r
1645 must "(. != 'epl') or ((. = 'epl') and " +
\r
1646 "(count(/mef-interfaces:mef-interfaces/" +
\r
1647 "mef-interfaces:unis/mef-interfaces:uni" +
\r
1648 "[mef-interfaces:uni-id = current()/../" +
\r
1649 "mef-services:evc/mef-services:unis/" +
\r
1650 "mef-services:uni/mef-services:uni-id]" +
\r
1651 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
1652 "all-to-one-bundling-enabled = 'false']) = 0))" {
\r
1653 error-message "For EPL, All-to-One Bundling must be " +
\r
1654 "enabled for all UNIs in the EVC UNI List.";
\r
1656 "For EPL, All-to-One Bundling must be enabled for " +
\r
1657 "all UNIs in the EVC UNI List.";
\r
1659 must "(. != 'epl') or ((. = 'epl') and " +
\r
1660 "(count(/mef-interfaces:mef-interfaces/" +
\r
1661 "mef-interfaces:unis/mef-interfaces:uni" +
\r
1662 "[mef-interfaces:uni-id = current()/../" +
\r
1663 "mef-services:evc/mef-services:unis/mef-services:" +
\r
1664 "uni/mef-services:uni-id]" +
\r
1665 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
1666 "max-evc-count != 1]) = 0))" {
\r
1667 error-message "For EPL, Max EVC Count must be 1 for " +
\r
1668 "all UNIs in the EVC UNI List.";
\r
1670 "For EPL, Max EVC Count must be 1 for all UNIs " +
\r
1671 "in the EVC UNI List.";
\r
1673 must "(. != 'epl') or ((. = 'epl') and " +
\r
1674 "(count(../evc/unis/uni/egress-bwp-flows-per-eec/" +
\r
1675 "bwp-flow-per-eec) = 0))" {
\r
1676 error-message "For EPL, Egress Bandwidth Profile per " +
\r
1677 "Egress Equivalence Class cannot be set for " +
\r
1678 "all UNIs in the EVC per UNI List.";
\r
1680 "For EPL, Egress Bandwidth Profile per Egress " +
\r
1681 "Equivalence Class cannot be set for all UNIs in the " +
\r
1682 "EVC per UNI List.";
\r
1684 must "(. != 'epl') or ((. = 'epl') and " +
\r
1685 "(count(../evc/unis/uni" +
\r
1686 "[src-mac-addr-limit-enabled = 'true']) = 0) )" {
\r
1687 error-message "For EPL, Source MAC Address Limit must " +
\r
1690 "For EPL, Source MAC Address Limit must be disabled.";
\r
1692 must "(. != 'epl') or ((. = 'epl') and " +
\r
1693 "(../evc/evc-type = 'point-to-point'))" {
\r
1694 error-message "For EPL, EVC Type must be Point-to-Point.";
\r
1696 "For EPL, EVC Type must be Point-to-Point.";
\r
1698 must "(. != 'epl') or ((. = 'epl') and " +
\r
1699 "(../evc/unicast-svc-frm-delivery = " +
\r
1700 "'unconditional'))" {
\r
1701 error-message "For EPL, unicast-svc-frm-delivery " +
\r
1702 "must be unconditional.";
\r
1704 "For EPL, unicast-svc-frm-delivery must be " +
\r
1707 must "(. != 'epl') or ((. = 'epl') and " +
\r
1708 "(../evc/multicast-svc-frm-delivery = " +
\r
1709 "'unconditional'))" {
\r
1710 error-message "For EPL, multicast-svc-frm-delivery " +
\r
1711 "must be unconditional.";
\r
1713 "For EPL, multicast-svc-frm-delivery must be " +
\r
1716 must "(. != 'epl') or ((. = 'epl') and " +
\r
1717 "(../evc/broadcast-svc-frm-delivery = " +
\r
1718 "'unconditional'))" {
\r
1719 error-message "For EPL, broadcast-svc-frm-delivery " +
\r
1720 "must be unconditional.";
\r
1722 "For EPL, broadcast-svc-frm-delivery must be " +
\r
1725 must "(. != 'epl') or ((. = 'epl') and " +
\r
1726 "(../evc/preserve-ce-vlan-id = 'true'))" {
\r
1727 error-message "For EPL, CE-VLAN ID Preservation " +
\r
1728 "must be enabled.";
\r
1730 "For EPL, CE-VLAN ID Preservation must be enabled.";
\r
1732 must "(. != 'epl') or ((. = 'epl') and " +
\r
1733 "(../evc/cos-preserve-ce-vlan-id = 'true'))" {
\r
1734 error-message "For EPL, CE-VLAN ID CoS Preservation " +
\r
1735 "must be enabled.";
\r
1737 "For EPL, CE-VLAN ID CoS Preservation must be enabled.";
\r
1739 must "(. != 'evpl') or ((. = 'evpl') and " +
\r
1740 "(count(/mef-interfaces:mef-interfaces/" +
\r
1741 "mef-interfaces:unis/mef-interfaces:uni" +
\r
1742 "[mef-interfaces:uni-id = current()/../" +
\r
1743 "mef-services:evc/mef-services:unis/mef-services:" +
\r
1744 "uni/mef-services:uni-id]" +
\r
1745 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
1746 "all-to-one-bundling-enabled = 'true']) = 0))" {
\r
1747 error-message "For EVPL, All-to-One Bundling must be " +
\r
1748 "disabled for all UNIs in the EVC UNI List.";
\r
1750 "For EVPL, All-to-One Bundling must be disabled for " +
\r
1751 "all UNIs in the EVC UNI List.";
\r
1753 must "(. != 'evpl') or ((. = 'evpl') and " +
\r
1754 "((../evc/unicast-svc-frm-delivery != " +
\r
1755 "'unconditional') or " +
\r
1756 "(../evc/multicast-svc-frm-delivery != " +
\r
1757 "'unconditional') or " +
\r
1758 "(../evc/broadcast-svc-frm-delivery != " +
\r
1759 "'unconditional') or " +
\r
1760 "count(../evc/unis/uni" +
\r
1761 "[src-mac-addr-limit-enabled = 'true']) = 0))" {
\r
1762 error-message "For EVPL, Source MAC Address Limit must " +
\r
1763 "be disabled for all UNIs in the EVC per " +
\r
1764 "UNI List if all 3 -svc-frm-delivery values " +
\r
1765 "are unconditional.";
\r
1767 "For EVPL, Source MAC Address Limit must be disabled " +
\r
1768 "for all UNIs in the EVC per UNI List if all " +
\r
1769 "3 -svc-frm-delivery values are unconditional.";
\r
1771 must "(. != 'evpl') or ((. = 'evpl') and " +
\r
1772 "(../evc/evc-type = 'point-to-point'))" {
\r
1773 error-message "For EVPL, EVC Type must be Point-to-Point.";
\r
1775 "For EVPL, EVC Type must be Point-to-Point.";
\r
1777 must "(. != 'eplan') or ((. = 'eplan') and " +
\r
1778 "(count(/mef-interfaces:mef-interfaces/" +
\r
1779 "mef-interfaces:unis/mef-interfaces:uni" +
\r
1780 "[mef-interfaces:uni-id = current()/../" +
\r
1781 "mef-services:evc/mef-services:unis/mef-services:" +
\r
1782 "uni/mef-services:uni-id]" +
\r
1783 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
1784 "svc-mux-enabled = 'true']) = 0))" {
\r
1785 error-message "For EP-LAN, Service Multiplexing must " +
\r
1786 "be disabled for all UNIs in the EVC UNI List.";
\r
1788 "For EP-LAN, Service Multiplexing must be disabled " +
\r
1789 "for all UNIs in the EVC UNI List.";
\r
1791 must "(. != 'eplan') or ((. = 'eplan') and " +
\r
1792 "(count(/mef-interfaces:mef-interfaces/" +
\r
1793 "mef-interfaces:unis/mef-interfaces:uni" +
\r
1794 "[mef-interfaces:uni-id = current()/../" +
\r
1795 "mef-services:evc/mef-services:unis/mef-services:" +
\r
1796 "uni/mef-services:uni-id]" +
\r
1797 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
1798 "bundling-enabled = 'true']) = 0))" {
\r
1799 error-message "For EP-LAN, Bundling must be disabled " +
\r
1800 "for all UNIs in the EVC UNI List.";
\r
1802 "For EP-LAN, Bundling must be disabled for all UNIs " +
\r
1803 "in the EVC UNI List.";
\r
1805 must "(. != 'eplan') or ((. = 'eplan') and " +
\r
1806 "(count(/mef-interfaces:mef-interfaces/" +
\r
1807 "mef-interfaces:unis/mef-interfaces:uni" +
\r
1808 "[mef-interfaces:uni-id = current()/../" +
\r
1809 "mef-services:evc/mef-services:unis/" +
\r
1810 "mef-services:uni/mef-services:uni-id]" +
\r
1811 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
1812 "all-to-one-bundling-enabled = 'false']) = 0))" {
\r
1813 error-message "For EP-LAN, All-to-One Bundling " +
\r
1814 "must be enabled for all UNIs in the " +
\r
1817 "For EP-LAN, All-to-One Bundling must be enabled " +
\r
1818 "for all UNIs in the EVC UNI List.";
\r
1820 must "(. != 'eplan') or ((. = 'eplan') and " +
\r
1821 "(count(/mef-interfaces:mef-interfaces/" +
\r
1822 "mef-interfaces:unis/mef-interfaces:uni" +
\r
1823 "[mef-interfaces:uni-id = current()/../" +
\r
1824 "mef-services:evc/mef-services:unis/" +
\r
1825 "mef-services:uni/mef-services:uni-id]" +
\r
1826 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
1827 "max-evc-count != 1]) = 0))" {
\r
1828 error-message "For EP-LAN, Max EVC Count must be 1 " +
\r
1829 "for all UNIs in the EVC UNI List.";
\r
1831 "For EP-LAN, Max EVC Count must be 1 for all UNIs in " +
\r
1832 "the EVC UNI List.";
\r
1834 must "(. != 'eplan') or ((. = 'eplan') and " +
\r
1835 "(../evc/evc-type = 'multipoint-to-multipoint'))" {
\r
1836 error-message "For EP-LAN, EVC Type must be " +
\r
1837 "Multipoint-to-Multipoint.";
\r
1839 "For EP-LAN, EVC Type must be " +
\r
1840 "Multipoint-to-Multipoint.";
\r
1842 must "(. != 'eplan') or ((. = 'eplan') and " +
\r
1843 "(../evc/preserve-ce-vlan-id = 'true'))" {
\r
1844 error-message "For EP-LAN, CE-VLAN ID Preservation " +
\r
1845 "must be enabled.";
\r
1847 "For EP-LAN, CE-VLAN ID Preservation must be enabled.";
\r
1849 must "(. != 'eplan') or ((. = 'eplan') and " +
\r
1850 "(../evc/cos-preserve-ce-vlan-id = 'true'))" {
\r
1851 error-message "For EP-LAN, CE-VLAN ID CoS Preservation " +
\r
1852 "must be enabled.";
\r
1854 "For EP-LAN, CE-VLAN ID CoS Preservation must be " +
\r
1857 must "(. != 'evplan') or ((. = 'evplan') and " +
\r
1858 "(../evc/evc-type = 'multipoint-to-multipoint'))" {
\r
1859 error-message "For EVP-LAN, EVC Type must be " +
\r
1860 "Multipoint-to-Multipoint.";
\r
1862 "For EVP-LAN, EVC Type must be " +
\r
1863 "Multipoint-to-Multipoint.";
\r
1865 must "(. != 'evplan') or ((. = 'evplan') and " +
\r
1866 "(count(/mef-interfaces:mef-interfaces/" +
\r
1867 "mef-interfaces:unis/mef-interfaces:uni" +
\r
1868 "[mef-interfaces:uni-id = current()/../" +
\r
1869 "mef-services:evc/mef-services:unis/mef-services:" +
\r
1870 "uni/mef-services:uni-id]" +
\r
1871 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
1872 "all-to-one-bundling-enabled = 'true']) = 0))" {
\r
1873 error-message "For EVP-LAN, All-to-One Bundling must " +
\r
1874 "be disabled for all UNIs in the EVC UNI List.";
\r
1876 "For EVP-LAN, All-to-One Bundling must be disabled " +
\r
1877 "for all UNIs in the EVC UNI List.";
\r
1879 must "(. != 'eptree') or ((. = 'eptree') and " +
\r
1880 "(count(/mef-interfaces:mef-interfaces/" +
\r
1881 "mef-interfaces:unis/mef-interfaces:uni" +
\r
1882 "[mef-interfaces:uni-id = current()/../" +
\r
1883 "mef-services:evc/mef-services:unis/mef-services:" +
\r
1884 "uni/mef-services:uni-id]" +
\r
1885 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
1886 "svc-mux-enabled = 'true']) = 0))" {
\r
1887 error-message "For EP-TREE, Service Multiplexing " +
\r
1888 "must be disabled for all UNIs in the " +
\r
1891 "For EP-TREE, Service Multiplexing must be disabled " +
\r
1892 "for all UNIs in the EVC UNI List.";
\r
1894 must "(. != 'eptree') or ((. = 'eptree') and " +
\r
1895 "(count(/mef-interfaces:mef-interfaces/" +
\r
1896 "mef-interfaces:unis/mef-interfaces:uni" +
\r
1897 "[mef-interfaces:uni-id = current()/../" +
\r
1898 "mef-services:evc/mef-services:unis/mef-services:" +
\r
1899 "uni/mef-services:uni-id]" +
\r
1900 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
1901 "bundling-enabled = 'true']) = 0))" {
\r
1902 error-message "For EP-TREE, Bundling must be disabled " +
\r
1903 "for all UNIs in the EVC UNI List.";
\r
1905 "For EP-TREE, Bundling must be disabled for all UNIs " +
\r
1906 "in the EVC UNI List.";
\r
1908 must "(. != 'eptree') or ((. = 'eptree') and " +
\r
1909 "(count(/mef-interfaces:mef-interfaces/" +
\r
1910 "mef-interfaces:unis/mef-interfaces:uni" +
\r
1911 "[mef-interfaces:uni-id = current()/../" +
\r
1912 "mef-services:evc/mef-services:unis/" +
\r
1913 "mef-services:uni/mef-services:uni-id]" +
\r
1914 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
1915 "all-to-one-bundling-enabled = 'false']) = 0))" {
\r
1916 error-message "For EP-TREE, All-to-One Bundling must " +
\r
1917 "be enabled for all UNIs in the EVC UNI List.";
\r
1919 "For EP-TREE, All-to-One Bundling must be enabled " +
\r
1920 "for all UNIs in the EVC UNI List.";
\r
1922 must "(. != 'eptree') or ((. = 'eptree') and " +
\r
1923 "(count(/mef-interfaces:mef-interfaces/" +
\r
1924 "mef-interfaces:unis/mef-interfaces:uni" +
\r
1925 "[mef-interfaces:uni-id = current()/../" +
\r
1926 "mef-services:evc/mef-services:unis/" +
\r
1927 "mef-services:uni/mef-services:uni-id]" +
\r
1928 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
1929 "max-evc-count != 1]) = 0))" {
\r
1930 error-message "For EP-TREE, Max EVC Count must be 1 " +
\r
1931 "for all UNIs in the EVC UNI List.";
\r
1933 "For EP-TREE, Max EVC Count must be 1 for all UNIs " +
\r
1934 "in the EVC UNI List.";
\r
1936 must "(. != 'eptree') or ((. = 'eptree') and " +
\r
1937 "(../evc/evc-type = 'rooted-multipoint'))" {
\r
1938 error-message "For EP-TREE, EVC Type must be " +
\r
1939 "Rooted-Multipoint.";
\r
1941 "For EP-TREE, EVC Type must be Rooted-Multipoint.";
\r
1943 must "(. != 'eptree') or ((. = 'eptree') and " +
\r
1944 "(../evc/preserve-ce-vlan-id = 'true'))" {
\r
1945 error-message "For EP-TREE, CE-VLAN ID Preservation " +
\r
1946 "must be enabled.";
\r
1948 "For EP-TREE, CE-VLAN ID Preservation must be enabled.";
\r
1950 must "(. != 'eptree') or ((. = 'eptree') and " +
\r
1951 "(../evc/cos-preserve-ce-vlan-id = 'true'))" {
\r
1952 error-message "For EP-TREE, CE-VLAN ID " +
\r
1953 "CoS Preservation must be enabled.";
\r
1955 "For EP-TREE, CE-VLAN ID CoS Preservation must be " +
\r
1958 must "(. != 'evptree') or ((. = 'evptree') and " +
\r
1959 "(count(/mef-interfaces:mef-interfaces/" +
\r
1960 "mef-interfaces:unis/mef-interfaces:uni" +
\r
1961 "[mef-interfaces:uni-id = current()/../" +
\r
1962 "mef-services:evc/mef-services:unis/mef-services:" +
\r
1963 "uni/mef-services:uni-id]" +
\r
1964 "[mef-interfaces:uni-id/../mef-interfaces:" +
\r
1965 "all-to-one-bundling-enabled = 'true']) = 0))" {
\r
1966 error-message "For EVP-TREE, All-to-One Bundling " +
\r
1967 "must be disabled for all UNIs in the EVC UNI List.";
\r
1969 "For EVP-TREE, All-to-One Bundling must be disabled " +
\r
1970 "for all UNIs in the EVC UNI List.";
\r
1972 must "(. != 'evptree') or ((. = 'evptree') and " +
\r
1973 "(../evc/evc-type = 'rooted-multipoint'))" {
\r
1974 error-message "For EVP-TREE, EVC Type must be " +
\r
1975 "Rooted-Multipoint.";
\r
1977 "For EVP-TREE, EVC Type must be Rooted-Multipoint.";
\r
1980 "The MEF Service Type.";
\r
1983 type mef-types:identifier45;
\r
1985 "This MEF user label is set by the user to a value " +
\r
1986 "that is easier to identify than the Service ID.";
\r
1989 type mef-types:service-entity-type;
\r
1992 "MEF Service Entity.";
\r
1993 reference "[MEF12.2] Table 3.";
\r
1997 path "/mef-global:mef-global/mef-global:tenants-instances/mef-global:tenant-list/mef-global:name";
\r