92e3ce9ba371c07242930e257b2738568bf19433
[unimgr.git] / legato-api / src / main / yang / mef-global.yang
1 module mef-global {\r
2   namespace "http://metroethernetforum.org/ns/yang/mef-global";\r
3   prefix mef-global;\r
4   import ietf-yang-types {\r
5     prefix yang;\r
6   }\r
7   import ietf-inet-types {\r
8     prefix inet;\r
9   }\r
10   import mef-types {\r
11     prefix mef-types;\r
12   }\r
13   organization "Metro Ethernet Forum";\r
14   contact\r
15     "Web URL: http://metroethernetforum.org/\r
16      E-mail:  mibs@metroethernetforum.org\r
17      Postal:  Metro Ethernet Forum\r
18               6033 W. Century Boulevard, Suite 1107\r
19               Los Angeles, CA 90045\r
20               U.S.A.\r
21      Phone:   +1 310-642-2800\r
22      Fax:     +1 310-642-2808";\r
23   description\r
24     "This module defines the shared profiles and related lists\r
25      to be referenced when configuring MEF Services. Service\r
26      Providers are expected to define a set of profiles for\r
27      Service Attributes associated with Bandwidth, L2CP, CoS,\r
28      and so on. These are expected to be slowly changing as\r
29      they reflect the Products offered by the Service Providers\r
30      to their Subscribers.\r
31       \r
32      Reference Overview:\r
33      A number of base documents have been used to create\r
34      the MEF Global YANG Module. The following are the\r
35      abbreviations for the baseline documents:\r
36      [RFC 6991] refers to IETF RFC 6991 'Common YANG Data Types',\r
37      2013-07-15 \r
38      [RFC 6643] refers to IETF RFC 6643 'Translation of Structure\r
39      of Management Information\r
40      Version 2 (SMIv2) MIB Modules to YANG Modules', 2011-11-25 \r
41      [802.1AB] refers to 'Station and Media Access Control\r
42      Connectivity Discovery', IEEE 802.1AB-2009, September 2009\r
43      [802.1q] refers to IEEE 802.1Q-2011 'IEEE Standard for Local\r
44      and metropolitan area networks --Media Access Control (MAC)\r
45      Bridges and Virtual Bridged Local Area Networks, August 2011\r
46      [802-2001] refers to 'IEEE Standard for Local and Metropolitan\r
47      Area Networks: Overview and Architecture', IEEE 802-2001,\r
48      February 2002\r
49      [MEF10.3] refers to MEF 10.3\r
50      'Ethernet Services Attributes Phase 3', October 2013\r
51      [MEF6.2] refers to MEF 6.2\r
52      'EVC Ethernet Services Defintions Phase 3', August 2014\r
53      [MEF40] refers to MEF 40\r
54      'UNI and EVC Definition of Managed Objects', April 2013\r
55      [MEF45] refers to MEF 45 'Multi-CEN L2CP', August 2014\r
56      [MEF7.2] refers to MEF 7.2\r
57      'Carrier Ethernet Management Information Model', April 2013\r
58      [MEF7.3] refers to MEF 7.3\r
59      'Carrier Ethernet Management Information Model',\r
60      Working Draft #1 2015\r
61      [RFC 2737] refers to IETF RFC 2737 'Entity MIB (Version 2)',\r
62      December 1999\r
63      [RFC 2863] refers to IETF RFC 2863 'The Interfaces Group MIB',\r
64      June 2000\r
65      [RFC 3419] refers to IETF RFC 3419\r
66      'Textual Conventions for Transport Addresses', December 2002\r
67      [Y.1731] refers to ITU-T Y.1731\r
68      'OAM functions and mechanisms for Ethernet based networks',\r
69      July 2011\r
70      [Q.840.1] refers to ITU-T Q.840.1\r
71      'Requirements and analysis for NMS-EMS management interface\r
72      of Ethernet over Transport and Metro Ethernet\r
73      Network(EoT/MEN)' March 2007";\r
74   revision 2015-05-26 {\r
75     description\r
76       "Formal Project Review Draft 1.";\r
77     reference "EVC Ethernet Services Definitions YANG Modules\r
78             (MEF XX), TBD";\r
79   }\r
80   container mef-global {\r
81     description\r
82       "MEF Global Profiles";\r
83     grouping bwp-flows-group {\r
84       description\r
85         "Bandwidth Profile Flows Group.";\r
86       list bwp-flow {\r
87         key "bw-profile";\r
88         description\r
89           "Bandwidth Profiles.";\r
90         reference "[MEF10.3] Section 9.14, 12.2.";\r
91         leaf bw-profile {\r
92           type mef-types:identifier45;\r
93           description\r
94             "Bandwidth Profile Identifier.";\r
95           reference "[MEF10.3] Section 9.14, 12.2.";\r
96         }\r
97         leaf user-label {\r
98           type mef-types:identifier45;\r
99           description\r
100             "This attribute is a friendly name for this specific " +\r
101             "Bandwidth Profile.";\r
102         }\r
103         leaf cir {\r
104           type mef-types:bwp-cir-type;\r
105           units "kbits-per-sec";\r
106           default "0";\r
107           description\r
108             "This attribute identifies the Committed Information " +\r
109             "Rate (CIR) in Kilobits per second for one " +\r
110             "direction of an ETH EVC. If the value is 0, then " +\r
111             "no guarantee is assumed.";\r
112         }\r
113         leaf cir-max {\r
114           type mef-types:bwp-cir-type;\r
115           units "kbits-per-sec";\r
116           default "0";\r
117           description\r
118             "This attribute identifies the Maximum Committed " +\r
119             "Information Rate (CIR). This parameter limits the " +\r
120             "rate of tokens added to the committed token bucket. " +\r
121             "If this value is 0, then no limit is assumed.";\r
122         }\r
123         leaf cbs {\r
124           type mef-types:bwp-cbs-type;\r
125           units "bytes";\r
126           default "0";\r
127           description\r
128             "This attribute identifies the Committed Burst Size " +\r
129             "(CBS) in bytes for one direction of an ETH EVC. " +\r
130             "This parameter limits the maximum number of bytes " +\r
131             "available for a burst of Service Frames sent at " +\r
132             "the UNI line rate that will be declared Green " +\r
133             "by the Bandwidth Profile. If this value is 0, " +\r
134             "then no limit is assumed.";\r
135         }\r
136         leaf eir {\r
137           type mef-types:bwp-eir-type;\r
138           units "kbits-per-sec";\r
139           default "0";\r
140           description\r
141             "This attribute identifies the Excess Information " +\r
142             "Rate (EIR) in Kilobits per second for one " +\r
143             "direction of an ETH EVC. This parameter limits the " +\r
144             "average rate in bits per second of Service Frames " +\r
145             "that will be declared Yellow by the Bandwidth " +\r
146             "Profile. If this value is 0, then no limit is assumed.";\r
147         }\r
148         leaf eir-max {\r
149           type mef-types:bwp-eir-type;\r
150           units "kbits-per-sec";\r
151           default "0";\r
152           description\r
153             "This attribute identifies the Maximum Excess " +\r
154             "Information Rate (EIR) in Kilobits per second for " +\r
155             "one direction of an ETH EVC. This parameter " +\r
156             "limits the rate of tokens added to the excess " +\r
157             "token bucket. If this value is 0, then no " +\r
158             "limit is assumed.";\r
159         }\r
160         leaf ebs {\r
161           type mef-types:bwp-ebs-type;\r
162           units "bytes";\r
163           default "0";\r
164           description\r
165             "This attribute identifies the Excess Burst Size " +\r
166             "(EBS) in bytes for one direction of an ETH EVC. " +\r
167             "This parameter limits the maximum number of " +\r
168             "bytes available for a burst of Service Frames " +\r
169             "sent at the UNI line rate that will be " +\r
170             "declared Yellow by the Bandwidth Profile. " +\r
171             "If this value is 0, then no limit is assumed.";\r
172         }\r
173         leaf coupling-enabled {\r
174           type boolean;\r
175           default "false";\r
176           description\r
177             "The Per Bandwidth Profile Coupling Flag (CF) " +\r
178             "attribute. This parameter determines whether " +\r
179             "or not overflow tokens not used for Service " +\r
180             "Frames declared Green can be used as Yellow tokens.";\r
181           reference "[MEF10.3] Section 12.1 [R149].";\r
182         }\r
183         leaf color-mode {\r
184           type mef-types:bwp-color-mode-type;\r
185           default "color-blind";\r
186           description\r
187             "This attribute describes the color mode (CM) to " +\r
188             "be applied as 'color-blind mode' or " +\r
189             "'color-aware mode'.";\r
190           reference "[MEF10.3] Section 10.3, [R151].";\r
191         }\r
192         leaf coupling-flag {\r
193           type mef-types:bwp-coupling-flag-type;\r
194           default "yellow-eir-only";\r
195           description\r
196             "The optional coupling flag (CF) attribute, " +\r
197             "describes if yellow frames will be admitted " +\r
198             "if unused bandwidth is available. When CF is " +\r
199             "set to \"yellow-eir-only\", the volume of the " +\r
200             "yellow service frames admitted to the network " +\r
201             "cannot exceed EIR. When CF is set " +\r
202             "to \"yellow-eir-plus-cir\", the volume of the " +\r
203             "yellow service frames admitted to the network is " +\r
204             "bounded by CIR + EIR depending on volume of the " +\r
205             "offered green Service Frames. In both cases the " +\r
206             "burst size of the yellow service frames " +\r
207             "admitted to the network is bounded by EBS.";\r
208           reference "[MEF23.1] Section 8.1.";\r
209         }\r
210       }\r
211     }\r
212     container svc-providers {\r
213       presence "Use non-default Service Providers";\r
214       description\r
215         "Global Service Providers List.";\r
216       list svc-provider {\r
217         key "sp-id";\r
218         description\r
219           "Service Provider Identifier.";\r
220         leaf sp-id {\r
221           type mef-types:svc-provider-type;\r
222           description\r
223             "The Service Provider ID identifies a unique SP that " +\r
224             "contains multiple CENs.";\r
225           reference "[MEF10.3] Section 7.";\r
226         }\r
227       }\r
228     }\r
229     container cens {\r
230       presence "Use non-default CEN";\r
231       description\r
232         "Global CENs List.";\r
233       list cen {\r
234         must "(not(/mef-global/svc-providers) and " +\r
235                 "not(./sp-id)) or " +\r
236                 "(/mef-global/svc-providers and ./sp-id)" {\r
237           error-message "If the Service Providers list has been " +\r
238                 "populated, a Service Provider ID must be " +\r
239                 "configured for a CEN.";\r
240           description\r
241             "A CEN sees a single Service Provider. This must " +\r
242             "statement is effectively a 'mandatory true' when " +\r
243             "the Global Service Providers list is being used.";\r
244         }\r
245         key "cen-id";\r
246         description\r
247           "List of CENs.";\r
248         leaf cen-id {\r
249           type mef-types:cen-type;\r
250           description\r
251             "The CEN ID identifies a specific Carrier Ethernet " +\r
252             "Network belong to a Service Provider.";\r
253           reference "[MEF10.3] Section 7. The CEN ID must be " +\r
254                 "unique for this Service Provider.";\r
255         }\r
256         leaf sp-id {\r
257           when "/mef-global:mef-global/mef-global:svc-providers" {\r
258             description\r
259               "Service Provider Identifier associated with " +\r
260               "this CEN.";\r
261           }\r
262           type leafref {\r
263             path "/mef-global:mef-global/mef-global:" +\r
264                     "svc-providers/mef-global:svc-provider/" +\r
265                     "mef-global:sp-id";\r
266           }\r
267           description\r
268             "The Service Provider ID must be globally unique " +\r
269             "as all CENs and Subscribers must be supported " +\r
270             "by a specific Service Provider(SP). A SP can " +\r
271             "support multiple CENs.";\r
272           reference "[MEF10.3] Section 7.";\r
273         }\r
274       }\r
275     }\r
276     container slss {\r
277       presence "Use non-default SLS";\r
278       description\r
279         "The technical specification of the service level being " +\r
280         "offered by the Service Provider to the Subscriber is " +\r
281         "defined to be the Service Level Specification (SLS).";\r
282       list sls {\r
283         must "(not(/mef-global/svc-providers) and " +\r
284                 "not(./sp-id)) or " +\r
285                 "(/mef-global/svc-providers and ./sp-id)" {\r
286           error-message "If the Service Providers list has been " +\r
287                 "populated, a Service Provider ID must be " +\r
288                 "configured for an SLS.";\r
289           description\r
290             "An SLS sees a single Service Provider. This must " +\r
291             "statement is effectively a 'mandatory true' when " +\r
292             "the Global Service Providers list is being used.";\r
293         }\r
294         key "sls-id";\r
295         description\r
296           "Global Service Level Specification(SLS) List.";\r
297         container perf-objs {\r
298           description\r
299             "Performance Objectives for this SLS.";\r
300           leaf pm-time-interval {\r
301             type uint64;\r
302             units "seconds";\r
303             mandatory true;\r
304             description\r
305               "Performance Metric(PM): Time Interval.";\r
306           }\r
307           leaf pm-time-interval-increment {\r
308             when "(count(../perf-obj[pm-type = " +\r
309                     "'one-way-resiliency-performance-hli']) > 0) " +\r
310                     "or (count(../perf-obj" +\r
311                     "[pm-type = " +\r
312                     "'one-way-resiliency-performance-chli']) > 0)" +\r
313                     " or (count(../perf-obj" +\r
314                     "[pm-type = " +\r
315                     "'one-way-availability-performance']) > 0) " +\r
316                     "or (count(../perf-obj[pm-type = " +\r
317                     "'one-way-multiple-evc-group-availability-" +\r
318                     "performance']) > 0) or " +\r
319                     "(count(../perf-obj[pm-type = " +\r
320                     "'one-way-group-availability-" +\r
321                     "performance']) > 0)" {\r
322               description\r
323                 "This PM Metric only applies to specific " +\r
324                 "Performance Objective Types.";\r
325             }\r
326             type uint64;\r
327             units "ms";\r
328             mandatory true;\r
329             description\r
330               "A time interval much smaller than pm-time-interval.";\r
331           }\r
332           leaf unavail-flr-threshold-pp {\r
333             when "(count(../perf-obj[pm-type = " +\r
334                     "'one-way-resiliency-performance-hli']) > 0) " +\r
335                     "or " +\r
336                     "(count(../perf-obj[pm-type = " +\r
337                     "'one-way-resiliency-performance-chli']) > 0) " +\r
338                     "or " +\r
339                     "(count(../perf-obj[pm-type = " +\r
340                     "'one-way-availability-performance']) > 0) " +\r
341                     "or " +\r
342                     "(count(../perf-obj[pm-type = " +\r
343                     "'one-way-multiple-evc-group-availability-" +\r
344                     "performance']) > 0) or " +\r
345                     "(count(../perf-obj[pm-type = " +\r
346                     "'one-way-group-availability-" +\r
347                     "performance']) > 0)" {\r
348               description\r
349                 "This PM Metric only applies to specific " +\r
350                 "Performance Objective Types.";\r
351             }\r
352             type mef-types:simple-percent;\r
353             units "percent";\r
354             mandatory true;\r
355             description\r
356               "Unavailability frame loss ratio threshold " +\r
357               "expressed in percentage.";\r
358           }\r
359           leaf consecutive-small-time-intervals {\r
360             when "(count(../perf-obj[pm-type = " +\r
361                     "'one-way-availability-performance']) > 0) or " +\r
362                     "(count(../perf-obj[pm-type = " +\r
363                     "'one-way-multiple-evc-group-availability-" +\r
364                     "performance']) > 0) or " +\r
365                     "(count(../perf-obj[pm-type = " +\r
366                     "'one-way-group-availability-" +\r
367                     "performance']) > 0)" {\r
368               description\r
369                 "This PM Metric only applies to specific " +\r
370                 "Performance Objective Types.";\r
371             }\r
372             type uint64;\r
373             mandatory true;\r
374             description\r
375               "Number of consecutive small time intervals " +\r
376               "to assess.";\r
377           }\r
378           list perf-obj {\r
379             key "pm-type pm-id";\r
380             unique "pm-type cos-name fd-pp fd-range-pp " +\r
381                     "fd-perf-obj fd-range-perf-obj " +\r
382                     "fd-mean-perf-obj ifdv-pp ifdv-pair-interval " +\r
383                     "ifdv-perf-obj flr-perf-obj avail-pp " +\r
384                     "hli-perf-obj " +\r
385                     "chli-consecutive-small-time-intervals " +\r
386                     "chli-perf-obj min-uni-pairs-avail gp-avail-pp";\r
387             description\r
388               "For any given SLS, performance objectives related " +\r
389               "to the Performance Metrics may or may not be " +\r
390               "specified. No functionally duplicated " +\r
391               "Performance Objectives are allowed.";\r
392             leaf pm-type {\r
393               type mef-types:performance-metric-type;\r
394               description\r
395                 "Performance Metric Type.";\r
396               reference "[MEF10.3] Section 8.8.";\r
397             }\r
398             leaf pm-id {\r
399               type mef-types:identifier45;\r
400               description\r
401                 "This is a friendly name for specific " +\r
402                 "performance profile.";\r
403             }\r
404             leaf cos-name {\r
405               type leafref {\r
406                 path "/mef-global:mef-global/profiles/" +\r
407                         "cos-names/cos-name/name";\r
408               }\r
409               mandatory true;\r
410               description\r
411                 "CoS Name Identifier.";\r
412             }\r
413             leaf fd-pp {\r
414               when "(../pm-type = 'one-way-frame-delay-" +\r
415                     "performance')" {\r
416                 description\r
417                   "This PM Metric only applies to specific " +\r
418                   "Performance Objective Types.";\r
419               }\r
420               type mef-types:simple-percent;\r
421               units "percent";\r
422               mandatory true;\r
423               description\r
424                 "Frame Delay Performance Percentile.";\r
425             }\r
426             leaf fd-range-pp {\r
427               when "(../pm-type = 'one-way-frame-delay-range-" +\r
428                     "performance')" {\r
429                 description\r
430                   "This PM Metric only applies to specific " +\r
431                   "Performance Objective Types.";\r
432               }\r
433               type mef-types:simple-percent;\r
434               units "percent";\r
435               mandatory true;\r
436               description\r
437                 "Frame Delay Range Performance Percentile.";\r
438             }\r
439             leaf fd-perf-obj {\r
440               when "(../pm-type = 'one-way-frame-delay-" +\r
441                     "performance')" {\r
442                 description\r
443                   "This PM Metric only applies to specific " +\r
444                   "Performance Objective Types.";\r
445               }\r
446               type uint64;\r
447               units "ms";\r
448               mandatory true;\r
449               description\r
450                 "Frame Delay Performance Objective.";\r
451             }\r
452             leaf fd-range-perf-obj {\r
453               when "(../pm-type = 'one-way-frame-delay-range-" +\r
454                     "performance')" {\r
455                 description\r
456                   "This PM Metric only applies to specific " +\r
457                   "Performance Objective Types.";\r
458               }\r
459               type uint64;\r
460               units "ms";\r
461               mandatory true;\r
462               description\r
463                 "Frame Delay Range Performance Objective.";\r
464             }\r
465             leaf fd-mean-perf-obj {\r
466               when "(../pm-type = 'one-way-mean-frame-delay-" +\r
467                     "performance')" {\r
468                 description\r
469                   "This PM Metric only applies to specific " +\r
470                   "Performance Objective Types.";\r
471               }\r
472               type uint64;\r
473               units "ms";\r
474               mandatory true;\r
475               description\r
476                 "Frame Delay Mean Performance Objective.";\r
477             }\r
478             leaf ifdv-pp {\r
479               when "(../pm-type = 'one-way-inter-frame-delay-" +\r
480                     "variation-performance')" {\r
481                 description\r
482                   "This PM Metric only applies to specific " +\r
483                   "Performance Objective Types.";\r
484               }\r
485               type mef-types:simple-percent;\r
486               units "percent";\r
487               mandatory true;\r
488               description\r
489                 "Inter-Frame Delay Variation Performance " +\r
490                 "Percentile.";\r
491             }\r
492             leaf ifdv-pair-interval {\r
493               when "(../pm-type = 'one-way-inter-frame-delay-" +\r
494                     "variation-performance')" {\r
495                 description\r
496                   "This PM Metric only applies to specific " +\r
497                   "Performance Objective Types.";\r
498               }\r
499               type mef-types:simple-percent;\r
500               units "ms";\r
501               mandatory true;\r
502               description\r
503                 "Inter-Frame Delay Variation Performance " +\r
504                 "Separation / Pair Interval.";\r
505             }\r
506             leaf ifdv-perf-obj {\r
507               when "(../pm-type = 'one-way-inter-frame-delay-" +\r
508                     "variation-performance')" {\r
509                 description\r
510                   "This PM Metric only applies to specific " +\r
511                   "Performance Objective Types.";\r
512               }\r
513               type uint64;\r
514               units "ms";\r
515               mandatory true;\r
516               description\r
517                 "Inter-Frame Delay Variation Performance Objective.";\r
518             }\r
519             leaf flr-perf-obj {\r
520               when "(../pm-type = 'one-way-frame-loss-ratio-" +\r
521                     "performance')" {\r
522                 description\r
523                   "This PM Metric only applies to specific " +\r
524                   "Performance Objective Types.";\r
525               }\r
526               type uint64;\r
527               units "ms";\r
528               mandatory true;\r
529               description\r
530                 "Frame Loss Ratio Performance Objective.";\r
531             }\r
532             leaf avail-pp {\r
533               when "(../pm-type = 'one-way-availability-" +\r
534                     "performance')" {\r
535                 description\r
536                   "This PM Metric only applies to specific " +\r
537                   "Performance Objective Types.";\r
538               }\r
539               type mef-types:simple-percent;\r
540               units "percent";\r
541               mandatory true;\r
542               description\r
543                 "Availability Performance Objective expressed " +\r
544                 "as a percentage.";\r
545             }\r
546             leaf hli-perf-obj {\r
547               when "(../pm-type = 'one-way-resiliency-" +\r
548                     "performance-hli')" {\r
549                 description\r
550                   "This PM Metric only applies to specific " +\r
551                   "Performance Objective Types.";\r
552               }\r
553               type uint64;\r
554               mandatory true;\r
555               description\r
556                 "HLI Performance Objective expressed as an integer.";\r
557             }\r
558             leaf chli-consecutive-small-time-intervals {\r
559               when "(../pm-type = 'one-way-resiliency-" +\r
560                     "performance-chli')" {\r
561                 description\r
562                   "This PM Metric only applies to specific " +\r
563                   "Performance Objective Types.";\r
564               }\r
565               type uint64;\r
566               must "not(../../consecutive-small-time-intervals) " +\r
567                     "or " +\r
568                     "(. < ../../consecutive-small-time-" +\r
569                     "intervals)" {\r
570                 error-message "The value of chli-consecutive-" +\r
571                         "small-time-intervals must be less " +\r
572                         "than consecutive-small-time-intervals " +\r
573                         "(where p < n) if both are defined.";\r
574                 description\r
575                   "The value of chli-consecutive-small-time-" +\r
576                   "intervals must be less than consecutive-" +\r
577                   "small-time-intervals (where p < n) if " +\r
578                   "both are defined.";\r
579               }\r
580               mandatory true;\r
581               description\r
582                 "Number of consecutive small time intervals " +\r
583                 "for assessing CHLI.";\r
584               reference "[MEF10.3] Table 10.";\r
585             }\r
586             leaf chli-perf-obj {\r
587               when "(../pm-type = 'one-way-resiliency-" +\r
588                     "performance-chli')" {\r
589                 description\r
590                   "This PM Metric only applies to specific " +\r
591                   "Performance Objective Types.";\r
592               }\r
593               type uint64;\r
594               mandatory true;\r
595               description\r
596                 "Consecutive HLI Performance Objective " +\r
597                 "expressed as an integer.";\r
598             }\r
599             leaf min-uni-pairs-avail {\r
600               when "(../pm-type = 'one-way-multiple-evc-group-" +\r
601                     "availability-performance') or " +\r
602                     "(../pm-type = 'one-way-group-availability-" +\r
603                     "performance')" {\r
604                 description\r
605                   "This PM Metric only applies to specific " +\r
606                   "Performance Objective Types.";\r
607               }\r
608               type uint64;\r
609               mandatory true;\r
610               description\r
611                 "Minimum number of ordered UNI pairs that are " +\r
612                 "to be available in the EVC.";\r
613             }\r
614             leaf gp-avail-pp {\r
615               when "(../pm-type = 'one-way-multiple-evc-group-" +\r
616                     "availability-performance') or " +\r
617                     "(../pm-type = 'one-way-group-availability-" +\r
618                     "performance')" {\r
619                 description\r
620                   "This PM Metric only applies to specific " +\r
621                   "Performance Objective Types.";\r
622               }\r
623               type mef-types:simple-percent;\r
624               units "percent";\r
625               mandatory true;\r
626               description\r
627                 "Group Availability Performance Objective " +\r
628                 "expressed as a percentage.";\r
629             }\r
630           }\r
631         }\r
632         leaf sls-id {\r
633           type mef-types:cen-type;\r
634           description\r
635             "The SLS ID identifies a specific Service Level " +\r
636             "Specification offered by a Service Provider.";\r
637           reference "[MEF10.3] Section 8.8. The SLS ID must " +\r
638                 "be unique for this Service Provider.";\r
639         }\r
640         leaf sp-id {\r
641           when "/mef-global:mef-global/mef-global:svc-" +\r
642                 "providers" {\r
643             description\r
644               "Service Provider Identifier associated " +\r
645               "with this SLS.";\r
646           }\r
647           type leafref {\r
648             path "/mef-global:mef-global/mef-global:" +\r
649                     "svc-providers/mef-global:svc-provider/" +\r
650                     "mef-global:sp-id";\r
651           }\r
652           description\r
653             "The Service Provider ID must be globally unique " +\r
654             "as all Subscriber SLSs must be supported by " +\r
655             "a specific Service Provider(SP). A SP can " +\r
656             "support multiple SLSs.";\r
657           reference "[MEF10.3] Section 7.";\r
658         }\r
659       }\r
660     }\r
661     container subscribers {\r
662       presence "Use non-default Subscribers.";\r
663       description\r
664         "Subscribers List (Global).";\r
665       list subscriber {\r
666         must "(not(/mef-global/svc-providers) and not(./sp-id)) " +\r
667                 "or " +\r
668                 "(/mef-global/svc-providers and ./sp-id)" {\r
669           error-message "If the Service Providers list has been " +\r
670                 "populated, a Service Provider ID must be " +\r
671                 "configured for a Subscriber.";\r
672           description\r
673             "A Subscriber sees a single Service Provider. " +\r
674             "This must statement is effectively a " +\r
675             "'mandatory true' when the Global Service " +\r
676             "Providers list is being used.";\r
677         }\r
678         must "(not(/mef-global/cens) and not(./cen-id)) or " +\r
679                 "(/mef-global/cens and ./cen-id)" {\r
680           error-message "If the CENs list has been populated, " +\r
681                 "a CEN ID must be configured for a Subscriber.";\r
682           description\r
683             "[MEF103] A Subscriber sees a single CEN from a " +\r
684             "SP. This must statement is effectively a " +\r
685             "'mandatory true' when the Global CENs list " +\r
686             "is being used.";\r
687         }\r
688         key "sub-id";\r
689         description\r
690           "Global Subscriber List.";\r
691         leaf sub-id {\r
692           type mef-types:subscriber-type;\r
693           description\r
694             "The Subscriber ID identifies a unique Subscriber to " +\r
695             "this CEN. Note that you can have the same " +\r
696             "Subscriber as part of multiple Service Providers.";\r
697           reference "[MEF10.3] Section 7";\r
698         }\r
699         leaf sp-id {\r
700           when "/mef-global:mef-global/mef-global:svc-providers" {\r
701             description\r
702               "Only configure when the Global Service Providers " +\r
703               "list has been populated.";\r
704           }\r
705           type leafref {\r
706             path "/mef-global:mef-global/mef-global:" +\r
707                     "svc-providers/mef-global:" +\r
708                     "svc-provider/mef-global:sp-id";\r
709           }\r
710           description\r
711             "The Service Provider ID must be globally unique " +\r
712             "as all CENs and Subscribers must be supported by " +\r
713             "a specific Service Provider(SP). A SP can " +\r
714             "support multiple CENs.";\r
715           reference "[MEF10.3] Section 7.";\r
716         }\r
717         leaf cen-id {\r
718           when "/mef-global:mef-global/mef-global:cens" {\r
719             description\r
720               "Only configure when the Global CENs list " +\r
721               "has been populated.";\r
722           }\r
723           type leafref {\r
724             path "/mef-global:mef-global/mef-global:cens/" +\r
725                     "mef-global:cen/mef-global:cen-id";\r
726           }\r
727           description\r
728             "A CEN is defined as a network from a " +\r
729             "Service Provider (SP). ";\r
730           reference "[MEF10.3] Section 7.";\r
731         }\r
732       }\r
733     }\r
734     container profiles {\r
735       presence "Use to confirm whether ANY profiles have " +\r
736             "been configured";\r
737       description\r
738         "Global Profiles.";\r
739       container cos-names {\r
740         description\r
741           "CoS Names (AKA CoS Labels) agreed to between " +\r
742           "the Service Provider and the Subscribers.";\r
743         list cos-name {\r
744           key "name";\r
745           description\r
746             "List of CoS Names.";\r
747           leaf name {\r
748             type mef-types:identifier45;\r
749             description\r
750               "CoS Name.";\r
751           }\r
752         }\r
753       }\r
754       container eec-names {\r
755         description\r
756           "Egress Equivalance Class (EEC) Names agreed to " +\r
757           "between the Service Provider and the Subscribers.";\r
758         list eec-name {\r
759           key "name";\r
760           description\r
761             "List of EEC Names.";\r
762           leaf name {\r
763             type mef-types:identifier45;\r
764             description\r
765               "EEC Name.";\r
766           }\r
767         }\r
768       }\r
769       container ingress-bwp-flows {\r
770         description\r
771           "Ingress Bandwidth Profile Flows.";\r
772         uses bwp-flows-group;\r
773       }\r
774       container egress-bwp-flows {\r
775         description\r
776           "Egress Bandwidth Profile Flows.";\r
777         uses bwp-flows-group;\r
778       }\r
779       container l2cp-cos {\r
780         description\r
781           "Ingress Layer 2 Control Protocol (L2CP) " +\r
782           "Configuration with CoS Names.";\r
783         list l2cp-profile {\r
784           key "id";\r
785           description\r
786             "A list of global profiles for Layer 2 " +\r
787             "Control Processing.";\r
788           reference "[MEF10.3] Section 8.5.";\r
789           container l2cps {\r
790             description\r
791               "Layer 2 Control Protocol (L2CP) Profiles " +\r
792               "for Classes of Service (CoS).";\r
793             list l2cp {\r
794               key "dest-mac-addr peering-proto-name";\r
795               description\r
796                 "L2CP Destination MAC Address.";\r
797               reference "[MEF10.3] Section 8.5.";\r
798               leaf dest-mac-addr {\r
799                 type yang:mac-address;\r
800                 description\r
801                   "The Destination MAC Address for the " +\r
802                   "Layer 2 Control Protocol.";\r
803               }\r
804               leaf peering-proto-name {\r
805                 type mef-types:identifier45;\r
806                 description\r
807                   "This attribute is a friendly name for " +\r
808                   "the Protocol to be Peered. It is optional.";\r
809               }\r
810               leaf protocol {\r
811                 type mef-types:l2cp-peering-protocol-type;\r
812                 default "ethertype";\r
813                 description\r
814                   "The Protocol is one of Ethertype, LLC, or Other.";\r
815               }\r
816               leaf protocol-id {\r
817                 type yang:hex-string;\r
818                 description\r
819                   "The Protocol Identifier is the protocol " +\r
820                   "specific value associated with the " +\r
821                   "protocol in a colon separated list of " +\r
822                   "hex values (ie. 88:EE or 82).";\r
823               }\r
824               leaf cos-name {\r
825                 type leafref {\r
826                   path "/mef-global:mef-global/profiles/" +\r
827                         "cos-names/cos-name/name";\r
828                 }\r
829                 description\r
830                   "This attribute identifies the name of " +\r
831                   "a class of service (CoS).";\r
832               }\r
833               leaf handling {\r
834                 type mef-types:l2cp-handling-type;\r
835                 description\r
836                   "The handling selection indicates whether " +\r
837                   "the L2CP Service Frames identified by " +\r
838                   "this list entry should be passed, " +\r
839                   "discarded, or peered.";\r
840                 reference "[MEF45] Section 8.5.";\r
841               }\r
842               leaf-list subtype {\r
843                 type yang:hex-string;\r
844                 max-elements "255";\r
845                 description\r
846                   "L2CP Subtype for this Destination " +\r
847                   "MAC's Protocol ID.";\r
848               }\r
849             }\r
850           }\r
851           leaf id {\r
852             type mef-types:identifier45;\r
853             description\r
854               "The L2CP ID identifies a specific profile for " +\r
855               "Layer 2 Control Processing.";\r
856             reference "[MEF10.3] Section 8.5.";\r
857           }\r
858           leaf user-label {\r
859             type mef-types:identifier45;\r
860             description\r
861               "This attribute is a friendly name for the " +\r
862               "specific L2CP profile.";\r
863           }\r
864         }\r
865       }\r
866       container l2cp-eec {\r
867         description\r
868           "Egress Layer 2 Control Protocol (L2CP) Configuration " +\r
869           "with EEC Names.";\r
870         list l2cp-profile {\r
871           key "id";\r
872           description\r
873             "A list of global profiles for Layer 2 Control " +\r
874             "Processing.";\r
875           reference "[MEF10.3] Section 8.5.";\r
876           container l2cps {\r
877             description\r
878               "Layer 2 Control Protocol (L2CP) Profiles for " +\r
879               "Egress Equivalence Classes.";\r
880             list l2cp {\r
881               key "dest-mac-addr peering-proto-name";\r
882               description\r
883                 "L2CP Destination MAC Address.";\r
884               reference "[MEF10.3] Section 8.5.";\r
885               leaf dest-mac-addr {\r
886                 type yang:mac-address;\r
887                 description\r
888                   "The Destination MAC Address for the " +\r
889                   "Layer 2 Control Protocol.";\r
890               }\r
891               leaf peering-proto-name {\r
892                 type mef-types:identifier45;\r
893                 description\r
894                   "This attribute is a friendly name for the " +\r
895                   "Protocol to be Peered. It is optional.";\r
896               }\r
897               leaf protocol {\r
898                 type mef-types:l2cp-peering-protocol-type;\r
899                 default "ethertype";\r
900                 description\r
901                   "The Protocol is one of Ethertype, LLC, or Other.";\r
902               }\r
903               leaf protocol-id {\r
904                 type yang:hex-string;\r
905                 description\r
906                   "The Protocol Identifier is the protocol " +\r
907                   "specific " +\r
908                   "value associated with the protocol in a " +\r
909                   "colon separated list of hex values " +\r
910                   "(ie. 88:EE or 82).";\r
911               }\r
912               leaf eec-name {\r
913                 type leafref {\r
914                   path "/mef-global:mef-global/profiles/" +\r
915                         "eec-names/eec-name/name";\r
916                 }\r
917                 description\r
918                   "This attribute identifies the name of a " +\r
919                   "Egress Equivalence Class (EEC).";\r
920               }\r
921               leaf handling {\r
922                 type mef-types:l2cp-handling-type;\r
923                 description\r
924                   "The handling selection indicates whether " +\r
925                   "the L2CP Service Frames identified by this " +\r
926                   "list entry should be passed, discarded, " +\r
927                   "or peered.";\r
928                 reference "[MEF45] Section 8.5.";\r
929               }\r
930               leaf-list subtype {\r
931                 type yang:hex-string;\r
932                 max-elements "255";\r
933                 description\r
934                   "L2CP Subtype for this Destination MAC's " +\r
935                   "Protocol ID.";\r
936               }\r
937             }\r
938           }\r
939           leaf id {\r
940             type mef-types:identifier45;\r
941             description\r
942               "The L2CP ID identifies a specific profile for " +\r
943               "Layer 2 Control Processing.";\r
944             reference "[MEF10.3] Section 8.5.";\r
945           }\r
946           leaf user-label {\r
947             type mef-types:identifier45;\r
948             description\r
949               "This attribute is a friendly name for the " +\r
950               "specific L2CP profile.";\r
951           }\r
952         }\r
953       }\r
954       container l2cp-peering {\r
955         description\r
956           "Layer 2 Control Protocol (L2CP) Configuration " +\r
957           "for Peering Lists.";\r
958         list l2cp-profile {\r
959           key "id";\r
960           description\r
961             "A list of global profiles for " +\r
962             "Layer 2 Control Processing.";\r
963           reference "[MEF10.3] Section 8.5.";\r
964           container l2cps {\r
965             description\r
966               "Layer 2 Control Protocol (L2CP) Profiles for " +\r
967               "Peering.";\r
968             list l2cp {\r
969               key "dest-mac-addr peering-proto-name";\r
970               description\r
971                 "L2CP Destination MAC Address.";\r
972               reference "[MEF10.3] Section 8.5.";\r
973               leaf dest-mac-addr {\r
974                 type yang:mac-address;\r
975                 description\r
976                   "The Destination MAC Address for the " +\r
977                   "Layer 2 Control Protocol.";\r
978               }\r
979               leaf peering-proto-name {\r
980                 type mef-types:identifier45;\r
981                 description\r
982                   "This attribute is a friendly name for the " +\r
983                   "Protocol to be Peered. It is optional.";\r
984               }\r
985               leaf protocol {\r
986                 type mef-types:l2cp-peering-protocol-type;\r
987                 default "ethertype";\r
988                 description\r
989                   "The Protocol is one of Ethertype, LLC, or Other.";\r
990               }\r
991               leaf protocol-id {\r
992                 type yang:hex-string;\r
993                 description\r
994                   "The Protocol Identifier is the protocol " +\r
995                   "specific value associated with the protocol " +\r
996                   "in a colon separated list of hex values " +\r
997                   "(ie. 88:EE or 82).";\r
998               }\r
999               leaf-list subtype {\r
1000                 type yang:hex-string;\r
1001                 max-elements "255";\r
1002                 description\r
1003                   "L2CP Subtype for this Destination MAC's " +\r
1004                   "Protocol ID.";\r
1005               }\r
1006             }\r
1007           }\r
1008           leaf id {\r
1009             type mef-types:identifier45;\r
1010             description\r
1011               "The L2CP ID identifies a specific profile for " +\r
1012               "Layer 2 Control Processing.";\r
1013             reference "[MEF10.3] Section 8.5.";\r
1014           }\r
1015           leaf user-label {\r
1016             type mef-types:identifier45;\r
1017             description\r
1018               "This attribute is a friendly name for the " +\r
1019               "specific L2CP profile.";\r
1020           }\r
1021         }\r
1022       }\r
1023       container elmi {\r
1024         description\r
1025           "Ethernet Local Management Interface(ELMI).";\r
1026         list elmi-profile {\r
1027           key "id";\r
1028           description\r
1029             "Ethernet Local Management Interface(ELMI) Profile ID.";\r
1030           reference "[MEF10.3] [R88]. [MEF16].";\r
1031           leaf id {\r
1032             type mef-types:identifier45;\r
1033             description\r
1034               "Ethernet Local Management Interface(ELMI) " +\r
1035               "Profile ID.";\r
1036             reference "[MEF10.3] [R88]. [MEF16].";\r
1037           }\r
1038           leaf user-label {\r
1039             type mef-types:identifier45;\r
1040             description\r
1041               "This attribute is a friendly name for the " +\r
1042               "specific ELMI Category described within this " +\r
1043               "profile.";\r
1044           }\r
1045           leaf polling-counter {\r
1046             type mef-types:elmi-polling-counter-type;\r
1047             default "360";\r
1048             description\r
1049               "Polling cycles between Full Status exchanges.";\r
1050             reference "[MEF16] Section 5.6.1.";\r
1051           }\r
1052           leaf status-error-threshold {\r
1053             type mef-types:elmi-status-error-threshold-type;\r
1054             default "4";\r
1055             description\r
1056               "The count of consecutive ELMI status polling " +\r
1057               "errors before raising an error.";\r
1058             reference "[MEF16] Section 5.6.1.";\r
1059           }\r
1060           leaf polling-timer {\r
1061             type mef-types:elmi-polling-timer-type;\r
1062             default "10";\r
1063             description\r
1064               "The timer started after tranmitting a Status " +\r
1065               "Enquiry. If the timer expires, record the error " +\r
1066               "if a STATUS message not received and resend " +\r
1067               "Status Enquiry.";\r
1068             reference "[MEF16] Section 5.6.1.";\r
1069           }\r
1070           leaf polling-verification-timer {\r
1071             type mef-types:elmi-polling-verification-timer-type;\r
1072             default "15";\r
1073             description\r
1074               "The type used for a timer started after " +\r
1075               "tranmitting a Status Message. If a Status " +\r
1076               "Enquiry is recieved before this timer " +\r
1077               "expires, record the error.";\r
1078             reference "[MEF16] Section 5.6.1.";\r
1079           }\r
1080         }\r
1081       }\r
1082       container eec {\r
1083         description\r
1084           "Egress Equivalence Class (EEC) Profiles.";\r
1085         list eec-profile {\r
1086           key "id";\r
1087           description\r
1088             "This attribute identifies the identifier of a " +\r
1089             "Egress Equivance Class (EEC) instance.";\r
1090           reference "[MEF6.2] Appendix A.";\r
1091           leaf id {\r
1092             type mef-types:identifier45;\r
1093             description\r
1094               "This attribute identifies the label of a " +\r
1095               "Egress Equivance Class (EEC) instance.";\r
1096           }\r
1097           choice eec-id {\r
1098             description\r
1099               "EEC Identifier.";\r
1100             case pcp {\r
1101               container eec-pcp {\r
1102                 presence "EEC Mode PCP.";\r
1103                 description\r
1104                   "EEC Mode PCP.";\r
1105                 leaf default-pcp-eec-name {\r
1106                   type leafref {\r
1107                     path "/mef-global:mef-global/profiles/" +\r
1108                             "eec-names/eec-name/name";\r
1109                   }\r
1110                   description\r
1111                     "Default value for EEC Name for PCP " +\r
1112                     "when it has not been explicitly configured.";\r
1113                 }\r
1114                 leaf default-pcp-color {\r
1115                   type mef-types:cos-color-type;\r
1116                   default "green";\r
1117                   description\r
1118                     "If the EEC ID = pcp, then this value " +\r
1119                     "will be used as the default Color when " +\r
1120                     "the PCP value does not have an explicitly " +\r
1121                     "configured Color.";\r
1122                   reference "MEF 10.3 Section 10.3";\r
1123                 }\r
1124                 list pcp {\r
1125                   key "pcp-value";\r
1126                   description\r
1127                     "PCP.";\r
1128                   leaf pcp-value {\r
1129                     type mef-types:ieee8021p-priority-type;\r
1130                     description\r
1131                       "Use the VLAN Tag IEEE 802.1p Priority " +\r
1132                       "Code Point value (0..7) for CoS.";\r
1133                     reference "[MEF10.3] Section 10.2.1.";\r
1134                   }\r
1135                   leaf discard-value {\r
1136                     type boolean;\r
1137                     default "false";\r
1138                     description\r
1139                       "Set to True to discard Service Frames " +\r
1140                       "that match to this PCP value.";\r
1141                   }\r
1142                   leaf eec-name {\r
1143                     type leafref {\r
1144                       path "/mef-global:mef-global/profiles/" +\r
1145                             "eec-names/eec-name/name";\r
1146                     }\r
1147                     description\r
1148                       "This attribute identifies the name of a " +\r
1149                       "Egress Equivalence Class instance.";\r
1150                   }\r
1151                   leaf color {\r
1152                     type mef-types:cos-color-type;\r
1153                     default "green";\r
1154                     description\r
1155                       "EVC Per UNI: The EEC Color for " +\r
1156                       "Service Frames.";\r
1157                     reference "[MEF10.3] [R102], [R103]. ";\r
1158                   }\r
1159                 }\r
1160               }\r
1161             }\r
1162             case dscp {\r
1163               container eec-dscp {\r
1164                 presence "EEC Mode DSCP.";\r
1165                 description\r
1166                   "ECC Mode DSCP.";\r
1167                 leaf default-ipv4-eec-name {\r
1168                   type leafref {\r
1169                     path "/mef-global:mef-global/profiles/" +\r
1170                             "eec-names/eec-name/name";\r
1171                   }\r
1172                   description\r
1173                     "Default value for EEC Name for DSCP IPv4 " +\r
1174                     "Packets when it has not been " +\r
1175                     "explicitly configured.";\r
1176                 }\r
1177                 leaf default-ipv4-color {\r
1178                   type mef-types:cos-color-type;\r
1179                   default "green";\r
1180                   description\r
1181                     "If the EEC ID = dscp, then this value will " +\r
1182                     "be used as the default Color when the " +\r
1183                     "DSCP value for IPv4 does not have an " +\r
1184                     "explicitly configured Color.";\r
1185                   reference "MEF 10.3 Section 10.3";\r
1186                 }\r
1187                 leaf default-ipv6-eec-name {\r
1188                   type leafref {\r
1189                     path "/mef-global:mef-global/profiles/" +\r
1190                             "eec-names/eec-name/name";\r
1191                   }\r
1192                   description\r
1193                     "Default value for EEC Name for DSCP IPv6 " +\r
1194                     "Packets when it has not been explicitly " +\r
1195                     "configured.";\r
1196                 }\r
1197                 leaf default-ipv6-color {\r
1198                   type mef-types:cos-color-type;\r
1199                   default "green";\r
1200                   description\r
1201                     "If the EEC ID = dscp, then this value " +\r
1202                     "will be used as the default Color " +\r
1203                     "when the DSCP value for IPv6 does " +\r
1204                     "not have an explicitly configured Color.";\r
1205                   reference "MEF 10.3 Section 10.3";\r
1206                 }\r
1207                 list ipv4-dscp {\r
1208                   key "dscp-value";\r
1209                   description\r
1210                     "DSCP value for IPv4 Packets.";\r
1211                   leaf dscp-value {\r
1212                     type inet:dscp;\r
1213                     description\r
1214                       "Map CoS to IPv4 DSCP values.";\r
1215                   }\r
1216                   leaf discard-value {\r
1217                     type boolean;\r
1218                     default "false";\r
1219                     description\r
1220                       "Set to True to discard Service Frames " +\r
1221                       "that match to this DSCP value.";\r
1222                   }\r
1223                   leaf eec-name {\r
1224                     type leafref {\r
1225                       path "/mef-global:mef-global/profiles/" +\r
1226                             "eec-names/eec-name/name";\r
1227                     }\r
1228                     description\r
1229                       "This attribute identifies the name " +\r
1230                       "of a Egress Equivalence Class instance.";\r
1231                   }\r
1232                   leaf color {\r
1233                     type mef-types:cos-color-type;\r
1234                     default "green";\r
1235                     description\r
1236                       "EVC Per UNI: The EEC Color for " +\r
1237                       "Service Frames.";\r
1238                     reference "[MEF10.3] [R102], [R103]. ";\r
1239                   }\r
1240                 }\r
1241                 list ipv6-dscp {\r
1242                   key "dscp-value";\r
1243                   description\r
1244                     "DSCP value for IPv6 Packets.";\r
1245                   leaf dscp-value {\r
1246                     type inet:dscp;\r
1247                     description\r
1248                       "Map EEC to IPv4 and IPv6 DSCP values.";\r
1249                   }\r
1250                   leaf discard-value {\r
1251                     type boolean;\r
1252                     default "false";\r
1253                     description\r
1254                       "Set to True to discard Service Frames " +\r
1255                       "that match to this DSCP value.";\r
1256                   }\r
1257                   leaf eec-name {\r
1258                     type leafref {\r
1259                       path "/mef-global:mef-global/profiles/" +\r
1260                             "eec-names/eec-name/name";\r
1261                     }\r
1262                     description\r
1263                       "This attribute identifies the name of a " +\r
1264                       "Egress Equivalence Class instance.";\r
1265                   }\r
1266                   leaf color {\r
1267                     type mef-types:cos-color-type;\r
1268                     default "green";\r
1269                     description\r
1270                       "EVC Per UNI: The EEC Color for " +\r
1271                       "Service Frames.";\r
1272                     reference "[MEF10.3] [R102], [R103]. ";\r
1273                   }\r
1274                 }\r
1275               }\r
1276             }\r
1277           }\r
1278         }\r
1279       }\r
1280       container cos {\r
1281         description\r
1282           "Class of Service (CoS) Profiles.";\r
1283         list cos-profile {\r
1284           key "id";\r
1285           description\r
1286             "This attribute identifies the identifier of a " +\r
1287             "Class of Service (CoS) instance.";\r
1288           reference "[MEF6.2] Appendix A.";\r
1289           leaf id {\r
1290             type mef-types:identifier45;\r
1291             description\r
1292               "This attribute identifies the label of a " +\r
1293               "Class of Service (CoS) instance.";\r
1294           }\r
1295           choice cos-id {\r
1296             description\r
1297               "CoS identifier.";\r
1298             case evc {\r
1299               container cos-evc {\r
1300                 presence "EVC ID PCP.";\r
1301                 description\r
1302                   "CoS ID EVC.";\r
1303                 leaf default-evc-cos-name {\r
1304                   type leafref {\r
1305                     path "/mef-global:mef-global/profiles/" +\r
1306                             "cos-names/cos-name/name";\r
1307                   }\r
1308                   description\r
1309                     "This attribute identifies the name of a " +\r
1310                     "Class of Service (CoS) instance.";\r
1311                 }\r
1312                 leaf default-evc-color {\r
1313                   type mef-types:cos-color-type;\r
1314                   default "green";\r
1315                   description\r
1316                     "If the CoS ID = evc, then all service " +\r
1317                     "frames are treated with the same color.";\r
1318                   reference "MEF 10.3 Section 10.3";\r
1319                 }\r
1320               }\r
1321             }\r
1322             case pcp {\r
1323               container cos-pcp {\r
1324                 presence "CoS ID PCP.";\r
1325                 description\r
1326                   "CoS ID PCP.";\r
1327                 leaf default-pcp-cos-name {\r
1328                   type leafref {\r
1329                     path "/mef-global:mef-global/profiles/" +\r
1330                             "cos-names/cos-name/name";\r
1331                   }\r
1332                   description\r
1333                     "Default value for CoS Name for PCP when it " +\r
1334                     "has not been explicitly configured.";\r
1335                 }\r
1336                 leaf default-pcp-color {\r
1337                   type mef-types:cos-color-type;\r
1338                   default "green";\r
1339                   description\r
1340                     "If the CoS ID = pcp, then this value will " +\r
1341                     "be used as the default Color when the PCP " +\r
1342                     "value does not have an explicitly " +\r
1343                     "configured Color.";\r
1344                   reference "MEF 10.3 Section 10.3";\r
1345                 }\r
1346                 list pcp {\r
1347                   key "pcp-value";\r
1348                   description\r
1349                     "PCP.";\r
1350                   leaf pcp-value {\r
1351                     type mef-types:ieee8021p-priority-type;\r
1352                     description\r
1353                       "Use the VLAN Tag IEEE 802.1p Priority " +\r
1354                       "Code Point value (0..7) for CoS.";\r
1355                   }\r
1356                   leaf discard-value {\r
1357                     type boolean;\r
1358                     default "false";\r
1359                     description\r
1360                       "Set to True to discard Service Frames " +\r
1361                       "that match to this PCP value.";\r
1362                   }\r
1363                   leaf cos-name {\r
1364                     type leafref {\r
1365                       path "/mef-global:mef-global/profiles/" +\r
1366                             "cos-names/cos-name/name";\r
1367                     }\r
1368                     description\r
1369                       "This attribute identifies the name of " +\r
1370                       "a class of service (CoS) instance.";\r
1371                   }\r
1372                   leaf color {\r
1373                     type mef-types:cos-color-type;\r
1374                     default "green";\r
1375                     description\r
1376                       "EVC Per UNI: The CoS Color for " +\r
1377                       "Service Frames.";\r
1378                     reference "[MEF10.3] [R102], [R103]. ";\r
1379                   }\r
1380                 }\r
1381               }\r
1382             }\r
1383             case dscp {\r
1384               container cos-dscp {\r
1385                 presence "CoS ID DSCP.";\r
1386                 description\r
1387                   "CoS ID DSCP.";\r
1388                 leaf default-ipv4-cos-name {\r
1389                   type leafref {\r
1390                     path "/mef-global:mef-global/profiles/" +\r
1391                             "cos-names/cos-name/name";\r
1392                   }\r
1393                   description\r
1394                     "Default value for CoS Name for DSCP " +\r
1395                     "IPv4 Packets when it has not been " +\r
1396                     "explicitly configured.";\r
1397                 }\r
1398                 leaf default-ipv4-color {\r
1399                   type mef-types:cos-color-type;\r
1400                   default "green";\r
1401                   description\r
1402                     "If the CoS ID = dscp, then this value " +\r
1403                     "will be used as the default Color when " +\r
1404                     "the DSCP value for IPv4 does not have " +\r
1405                     "an explicitly configured Color.";\r
1406                   reference "MEF 10.3 Section 10.3";\r
1407                 }\r
1408                 leaf default-ipv6-cos-name {\r
1409                   type leafref {\r
1410                     path "/mef-global:mef-global/profiles/" +\r
1411                             "cos-names/cos-name/name";\r
1412                   }\r
1413                   description\r
1414                     "Default value for CoS Name for DSCP " +\r
1415                     "IPv6 Packets when it has not been " +\r
1416                     "explicitly configured.";\r
1417                 }\r
1418                 leaf default-ipv6-color {\r
1419                   type mef-types:cos-color-type;\r
1420                   default "green";\r
1421                   description\r
1422                     "If the CoS ID = dscp, then this value will " +\r
1423                     "be used as the default Color when the " +\r
1424                     "DSCP value for IPv6 does not have an " +\r
1425                     "explicitly configured Color.";\r
1426                   reference "MEF 10.3 Section 10.3";\r
1427                 }\r
1428                 list ipv4-dscp {\r
1429                   key "dscp-value";\r
1430                   description\r
1431                     "DSCP value for IPv4 Packets.";\r
1432                   leaf dscp-value {\r
1433                     type inet:dscp;\r
1434                     description\r
1435                       "Map CoS to IPv4 and IPv6 DSCP values.";\r
1436                   }\r
1437                   leaf discard-value {\r
1438                     type boolean;\r
1439                     default "false";\r
1440                     description\r
1441                       "Set to True to discard Service Frames " +\r
1442                       "that match to this DSCP value.";\r
1443                   }\r
1444                   leaf cos-name {\r
1445                     type leafref {\r
1446                       path "/mef-global:mef-global/profiles/" +\r
1447                             "cos-names/cos-name/name";\r
1448                     }\r
1449                     description\r
1450                       "This attribute identifies the name of a " +\r
1451                       "Class of Service (CoS) instance.";\r
1452                   }\r
1453                   leaf color {\r
1454                     type mef-types:cos-color-type;\r
1455                     default "green";\r
1456                     description\r
1457                       "EVC Per UNI: The CoS Color for " +\r
1458                       "Service Frames.";\r
1459                     reference "[MEF10.3] [R102], [R103]. ";\r
1460                   }\r
1461                 }\r
1462                 list ipv6-dscp {\r
1463                   key "dscp-value";\r
1464                   description\r
1465                     "DSCP value for IPv6 Packets.";\r
1466                   leaf dscp-value {\r
1467                     type inet:dscp;\r
1468                     description\r
1469                       "Map CoS to IPv4 and IPv6 DSCP values.";\r
1470                   }\r
1471                   leaf discard-value {\r
1472                     type boolean;\r
1473                     default "false";\r
1474                     description\r
1475                       "Set to True to discard Service Frames " +\r
1476                       "that match to this DSCP value.";\r
1477                   }\r
1478                   leaf cos-name {\r
1479                     type leafref {\r
1480                       path "/mef-global:mef-global/profiles/" +\r
1481                             "cos-names/cos-name/name";\r
1482                     }\r
1483                     description\r
1484                       "This attribute identifies the name of a " +\r
1485                       "Class of Service (CoS) instance.";\r
1486                   }\r
1487                   leaf color {\r
1488                     type mef-types:cos-color-type;\r
1489                     default "green";\r
1490                     description\r
1491                       "EVC Per UNI: The CoS Color for " +\r
1492                       "Service Frames.";\r
1493                     reference "[MEF10.3] [R102], [R103]. ";\r
1494                   }\r
1495                 }\r
1496               }\r
1497             }\r
1498           }\r
1499         }\r
1500       }\r
1501     }\r
1502     \r
1503     grouping tenant {\r
1504         leaf name {\r
1505             type string;\r
1506             description "Tenant Name";\r
1507         }\r
1508     }\r
1509     \r
1510     container tenants-instances {\r
1511         list tenant-list {\r
1512             key name;\r
1513             unique name;\r
1514             uses tenant;\r
1515         }\r
1516     }\r
1517   }\r
1518 }