c096b6c8a63e9bc1bbbfcc48070af68d64c7f15b
[unimgr.git] / legato-api / src / main / yang / mef-interfaces.yang
1 module mef-interfaces {\r
2   namespace "http://metroethernetforum.org/ns/yang/mef-interfaces";\r
3   prefix mef-interfaces;\r
4   import ietf-inet-types { prefix inet; }\r
5   import ietf-yang-types { prefix yang; }\r
6   import mef-types { prefix mef-types; }\r
7   import mef-global { prefix mef-global; }\r
8   import mef-topology { prefix mef-topology; }\r
9 \r
10   import opendaylight-l2-types { prefix ethertype; }\r
11   // revision-date "2013-08-27";\r
12 \r
13   organization "Metro Ethernet Forum";\r
14   contact\r
15     "Web URL: http://metroethernetforum.org/ E-mail: mibs@metroethernetforum.org\r
16     Postal: Metro Ethernet Forum 6033 W. Century Boulevard, Suite\r
17     1107 Los Angeles, CA 90045 U.S.A. Phone: +1 310-642-2800 Fax:\r
18     +1 310-642-2808";\r
19   description\r
20     "This module implements the UNI functionality specified in MEF\r
21     10.3, MEF 6.2, and MEF 7.2. Reference Overview: A number of base\r
22     documents have been used to create the MEF Interfaces YANG Module.\r
23     The following are the abbreviations for the baseline documents:\r
24     [RFC 6991] refers to IETF RFC 6991 'Common YANG Data Types', 2013-07-15\r
25     [RFC 6643] refers to IETF RFC 6643 'Translation of Structure of\r
26     Management Information Version 2 (SMIv2) MIB Modules to YANG Modules',\r
27     2011-11-25 [802.1AB] refers to 'Station and Media Access Control\r
28     Connectivity Discovery', IEEE 802.1AB-2009, September 2009 [802.1q]\r
29     refers to IEEE 802.1Q-2011 'IEEE Standard for Local and metropolitan\r
30     area networks --Media Access Control (MAC) Bridges and Virtual\r
31     Bridged Local Area Networks, August 2011 [802-2001] refers to\r
32     'IEEE Standard for Local and Metropolitan Area Networks: Overview\r
33     and Architecture', IEEE 802-2001, February 2002 [MEF10.3] refers\r
34     to MEF 10.3 'Ethernet Services Attributes Phase 3', October 2013\r
35     [MEF6.2] refers to MEF 6.2 'EVC Ethernet Services Defintions Phase\r
36     3', August 2014 [MEF40] refers to MEF 40 'UNI and EVC Definition\r
37     of Managed Objects', April 2013 [MEF45] refers to MEF 45 'Multi-CEN\r
38     L2CP', August 2014 [MEF7.2] refers to MEF 7.2 'Carrier Ethernet\r
39     Management Information Model', April 2013 [MEF7.3] refers to MEF\r
40     7.3 'Carrier Ethernet Management Information Model', Working Draft\r
41     #1 2015 [RFC 2737] refers to IETF RFC 2737 'Entity MIB (Version\r
42     2)', December 1999 [RFC 2863] refers to IETF RFC 2863 'The Interfaces\r
43     Group MIB', June 2000 [RFC 3419] refers to IETF RFC 3419 'Textual\r
44     Conventions for Transport Addresses', December 2002 [Y.1731] refers\r
45     to ITU-T Y.1731 'OAM functions and mechanisms for Ethernet based\r
46     networks', July 2011 [Q.840.1] refers to ITU-T Q.840.1 'Requirements\r
47     and analysis for NMS-EMS management interface of Ethernet over\r
48     Transport and Metro Ethernet Network(EoT/MEN)' March 2007";\r
49   revision 2015-05-26 {\r
50     description\r
51         "Formal Project Review Draft 1.";\r
52     reference "EVC Ethernet Services Definitions YANG Modules " +\r
53         "(MEF XX), TBD";\r
54   }\r
55   container mef-interfaces {\r
56     description\r
57         "MEF Interfaces";\r
58     container unis {\r
59       description\r
60             "User Network Interface(UNI).";\r
61       list uni {\r
62         must "not(./ingress-bw-profile-per-uni) or " +\r
63                 "((./ingress-bw-profile-per-uni) and " +\r
64                 "not(./ingress-envelopes))" {\r
65           error-message "If there is a per UNI Ingress Bandwidth " +\r
66                     "Profile, then there cannot be any other Ingress " +\r
67                     "Bandwidth Profiles at that UNI.";\r
68           description\r
69                     "If there is a per UNI Ingress Bandwidth Profile, " +\r
70                     "then there cannot be any other Ingress Bandwidth " +\r
71                     "Profiles at that UNI.";\r
72         }\r
73         must "not(./egress-bw-profile-per-uni) or " +\r
74                 "((./egress-bw-profile-per-uni) and " +\r
75                 "not(./egress-envelopes))" {\r
76           error-message "If there is a per UNI Egress Bandwidth " +\r
77                     "Profile, then there cannot be any other Egress " +\r
78                     "Bandwidth Profiles at that UNI.";\r
79           description\r
80                     "If there is a per UNI Egress Bandwidth Profile, " +\r
81                     "then there cannot be any other Egress Bandwidth " +\r
82                     "Profiles at that UNI.";\r
83         }\r
84         must "(not(/mef-global:mef-global/mef-global:" +\r
85                 "subscribers) and " +\r
86                 "not(./subscriber)) or " +\r
87                 "(/mef-global:mef-global/mef-global:" +\r
88                 "subscribers and " +\r
89                 "./subscriber)" {\r
90           error-message "If the Subscribers list has been " +\r
91                     "populated, a UNI must be configured for " +\r
92                     "a single Subscriber.";\r
93           description\r
94                     "[MEF103] [R1] A UNI must be dedicated to a single " +\r
95                     "Subscriber. This must statement is effectively " +\r
96                     "a 'mandatory true' when the Global Subscribers " +\r
97                     "list is being used.";\r
98         }\r
99         must "(not(/mef-global:mef-global/mef-global:cens) and " +\r
100                 "not(./cen-id)) or " +\r
101                 "(/mef-global:mef-global/mef-global:cens and " +\r
102                 "./cen-id)" {\r
103           error-message "If the CENs list has been populated, " +\r
104                     "a UNI must be configured for a single CEN.";\r
105           description\r
106                     "[MEF103] [R57] A UNI must be dedicated to a " +\r
107                     "single CEN. This must statement is effectively " +\r
108                     "a 'mandatory true' when the Global CENs list " +\r
109                     "is being used.";\r
110         }\r
111         key "uni-id";\r
112         description\r
113                 "MEF UNI List.";\r
114         reference "[MEF6.2] Section 8.2.2.";\r
115         container ip-unis {\r
116           list ip-uni {\r
117             key "ip-uni-id";\r
118             leaf ip-uni-id {\r
119               type mef-types:identifier45;\r
120             }\r
121             leaf id {\r
122               type mef-types:identifier45;\r
123             }\r
124             leaf ip-address {\r
125               type inet:ip-prefix;\r
126             }\r
127             leaf vlan {\r
128               type ethertype:vlan-id;\r
129             }\r
130             container subnets {\r
131               list subnet {\r
132                 key "subnet";\r
133                 leaf subnet {\r
134                   type inet:ip-prefix;\r
135                 }\r
136                 leaf gateway {\r
137                   type inet:ip-address;\r
138                 }\r
139               }\r
140             }\r
141           }\r
142         }\r
143         container physical-layers {\r
144           description\r
145                     "The Physical Layer MUST operate in a full duplex " +\r
146                     "mode. It is not configurable.";\r
147           reference "[MEF10.3] Section 9.2, [R61], [R62]";\r
148           container links {\r
149             presence "A UNI must have links.";\r
150             description\r
151                         "The Physical Layer for each physical link " +\r
152                         "implementing the UNI MUST be one of the " +\r
153                         "PHYs listed in IEEE Std 802.3–2012 but " +\r
154                         "excluding 1000BASE-PX-D and 1000BASE-PX-U.";\r
155             reference "[MEF10.3] Section 9.2 [R60]";\r
156             list link {\r
157               must "count(.) >= 1" {\r
158                 error-message "A UNI must have at least one " +\r
159                                 "physical link configured.";\r
160                 description\r
161                                 "A UNI must have at least one physical link " +\r
162                                 "configured.";\r
163               }\r
164               key "device interface";\r
165               description\r
166                             "A list of all the physical ports associated " +\r
167                             "with this Link Layer.";\r
168               leaf device {\r
169                 type leafref {\r
170                   path "/mef-topology:mef-topology/mef-topology:" +\r
171                                     "devices/mef-topology:device/" +\r
172                                     "mef-topology:dev-id";\r
173                 }\r
174                 description\r
175                                 "The Physical Layer for each physical link " +\r
176                                 "implementing the UNI MUST be one of the " +\r
177                                 "PHYs listed in IEEE Std 802.3–2012 but " +\r
178                                 "excluding 1000BASE-PX-D and 1000BASE-PX-U.";\r
179                 reference "[MEF10.3] Section 9.2 [R60]";\r
180               }\r
181               leaf interface {\r
182                 type leafref {\r
183                   path "/mef-topology:mef-topology/mef-topology:" +\r
184                                     "devices/mef-topology:device" +\r
185                                     "[mef-topology:dev-id = " +\r
186                                     "current()/../device]" +\r
187                                     "/mef-topology:interfaces/mef-topology:" +\r
188                                     "interface/mef-topology:phy";\r
189                 }\r
190                 description\r
191                                 "The Physical Layer for each physical link " +\r
192                                 "implementing the UNI MUST be one of the " +\r
193                                 "PHYs listed in IEEE Std 802.3–2012 but " +\r
194                                 "excluding 1000BASE-PX-D and 1000BASE-PX-U.";\r
195                 reference "[MEF10.3] Section 9.2 [R60]";\r
196               }\r
197               leaf ieee8023-phy {\r
198                 type identityref {\r
199                   base mef-types:ieee-8023-interface-type;\r
200                 }\r
201                 must "(. != 'mef-types:" +\r
202                                 "ieee8023-1000BASE-PX-D') and " +\r
203                                 "(. != 'mef-types:ieee8023-1000BASE-PX-U')" {\r
204                   error-message "The Physical Layer for each " +\r
205                                     "physical link implementing the UNI " +\r
206                                     "cannot be 1000BASE-PX-D and 1000BASE-PX-U.";\r
207                   description\r
208                                     "The Physical Layer for each physical " +\r
209                                     "link implementing the UNI cannot be " +\r
210                                     "1000BASE-PX-D and 1000BASE-PX-U.";\r
211                 }\r
212                 description\r
213                                 "The Physical Layer for each physical link " +\r
214                                 "implementing the UNI MUST be one of the " +\r
215                                 "PHYs listed in IEEE Std 802.3–2012 but " +\r
216                                 "excluding 1000BASE-PX-D and 1000BASE-PX-U.";\r
217                 reference "[MEF10.3] Section 9.2 [R60]";\r
218               }\r
219               leaf connection-speed {\r
220                 type mef-types:ext-if-physical-layer-type;\r
221                 units "bits-per-second";\r
222                 default "1G";\r
223                 description\r
224                                 "Physical Layer Connection Speed (Max Data Rate).";\r
225                 reference "[MEF10.3] Section 9.2. [MEF6.2] " +\r
226                                 "Section 8.2.2. [MEF20] [R80].";\r
227               }\r
228               leaf phy-auto-neg {\r
229                 type mef-types:auto-negotiation-type;\r
230                 default "on";\r
231                 description\r
232                                 "Auto-Negotiation ON/OFF/Auto.";\r
233                 reference "[MEF6.2] Section 8.2.2. [MEF20] [R80]. " +\r
234                                 "[MEF7.3] Section 10.2.2.";\r
235               }\r
236               leaf sync-mode-enabled {\r
237                 type boolean;\r
238                 must ".='false' or (.='true' and " +\r
239                                 "../clock-accuracy)" {\r
240                   error-message "The quality of the clock " +\r
241                                     "reference must be set if Synchronous " +\r
242                                     "Mode is enabled.";\r
243                   description\r
244                                     "The quality of the clock reference must " +\r
245                                     "be set if Synchronous Mode is enabled.";\r
246                 }\r
247                 default "false";\r
248                 description\r
249                                 "Enabled or Disabled for each physical link " +\r
250                                 "implementing the UNI.";\r
251                 reference "[MEF10.3] Section 9.3. [MEF6.2] " +\r
252                                 "Section 8.2.2. [MEF7.3] Section 10.2.2.";\r
253               }\r
254               leaf clock-accuracy {\r
255                 type decimal64 {\r
256                   fraction-digits 3;\r
257                 }\r
258                 units "ppm";\r
259                 description\r
260                                 "ESMC:Ethernet Equipment Slave Clock Accuracy " +\r
261                                 "in PPM. IEEE 802.3 standard specifies " +\r
262                                 "that Ethernet clock accuracy is to be less " +\r
263                                 "than or equal to +- 4.6 PPM.";\r
264                 reference "[MEF10.3] Section 9.3, [R62]. " +\r
265                                 "[MEF22.1], [IEEE802.3].";\r
266               }\r
267             }\r
268           }\r
269           leaf number-of-links {\r
270             type uint32 {\r
271               range "1..max";\r
272             }\r
273             must ". = count(../links/link)" {\r
274               error-message "The UNI Number of Links value " +\r
275                             "must match to the number of interfaces " +\r
276                             "in the link list.";\r
277               description\r
278                             "The UNI Number of Links value must match " +\r
279                             "to the number of interfaces in the link list.";\r
280             }\r
281             default "1";\r
282             description\r
283                         "The number of links configured in the links list.";\r
284             reference "[MEF10.3] [R63]. [MEF7.3] Section 10.2.2.";\r
285           }\r
286         }\r
287         container ce-vlans {\r
288           description\r
289                     "Each Device (and by extension UNIs) MUST have list " +\r
290                     "of the CE-VLAN ID including mappings to configured " +\r
291                     "EVCs if assigned. This list of ce-vlans is a " +\r
292                     "complete list of all VLANs associated with this " +\r
293                     "UNI. At the Service Module level, there are two " +\r
294                     "lists: This one and the list of CE-VLAN IDs " +\r
295                     "associated with the EVC's UNI List as part of " +\r
296                     "the MEF Service Definition. ";\r
297           reference "[MEF10.3] Section 9.10, [R77], [R78]. " +\r
298                     "[MEF7.3] Section 10.2.2.";\r
299           list ce-vlan {\r
300             key "vid";\r
301             description\r
302                         "A list of all EC-VLANs allowed ingres or egress " +\r
303                         "on the UNI. This is the UNI-specific CE-VLAN ID " +\r
304                         "listing as part of the Service Level " +\r
305                         "CE-VLAN ID / EVC Map.";\r
306             reference "[MEF10.3] Section 9.10.1.";\r
307             leaf vid {\r
308               type mef-types:vlan-id-type;\r
309               description\r
310                             "The Customer Edge VLAN ID is equivalent " +\r
311                             "to a Static VLAN allowed on that port " +\r
312                             "(ie. Port is not Forbidden). The " +\r
313                             "association with the EVC is part of " +\r
314                             "the EVC configuration.";\r
315               reference "[MEF10.3] Section 9.10.";\r
316             }\r
317           }\r
318         }\r
319         container ingress-envelopes {\r
320           presence "Ingress Bandwidth Profile Envelopes " +\r
321                     "configured.";\r
322           description\r
323                     "UNI Bandwidth Profile Flow Envelopes.";\r
324           reference "[MEF10.3] Section 9.15, Section 12.1. " +\r
325                     "[MEF6.2] Section 8.2.1: [R3]. " +\r
326                     "[MEF7.3] Section 10.2.2.";\r
327           list envelope {\r
328             key "env-id";\r
329             description\r
330                         "UNI Bandwidth Profile Flow Envelope List.";\r
331             reference "[MEF10.3] Section 9.15, Section 12.1. " +\r
332                         "[MEF6.2] Section 8.2.1, [R3], " +\r
333                         "Section 8.2.2, [R4]. [MEF7.3] " +\r
334                         "Section 10.2.2.";\r
335             container bwp-flows {\r
336               presence "Bandwidth Profile configured for " +\r
337                             "this envelope.";\r
338               description\r
339                             "UNI Bandwidth Profile Flows per Envelope.";\r
340               reference "[MEF10.3] Section 12.1. " +\r
341                             "[MEF6.2] Section 10.1.";\r
342               list bwp-flow {\r
343                 key "bw-profile";\r
344                 ordered-by user;\r
345                 description\r
346                                 "UNI Bandwidth Profile Flow List per Envelope. " +\r
347                                 "The order of entries in the list is user " +\r
348                                 "controlled. The first element of the list " +\r
349                                 "has the lowest priority and the last " +\r
350                                 "element will have the highest priority.";\r
351                 reference "[MEF10.3] Section 12.1. " +\r
352                                 "[MEF6.2] Section 10.1. " +\r
353                                 "[MEF6.2] Section 8.2.1, [R3]. ";\r
354                 leaf bw-profile {\r
355                   type leafref {\r
356                     path "/mef-global:mef-global/mef-global:" +\r
357                                         "profiles/mef-global:" +\r
358                                         "ingress-bwp-flows/mef-global:" +\r
359                                         "bwp-flow/mef-global:bw-profile";\r
360                   }\r
361                   must "(../../../../../token-share-enabled = " +\r
362                                     "'true') or " +\r
363                                     "((../../../../../token-share-enabled = " +\r
364                                     "'false') and " +\r
365                                     "(count(../../bwp-flow) = 1))" {\r
366                     error-message "A UNI with Token Share " +\r
367                                         "Disabled MUST have exactly one " +\r
368                                         "Bandwidth Profile Flow per envelope.";\r
369                     description\r
370                                         "A UNI with Token Share Disabled MUST " +\r
371                                         "have exactly one Bandwidth Profile Flow " +\r
372                                         "per envelope.";\r
373                   }\r
374                   must "(../../../coupling-enabled = 'false') or " +\r
375                                     "(/mef-global:mef-global/mef-global:" +\r
376                                     "profiles/mef-global:" +\r
377                                     "ingress-bwp-flows/mef-global:bwp-flow" +\r
378                                     "[mef-global:bw-profile = current()]/" +\r
379                                     "mef-global:coupling-enabled = 'false')" {\r
380                     error-message "If an Ingress Envelope's " +\r
381                                         "Coupling Flag is Enabled, then " +\r
382                                         "the Coupling Flags must be disabled " +\r
383                                         "for all Bandwidth Profile Flows " +\r
384                                         "mapped to the Envelope.";\r
385                     description\r
386                                         "If an Ingress Envelope's Coupling Flag is " +\r
387                                         "Enabled, then the Coupling Flags must " +\r
388                                         "be disabled for all Bandwidth Profile " +\r
389                                         "Flows mapped to the Envelope.";\r
390                   }\r
391                   description\r
392                                     "If no Ingress Bandwidth Profile per UNI " +\r
393                                     "has been defined (ie. 'No'), then the " +\r
394                                     "behavior has been defined at the Service " +\r
395                                     "Level of the configuration.";\r
396                   reference "[MEF10.3] Section 9.14, " +\r
397                                     "Section 12.1, [R84], [R134]. " +\r
398                                     "[MEF6.2] Section 8.2.1,[R3],[R136]. " +\r
399                                     "Section 8.2.2, 10.1, [R6]. [MEF7.3] " +\r
400                                     "Section 10.2.2.";\r
401                 }\r
402               }\r
403             }\r
404             leaf env-id {\r
405               type mef-types:identifier45;\r
406               description\r
407                             "This attribute identifies the Envelope of " +\r
408                             "Bandwidth Profile Parameters.";\r
409               reference "[MEF10.3] Section 12.1.";\r
410             }\r
411             leaf coupling-enabled {\r
412               type boolean;\r
413               must "not(../bwp-flows) or " +\r
414                             "(../bwp-flows/bwp-flow[2]) or " +\r
415                             "(. = 'false')" {\r
416                 error-message "When only one Bandwidth Profile " +\r
417                                 "Flow is mapped to an envelope, Envelope " +\r
418                                 "Coupling must be Disabled.";\r
419                 description\r
420                                 "When only one Bandwidth Profile Flow is " +\r
421                                 "mapped to an envelope, Envelope " +\r
422                                 "Coupling must be Disabled.";\r
423               }\r
424               default "false";\r
425               description\r
426                             "The Envelope Coupling Flag (CF) attribute.";\r
427               reference "[MEF10.3] Section 12.1.";\r
428             }\r
429           }\r
430         }\r
431         container egress-envelopes {\r
432           presence "Egress Bandwidth Profile Envelopes configured.";\r
433           description\r
434                     "UNI Bandwidth Profile Flow Envelopes.";\r
435           reference "[MEF10.3] Section 9.15, Section 12.1. " +\r
436                     "[MEF6.2] Section 8.2.1: [R3]. " +\r
437                     "[MEF7.3] Section 10.2.2.";\r
438           list envelope {\r
439             key "env-id";\r
440             description\r
441                         "UNI Bandwidth Profile Flow Envelope List.";\r
442             reference "[MEF10.3] Section 9.15, Section 12.1. " +\r
443                         "[MEF6.2] Section 8.2.1, [R3], " +\r
444                         "Section 8.2.2, [R4]. [MEF7.3] " +\r
445                         "Section 10.2.2.";\r
446             container bwp-flows {\r
447               presence "Bandwidth Profile configured for " +\r
448                             "this envelope.";\r
449               description\r
450                             "UNI Bandwidth Profile Flows per Envelope.";\r
451               reference "[MEF10.3] Section 12.1. [MEF6.2] " +\r
452                             "Section 10.1.";\r
453               list bwp-flow {\r
454                 key "bw-profile";\r
455                 ordered-by user;\r
456                 description\r
457                                 "UNI Bandwidth Profile Flow List per Envelope. " +\r
458                                 "The order of entries in the list is user " +\r
459                                 "controlled. The first element of the list " +\r
460                                 "has the lowest priority and the last element " +\r
461                                 "will have the highest priority.";\r
462                 reference "[MEF10.3] Section 12.1. " +\r
463                                 "[MEF6.2] Section 10.1. " +\r
464                                 "[MEF6.2] Section 8.2.1, [R3]. ";\r
465                 leaf bw-profile {\r
466                   type leafref {\r
467                     path "/mef-global:mef-global/mef-global:" +\r
468                                         "profiles/mef-global:egress-bwp-flows" +\r
469                                         "/mef-global:bwp-flow/" +\r
470                                         "mef-global:bw-profile";\r
471                   }\r
472                   must "(../../../../../token-share-enabled = " +\r
473                                     "'true') or " +\r
474                                     "((../../../../../token-share-enabled = " +\r
475                                     "'false') and " +\r
476                                     "(count(../../bwp-flow) = 1))" {\r
477                     error-message "A UNI with Token Share " +\r
478                                         "Disabled must have exactly one " +\r
479                                         "Bandwidth Profile Flow per envelope.";\r
480                     description\r
481                                         "A UNI with Token Share Disabled must have " +\r
482                                         "exactly one Bandwidth Profile Flow per " +\r
483                                         "envelope.";\r
484                   }\r
485                   must "(../../../coupling-enabled = 'false') or " +\r
486                                     "(/mef-global:mef-global/mef-global:" +\r
487                                     "profiles/mef-global:" +\r
488                                     "egress-bwp-flows/mef-global:bwp-flow" +\r
489                                     "[mef-global:bw-profile = current()]/" +\r
490                                     "mef-global:coupling-enabled = 'false')" {\r
491                     error-message "If an Egress Envelope's " +\r
492                                         "Coupling Flag is Enabled, then the " +\r
493                                         "Coupling Flags must be disabled " +\r
494                                         "for all Bandwidth Profile Flows " +\r
495                                         "mapped to the Envelope.";\r
496                     description\r
497                                         "If an Egress Envelope's Coupling Flag " +\r
498                                         "is Enabled, then the Coupling Flags must " +\r
499                                         "be disabled for all Bandwidth Profile " +\r
500                                         "Flows mapped to the Envelope.";\r
501                   }\r
502                   description\r
503                                     "UNI Bandwidth Profile Flow per Envelope.";\r
504                   reference "[MEF10.3] Section 12.1. " +\r
505                                     "[MEF6.2] Section 10.1. " +\r
506                                     "[MEF6.2] Section 8.2.1, [R3], [R136]. ";\r
507                 }\r
508               }\r
509             }\r
510             leaf env-id {\r
511               type mef-types:identifier45;\r
512               description\r
513                             "This attribute identifies the Envelope of " +\r
514                             "Bandwidth Profile Parameters.";\r
515               reference "[MEF10.3] Section 12.1.";\r
516             }\r
517             leaf coupling-enabled {\r
518               type boolean;\r
519               must "not(../bwp-flows) or " +\r
520                             "(../bwp-flows/bwp-flow[2]) or " +\r
521                             "(. = 'false')" {\r
522                 error-message "When only one Bandwidth Profile " +\r
523                                 "Flow is mapped to an envelope, " +\r
524                                 "Envelope Coupling must be Disabled.";\r
525                 description\r
526                                 "When only one Bandwidth Profile Flow is " +\r
527                                 "mapped to an envelope, Envelope Coupling " +\r
528                                 "must be Disabled.";\r
529               }\r
530               default "false";\r
531               description\r
532                             "The Envelope Coupling Flag (CF) attribute.";\r
533               reference "[MEF10.3] Section 12.1.";\r
534             }\r
535           }\r
536         }\r
537         container status {\r
538           description\r
539                     "This group is related to the MEF 7.3 External " +\r
540                     "Network Interface";\r
541           leaf oper-state-enabled {\r
542             type boolean;\r
543             default "false";\r
544             config false;\r
545             description\r
546                         "Operational Status of the Link as " +\r
547                         "Enabled/Disabled.";\r
548             reference "[MEF15]. [MEF7.3] Section 10.1.1.";\r
549           }\r
550           leaf available-status {\r
551             type mef-types:ext-if-availability-type;\r
552             default "not-installed";\r
553             config false;\r
554             description\r
555                         "Availability Status of the Link.";\r
556             reference "[MEF15]. [MEF7.3] Section 10.1.1.";\r
557           }\r
558           leaf physical-layer {\r
559             type mef-types:ext-if-physical-layer-type;\r
560             default "1G";\r
561             config false;\r
562             description\r
563                         "Physical Layer Connection Speed.";\r
564             reference "[MEF15]. [MEF7.3] Section 10.1.1.";\r
565           }\r
566           leaf number-of-links {\r
567             type uint32;\r
568             default "0";\r
569             config false;\r
570             description\r
571                         "A count of the number of physical links in this " +\r
572                         "physical layer.";\r
573             reference "[MEF15]. [MEF7.3] Section 10.1.1.";\r
574           }\r
575           leaf svc-frame-format {\r
576             type mef-types:svc-frame-format-type;\r
577             default "ctag";\r
578             config false;\r
579             description\r
580                         "The format must be that of a MAC Frame specified " +\r
581                         "in IEEE Std 802.3-2012 Clause 3.";\r
582             reference "[MEF10.3] Section 9.6. [MEF15]. " +\r
583                         "[MEF7.2]. [MEF7.3] Section 10.1.1.";\r
584           }\r
585         }\r
586         leaf cen-id {\r
587           when "/mef-global:mef-global/mef-global:cens" {\r
588             description\r
589                         "Only configure when the Global CENs list " +\r
590                         "has been populated.";\r
591           }\r
592           type leafref {\r
593             path "/mef-global:mef-global/mef-global:cens/" +\r
594                         "mef-global:cen/mef-global:cen-id";\r
595           }\r
596           description\r
597                     "A CEN is defined as a network from a Service " +\r
598                     "Provider (SP). The CEN ID must be unique for " +\r
599                     "a specific Service Provider.";\r
600           reference "[MEF10.3] Section 7.";\r
601         }\r
602         leaf uni-id {\r
603           type mef-types:identifier45;\r
604           description\r
605                     " The UNI IDs must be be unique within a specific CEN.";\r
606           reference "[MEF10.3] Section 9.1, [R1], [R57], [R58], " +\r
607                     "[R59]. [MEF7.3] Section 10.2.2.";\r
608         }\r
609         leaf uni-type {\r
610           type mef-types:uni-mode-type;\r
611           default "uni";\r
612           description\r
613                     " The UNI Type must be one of {UNI, VUNI}.";\r
614           reference "[MEF10.3] Section 9.1, [R1], [R57], [R58], " +\r
615                     "[R59]. [MEF7.3] Section 10.2.2.";\r
616         }\r
617         leaf subscriber {\r
618           when "/mef-global:mef-global/mef-global:subscribers" {\r
619             description\r
620                         "UNI Subscriber Attribute is only configurable " +\r
621                         "when multiple Global Subscribers have been " +\r
622                         "configured.";\r
623           }\r
624           type leafref {\r
625             path "/mef-global:mef-global/mef-global:subscribers/" +\r
626                         "mef-global:subscriber/mef-global:sub-id";\r
627           }\r
628           description\r
629                     "A UNI MUST be dedicated to a single Subscriber. " +\r
630                     "This value can only be configured if the " +\r
631                     "'/mef-global/subscribers/subscriber' list " +\r
632                     "has been populated.";\r
633           reference "[MEF10.3] Section 7.";\r
634         }\r
635         leaf admin-state-enabled {\r
636           type boolean;\r
637           default "true";\r
638           description\r
639                     "Locked/Unlocked is inconsistent with Oper Status " +\r
640                     "and will be confusing.";\r
641           reference "MEF 15. MEF 7.3 Section 10.1.1.";\r
642         }\r
643         leaf mac-address {\r
644           type yang:mac-address;\r
645           description\r
646                     "MAC Address.";\r
647           reference "[MEF15]. [MEF7.3] Section 10.1.1.";\r
648         }\r
649         leaf uni-resiliency {\r
650           type mef-types:uni-resiliency-type;\r
651           must "(. != 'none') or ((. = 'none') and " +\r
652                     "(../physical-layers/number-of-links = 1))" {\r
653             error-message "If uni-resiliency is 'none', " +\r
654                         "number-of-links must be 1.";\r
655             description\r
656                         "If uni-resiliency is 'none', number-of-links " +\r
657                         "must be 1.";\r
658           }\r
659           must "(. != 'dual-link-aggregation') or " +\r
660                     "((. = 'dual-link-aggregation') and " +\r
661                     "(../physical-layers/number-of-links = 2))" {\r
662             error-message "If uni-resiliency is " +\r
663                         "'dual-link-aggregation', " +\r
664                         "number-of-links must be 2.";\r
665             description\r
666                         "If uni-resiliency is 'dual-link-aggregation', " +\r
667                         "number-of-links must be 2.";\r
668           }\r
669           must "(. != 'other') or " +\r
670                     "((. = 'other') and " +\r
671                     "(../physical-layers/number-of-links > 2))" {\r
672             error-message "If uni-resiliency is 'other', " +\r
673                         "number-of-links must be 3 or greater.";\r
674             description\r
675                         "If uni-resiliency is 'other', number-of-links " +\r
676                         "must be 3 or greater.";\r
677           }\r
678           default "none";\r
679           description\r
680                     "UNI Resiliency.";\r
681           reference "[MEF10.3] Section 9.5 [R64], [R65], [R66], " +\r
682                     "[R67]. [MEF6.2] Section 8.2.2.";\r
683         }\r
684         leaf max-svc-frame-size {\r
685           type mef-types:max-svc-frame-size-type;\r
686           default "1600";\r
687           description\r
688                     "This attribute describes the maximum service frame " +\r
689                     "size for the UNI.";\r
690           reference "[MEF10.3] Section 9.7, [R71], MEF 6.2 " +\r
691                     "Section 8.2.2 and MEF 22.1: [D2]. " +\r
692                     "[MEF7.3] Section 10.2.2.";\r
693         }\r
694         leaf svc-mux-enabled {\r
695           type boolean;\r
696           default "false";\r
697           description\r
698                     "Service Multiplexing Enable - Enable if to support " +\r
699                     "multiple EVCs per UNI.";\r
700           reference "[MEF10.3] Section 9.8. " +\r
701                     "[MEF7.3] Section 10.2.2.";\r
702         }\r
703         leaf bundling-enabled {\r
704           type boolean;\r
705           default "false";\r
706           description\r
707                     "When a UNI has Bundling Enabled, it MUST be able to " +\r
708                     "support more than one CE-VLAN ID mapping to a " +\r
709                     "particular EVC at the UNI.  When more than one " +\r
710                     "CE-VLAN-ID is mapped to an EVC at a UNI, the " +\r
711                     "EVC have CE-VLAN ID Preservation enabled";\r
712           reference "[MEF10.3] Section 9.12, [R25], [R77], " +\r
713                     "[R78], [R80]. [MEF7.3] Section 10.2.2.";\r
714         }\r
715         leaf all-to-one-bundling-enabled {\r
716           type boolean;\r
717           default "false";\r
718           description\r
719                     "When all-to-one-bundling-enabled = true, all " +\r
720                     "CE-VLAN IDs MUST map to a single EVC at the " +\r
721                     "UNI. This also means that the UNI cannot " +\r
722                     "have svc-mux-enabled = true. When " +\r
723                     "all-to-one-bundling-enabled = true, " +\r
724                     "all other UNIs in the EVC associating this UNI " +\r
725                     "must have all-to-one-bundling-enabled = true. " +\r
726                     "If this values is true, the value of " +\r
727                     "ce-vlan-id-for-untagged-and-priority is not " +\r
728                     "applicable.";\r
729           reference "[MEF10.3] Section 9.13, Table 12 " +\r
730                     "(5 valid combinations), [R82], [R83]. " +\r
731                     "[MEF7.3] Section 10.2.2.";\r
732         }\r
733         leaf ce-vlan-id-for-untagged-and-priority {\r
734           type mef-types:vlan-id-type;\r
735           default "1";\r
736           description\r
737                     "The ce-vlan-id-for-untagged-and-priority is " +\r
738                     "equivalent to the Layer 2 PVID (Port VLAN ID) " +\r
739                     "with the Q-BRIDGE-MIB option for frame admitance set " +\r
740                     "to admitAll. With AdmitAll set, all Untagged and " +\r
741                     "Priority Tagged Service Frames are treated with " +\r
742                     "the CE-VLAN-ID tag on ingress. It is not applicable " +\r
743                     "if All in One Bundling is enabled.";\r
744           reference "[MEF10.3] Section 9.9, [R73], [R74], " +\r
745                     "[R75]. [MEF7.3] Section 10.2.2.";\r
746         }\r
747         leaf max-evc-count {\r
748           type uint32 {\r
749             range "1..max";\r
750           }\r
751           default "1";\r
752           description\r
753                     "The Maximum Number of EVCs that can be supported " +\r
754                     "by this UNI (Default 1).";\r
755           reference "[MEF10.3] Section 9.11, [R79]. " +\r
756                     "[MEF7.3] Section 10.2.2.";\r
757         }\r
758         leaf token-share-enabled {\r
759           type boolean;\r
760           default "false";\r
761           description\r
762                     "Token Share Enabled/Disabled is used to indicate " +\r
763                     "whether a given UNI is capable of sharing tokens " +\r
764                     "across Bandwidth Profile Flows in an envelope.";\r
765           reference "[MEF6.2] Section 8.2.1, [R2], [D1], [R3]. " +\r
766                     "[MEF7.3] Section 10.2.2.";\r
767         }\r
768         leaf ingress-bw-profile-per-uni {\r
769           type leafref {\r
770             path "/mef-global:mef-global/mef-global:profiles/" +\r
771                         "mef-global:ingress-bwp-flows/mef-global:" +\r
772                         "bwp-flow/mef-global:bw-profile";\r
773           }\r
774           description\r
775                     "Ingress Bandwidth Profile for this UNI.";\r
776           reference "[MEF10.3] Section 9.15, Section 12.1. " +\r
777                     "[MEF6.2] Section 8.2.1: [R3]. " +\r
778                     "[MEF7.3] Section 10.2.2.";\r
779         }\r
780         leaf egress-bw-profile-per-uni {\r
781           type leafref {\r
782             path "/mef-global:mef-global/mef-global:profiles/" +\r
783                         "mef-global:egress-bwp-flows/mef-global:" +\r
784                         "bwp-flow/mef-global:bw-profile";\r
785           }\r
786           description\r
787                     "Egress Bandwidth Profile Flow for this UNI.";\r
788           reference "[MEF10.3] Section 9.15, Section 12.1. " +\r
789                     "[MEF6.2] Section 8.2.1: [R3]. " +\r
790                     "[MEF7.3] Section 10.2.2.";\r
791         }\r
792         leaf link-oam-enabled {\r
793           type boolean;\r
794           default "false";\r
795           description\r
796                     "Link OAM Enabled/Disabled.";\r
797           reference "[MEF10.3] Section 9.16, [R86]. " +\r
798                     "[MEF6.2] Section 8.2.2, [D3]. " +\r
799                     "[MEF7.3] Section 10.2.2.";\r
800         }\r
801         leaf uni-meg-enabled {\r
802           type boolean;\r
803           default "false";\r
804           description\r
805                     "Enables / Disables the Maintenance Entity Group (MEG).";\r
806           reference "[MEF10.3] Section 9.17, [R87]. " +\r
807                     "[MEF30.1] Section 7.9. [MEF6.2] Section 8.2.2, " +\r
808                     "[D4]. [MEF7.3] Section 10.2.2.";\r
809         }\r
810         leaf elmi-enabled {\r
811           type boolean;\r
812           must "(. = 'false') or " +\r
813                     "(. = 'true' and " +\r
814                     "(../elmi-profile))" {\r
815             error-message "ELMI Profile must be set if " +\r
816                         "ELMI is Enabled.";\r
817             description\r
818                         "Ethernet Local Management Interface(ELMI) " +\r
819                         "Profile ID must be set if ELMI is Enabled.";\r
820           }\r
821           default "false";\r
822           description\r
823                     "Ethernet Local Management Interface(ELMI) " +\r
824                     "Enabled / Disabled.";\r
825           reference "[MEF10.3] Section 9.18, [R88]. " +\r
826                     "[MEF16]. [MEF6.2] Section 8.2.2, [D5]. " +\r
827                     "[MEF7.3] Section 10.2.2.";\r
828         }\r
829         leaf elmi-profile {\r
830           type leafref {\r
831             path "/mef-global:mef-global/mef-global:profiles/" +\r
832                         "mef-global:elmi/mef-global:elmi-profile/" +\r
833                         "mef-global:id";\r
834           }\r
835           description\r
836                     "The ELMI Profile is only applicable when ELMI " +\r
837                     "is enabled. The E-LMI protocol is based on " +\r
838                     "ITU-T Q.933, X.36 and other relevant " +\r
839                     "recommendations as well as Frame Relay " +\r
840                     "Local Management Interface (FR-LMI) " +\r
841                     "Implementation Agreement document defined " +\r
842                     "by the Frame Relay Forum and related " +\r
843                     "ITU-T recommendations.";\r
844           reference "[MEF10.3] Section 9.18. " +\r
845                     "[MEF7.3] Section 10.2.2.";\r
846         }\r
847         leaf l2cp-address-set {\r
848           type mef-types:l2cp-address-set-type;\r
849           default "aware-cta";\r
850           description\r
851                     "The L2CP Address Set Service Attribute specifies " +\r
852                     "the subset of the Bridge Reserved Addresses " +\r
853                     "that are filtered (i.e. L2CP Frames with " +\r
854                     "this destination address are Peered or " +\r
855                     "Discarded but not Passed) at a L2CP Decision Point.";\r
856           reference "[MEF10.3] Section 9.19. " +\r
857                     "[MEF45] Section 8.1, [R2] through [R9]. " +\r
858                     "[MEF6.2] Section 8.2.2, [R1]. " +\r
859                     "[MEF45] Section 8.1.";\r
860         }\r
861         leaf l2cp-peering-profile {\r
862           type leafref {\r
863             path "/mef-global:mef-global/mef-global:profiles/" +\r
864                         "mef-global:l2cp-peering/mef-global:" +\r
865                         "l2cp-profile/mef-global:id";\r
866           }\r
867           description\r
868                     "L2CP Peering Profile for this UNI. This profile " +\r
869                     "may contain groups of L2CP Destination " +\r
870                     "MAC Addresses and protocols to be peered at " +\r
871                     "the UNI (as opposed to being passed or discarded).";\r
872           reference "[MEF10.3] Section 9.19. " +\r
873                     "[MEF45] Section 8.2. " +\r
874                     "[MEF7.3] Section 10.2.2.";\r
875         }\r
876         leaf tenant-id {\r
877           type leafref {\r
878             path "/mef-global:mef-global/mef-global:tenants-instances/mef-global:tenant-list/mef-global:name";\r
879           }\r
880         }\r
881       }\r
882     }\r
883   }\r
884 }\r