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