Add l3vpn support
[unimgr.git] / legato-api / src / main / yang / mef-services.yang
index 99c2979fdd4fe1d6b75d58f0f193e8971365d26a..d2e81221b5b2e52478c4f693e4af55c65ae6b382 100644 (file)
@@ -1,84 +1,57 @@
 module mef-services {\r
   namespace "http://metroethernetforum.org/ns/yang/mef-services";\r
   prefix mef-services;\r
-  import ietf-yang-types {\r
-    prefix yang;\r
-  }\r
-  import mef-types {\r
-    prefix mef-types;\r
-  }\r
-  import mef-global {\r
-    prefix mef-global;\r
-  }\r
-  import mef-interfaces {\r
-    prefix mef-interfaces;\r
-  }\r
+  import ietf-yang-types { prefix yang; }\r
+  import ietf-inet-types { prefix inet; }\r
+  import mef-types { prefix mef-types; }\r
+  import mef-global { prefix mef-global; }\r
+  import mef-interfaces { prefix mef-interfaces; }\r
   organization "Metro Ethernet Forum";\r
   contact\r
-    "Web URL: http://metroethernetforum.org/\r
-     E-mail:  mibs@metroethernetforum.org\r
-     Postal:  Metro Ethernet Forum\r
-              6033 W. Century Boulevard, Suite 1107\r
-              Los Angeles, CA 90045\r
-              U.S.A.\r
-     Phone:   +1 310-642-2800\r
-     Fax:     +1 310-642-2808";\r
+    "Web URL: http://metroethernetforum.org/ E-mail: mibs@metroethernetforum.org\r
+    Postal: Metro Ethernet Forum 6033 W. Century Boulevard, Suite\r
+    1107 Los Angeles, CA 90045 U.S.A. Phone: +1 310-642-2800 Fax:\r
+    +1 310-642-2808";\r
   description\r
-    "This module implements the Carrier Ethernet Services as\r
-     defined in MEF 10.3, MEF 6.2, and MEF 7.2.\r
-      \r
-     Reference Overview:\r
-      A number of base documents have been used to create the\r
-      MEF Services YANG Module. The\r
-      following are the abbreviations for the baseline documents:\r
-      [RFC 6991] refers to IETF RFC 6991 'Common YANG Data Types',\r
-      2013-07-15 \r
-      [RFC 6643] refers to IETF RFC 6643 'Translation of Structure\r
-      of Management Information\r
-      Version 2 (SMIv2) MIB Modules to YANG Modules', 2011-11-25 \r
-      [802.1AB] refers to 'Station and Media Access Control\r
-      Connectivity Discovery', IEEE 802.1AB-2009, September 2009\r
-      [802.1q] refers to IEEE 802.1Q-2011 'IEEE Standard for Local\r
-      and metropolitan area networks --Media Access Control (MAC)\r
-      Bridges and Virtual Bridged Local Area Networks, August 2011\r
-      [802-2001] refers to 'IEEE Standard for Local and Metropolitan\r
-      Area Networks: Overview and Architecture', IEEE 802-2001,\r
-      February 2002\r
-      [MEF10.3] refers to MEF 10.3\r
-      'Ethernet Services Attributes Phase 3', October 2013\r
-      [MEF6.2] refers to MEF 6.2\r
-      'EVC Ethernet Services Defintions Phase 3', August 2014\r
-      [MEF40] refers to MEF 40\r
-      'UNI and EVC Definition of Managed Objects', April 2013\r
-      [MEF45] refers to MEF 45 'Multi-CEN L2CP', August 2014\r
-      [MEF7.2] refers to MEF 7.2\r
-      'Carrier Ethernet Management Information Model', April 2013\r
-      [MEF7.3] refers to MEF 7.3\r
-      'Carrier Ethernet Management Information Model',\r
-      Working Draft #1 2015\r
-      [RFC 2737] refers to IETF RFC 2737 'Entity MIB (Version 2)',\r
-      December 1999\r
-      [RFC 2863] refers to IETF RFC 2863 'The Interfaces Group MIB',\r
-      June 2000\r
-      [RFC 3419] refers to IETF RFC 3419\r
-      'Textual Conventions for Transport Addresses', December 2002\r
-      [Y.1731] refers to ITU-T Y.1731\r
-      'OAM functions and mechanisms for Ethernet based networks',\r
-      July 2011\r
-      [Q.840.1] refers to ITU-T Q.840.1\r
-      'Requirements and analysis for NMS-EMS management interface\r
-      of Ethernet over Transport and Metro Ethernet\r
-      Network(EoT/MEN)' March 2007";\r
+    "This module implements the Carrier Ethernet Services as defined\r
+    in MEF 10.3, MEF 6.2, and MEF 7.2. Reference Overview: A number\r
+    of base documents have been used to create the MEF Services YANG\r
+    Module. The following are the abbreviations for the baseline documents:\r
+    [RFC 6991] refers to IETF RFC 6991 'Common YANG Data Types', 2013-07-15\r
+    [RFC 6643] refers to IETF RFC 6643 'Translation of Structure of\r
+    Management Information Version 2 (SMIv2) MIB Modules to YANG Modules',\r
+    2011-11-25 [802.1AB] refers to 'Station and Media Access Control\r
+    Connectivity Discovery', IEEE 802.1AB-2009, September 2009 [802.1q]\r
+    refers to IEEE 802.1Q-2011 'IEEE Standard for Local and metropolitan\r
+    area networks --Media Access Control (MAC) Bridges and Virtual\r
+    Bridged Local Area Networks, August 2011 [802-2001] refers to\r
+    'IEEE Standard for Local and Metropolitan Area Networks: Overview\r
+    and Architecture', IEEE 802-2001, February 2002 [MEF10.3] refers\r
+    to MEF 10.3 'Ethernet Services Attributes Phase 3', October 2013\r
+    [MEF6.2] refers to MEF 6.2 'EVC Ethernet Services Defintions Phase\r
+    3', August 2014 [MEF40] refers to MEF 40 'UNI and EVC Definition\r
+    of Managed Objects', April 2013 [MEF45] refers to MEF 45 'Multi-CEN\r
+    L2CP', August 2014 [MEF7.2] refers to MEF 7.2 'Carrier Ethernet\r
+    Management Information Model', April 2013 [MEF7.3] refers to MEF\r
+    7.3 'Carrier Ethernet Management Information Model', Working Draft\r
+    #1 2015 [RFC 2737] refers to IETF RFC 2737 'Entity MIB (Version\r
+    2)', December 1999 [RFC 2863] refers to IETF RFC 2863 'The Interfaces\r
+    Group MIB', June 2000 [RFC 3419] refers to IETF RFC 3419 'Textual\r
+    Conventions for Transport Addresses', December 2002 [Y.1731] refers\r
+    to ITU-T Y.1731 'OAM functions and mechanisms for Ethernet based\r
+    networks', July 2011 [Q.840.1] refers to ITU-T Q.840.1 'Requirements\r
+    and analysis for NMS-EMS management interface of Ethernet over\r
+    Transport and Metro Ethernet Network(EoT/MEN)' March 2007";\r
   revision 2015-05-26 {\r
     description\r
-      "Formal Project Review Draft 1.";\r
+        "Formal Project Review Draft 1.";\r
     reference "EVC Ethernet Services Definitions YANG Modules " +\r
-            "(MEF XX), TBD";\r
+        "(MEF XX), TBD";\r
   }\r
-   \r
+\r
   container mef-services {\r
     description\r
-      "MEF Services";\r
+        "MEF Services";\r
     list mef-service {\r
       must "(not(/mef-global:mef-global/mef-global:svc-providers)" +\r
             " and " +\r
@@ -89,1488 +62,1554 @@ module mef-services {
                 "populated, a Service Provider ID must be " +\r
                 "configured for a Service.";\r
         description\r
-          "A Service sees a single Service Provider. This must " +\r
-          "statement is effectively a 'mandatory true' when " +\r
-          "the Global Service Providers list is being used.";\r
+                "A Service sees a single Service Provider. This must " +\r
+                "statement is effectively a 'mandatory true' when " +\r
+                "the Global Service Providers list is being used.";\r
       }\r
       key "svc-id";\r
       unique "evc/evc-id";\r
+      unique "ipvc/ipvc-id";\r
       description\r
-        "Metro Ethernet Forum's Ethernet Services.";\r
-      container evc {\r
-        must "not(sls-uni-inclusions) or " +\r
-                "(sls-uni-inclusions and not(sls-uni-exclusions))" {\r
-          error-message "The EVC Performance SLS Exclusions and " +\r
-                "Inclusions List cannot both be configured for " +\r
-                "an EVC.";\r
-          description\r
-            "The EVC Performance SLS Exclusions and Inclusions " +\r
-            "List cannot both be configured for an EVC.";\r
-        }\r
-        must "(evc-type != 'rooted-multipoint') or " +\r
-                "((evc-type = 'rooted-multipoint') and " +\r
-                "not(sls-uni-exclusions) )" {\r
-          error-message "If EVC Type is Rooted-Multipoint, " +\r
-                "sls-uni-inclusions must be used instead of " +\r
-                "sls-uni-exclusions.";\r
-          description\r
-            "If EVC Type is Rooted-Multipoint, " +\r
-            "sls-uni-inclusions must be used instead of " +\r
-            "sls-uni-exclusions.";\r
-        }\r
-        description\r
-          "Ethernet Virtual Circuit(EVC) Configuration and Status.";\r
-        container unis {\r
-          description\r
-            "EVC Per Universal Network Interface(UNI) " +\r
-            "Configuration and Status.";\r
-          list uni {\r
-            must "not(evc-uni-ce-vlans/evc-uni-ce-vlan[2]) or " +\r
-                    "../../preserve-ce-vlan-id = 'true'" {\r
-              error-message "When more than one CE-VLAN-ID is " +\r
-                    "mapped to an EVC at a UNI, the EVC must have " +\r
-                    "CE-VLAN ID Preservation Enabled.";\r
-              description\r
-                "When more than one CE-VLAN-ID is mapped to " +\r
-                "an EVC at a UNI, the EVC must have CE-VLAN ID " +\r
-                "Preservation Enabled.";\r
-            }\r
-            must "/mef-interfaces:mef-interfaces/mef-interfaces:" +\r
-                    "unis/mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "[mef-interfaces:uni-id/../mef-interfaces:" +\r
-                    "max-svc-frame-size >= current()/../../" +\r
-                    "mef-services:max-svc-frame-size]" {\r
-              error-message "The value of the EVC Maximum " +\r
-                    "Service Frame Size must be less than " +\r
-                    "or equal to all the UNI Maximum Service " +\r
-                    "Frame Sizes.";\r
-              description\r
-                "The value of the EVC Maximum Service Frame " +\r
-                "Size must be less than or equal to all the " +\r
-                "UNI Maximum Service Frame Sizes.";\r
-            }\r
-            must "(/mef-interfaces:mef-interfaces/mef-interfaces:" +\r
-                    "unis/mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "[mef-interfaces:uni-id/../mef-interfaces:" +\r
-                    "bundling-enabled = 'true']) or " +\r
-                    "(/mef-interfaces:mef-interfaces/" +\r
-                    "mef-interfaces:unis/mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "[mef-interfaces:uni-id/../mef-interfaces:" +\r
-                    "all-to-one-bundling-enabled = 'true']) or " +\r
-                    "not(evc-uni-ce-vlans/evc-uni-ce-vlan[2])" {\r
-              error-message "If both Bundling and All-to-One " +\r
-                    "Bundling are disabled for a UNI, only one " +\r
-                    "CE VLAN ID can be configured for a specific " +\r
-                    "EVC on that UNI.";\r
-              description\r
-                "If both Bundling and All-to-One Bundling are " +\r
-                "disabled for a UNI, only one CE VLAN ID can be " +\r
-                "configured for a specific EVC on that UNI.";\r
-            }\r
-            must "(/mef-interfaces:mef-interfaces/mef-interfaces:" +\r
-                    "unis/mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "[mef-interfaces:uni-id/../mef-interfaces:" +\r
-                    "all-to-one-bundling-enabled = 'false']) or " +\r
-                    "(count(/mef-services:mef-services/" +\r
-                    "mef-service/evc/unis/uni[uni-id = " +\r
-                    "current()/uni-id]) = 1)" {\r
-              error-message "If All-to-One Bundling is enabled " +\r
-                    "for any UNI in an EVC, all CE-VLAN IDs " +\r
-                    "mapped to any EVC for that UNI must map " +\r
-                    "to the same EVC ID.";\r
-              description\r
-                "If All-to-One Bundling is enabled for any UNI " +\r
-                "in an EVC, all CE-VLAN IDs mapped to any EVC " +\r
-                "for that UNI must map to the same EVC ID.";\r
-            }\r
-            must "((/mef-interfaces:mef-interfaces/" +\r
-                    "mef-interfaces:unis/mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "[mef-interfaces:uni-id/../mef-interfaces:" +\r
-                    "ingress-bw-profile-per-uni]) or " +\r
-                    "(/mef-services:mef-services/mef-service/" +\r
-                    "evc/unis/uni" +\r
-                    "[uni-id = current()/mef-services:uni-id]" +\r
-                    "/ingress-bwp-flows-per-cos) or " +\r
-                    "(/mef-services:mef-services/mef-service/" +\r
-                    "evc/unis/uni" +\r
-                    "[uni-id = current()/mef-services:uni-id]" +\r
-                    "/ingress-bw-profile-per-evc)) or " +\r
-                    "not(/mef-interfaces:mef-interfaces/" +\r
-                    "mef-interfaces:unis/mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:ingress-envelopes)" {\r
-              error-message "If no Ingress Bandwidth Profiles " +\r
-                    "are specied for this UNI (BW Profile " +\r
-                    "Per UNI, BWP Flows Per CoS, nor BW Profile " +\r
-                    "Per EVC), then the UNI Ingress Envelopes " +\r
-                    "list must be empty.";\r
-              description\r
-                "If no Ingress Bandwidth Profiles are specied " +\r
-                "for this UNI (BW Profile Per UNI, BWP Flows " +\r
-                "Per CoS, nor BW Profile Per EVC), then the " +\r
-                "UNI Ingress Envelopes list must be empty.";\r
-            }\r
-            must "((/mef-interfaces:mef-interfaces/" +\r
-                    "mef-interfaces:unis/mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "[mef-interfaces:uni-id/../mef-interfaces:" +\r
-                    "egress-bw-profile-per-uni]) or " +\r
-                    "(/mef-services:mef-services/mef-service/" +\r
-                    "evc/unis/uni" +\r
-                    "[uni-id = current()/mef-services:uni-id]" +\r
-                    "/egress-bwp-flows-per-eec) or " +\r
-                    "(/mef-services:mef-services/mef-service/" +\r
-                    "evc/unis/uni" +\r
-                    "[uni-id = current()/mef-services:uni-id]" +\r
-                    "/egress-bw-profile-per-evc)) or " +\r
-                    "not(/mef-interfaces:mef-interfaces/" +\r
-                    "mef-interfaces:unis/mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:egress-envelopes)" {\r
-              error-message "If no Egress Bandwidth Profiles are " +\r
-                    "specied for this UNI (BW Profile Per UNI, " +\r
-                    "BWP Flows Per EEC, nor BW Profile Per EVC), " +\r
-                    "then the UNI Egress Envelopes list must be " +\r
-                    "empty.";\r
-              description\r
-                "If no Egress Bandwidth Profiles are specied " +\r
-                "for this UNI (BW Profile Per UNI, BWP Flows " +\r
-                "Per EEC, nor BW Profile Per EVC), then the UNI " +\r
-                "Egress Envelopes list must be empty.";\r
-            }\r
-            must "not(./ingress-bw-profile-per-evc) or " +\r
-                    "((./ingress-bw-profile-per-evc) and " +\r
-                    "not(./ingress-bwp-flows-per-cos))" {\r
-              error-message "If there is a per EVC Ingress " +\r
-                    "Bandwidth Profile on an EVC, then there " +\r
-                    "cannot be any per Class of Service Ingress " +\r
-                    "Bandwidth Profiles on that EVC.";\r
-              description\r
-                "If there is a per EVC Ingress Bandwidth Profile " +\r
-                "on an EVC, then there cannot be any per " +\r
-                "Class of Service Ingress Bandwidth Profiles " +\r
-                "on that EVC.";\r
-            }\r
-            must "not(./egress-bw-profile-per-evc) or " +\r
-                    "((./egress-bw-profile-per-evc) and " +\r
-                    "not(./egress-bwp-flows-per-eec))" {\r
-              error-message "If there is a per EVC Egress " +\r
-                    "Bandwidth Profile on an EVC, then there " +\r
-                    "cannot be any per Egress Equivalence " +\r
-                    "Class Identifier Bandwidth Profiles on " +\r
-                    "that EVC.";\r
-              description\r
-                "If there is a per EVC Egress Bandwidth " +\r
-                "Profile on an EVC, then there cannot be " +\r
-                "any per Egress Equivalence Class Identifier " +\r
-                "Bandwidth Profiles on that EVC.";\r
-            }\r
-            must "not(/mef-interfaces:mef-interfaces/" +\r
-                    "mef-interfaces:unis/mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:ingress-bw-profile-" +\r
-                    "per-uni) or " +\r
-                    "(/mef-global:mef-global/mef-global:" +\r
-                    "profiles/mef-global:ingress-bwp-flows/" +\r
-                    "mef-global:bwp-flow" +\r
-                    "[mef-global:bw-profile = /mef-interfaces:" +\r
-                    "mef-interfaces/mef-interfaces:unis/" +\r
-                    "mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:ingress-bw-profile-per-uni]" +\r
-                    "[mef-global:cir = 0]) or " +\r
-                    "(/mef-global:mef-global/mef-global:" +\r
-                    "profiles/mef-global:ingress-bwp-flows/" +\r
-                    "mef-global:bwp-flow" +\r
-                    "[mef-global:bw-profile = /mef-interfaces:" +\r
-                    "mef-interfaces/mef-interfaces:unis/" +\r
-                    "mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:ingress-bw-profile-per-uni]" +\r
-                    "[mef-global:cbs >= current()/../../" +\r
-                    "max-svc-frame-size])" {\r
-              error-message "Ingress Bandwidth Profile Per UNI: " +\r
-                    "If CIR > 0, CBS must be greater than or " +\r
-                    "equal to the EVC Max Service Frame Size " +\r
-                    "for the EVC.";\r
-              description\r
-                "Ingress Bandwidth Profile Per UNI: If CIR > 0, " +\r
-                "CBS must be greater than or equal to the " +\r
-                "EVC Max Service Frame Size for the EVC.";\r
-            }\r
-            must "not(/mef-interfaces:mef-interfaces/" +\r
-                    "mef-interfaces:unis/mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:egress-bw-profile-per-uni) " +\r
-                    "or " +\r
-                    "(/mef-global:mef-global/mef-global:profiles/" +\r
-                    "mef-global:egress-bwp-flows/mef-global:" +\r
-                    "bwp-flow" +\r
-                    "[mef-global:bw-profile = /mef-interfaces:" +\r
-                    "mef-interfaces/mef-interfaces:unis/" +\r
-                    "mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:egress-bw-profile-per-uni]" +\r
-                    "[mef-global:cir = 0]) or " +\r
-                    "(/mef-global:mef-global/mef-global:profiles/" +\r
-                    "mef-global:ingress-bwp-flows/mef-global:" +\r
-                    "bwp-flow" +\r
-                    "[mef-global:bw-profile = /mef-interfaces:" +\r
-                    "mef-interfaces/mef-interfaces:unis/" +\r
-                    "mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:egress-bw-profile-per-uni]" +\r
-                    "[mef-global:cbs >= current()/../../" +\r
-                    "max-svc-frame-size])" {\r
-              error-message "Egress Bandwidth Profile Per UNI: " +\r
-                    "If CIR > 0, CBS must be greater than or " +\r
-                    "equal to the EVC Max Service Frame Size " +\r
-                    "for the EVC.";\r
-              description\r
-                "Egress Bandwidth Profile Per UNI: If CIR > 0, " +\r
-                "CBS must be greater than or equal to the " +\r
-                "EVC Max Service Frame Size for the EVC.";\r
-            }\r
-            must "not(/mef-interfaces:mef-interfaces/" +\r
-                    "mef-interfaces:unis/mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:ingress-envelopes) or " +\r
-                    "(/mef-global:mef-global/mef-global:" +\r
-                    "profiles/mef-global:ingress-bwp-flows/" +\r
-                    "mef-global:bwp-flow" +\r
-                    "[mef-global:bw-profile = /mef-interfaces:" +\r
-                    "mef-interfaces/mef-interfaces:unis/" +\r
-                    "mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:ingress-envelopes/" +\r
-                    "mef-interfaces:envelope/mef-interfaces:" +\r
-                    "bwp-flows/mef-interfaces:bwp-flow/" +\r
-                    "mef-interfaces:bw-profile]" +\r
-                    "[mef-global:cir = 0]) or " +\r
-                    "(/mef-global:mef-global/mef-global:" +\r
-                    "profiles/mef-global:ingress-bwp-flows/" +\r
-                    "mef-global:bwp-flow" +\r
-                    "[mef-global:bw-profile = /mef-interfaces:" +\r
-                    "mef-interfaces/mef-interfaces:unis/" +\r
-                    "mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:ingress-envelopes/" +\r
-                    "mef-interfaces:envelope/mef-interfaces:" +\r
-                    "bwp-flows/mef-interfaces:bwp-flow/" +\r
-                    "mef-interfaces:bw-profile]" +\r
-                    "[mef-global:cbs >= current()/../../" +\r
-                    "max-svc-frame-size])" {\r
-              error-message "Ingress Bandwidth Profile Envelope: " +\r
-                    "If CIR > 0, CBS must be greater than or " +\r
-                    "equal to the EVC Max Service Frame Size " +\r
-                    "for the EVC.";\r
-              description\r
-                "Ingress Bandwidth Profile Envelope: " +\r
-                "If CIR > 0, CBS must be greater than " +\r
-                "or equal to the EVC Max Service Frame " +\r
-                "Size for the EVC.";\r
-            }\r
-            must "not(/mef-interfaces:mef-interfaces/" +\r
-                    "mef-interfaces:unis/mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:egress-envelopes) or " +\r
-                    "(/mef-global:mef-global/mef-global:" +\r
-                    "profiles/mef-global:egress-bwp-flows/" +\r
-                    "mef-global:bwp-flow" +\r
-                    "[mef-global:bw-profile = " +\r
-                    "/mef-interfaces:mef-interfaces/" +\r
-                    "mef-interfaces:unis/mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:egress-envelopes/" +\r
-                    "mef-interfaces:envelope/mef-interfaces:" +\r
-                    "bwp-flows/mef-interfaces:bwp-flow/" +\r
-                    "mef-interfaces:bw-profile]" +\r
-                    "[mef-global:cir = 0]) or " +\r
-                    "(/mef-global:mef-global/mef-global:" +\r
-                    "profiles/mef-global:egress-bwp-flows/" +\r
-                    "mef-global:bwp-flow" +\r
-                    "[mef-global:bw-profile = /mef-interfaces:" +\r
-                    "mef-interfaces/mef-interfaces:unis/" +\r
-                    "mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:egress-envelopes/" +\r
-                    "mef-interfaces:envelope/mef-interfaces:" +\r
-                    "bwp-flows/mef-interfaces:bwp-flow/" +\r
-                    "mef-interfaces:bw-profile]" +\r
-                    "[mef-global:cbs >= current()/../../" +\r
-                    "max-svc-frame-size])" {\r
-              error-message "Egress Bandwidth Profile " +\r
-                    "Envelope: If CIR > 0, CBS must be greater " +\r
-                    "than or equal to the EVC Max Service Frame " +\r
-                    "Size for the EVC.";\r
-              description\r
-                "Egress Bandwidth Profile Envelope: If CIR > 0, " +\r
-                "CBS must be greater than or equal to the " +\r
-                "EVC Max Service Frame Size for the EVC.";\r
+            "Metro Ethernet Forum's Ethernet Services.";\r
+      choice mef-service-choice {\r
+        case ipvc-choice {\r
+          container ipvc {\r
+            container unis {\r
+              list uni {\r
+                leaf uni-id {\r
+                  type leafref {\r
+                    path "/mef-interfaces:mef-interfaces/" +\r
+                                        "mef-interfaces:unis/mef-interfaces:uni/" +\r
+                                        "mef-interfaces:uni-id";\r
+                  }\r
+                }\r
+                leaf ip-uni-id {\r
+                  type mef-types:identifier45;\r
+                }\r
+\r
+                container evc-uni-ce-vlans {\r
+                  description\r
+                                    "EVC Per UNI CE-VLAN IDs.";\r
+                  list evc-uni-ce-vlan {\r
+                    key "vid";\r
+                    description\r
+                                        "A list of the CE-VLAN IDs mapped to this UNI " +\r
+                                        "for this EVC.";\r
+                    reference "[MEF10.3] Section 8.6.1, [R24] " +\r
+                                        "[R25], Section 9.10.2, Section 9.12, " +\r
+                                        "[R76], [R81].";\r
+                    leaf vid {\r
+                      type leafref {\r
+                        path "/mef-interfaces:mef-interfaces/" +\r
+                                                "mef-interfaces:unis/" +\r
+                                                "mef-interfaces:uni" +\r
+                                                "[mef-interfaces:uni-id = " +\r
+                                                "current()/../../../uni-id]" +\r
+                                                "/mef-interfaces:ce-vlans/" +\r
+                                                "mef-interfaces:ce-vlan/" +\r
+                                                "mef-interfaces:vid";\r
+                      }\r
+                      description\r
+                                            "VLAN Identifier.";\r
+                    }\r
+                  }\r
+                }\r
+              }\r
             }\r
-            must "not(/mef-interfaces:mef-interfaces/" +\r
-                    "mef-interfaces:unis/mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:ingress-bw-profile-per-uni) " +\r
-                    "or " +\r
-                    "(/mef-global:mef-global/mef-global:profiles/" +\r
-                    "mef-global:ingress-bwp-flows/mef-global:" +\r
-                    "bwp-flow" +\r
-                    "[mef-global:bw-profile = /mef-interfaces:" +\r
-                    "mef-interfaces/mef-interfaces:unis/" +\r
-                    "mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]/mef-interfaces:" +\r
-                    "ingress-bw-profile-per-uni]" +\r
-                    "[mef-global:eir = 0]) or " +\r
-                    "(/mef-global:mef-global/mef-global:profiles/" +\r
-                    "mef-global:ingress-bwp-flows/" +\r
-                    "mef-global:bwp-flow" +\r
-                    "[mef-global:bw-profile = /mef-interfaces:" +\r
-                    "mef-interfaces/mef-interfaces:unis/" +\r
-                    "mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:ingress-bw-profile-per-uni]" +\r
-                    "[mef-global:ebs >= current()/../../" +\r
-                    "max-svc-frame-size])" {\r
-              error-message "Ingress Bandwidth Profile Per UNI: " +\r
-                    "If EIR > 0, EBS must be greater than or " +\r
-                    "equal to the EVC Max Service Frame Size " +\r
-                    "for the EVC.";\r
-              description\r
-                "Ingress Bandwidth Profile Per UNI: If EIR > 0, " +\r
-                "EBS must be greater than or equal to the " +\r
-                "EVC Max Service Frame Size for the EVC.";\r
+\r
+            leaf ipvc-id {\r
+              type mef-types:evc-id-type;\r
+              mandatory true;\r
             }\r
-            must "not(/mef-interfaces:mef-interfaces/" +\r
-                    "mef-interfaces:unis/mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:egress-bw-profile-" +\r
-                    "per-uni) or " +\r
-                    "(/mef-global:mef-global/mef-global:" +\r
-                    "profiles/mef-global:egress-bwp-flows/" +\r
-                    "mef-global:bwp-flow" +\r
-                    "[mef-global:bw-profile = /mef-interfaces:" +\r
-                    "mef-interfaces/mef-interfaces:unis/" +\r
-                    "mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]/mef-interfaces:" +\r
-                    "egress-bw-profile-per-uni]" +\r
-                    "[mef-global:eir = 0]) or " +\r
-                    "(/mef-global:mef-global/mef-global:" +\r
-                    "profiles/mef-global:ingress-bwp-flows/" +\r
-                    "mef-global:bwp-flow" +\r
-                    "[mef-global:bw-profile = /mef-interfaces:" +\r
-                    "mef-interfaces/mef-interfaces:unis/" +\r
-                    "mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]/mef-interfaces:" +\r
-                    "egress-bw-profile-per-uni]" +\r
-                    "[mef-global:ebs >= current()/../../" +\r
-                    "max-svc-frame-size])" {\r
-              error-message "Egress Bandwidth Profile Per UNI: " +\r
-                    "If EIR > 0, EBS must be greater than or " +\r
-                    "equal to the EVC Max Service Frame Size " +\r
-                    "for the EVC.";\r
+            leaf ipvc-type {\r
+              type mef-types:ipvc-type;\r
+\r
+              mandatory true;\r
               description\r
-                "Egress Bandwidth Profile Per UNI: If EIR > 0, " +\r
-                "EBS must be greater than or equal to the " +\r
-                "EVC Max Service Frame Size for the EVC.";\r
+                            "This IPVC attribute describes the IPVC as either " +\r
+                            "Cloud-access, Multipoint, or " +\r
+                            "Rooted-Multipoint.";\r
             }\r
-            must "not(/mef-interfaces:mef-interfaces/" +\r
-                    "mef-interfaces:" +\r
-                    "unis/mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:ingress-envelopes) or " +\r
-                    "(/mef-global:mef-global/mef-global:profiles/" +\r
-                    "mef-global:ingress-bwp-flows/mef-global:" +\r
-                    "bwp-flow" +\r
-                    "[mef-global:bw-profile = /mef-interfaces:" +\r
-                    "mef-interfaces/mef-interfaces:unis/" +\r
-                    "mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:ingress-envelopes/" +\r
-                    "mef-interfaces:envelope/mef-interfaces:" +\r
-                    "bwp-flows/mef-interfaces:bwp-flow/" +\r
-                    "mef-interfaces:bw-profile]" +\r
-                    "[mef-global:eir = 0]) or " +\r
-                    "(/mef-global:mef-global/mef-global:profiles/" +\r
-                    "mef-global:ingress-bwp-flows/mef-global:" +\r
-                    "bwp-flow" +\r
-                    "[mef-global:bw-profile = /mef-interfaces:" +\r
-                    "mef-interfaces/mef-interfaces:unis/" +\r
-                    "mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:ingress-envelopes/" +\r
-                    "mef-interfaces:envelope/mef-interfaces:" +\r
-                    "bwp-flows/mef-interfaces:bwp-flow/" +\r
-                    "mef-interfaces:bw-profile]" +\r
-                    "[mef-global:ebs >= current()/../../" +\r
-                    "max-svc-frame-size])" {\r
-              error-message "Ingress Bandwidth Profile Envelope: " +\r
-                    "If EIR > 0, EBS must be greater than or " +\r
-                    "equal to the EVC Max Service Frame Size " +\r
-                    "for the EVC.";\r
+          }\r
+        }\r
+        case evc-choice {\r
+          container evc {\r
+\r
+            must "not(sls-uni-inclusions) or " +\r
+                        "(sls-uni-inclusions and not(sls-uni-exclusions))" {\r
+              error-message "The EVC Performance SLS Exclusions and " +\r
+                            "Inclusions List cannot both be configured for " +\r
+                            "an EVC.";\r
               description\r
-                "Ingress Bandwidth Profile Envelope: " +\r
-                "If EIR > 0, EBS must be greater than or equal " +\r
-                "to the EVC Max Service Frame Size for the EVC.";\r
+                            "The EVC Performance SLS Exclusions and Inclusions " +\r
+                            "List cannot both be configured for an EVC.";\r
             }\r
-            must "not(/mef-interfaces:mef-interfaces/" +\r
-                    "mef-interfaces:unis/mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:egress-envelopes) or " +\r
-                    "(/mef-global:mef-global/mef-global:" +\r
-                    "profiles/mef-global:egress-bwp-flows/" +\r
-                    "mef-global:bwp-flow" +\r
-                    "[mef-global:bw-profile = /mef-interfaces:" +\r
-                    "mef-interfaces/mef-interfaces:unis/" +\r
-                    "mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:egress-envelopes/" +\r
-                    "mef-interfaces:envelope/mef-interfaces:" +\r
-                    "bwp-flows/mef-interfaces:bwp-flow/" +\r
-                    "mef-interfaces:bw-profile]" +\r
-                    "[mef-global:eir = 0]) or " +\r
-                    "(/mef-global:mef-global/mef-global:profiles/" +\r
-                    "mef-global:egress-bwp-flows/mef-global:" +\r
-                    "bwp-flow" +\r
-                    "[mef-global:bw-profile = /mef-interfaces:" +\r
-                    "mef-interfaces/mef-interfaces:unis/" +\r
-                    "mef-interfaces:uni" +\r
-                    "[mef-interfaces:uni-id = current()/" +\r
-                    "mef-services:uni-id]" +\r
-                    "/mef-interfaces:egress-envelopes/" +\r
-                    "mef-interfaces:envelope/mef-interfaces:" +\r
-                    "bwp-flows/mef-interfaces:bwp-flow/" +\r
-                    "mef-interfaces:bw-profile]" +\r
-                    "[mef-global:ebs >= current()/../../" +\r
-                    "max-svc-frame-size])" {\r
-              error-message "Egress Bandwidth Profile Envelope: " +\r
-                    "If EIR > 0, EBS must be greater than or " +\r
-                    "equal to the EVC Max Service Frame Size " +\r
-                    "for the EVC.";\r
+            must "(evc-type != 'rooted-multipoint') or " +\r
+                        "((evc-type = 'rooted-multipoint') and " +\r
+                        "not(sls-uni-exclusions) )" {\r
+              error-message "If EVC Type is Rooted-Multipoint, " +\r
+                            "sls-uni-inclusions must be used instead of " +\r
+                            "sls-uni-exclusions.";\r
               description\r
-                "Egress Bandwidth Profile Envelope: " +\r
-                "If EIR > 0, EBS must be greater than or " +\r
-                "equal to the EVC Max Service Frame Size " +\r
-                "for the EVC.";\r
+                            "If EVC Type is Rooted-Multipoint, " +\r
+                            "sls-uni-inclusions must be used instead of " +\r
+                            "sls-uni-exclusions.";\r
             }\r
-            key "uni-id";\r
             description\r
-              "EVC Flow Points and EVC-UNI List defines the " +\r
-              "roles of each UNI in the Service. One UNI can " +\r
-              "be used by 0 or more EVCs.";\r
-            reference "[MEF10.3] Section 8.3. " +\r
-                    "[MEF7.3] Section 12.2.2.";\r
-            container evc-uni-ce-vlans {\r
+                        "Ethernet Virtual Circuit(EVC) Configuration and Status.";\r
+            container unis {\r
               description\r
-                "EVC Per UNI CE-VLAN IDs.";\r
-              list evc-uni-ce-vlan {\r
-                key "vid";\r
+                            "EVC Per Universal Network Interface(UNI) " +\r
+                            "Configuration and Status.";\r
+              list uni {\r
+                must "not(evc-uni-ce-vlans/evc-uni-ce-vlan[2]) or " +\r
+                                "../../preserve-ce-vlan-id = 'true'" {\r
+                  error-message "When more than one CE-VLAN-ID is " +\r
+                                    "mapped to an EVC at a UNI, the EVC must have " +\r
+                                    "CE-VLAN ID Preservation Enabled.";\r
+                  description\r
+                                    "When more than one CE-VLAN-ID is mapped to " +\r
+                                    "an EVC at a UNI, the EVC must have CE-VLAN ID " +\r
+                                    "Preservation Enabled.";\r
+                }\r
+                must "/mef-interfaces:mef-interfaces/mef-interfaces:" +\r
+                                "unis/mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "[mef-interfaces:uni-id/../mef-interfaces:" +\r
+                                "max-svc-frame-size >= current()/../../" +\r
+                                "mef-services:max-svc-frame-size]" {\r
+                  error-message "The value of the EVC Maximum " +\r
+                                    "Service Frame Size must be less than " +\r
+                                    "or equal to all the UNI Maximum Service " +\r
+                                    "Frame Sizes.";\r
+                  description\r
+                                    "The value of the EVC Maximum Service Frame " +\r
+                                    "Size must be less than or equal to all the " +\r
+                                    "UNI Maximum Service Frame Sizes.";\r
+                }\r
+                must "(/mef-interfaces:mef-interfaces/mef-interfaces:" +\r
+                                "unis/mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "[mef-interfaces:uni-id/../mef-interfaces:" +\r
+                                "bundling-enabled = 'true']) or " +\r
+                                "(/mef-interfaces:mef-interfaces/" +\r
+                                "mef-interfaces:unis/mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "[mef-interfaces:uni-id/../mef-interfaces:" +\r
+                                "all-to-one-bundling-enabled = 'true']) or " +\r
+                                "not(evc-uni-ce-vlans/evc-uni-ce-vlan[2])" {\r
+                  error-message "If both Bundling and All-to-One " +\r
+                                    "Bundling are disabled for a UNI, only one " +\r
+                                    "CE VLAN ID can be configured for a specific " +\r
+                                    "EVC on that UNI.";\r
+                  description\r
+                                    "If both Bundling and All-to-One Bundling are " +\r
+                                    "disabled for a UNI, only one CE VLAN ID can be " +\r
+                                    "configured for a specific EVC on that UNI.";\r
+                }\r
+                must "(/mef-interfaces:mef-interfaces/mef-interfaces:" +\r
+                                "unis/mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "[mef-interfaces:uni-id/../mef-interfaces:" +\r
+                                "all-to-one-bundling-enabled = 'false']) or " +\r
+                                "(count(/mef-services:mef-services/" +\r
+                                "mef-service/evc/unis/uni[uni-id = " +\r
+                                "current()/uni-id]) = 1)" {\r
+                  error-message "If All-to-One Bundling is enabled " +\r
+                                    "for any UNI in an EVC, all CE-VLAN IDs " +\r
+                                    "mapped to any EVC for that UNI must map " +\r
+                                    "to the same EVC ID.";\r
+                  description\r
+                                    "If All-to-One Bundling is enabled for any UNI " +\r
+                                    "in an EVC, all CE-VLAN IDs mapped to any EVC " +\r
+                                    "for that UNI must map to the same EVC ID.";\r
+                }\r
+                must "((/mef-interfaces:mef-interfaces/" +\r
+                                "mef-interfaces:unis/mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "[mef-interfaces:uni-id/../mef-interfaces:" +\r
+                                "ingress-bw-profile-per-uni]) or " +\r
+                                "(/mef-services:mef-services/mef-service/" +\r
+                                "evc/unis/uni" +\r
+                                "[uni-id = current()/mef-services:uni-id]" +\r
+                                "/ingress-bwp-flows-per-cos) or " +\r
+                                "(/mef-services:mef-services/mef-service/" +\r
+                                "evc/unis/uni" +\r
+                                "[uni-id = current()/mef-services:uni-id]" +\r
+                                "/ingress-bw-profile-per-evc)) or " +\r
+                                "not(/mef-interfaces:mef-interfaces/" +\r
+                                "mef-interfaces:unis/mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:ingress-envelopes)" {\r
+                  error-message "If no Ingress Bandwidth Profiles " +\r
+                                    "are specied for this UNI (BW Profile " +\r
+                                    "Per UNI, BWP Flows Per CoS, nor BW Profile " +\r
+                                    "Per EVC), then the UNI Ingress Envelopes " +\r
+                                    "list must be empty.";\r
+                  description\r
+                                    "If no Ingress Bandwidth Profiles are specied " +\r
+                                    "for this UNI (BW Profile Per UNI, BWP Flows " +\r
+                                    "Per CoS, nor BW Profile Per EVC), then the " +\r
+                                    "UNI Ingress Envelopes list must be empty.";\r
+                }\r
+                must "((/mef-interfaces:mef-interfaces/" +\r
+                                "mef-interfaces:unis/mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "[mef-interfaces:uni-id/../mef-interfaces:" +\r
+                                "egress-bw-profile-per-uni]) or " +\r
+                                "(/mef-services:mef-services/mef-service/" +\r
+                                "evc/unis/uni" +\r
+                                "[uni-id = current()/mef-services:uni-id]" +\r
+                                "/egress-bwp-flows-per-eec) or " +\r
+                                "(/mef-services:mef-services/mef-service/" +\r
+                                "evc/unis/uni" +\r
+                                "[uni-id = current()/mef-services:uni-id]" +\r
+                                "/egress-bw-profile-per-evc)) or " +\r
+                                "not(/mef-interfaces:mef-interfaces/" +\r
+                                "mef-interfaces:unis/mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:egress-envelopes)" {\r
+                  error-message "If no Egress Bandwidth Profiles are " +\r
+                                    "specied for this UNI (BW Profile Per UNI, " +\r
+                                    "BWP Flows Per EEC, nor BW Profile Per EVC), " +\r
+                                    "then the UNI Egress Envelopes list must be " +\r
+                                    "empty.";\r
+                  description\r
+                                    "If no Egress Bandwidth Profiles are specied " +\r
+                                    "for this UNI (BW Profile Per UNI, BWP Flows " +\r
+                                    "Per EEC, nor BW Profile Per EVC), then the UNI " +\r
+                                    "Egress Envelopes list must be empty.";\r
+                }\r
+                must "not(./ingress-bw-profile-per-evc) or " +\r
+                                "((./ingress-bw-profile-per-evc) and " +\r
+                                "not(./ingress-bwp-flows-per-cos))" {\r
+                  error-message "If there is a per EVC Ingress " +\r
+                                    "Bandwidth Profile on an EVC, then there " +\r
+                                    "cannot be any per Class of Service Ingress " +\r
+                                    "Bandwidth Profiles on that EVC.";\r
+                  description\r
+                                    "If there is a per EVC Ingress Bandwidth Profile " +\r
+                                    "on an EVC, then there cannot be any per " +\r
+                                    "Class of Service Ingress Bandwidth Profiles " +\r
+                                    "on that EVC.";\r
+                }\r
+                must "not(./egress-bw-profile-per-evc) or " +\r
+                                "((./egress-bw-profile-per-evc) and " +\r
+                                "not(./egress-bwp-flows-per-eec))" {\r
+                  error-message "If there is a per EVC Egress " +\r
+                                    "Bandwidth Profile on an EVC, then there " +\r
+                                    "cannot be any per Egress Equivalence " +\r
+                                    "Class Identifier Bandwidth Profiles on " +\r
+                                    "that EVC.";\r
+                  description\r
+                                    "If there is a per EVC Egress Bandwidth " +\r
+                                    "Profile on an EVC, then there cannot be " +\r
+                                    "any per Egress Equivalence Class Identifier " +\r
+                                    "Bandwidth Profiles on that EVC.";\r
+                }\r
+                must "not(/mef-interfaces:mef-interfaces/" +\r
+                                "mef-interfaces:unis/mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:ingress-bw-profile-" +\r
+                                "per-uni) or " +\r
+                                "(/mef-global:mef-global/mef-global:" +\r
+                                "profiles/mef-global:ingress-bwp-flows/" +\r
+                                "mef-global:bwp-flow" +\r
+                                "[mef-global:bw-profile = /mef-interfaces:" +\r
+                                "mef-interfaces/mef-interfaces:unis/" +\r
+                                "mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:ingress-bw-profile-per-uni]" +\r
+                                "[mef-global:cir = 0]) or " +\r
+                                "(/mef-global:mef-global/mef-global:" +\r
+                                "profiles/mef-global:ingress-bwp-flows/" +\r
+                                "mef-global:bwp-flow" +\r
+                                "[mef-global:bw-profile = /mef-interfaces:" +\r
+                                "mef-interfaces/mef-interfaces:unis/" +\r
+                                "mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:ingress-bw-profile-per-uni]" +\r
+                                "[mef-global:cbs >= current()/../../" +\r
+                                "max-svc-frame-size])" {\r
+                  error-message "Ingress Bandwidth Profile Per UNI: " +\r
+                                    "If CIR > 0, CBS must be greater than or " +\r
+                                    "equal to the EVC Max Service Frame Size " +\r
+                                    "for the EVC.";\r
+                  description\r
+                                    "Ingress Bandwidth Profile Per UNI: If CIR > 0, " +\r
+                                    "CBS must be greater than or equal to the " +\r
+                                    "EVC Max Service Frame Size for the EVC.";\r
+                }\r
+                must "not(/mef-interfaces:mef-interfaces/" +\r
+                                "mef-interfaces:unis/mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:egress-bw-profile-per-uni) " +\r
+                                "or " +\r
+                                "(/mef-global:mef-global/mef-global:profiles/" +\r
+                                "mef-global:egress-bwp-flows/mef-global:" +\r
+                                "bwp-flow" +\r
+                                "[mef-global:bw-profile = /mef-interfaces:" +\r
+                                "mef-interfaces/mef-interfaces:unis/" +\r
+                                "mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:egress-bw-profile-per-uni]" +\r
+                                "[mef-global:cir = 0]) or " +\r
+                                "(/mef-global:mef-global/mef-global:profiles/" +\r
+                                "mef-global:ingress-bwp-flows/mef-global:" +\r
+                                "bwp-flow" +\r
+                                "[mef-global:bw-profile = /mef-interfaces:" +\r
+                                "mef-interfaces/mef-interfaces:unis/" +\r
+                                "mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:egress-bw-profile-per-uni]" +\r
+                                "[mef-global:cbs >= current()/../../" +\r
+                                "max-svc-frame-size])" {\r
+                  error-message "Egress Bandwidth Profile Per UNI: " +\r
+                                    "If CIR > 0, CBS must be greater than or " +\r
+                                    "equal to the EVC Max Service Frame Size " +\r
+                                    "for the EVC.";\r
+                  description\r
+                                    "Egress Bandwidth Profile Per UNI: If CIR > 0, " +\r
+                                    "CBS must be greater than or equal to the " +\r
+                                    "EVC Max Service Frame Size for the EVC.";\r
+                }\r
+                must "not(/mef-interfaces:mef-interfaces/" +\r
+                                "mef-interfaces:unis/mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:ingress-envelopes) or " +\r
+                                "(/mef-global:mef-global/mef-global:" +\r
+                                "profiles/mef-global:ingress-bwp-flows/" +\r
+                                "mef-global:bwp-flow" +\r
+                                "[mef-global:bw-profile = /mef-interfaces:" +\r
+                                "mef-interfaces/mef-interfaces:unis/" +\r
+                                "mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:ingress-envelopes/" +\r
+                                "mef-interfaces:envelope/mef-interfaces:" +\r
+                                "bwp-flows/mef-interfaces:bwp-flow/" +\r
+                                "mef-interfaces:bw-profile]" +\r
+                                "[mef-global:cir = 0]) or " +\r
+                                "(/mef-global:mef-global/mef-global:" +\r
+                                "profiles/mef-global:ingress-bwp-flows/" +\r
+                                "mef-global:bwp-flow" +\r
+                                "[mef-global:bw-profile = /mef-interfaces:" +\r
+                                "mef-interfaces/mef-interfaces:unis/" +\r
+                                "mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:ingress-envelopes/" +\r
+                                "mef-interfaces:envelope/mef-interfaces:" +\r
+                                "bwp-flows/mef-interfaces:bwp-flow/" +\r
+                                "mef-interfaces:bw-profile]" +\r
+                                "[mef-global:cbs >= current()/../../" +\r
+                                "max-svc-frame-size])" {\r
+                  error-message "Ingress Bandwidth Profile Envelope: " +\r
+                                    "If CIR > 0, CBS must be greater than or " +\r
+                                    "equal to the EVC Max Service Frame Size " +\r
+                                    "for the EVC.";\r
+                  description\r
+                                    "Ingress Bandwidth Profile Envelope: " +\r
+                                    "If CIR > 0, CBS must be greater than " +\r
+                                    "or equal to the EVC Max Service Frame " +\r
+                                    "Size for the EVC.";\r
+                }\r
+                must "not(/mef-interfaces:mef-interfaces/" +\r
+                                "mef-interfaces:unis/mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:egress-envelopes) or " +\r
+                                "(/mef-global:mef-global/mef-global:" +\r
+                                "profiles/mef-global:egress-bwp-flows/" +\r
+                                "mef-global:bwp-flow" +\r
+                                "[mef-global:bw-profile = " +\r
+                                "/mef-interfaces:mef-interfaces/" +\r
+                                "mef-interfaces:unis/mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:egress-envelopes/" +\r
+                                "mef-interfaces:envelope/mef-interfaces:" +\r
+                                "bwp-flows/mef-interfaces:bwp-flow/" +\r
+                                "mef-interfaces:bw-profile]" +\r
+                                "[mef-global:cir = 0]) or " +\r
+                                "(/mef-global:mef-global/mef-global:" +\r
+                                "profiles/mef-global:egress-bwp-flows/" +\r
+                                "mef-global:bwp-flow" +\r
+                                "[mef-global:bw-profile = /mef-interfaces:" +\r
+                                "mef-interfaces/mef-interfaces:unis/" +\r
+                                "mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:egress-envelopes/" +\r
+                                "mef-interfaces:envelope/mef-interfaces:" +\r
+                                "bwp-flows/mef-interfaces:bwp-flow/" +\r
+                                "mef-interfaces:bw-profile]" +\r
+                                "[mef-global:cbs >= current()/../../" +\r
+                                "max-svc-frame-size])" {\r
+                  error-message "Egress Bandwidth Profile " +\r
+                                    "Envelope: If CIR > 0, CBS must be greater " +\r
+                                    "than or equal to the EVC Max Service Frame " +\r
+                                    "Size for the EVC.";\r
+                  description\r
+                                    "Egress Bandwidth Profile Envelope: If CIR > 0, " +\r
+                                    "CBS must be greater than or equal to the " +\r
+                                    "EVC Max Service Frame Size for the EVC.";\r
+                }\r
+                must "not(/mef-interfaces:mef-interfaces/" +\r
+                                "mef-interfaces:unis/mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:ingress-bw-profile-per-uni) " +\r
+                                "or " +\r
+                                "(/mef-global:mef-global/mef-global:profiles/" +\r
+                                "mef-global:ingress-bwp-flows/mef-global:" +\r
+                                "bwp-flow" +\r
+                                "[mef-global:bw-profile = /mef-interfaces:" +\r
+                                "mef-interfaces/mef-interfaces:unis/" +\r
+                                "mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]/mef-interfaces:" +\r
+                                "ingress-bw-profile-per-uni]" +\r
+                                "[mef-global:eir = 0]) or " +\r
+                                "(/mef-global:mef-global/mef-global:profiles/" +\r
+                                "mef-global:ingress-bwp-flows/" +\r
+                                "mef-global:bwp-flow" +\r
+                                "[mef-global:bw-profile = /mef-interfaces:" +\r
+                                "mef-interfaces/mef-interfaces:unis/" +\r
+                                "mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:ingress-bw-profile-per-uni]" +\r
+                                "[mef-global:ebs >= current()/../../" +\r
+                                "max-svc-frame-size])" {\r
+                  error-message "Ingress Bandwidth Profile Per UNI: " +\r
+                                    "If EIR > 0, EBS must be greater than or " +\r
+                                    "equal to the EVC Max Service Frame Size " +\r
+                                    "for the EVC.";\r
+                  description\r
+                                    "Ingress Bandwidth Profile Per UNI: If EIR > 0, " +\r
+                                    "EBS must be greater than or equal to the " +\r
+                                    "EVC Max Service Frame Size for the EVC.";\r
+                }\r
+                must "not(/mef-interfaces:mef-interfaces/" +\r
+                                "mef-interfaces:unis/mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:egress-bw-profile-" +\r
+                                "per-uni) or " +\r
+                                "(/mef-global:mef-global/mef-global:" +\r
+                                "profiles/mef-global:egress-bwp-flows/" +\r
+                                "mef-global:bwp-flow" +\r
+                                "[mef-global:bw-profile = /mef-interfaces:" +\r
+                                "mef-interfaces/mef-interfaces:unis/" +\r
+                                "mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]/mef-interfaces:" +\r
+                                "egress-bw-profile-per-uni]" +\r
+                                "[mef-global:eir = 0]) or " +\r
+                                "(/mef-global:mef-global/mef-global:" +\r
+                                "profiles/mef-global:ingress-bwp-flows/" +\r
+                                "mef-global:bwp-flow" +\r
+                                "[mef-global:bw-profile = /mef-interfaces:" +\r
+                                "mef-interfaces/mef-interfaces:unis/" +\r
+                                "mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]/mef-interfaces:" +\r
+                                "egress-bw-profile-per-uni]" +\r
+                                "[mef-global:ebs >= current()/../../" +\r
+                                "max-svc-frame-size])" {\r
+                  error-message "Egress Bandwidth Profile Per UNI: " +\r
+                                    "If EIR > 0, EBS must be greater than or " +\r
+                                    "equal to the EVC Max Service Frame Size " +\r
+                                    "for the EVC.";\r
+                  description\r
+                                    "Egress Bandwidth Profile Per UNI: If EIR > 0, " +\r
+                                    "EBS must be greater than or equal to the " +\r
+                                    "EVC Max Service Frame Size for the EVC.";\r
+                }\r
+                must "not(/mef-interfaces:mef-interfaces/" +\r
+                                "mef-interfaces:" +\r
+                                "unis/mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:ingress-envelopes) or " +\r
+                                "(/mef-global:mef-global/mef-global:profiles/" +\r
+                                "mef-global:ingress-bwp-flows/mef-global:" +\r
+                                "bwp-flow" +\r
+                                "[mef-global:bw-profile = /mef-interfaces:" +\r
+                                "mef-interfaces/mef-interfaces:unis/" +\r
+                                "mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:ingress-envelopes/" +\r
+                                "mef-interfaces:envelope/mef-interfaces:" +\r
+                                "bwp-flows/mef-interfaces:bwp-flow/" +\r
+                                "mef-interfaces:bw-profile]" +\r
+                                "[mef-global:eir = 0]) or " +\r
+                                "(/mef-global:mef-global/mef-global:profiles/" +\r
+                                "mef-global:ingress-bwp-flows/mef-global:" +\r
+                                "bwp-flow" +\r
+                                "[mef-global:bw-profile = /mef-interfaces:" +\r
+                                "mef-interfaces/mef-interfaces:unis/" +\r
+                                "mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:ingress-envelopes/" +\r
+                                "mef-interfaces:envelope/mef-interfaces:" +\r
+                                "bwp-flows/mef-interfaces:bwp-flow/" +\r
+                                "mef-interfaces:bw-profile]" +\r
+                                "[mef-global:ebs >= current()/../../" +\r
+                                "max-svc-frame-size])" {\r
+                  error-message "Ingress Bandwidth Profile Envelope: " +\r
+                                    "If EIR > 0, EBS must be greater than or " +\r
+                                    "equal to the EVC Max Service Frame Size " +\r
+                                    "for the EVC.";\r
+                  description\r
+                                    "Ingress Bandwidth Profile Envelope: " +\r
+                                    "If EIR > 0, EBS must be greater than or equal " +\r
+                                    "to the EVC Max Service Frame Size for the EVC.";\r
+                }\r
+                must "not(/mef-interfaces:mef-interfaces/" +\r
+                                "mef-interfaces:unis/mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:egress-envelopes) or " +\r
+                                "(/mef-global:mef-global/mef-global:" +\r
+                                "profiles/mef-global:egress-bwp-flows/" +\r
+                                "mef-global:bwp-flow" +\r
+                                "[mef-global:bw-profile = /mef-interfaces:" +\r
+                                "mef-interfaces/mef-interfaces:unis/" +\r
+                                "mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:egress-envelopes/" +\r
+                                "mef-interfaces:envelope/mef-interfaces:" +\r
+                                "bwp-flows/mef-interfaces:bwp-flow/" +\r
+                                "mef-interfaces:bw-profile]" +\r
+                                "[mef-global:eir = 0]) or " +\r
+                                "(/mef-global:mef-global/mef-global:profiles/" +\r
+                                "mef-global:egress-bwp-flows/mef-global:" +\r
+                                "bwp-flow" +\r
+                                "[mef-global:bw-profile = /mef-interfaces:" +\r
+                                "mef-interfaces/mef-interfaces:unis/" +\r
+                                "mef-interfaces:uni" +\r
+                                "[mef-interfaces:uni-id = current()/" +\r
+                                "mef-services:uni-id]" +\r
+                                "/mef-interfaces:egress-envelopes/" +\r
+                                "mef-interfaces:envelope/mef-interfaces:" +\r
+                                "bwp-flows/mef-interfaces:bwp-flow/" +\r
+                                "mef-interfaces:bw-profile]" +\r
+                                "[mef-global:ebs >= current()/../../" +\r
+                                "max-svc-frame-size])" {\r
+                  error-message "Egress Bandwidth Profile Envelope: " +\r
+                                    "If EIR > 0, EBS must be greater than or " +\r
+                                    "equal to the EVC Max Service Frame Size " +\r
+                                    "for the EVC.";\r
+                  description\r
+                                    "Egress Bandwidth Profile Envelope: " +\r
+                                    "If EIR > 0, EBS must be greater than or " +\r
+                                    "equal to the EVC Max Service Frame Size " +\r
+                                    "for the EVC.";\r
+                }\r
+                key "uni-id";\r
                 description\r
-                  "A list of the CE-VLAN IDs mapped to this UNI " +\r
-                  "for this EVC.";\r
-                reference "[MEF10.3] Section 8.6.1, [R24] " +\r
-                        "[R25], Section 9.10.2, Section 9.12, " +\r
-                        "[R76], [R81].";\r
-                leaf vid {\r
+                                "EVC Flow Points and EVC-UNI List defines the " +\r
+                                "roles of each UNI in the Service. One UNI can " +\r
+                                "be used by 0 or more EVCs.";\r
+                reference "[MEF10.3] Section 8.3. " +\r
+                                "[MEF7.3] Section 12.2.2.";\r
+                container evc-uni-ce-vlans {\r
+                  description\r
+                                    "EVC Per UNI CE-VLAN IDs.";\r
+                  list evc-uni-ce-vlan {\r
+                    key "vid";\r
+                    description\r
+                                        "A list of the CE-VLAN IDs mapped to this UNI " +\r
+                                        "for this EVC.";\r
+                    reference "[MEF10.3] Section 8.6.1, [R24] " +\r
+                                        "[R25], Section 9.10.2, Section 9.12, " +\r
+                                        "[R76], [R81].";\r
+                    leaf vid {\r
+                      type leafref {\r
+                        path "/mef-interfaces:mef-interfaces/" +\r
+                                                "mef-interfaces:unis/" +\r
+                                                "mef-interfaces:uni" +\r
+                                                "[mef-interfaces:uni-id = " +\r
+                                                "current()/../../../uni-id]" +\r
+                                                "/mef-interfaces:ce-vlans/" +\r
+                                                "mef-interfaces:ce-vlan/" +\r
+                                                "mef-interfaces:vid";\r
+                      }\r
+                      must "not(current()/../../" +\r
+                                            "evc-uni-ce-vlan[2]) or " +\r
+                                            "(count(../../../../uni/evc-uni-ce-vlans/" +\r
+                                            "evc-uni-ce-vlan" +\r
+                                            "[vid = current()]) = " +\r
+                                            "count(../../../../uni))" {\r
+                        error-message "If more than one CE-VLAN ID " +\r
+                                                "is configured for a UNI as part of " +\r
+                                                "an EVC, every CE VLAN-ID mapped to " +\r
+                                                "that EVC must be configured for all " +\r
+                                                "UNIs within that EVC.";\r
+                        description\r
+                                                "If more than one CE-VLAN ID is configured " +\r
+                                                "for a UNI as part of an EVC, every " +\r
+                                                "CE VLAN-ID mapped to that EVC must be " +\r
+                                                "configured for all UNIs within that EVC.";\r
+                      }\r
+                      description\r
+                                            "VLAN Identifier.";\r
+                    }\r
+                  }\r
+                }\r
+                container ingress-bwp-flows-per-cos {\r
+                  presence "Use Ingress Bandwidth Profiles Per CoS";\r
+                  description\r
+                                    "EVC Per UNI Class of Service Identifiers " +\r
+                                    "corresponding to this EVC's Ingress Bandwidth " +\r
+                                    "Profile Flows.";\r
+                  leaf coupling-enabled {\r
+                    type boolean;\r
+                    default "false";\r
+                    description\r
+                                        "EVC Per UNI Envelope Coupling Flag (CF) " +\r
+                                        "attribute.";\r
+                    reference "[MEF10.3] Section 12.1.";\r
+                  }\r
+                  list bwp-flow-per-cos {\r
+                    key "cos-name";\r
+                    description\r
+                                        "EVC Per UNI: The list of Class of Service " +\r
+                                        "Identifiers corresponding to this UNI's " +\r
+                                        "Ingress Bandwidth Profile Flow.";\r
+                    leaf cos-name {\r
+                      type leafref {\r
+                        path "/mef-global:mef-global/mef-global:" +\r
+                                                "profiles/mef-global:cos-names/" +\r
+                                                "mef-global:cos-name/mef-global:name";\r
+                      }\r
+                      description\r
+                                            "EVC Per UNI: Class of Service Identifier " +\r
+                                            "for this Bandwidth Profile Flow.";\r
+                      reference "[MEF7.3] Section 12.1.2.";\r
+                    }\r
+                    leaf bw-profile {\r
+                      type leafref {\r
+                        path "/mef-interfaces:mef-interfaces/" +\r
+                                                "mef-interfaces:unis/" +\r
+                                                "mef-interfaces:uni" +\r
+                                                "[mef-interfaces:uni-id = " +\r
+                                                "current()/../../../uni-id]" +\r
+                                                "/mef-interfaces:ingress-envelopes/" +\r
+                                                "mef-interfaces:envelope/" +\r
+                                                "mef-interfaces:env-id";\r
+                      }\r
+                      mandatory true;\r
+                      description\r
+                                            "EVC Per UNI: Ingress Bandwidth Profile " +\r
+                                            "Envelope Per CoS ID. If this parameter " +\r
+                                            "is not configured (ie. 'No') this " +\r
+                                            "setting is configured else at the " +\r
+                                            "UNI Level.";\r
+                      reference "[MEF10.3] Section 10.6, Table 28. " +\r
+                                            "[MEF7.3] Section 12.1.2.";\r
+                    }\r
+                  }\r
+                }\r
+                container egress-bwp-flows-per-eec {\r
+                  presence "Using Egress Bandwidth Profiles Per " +\r
+                                    "Egress Equivalence Class";\r
+                  description\r
+                                    "EVC Per UNI: The Egress Equivalence Class " +\r
+                                    "Identifiers corresponding to this EVC's Egress " +\r
+                                    "Bandwidth Profile Flows.";\r
+                  leaf coupling-enabled {\r
+                    type boolean;\r
+                    default "false";\r
+                    description\r
+                                        "EVC Per UNI: The Envelope Coupling Flag (CF) " +\r
+                                        "attribute.";\r
+                    reference "[MEF10.3] Section 12.1.";\r
+                  }\r
+                  list bwp-flow-per-eec {\r
+                    key "eec-name";\r
+                    description\r
+                                        "EVC Per UNI: The list of Egress Equivalence " +\r
+                                        "Class Identifiers corresponding to this " +\r
+                                        "EVC's Egress Bandwidth Profile Flow.";\r
+                    leaf eec-name {\r
+                      type leafref {\r
+                        path "/mef-global:mef-global/mef-global:" +\r
+                                                "profiles/mef-global:eec-names/" +\r
+                                                "mef-global:eec-name/mef-global:name";\r
+                      }\r
+                      description\r
+                                            "EVC Per UNI: Egress Equivalence Class " +\r
+                                            "Identifier for this Bandwidth Profile Flow.";\r
+                      reference "[MEF7.3] Section 12.1.2.";\r
+                    }\r
+                    leaf bw-profile {\r
+                      type leafref {\r
+                        path "/mef-interfaces:mef-interfaces/" +\r
+                                                "mef-interfaces:unis/" +\r
+                                                "mef-interfaces:uni" +\r
+                                                "[mef-interfaces:uni-id = " +\r
+                                                "current()/../../../uni-id]" +\r
+                                                "/mef-interfaces:egress-envelopes/" +\r
+                                                "mef-interfaces:envelope/" +\r
+                                                "mef-interfaces:env-id";\r
+                      }\r
+                      mandatory true;\r
+                      description\r
+                                            "EVC Per UNI: Egress Bandwidth Profile " +\r
+                                            "Envelope Per Equivance Class. If this " +\r
+                                            "parameter is not configured (ie. 'No') " +\r
+                                            "this setting is configured else at the " +\r
+                                            "UNI Level.";\r
+                      reference "[MEF10.3] Section 10.6, Table 28. " +\r
+                                            "[MEF7.3] Section 12.1.2.";\r
+                    }\r
+                  }\r
+                }\r
+                container status {\r
+                  description\r
+                                    "EVC Per UNI: This status group is related to " +\r
+                                    "the MEF 7.3 Service Endpoint";\r
+                  leaf oper-state-enabled {\r
+                    type boolean;\r
+                    default "false";\r
+                    config false;\r
+                    description\r
+                                        "EVC Per UNI: Operational Status of the " +\r
+                                        "Virtual Connection as Enabled/Disabled.";\r
+                    reference "[MEF15]. [MEF7.3] Section 11.2.1.";\r
+                  }\r
+                  leaf available-status {\r
+                    type mef-types:svc-endpoint-availability-type;\r
+                    default "not-installed";\r
+                    config false;\r
+                    description\r
+                                        "EVC Per UNI: Availability Status of the " +\r
+                                        "Virtual Connection.";\r
+                    reference "[MEF15]. [MEF7.3] Section 11.2.1.";\r
+                  }\r
+                }\r
+                leaf uni-id {\r
                   type leafref {\r
                     path "/mef-interfaces:mef-interfaces/" +\r
-                            "mef-interfaces:unis/" +\r
-                            "mef-interfaces:uni" +\r
-                            "[mef-interfaces:uni-id = " +\r
-                            "current()/../../../uni-id]" +\r
-                            "/mef-interfaces:ce-vlans/" +\r
-                            "mef-interfaces:ce-vlan/" +\r
-                            "mef-interfaces:vid";\r
+                                        "mef-interfaces:unis/mef-interfaces:uni/" +\r
+                                        "mef-interfaces:uni-id";\r
                   }\r
-                  must "not(current()/../../" +\r
-                        "evc-uni-ce-vlan[2]) or " +\r
-                        "(count(../../../../uni/evc-uni-ce-vlans/" +\r
-                        "evc-uni-ce-vlan" +\r
-                        "[vid = current()]) = " +\r
-                        "count(../../../../uni))" {\r
-                    error-message "If more than one CE-VLAN ID " +\r
-                            "is configured for a UNI as part of " +\r
-                            "an EVC, every CE VLAN-ID mapped to " +\r
-                            "that EVC must be configured for all " +\r
-                            "UNIs within that EVC.";\r
+                  description\r
+                                    "EVC Per UNI: The UNI ID paired with the EVC ID " +\r
+                                    "in the containing list.";\r
+                  reference "[MEF10.3] Section 8.3, Section 10.1.  " +\r
+                                    "[MEF7.3] Section 12.1.2.";\r
+                }\r
+                leaf role {\r
+                  type mef-types:evc-uni-role-type;\r
+                  mandatory true;\r
+                  description\r
+                                    "EVC Per UNI: The UNI Role MUST have the value " +\r
+                                    "of either 'root' or 'leaf'.";\r
+                  reference "[MEF10.3] [R4], [R5], [R10], [R11], " +\r
+                                    "[R12]. [MEF7.3] Section 12.2.2.";\r
+                }\r
+                leaf admin-state-enabled {\r
+                  type boolean;\r
+                  default "true";\r
+                  description\r
+                                    "EVC Per UNI: Locked/Unlocked is inconsistent " +\r
+                                    "with Oper Status and will be confusing.";\r
+                  reference "[MEF15]. [MEF7.3] Section 11.2.1.";\r
+                }\r
+                leaf color-id {\r
+                  type mef-types:cos-color-identifier-type;\r
+                  description\r
+                                    "EVC Per UNI: The Color Identifier for " +\r
+                                    "Service Frames.";\r
+                  reference "[MEF10.3] Section 10.3. " +\r
+                                    "[MEF7.3] Section 12.1.2.";\r
+                }\r
+                leaf data-svc-frm-cos {\r
+                  type leafref {\r
+                    path "/mef-global:mef-global/mef-global:profiles/" +\r
+                                        "mef-global:cos/mef-global:cos-profile/" +\r
+                                        "mef-global:id";\r
+                  }\r
+                  must "not(/mef-global:mef-global/mef-global:" +\r
+                                    "profiles/mef-global:cos/" +\r
+                                    "mef-global:cos-profile" +\r
+                                    "[mef-global:id = current()]" +\r
+                                    "/mef-global:cos-pcp) or " +\r
+                                    "((/mef-global:mef-global/mef-global:" +\r
+                                    "profiles/mef-global:cos/" +\r
+                                    "mef-global:cos-profile" +\r
+                                    "[mef-global:id = current()]" +\r
+                                    "/mef-global:cos-pcp) and " +\r
+                                    "((../color-id = 'pcp') or " +\r
+                                    "(../color-id = 'dei')) )" {\r
+                    error-message "When the Class of Service " +\r
+                                        "Identifier is based on PCP for a " +\r
+                                        "given EVC at a given UNI, the Color " +\r
+                                        "Identifier must be based on either " +\r
+                                        "DEI or PCP.";\r
+                    description\r
+                                        "When the Class of Service Identifier is " +\r
+                                        "based on PCP for a given EVC at a given UNI, " +\r
+                                        "the Color Identifier must be based on either " +\r
+                                        "DEI or PCP.";\r
+                  }\r
+                  must "not(/mef-global:mef-global/mef-global:" +\r
+                                    "profiles/mef-global:cos/mef-global:" +\r
+                                    "cos-profile" +\r
+                                    "[mef-global:id = current()]/mef-global:" +\r
+                                    "cos-dscp) or " +\r
+                                    "((/mef-global:mef-global/mef-global:" +\r
+                                    "profiles/mef-global:cos/mef-global:" +\r
+                                    "cos-profile" +\r
+                                    "[mef-global:id = current()]/mef-global:" +\r
+                                    "cos-dscp) and " +\r
+                                    "(../color-id = 'dscp'))" {\r
+                    error-message "When the Class of Service " +\r
+                                        "Identifier is based on DSCP for a " +\r
+                                        "given EVC at a given UNI, the Color " +\r
+                                        "Identifier must be based DSCP.";\r
                     description\r
-                      "If more than one CE-VLAN ID is configured " +\r
-                      "for a UNI as part of an EVC, every " +\r
-                      "CE VLAN-ID mapped to that EVC must be " +\r
-                      "configured for all UNIs within that EVC.";\r
+                                        "When the Class of Service Identifier is based " +\r
+                                        "on DSCP for a given EVC at a given UNI, the " +\r
+                                        "Color Identifier must be based DSCP.";\r
                   }\r
                   description\r
-                    "VLAN Identifier.";\r
+                                    "EVC Per UNI: Ingress Data Service Frame " +\r
+                                    "CoS Profile.";\r
+                  reference "[MEF10.3] Section 8.8, Section 10.2. " +\r
+                                    "[MEF7.3] Section 12.1.2.";\r
                 }\r
-              }\r
-            }\r
-            container ingress-bwp-flows-per-cos {\r
-              presence "Use Ingress Bandwidth Profiles Per CoS";\r
-              description\r
-                "EVC Per UNI Class of Service Identifiers " +\r
-                "corresponding to this EVC's Ingress Bandwidth " +\r
-                "Profile Flows.";\r
-              leaf coupling-enabled {\r
-                type boolean;\r
-                default "false";\r
-                description\r
-                  "EVC Per UNI Envelope Coupling Flag (CF) " +\r
-                  "attribute.";\r
-                reference "[MEF10.3] Section 12.1.";\r
-              }\r
-              list bwp-flow-per-cos {\r
-                key "cos-name";\r
-                description\r
-                  "EVC Per UNI: The list of Class of Service " +\r
-                  "Identifiers corresponding to this UNI's " +\r
-                  "Ingress Bandwidth Profile Flow.";\r
-                leaf cos-name {\r
+                leaf l2cp-svc-frm-cos {\r
                   type leafref {\r
                     path "/mef-global:mef-global/mef-global:" +\r
-                            "profiles/mef-global:cos-names/" +\r
-                            "mef-global:cos-name/mef-global:name";\r
+                                        "profiles/mef-global:l2cp-cos/mef-global:" +\r
+                                        "l2cp-profile/mef-global:id";\r
+                  }\r
+                  description\r
+                                    "EVC Per UNI: Ingress Layer 2 Control Protocol " +\r
+                                    "Processing.";\r
+                  reference "[MEF10.3] Section 8.8, Section 10.2. " +\r
+                                    "[MEF7.3] Section 12.1.2.";\r
+                }\r
+                leaf soam-svc-frm-cos {\r
+                  type leafref {\r
+                    path "/mef-global:mef-global/mef-global:profiles/" +\r
+                                        "mef-global:cos/mef-global:cos-profile/" +\r
+                                        "mef-global:id";\r
+                  }\r
+                  must "(not(.) and not(../data-svc-frm-cos)) or " +\r
+                                    "(. = ../data-svc-frm-cos)" {\r
+                    error-message "For a given EVC at a given UNI, " +\r
+                                        "the basis for the Class of Service " +\r
+                                        "Identifier for ingress SOAM Service " +\r
+                                        "Frames must be the same as that for " +\r
+                                        "ingress Data Service Frames.";\r
+                    description\r
+                                        "For a given EVC at a given UNI, the basis " +\r
+                                        "for the Class of Service Identifier for " +\r
+                                        "ingress SOAM Service Frames must be the " +\r
+                                        "same as that for ingress Data Service Frames.";\r
                   }\r
                   description\r
-                    "EVC Per UNI: Class of Service Identifier " +\r
-                    "for this Bandwidth Profile Flow.";\r
+                                    "EVC Per UNI: Ingress SOAM Service Frames.";\r
                   reference "[MEF7.3] Section 12.1.2.";\r
                 }\r
-                leaf bw-profile {\r
+                leaf data-svc-frm-eec {\r
                   type leafref {\r
-                    path "/mef-interfaces:mef-interfaces/" +\r
-                            "mef-interfaces:unis/" +\r
-                            "mef-interfaces:uni" +\r
-                            "[mef-interfaces:uni-id = " +\r
-                            "current()/../../../uni-id]" +\r
-                            "/mef-interfaces:ingress-envelopes/" +\r
-                            "mef-interfaces:envelope/" +\r
-                            "mef-interfaces:env-id";\r
+                    path "/mef-global:mef-global/mef-global:profiles/" +\r
+                                        "mef-global:eec/mef-global:eec-profile/" +\r
+                                        "mef-global:id";\r
+                  }\r
+                  must "not(/mef-global:mef-global/mef-global:" +\r
+                                    "profiles/mef-global:eec/mef-global:" +\r
+                                    "eec-profile" +\r
+                                    "[mef-global:id = current()]" +\r
+                                    "/mef-global:eec-pcp) or " +\r
+                                    "((/mef-global:mef-global/mef-global:" +\r
+                                    "profiles/mef-global:eec/mef-global:" +\r
+                                    "eec-profile" +\r
+                                    "[mef-global:id = current()]" +\r
+                                    "/mef-global:eec-pcp) and " +\r
+                                    "((../color-id = 'pcp') or " +\r
+                                    "(../color-id = 'dei')) )" {\r
+                    error-message "When the Egress Equivalence " +\r
+                                        "Class Identifier is based on PCP " +\r
+                                        "for a given EVC at a given UNI, " +\r
+                                        "the Color Identifier must be based " +\r
+                                        "on either DEI or PCP.";\r
+                    description\r
+                                        "When the Egress Equivalence Class Identifier " +\r
+                                        "is based on PCP for a given EVC at a " +\r
+                                        "given UNI, the Color Identifier must " +\r
+                                        "be based on either DEI or PCP.";\r
+                  }\r
+                  must "not(/mef-global:mef-global/mef-global:" +\r
+                                    "profiles/mef-global:eec/mef-global:" +\r
+                                    "eec-profile" +\r
+                                    "[mef-global:id = current()]" +\r
+                                    "/mef-global:eec-dscp) or " +\r
+                                    "((/mef-global:mef-global/mef-global:" +\r
+                                    "profiles/mef-global:eec/mef-global:" +\r
+                                    "eec-profile" +\r
+                                    "[mef-global:id = current()]" +\r
+                                    "/mef-global:eec-dscp) and " +\r
+                                    "(../color-id = 'dscp'))" {\r
+                    error-message "When the Egress Equivalence " +\r
+                                        "Class Identifier is based on DSCP for " +\r
+                                        "a given EVC at a given UNI, the Color " +\r
+                                        "Identifier must be based DSCP.";\r
+                    description\r
+                                        "When the Egress Equivalence Class Identifier " +\r
+                                        "is based on DSCP for a given EVC at a given " +\r
+                                        "UNI, the Color Identifier must be based DSCP.";\r
                   }\r
-                  mandatory true;\r
                   description\r
-                    "EVC Per UNI: Ingress Bandwidth Profile " +\r
-                    "Envelope Per CoS ID. If this parameter " +\r
-                    "is not configured (ie. 'No') this " +\r
-                    "setting is configured else at the " +\r
-                    "UNI Level.";\r
-                  reference "[MEF10.3] Section 10.6, Table 28. " +\r
-                        "[MEF7.3] Section 12.1.2.";\r
+                                    "EVC Per UNI: Egress Data Service Frame Processing.";\r
+                  reference "[MEF10.3] Section 10.4. " +\r
+                                    "[MEF7.3] Section 12.1.2.";\r
                 }\r
-              }\r
-            }\r
-            container egress-bwp-flows-per-eec {\r
-              presence "Using Egress Bandwidth Profiles Per " +\r
-                    "Egress Equivalence Class";\r
-              description\r
-                "EVC Per UNI: The Egress Equivalence Class " +\r
-                "Identifiers corresponding to this EVC's Egress " +\r
-                "Bandwidth Profile Flows.";\r
-              leaf coupling-enabled {\r
-                type boolean;\r
-                default "false";\r
-                description\r
-                  "EVC Per UNI: The Envelope Coupling Flag (CF) " +\r
-                  "attribute.";\r
-                reference "[MEF10.3] Section 12.1.";\r
-              }\r
-              list bwp-flow-per-eec {\r
-                key "eec-name";\r
-                description\r
-                  "EVC Per UNI: The list of Egress Equivalence " +\r
-                  "Class Identifiers corresponding to this " +\r
-                  "EVC's Egress Bandwidth Profile Flow.";\r
-                leaf eec-name {\r
+                leaf l2cp-svc-frm-eec {\r
+                  type leafref {\r
+                    path "/mef-global:mef-global/mef-global:profiles/" +\r
+                                        "mef-global:l2cp-eec/mef-global:" +\r
+                                        "l2cp-profile/mef-global:id";\r
+                  }\r
+                  description\r
+                                    "EVC Per UNI: Egress Layer 2 Control Protocol " +\r
+                                    "Processing.";\r
+                  reference "[MEF10.3] Section 10.4. " +\r
+                                    "[MEF7.3] Section 12.1.2.";\r
+                }\r
+                leaf soam-svc-frm-eec {\r
                   type leafref {\r
                     path "/mef-global:mef-global/mef-global:" +\r
-                            "profiles/mef-global:eec-names/" +\r
-                            "mef-global:eec-name/mef-global:name";\r
+                                        "profiles/mef-global:eec/mef-global:" +\r
+                                        "eec-profile/mef-global:id";\r
+                  }\r
+                  must "(not(.) and not(../data-svc-frm-eec)) or " +\r
+                                    "(. = ../data-svc-frm-eec)" {\r
+                    error-message "For a given EVC at a given UNI, " +\r
+                                        "the basis for the Egress Equivalence " +\r
+                                        "Class Identifier for egress SOAM " +\r
+                                        "Service Frames must be the same as " +\r
+                                        "that for egress Data Service Frames.";\r
+                    description\r
+                                        "For a given EVC at a given UNI, the basis " +\r
+                                        "for the Egress Equivalence Class Identifier " +\r
+                                        "for egress SOAM Service Frames must be " +\r
+                                        "the same as that for egress Data " +\r
+                                        "Service Frames.";\r
                   }\r
                   description\r
-                    "EVC Per UNI: Egress Equivalence Class " +\r
-                    "Identifier for this Bandwidth Profile Flow.";\r
-                  reference "[MEF7.3] Section 12.1.2.";\r
+                                    "EVC Per UNI: Egress SOAM Service Frames.";\r
+                  reference "[MEF10.3] Section 10.4. " +\r
+                                    "[MEF7.3] Section 12.1.2.";\r
                 }\r
-                leaf bw-profile {\r
+                leaf ingress-bw-profile-per-evc {\r
                   type leafref {\r
                     path "/mef-interfaces:mef-interfaces/" +\r
-                            "mef-interfaces:unis/" +\r
-                            "mef-interfaces:uni" +\r
-                            "[mef-interfaces:uni-id = " +\r
-                            "current()/../../../uni-id]" +\r
-                            "/mef-interfaces:egress-envelopes/" +\r
-                            "mef-interfaces:envelope/" +\r
-                            "mef-interfaces:env-id";\r
+                                        "mef-interfaces:unis/" +\r
+                                        "mef-interfaces:uni" +\r
+                                        "[mef-interfaces:uni-id = " +\r
+                                        "current()/../uni-id]" +\r
+                                        "/mef-interfaces:ingress-envelopes/" +\r
+                                        "mef-interfaces:envelope/" +\r
+                                        "mef-interfaces:env-id";\r
                   }\r
-                  mandatory true;\r
                   description\r
-                    "EVC Per UNI: Egress Bandwidth Profile " +\r
-                    "Envelope Per Equivance Class. If this " +\r
-                    "parameter is not configured (ie. 'No') " +\r
-                    "this setting is configured else at the " +\r
-                    "UNI Level.";\r
-                  reference "[MEF10.3] Section 10.6, Table 28. " +\r
-                        "[MEF7.3] Section 12.1.2.";\r
+                                    "EVC Per UNI: Ingress Bandwidth Profile " +\r
+                                    "Envelope Per EVC. If this parameter is " +\r
+                                    "not configured (ie. 'No') this setting " +\r
+                                    "is configured else at the UNI Level.";\r
+                  reference "[MEF10.3] Section 10.5. " +\r
+                                    "[MEF7.3] Section 12.1.2.";\r
+                }\r
+                leaf egress-bw-profile-per-evc {\r
+                  type leafref {\r
+                    path "/mef-interfaces:mef-interfaces/" +\r
+                                        "mef-interfaces:unis/" +\r
+                                        "mef-interfaces:uni" +\r
+                                        "[mef-interfaces:uni-id = " +\r
+                                        "current()/../uni-id]" +\r
+                                        "/mef-interfaces:egress-envelopes/" +\r
+                                        "mef-interfaces:envelope/mef-interfaces:" +\r
+                                        "env-id";\r
+                  }\r
+                  description\r
+                                    "EVC Per UNI: Egress Bandwidth Profile Envelope " +\r
+                                    "Per EVC. If this parameter is not configured " +\r
+                                    "(ie. 'No') this setting is configured else at " +\r
+                                    "the UNI Level.";\r
+                  reference "[MEF10.3] Section 10.7. " +\r
+                                    "[MEF7.3] Section 12.1.2.";\r
+                }\r
+                leaf src-mac-addr-limit-enabled {\r
+                  type boolean;\r
+                  default "false";\r
+                  description\r
+                                    "EVC Per UNI: Source MAC Address Limit " +\r
+                                    "Enable / Disable. If Enabled, the values " +\r
+                                    "for the Source MAC Address Limit and Source " +\r
+                                    "MAC Address Interval must be set.";\r
+                  reference "[MEF10.3] Section 10.9. " +\r
+                                    "[MEF7.3] Section 12.1.2.";\r
+                }\r
+                leaf src-mac-addr-limit {\r
+                  type uint32 {\r
+                    range "1..max";\r
+                  }\r
+                  description\r
+                                    "EVC Per UNI: Source MAC Address Limit. " +\r
+                                    "This value is used when the Source MAC Address " +\r
+                                    "Limit Enabled is true.";\r
+                  reference "[MEF10.3] Section 10.9.";\r
+                }\r
+                leaf src-mac-addr-limit-interval {\r
+                  type yang:timeticks;\r
+                  default "0";\r
+                  description\r
+                                    "EVC Per UNI: Source MAC Address Limit " +\r
+                                    "Interval. This value is used when the " +\r
+                                    "Source MAC Address Limit Enabled is true.";\r
+                  reference "[MEF10.3] Section 10.9.";\r
+                }\r
+                leaf test-meg-enabled {\r
+                  type boolean;\r
+                  default "false";\r
+                  description\r
+                                    "EVC Per UNI: Test MEG Enabled / Disabled.";\r
+                  reference "[MEF10.3] Section 10.10. " +\r
+                                    "[MEF7.3] Section 12.1.2.";\r
+                }\r
+                leaf test-meg {\r
+                  type mef-types:identifier45;\r
+                  description\r
+                                    "EVC Per UNI: Test MEG Identifier.";\r
+                  reference "[MEF7.3] Section 12.1.2.";\r
+                }\r
+                leaf subscriber-meg-mip-enabled {\r
+                  type boolean;\r
+                  default "false";\r
+                  description\r
+                                    "EVC Per UNI: Subscriber MEG MIP " +\r
+                                    "Enabled / Disabled.";\r
+                  reference "[MEF10.3] Section 10.11. " +\r
+                                    "[MEF7.3] Section 12.1.2.";\r
+                }\r
+                leaf subscriber-meg-mip {\r
+                  type mef-types:identifier45;\r
+                  description\r
+                                    "EVC Per UNI: Subscriber MEG MIP Identifier.";\r
+                  reference "[MEF7.3] Section 12.1.2.";\r
                 }\r
               }\r
             }\r
             container status {\r
               description\r
-                "EVC Per UNI: This status group is related to " +\r
-                "the MEF 7.3 Service Endpoint";\r
+                            "This status group is related to the MEF 7.3 Virtual " +\r
+                            "Connection";\r
               leaf oper-state-enabled {\r
                 type boolean;\r
                 default "false";\r
                 config false;\r
                 description\r
-                  "EVC Per UNI: Operational Status of the " +\r
-                  "Virtual Connection as Enabled/Disabled.";\r
-                reference "[MEF15]. [MEF7.3] Section 11.2.1.";\r
+                                "EVC Operational Status of the Virtual Connection " +\r
+                                "as Enabled/Disabled.";\r
+                reference "[MEF7.3] Section 11.1.1.";\r
               }\r
               leaf available-status {\r
-                type mef-types:svc-endpoint-availability-type;\r
+                type mef-types:virt-cx-availability-type;\r
                 default "not-installed";\r
                 config false;\r
                 description\r
-                  "EVC Per UNI: Availability Status of the " +\r
-                  "Virtual Connection.";\r
-                reference "[MEF15]. [MEF7.3] Section 11.2.1.";\r
+                                "EVC Availability Status of the Virtual Connection.";\r
+                reference "[MEF7.3] Section 11.1.1.";\r
               }\r
             }\r
-            leaf uni-id {\r
-              type leafref {\r
-                path "/mef-interfaces:mef-interfaces/" +\r
-                        "mef-interfaces:unis/mef-interfaces:uni/" +\r
-                        "mef-interfaces:uni-id";\r
+            container sls-inclusions-by-cos {\r
+              description\r
+                            "SLS Inclusions by CoS: For this EVC, the following " +\r
+                            "CoS Names/Labels are applicable.";\r
+              list sls-inclusion-by-cos {\r
+                key "cos-name";\r
+                description\r
+                                "CoS Name.";\r
+                leaf cos-name {\r
+                  type leafref {\r
+                    path "/mef-global:mef-global/mef-global:profiles/" +\r
+                                        "mef-global:cos-names/mef-global:" +\r
+                                        "cos-name/mef-global:name";\r
+                  }\r
+                  description\r
+                                    "EVC: This attribute identifies the name of " +\r
+                                    "a class of service (CoS) instance to be used " +\r
+                                    "for EVC Performance.";\r
+                }\r
               }\r
+            }\r
+            container sls-uni-inclusions {\r
+              presence "EVC: Defines the EVC Flow Points (UNI) Pairs " +\r
+                            "that must conform to the EVC's SLS Performance " +\r
+                            "Metrics.";\r
               description\r
-                "EVC Per UNI: The UNI ID paired with the EVC ID " +\r
-                "in the containing list.";\r
-              reference "[MEF10.3] Section 8.3, Section 10.1.  " +\r
-                    "[MEF7.3] Section 12.1.2.";\r
+                            "SLS UNI Inclusions List. The following pairs of UNI " +\r
+                            "Interconnections are to required to meet the " +\r
+                            "SLS Performance Objectives. Configing both SLS " +\r
+                            "UNI Inclusions and SLS UNI Exclusions is not " +\r
+                            "permitted.";\r
+              list sls-uni-inclusion-set {\r
+                must "uni-id1 != uni-id2" {\r
+                  error-message "The two UNI IDs for a given " +\r
+                                    "inclusion cannot be the same.";\r
+                  description\r
+                                    "The two UNI IDs for a given inclusion " +\r
+                                    "cannot be the same.";\r
+                }\r
+                must "(../../evc-type != 'rooted-multipoint') or " +\r
+                                "((../../evc-type = 'rooted-multipoint') " +\r
+                                "and " +\r
+                                "not((../../unis/uni[uni-id = " +\r
+                                "current()/uni-id1]/role = 'leaf') and " +\r
+                                "(../../unis/uni[uni-id = current()/uni-id2]" +\r
+                                "/role = 'leaf')))" {\r
+                  error-message "If EVC Type is Rooted-Multipoint, " +\r
+                                    "sls-uni-inclusion UNI Pairs cannot both " +\r
+                                    "be role 'leaf'.";\r
+                  description\r
+                                    "If EVC Type is Rooted-Multipoint, " +\r
+                                    "sls-uni-inclusion UNI Pairs cannot " +\r
+                                    "both be role 'leaf'.";\r
+                }\r
+                key "pm-type pm-id uni-id1 uni-id2";\r
+                description\r
+                                "EVC: Defines the EVC Flow Points (UNI) Pairs that " +\r
+                                "must conform to the EVC's SLS Performance " +\r
+                                "Metrics. Use of this list indicates that a " +\r
+                                "complete set of UNI Pairs has been specified " +\r
+                                "for the Performance Metrics defined in the " +\r
+                                "selected SLS.";\r
+                leaf pm-type {\r
+                  type leafref {\r
+                    path "/mef-global:mef-global/mef-global:slss/" +\r
+                                        "mef-global:sls" +\r
+                                        "[mef-global:sls-id = current()/../../../" +\r
+                                        "evc-performance-sls]" +\r
+                                        "/mef-global:perf-objs/mef-global:" +\r
+                                        "perf-obj/mef-global:pm-type";\r
+                  }\r
+                  description\r
+                                    "EVC: Performance Metric.";\r
+                  reference "[MEF10.3] Section 8.8.";\r
+                }\r
+                leaf pm-id {\r
+                  type leafref {\r
+                    path "/mef-global:mef-global/mef-global:slss/" +\r
+                                        "mef-global:sls" +\r
+                                        "[mef-global:sls-id = current()/../../../" +\r
+                                        "evc-performance-sls]" +\r
+                                        "/mef-global:perf-objs/mef-global:perf-obj" +\r
+                                        "[mef-global:pm-type = current()/../" +\r
+                                        "pm-type]" +\r
+                                        "/mef-global:pm-id";\r
+                  }\r
+                  description\r
+                                    "EVC: This is a friendly name for specific " +\r
+                                    "performance profile.";\r
+                }\r
+                leaf uni-id1 {\r
+                  type leafref {\r
+                    path "../../../unis/uni/uni-id";\r
+                  }\r
+                  description\r
+                                    "EVC: The UNI ID paired with the EVC ID in the " +\r
+                                    "containing list.";\r
+                  reference "[MEF10.3] Section 8.3, Section 10.1.  " +\r
+                                    "[MEF7.3] Section 12.1.2.";\r
+                }\r
+                leaf uni-id2 {\r
+                  type leafref {\r
+                    path "../../../unis/uni/uni-id";\r
+                  }\r
+                  description\r
+                                    "EVC: The UNI ID paired with the EVC ID in the " +\r
+                                    "containing list.";\r
+                  reference "[MEF10.3] Section 8.3, Section 10.1.  " +\r
+                                    "[MEF7.3] Section 12.1.2.";\r
+                }\r
+              }\r
             }\r
-            leaf role {\r
-              type mef-types:evc-uni-role-type;\r
-              mandatory true;\r
+            container sls-uni-exclusions {\r
+              presence "Not all EVC Flow Points (UNI) must conform " +\r
+                            "to the EVC SLS Performance Metrics.";\r
               description\r
-                "EVC Per UNI: The UNI Role MUST have the value " +\r
-                "of either 'root' or 'leaf'.";\r
-              reference "[MEF10.3] [R4], [R5], [R10], [R11], " +\r
-                    "[R12]. [MEF7.3] Section 12.2.2.";\r
+                            "EVC: Not all EVC Flow Points (UNI) must conform to " +\r
+                            "the EVC SLS Performance Metrics. Use of this " +\r
+                            "list indicates that all UNI Pairs EXCEPT for " +\r
+                            "the ones indicated (per Performance Metric) must " +\r
+                            "conform to the SLS.";\r
+              list sls-uni-exclusion-set {\r
+                must "uni-id1 != uni-id2" {\r
+                  error-message "The two UNI IDs for a given " +\r
+                                    "exclusion cannot be the same.";\r
+                  description\r
+                                    "The two UNI IDs for a given exclusion cannot " +\r
+                                    "be the same as these pairs are invalid as " +\r
+                                    "defined in MEF 10.3.";\r
+                }\r
+                key "pm-type pm-id uni-id1 uni-id2";\r
+                description\r
+                                "SLS UNI Exclusions List. The following pairs " +\r
+                                "of UNI Interconnections are not required " +\r
+                                "meet the SLS Performance Objectives. " +\r
+                                "Configing both SLS UNI Inclusions and SLS " +\r
+                                "UNI Exclusions is not permitted.";\r
+                leaf pm-type {\r
+                  type leafref {\r
+                    path "/mef-global:mef-global/mef-global:" +\r
+                                        "slss/mef-global:sls" +\r
+                                        "[mef-global:sls-id = current()/../../../" +\r
+                                        "evc-performance-sls]" +\r
+                                        "/mef-global:perf-objs/mef-global:" +\r
+                                        "perf-obj/mef-global:pm-type";\r
+                  }\r
+                  description\r
+                                    "EVC: Performance Metric.";\r
+                  reference "[MEF10.3] Section 8.8.";\r
+                }\r
+                leaf pm-id {\r
+                  type leafref {\r
+                    path "/mef-global:mef-global/mef-global:slss/" +\r
+                                        "mef-global:sls" +\r
+                                        "[mef-global:sls-id = current()/../../../" +\r
+                                        "evc-performance-sls]" +\r
+                                        "/mef-global:perf-objs/mef-global:perf-obj" +\r
+                                        "[mef-global:pm-type = current()/../" +\r
+                                        "pm-type]" +\r
+                                        "/mef-global:pm-id";\r
+                  }\r
+                  description\r
+                                    "EVC: This is a friendly name for specific " +\r
+                                    "performance profile.";\r
+                }\r
+                leaf uni-id1 {\r
+                  type leafref {\r
+                    path "../../../unis/uni/uni-id";\r
+                  }\r
+                  description\r
+                                    "EVC: The UNI ID paired with the EVC ID in the " +\r
+                                    "containing list.";\r
+                  reference "[MEF10.3] Section 8.3, Section 10.1.  " +\r
+                                    "[MEF7.3] Section 12.1.2.";\r
+                }\r
+                leaf uni-id2 {\r
+                  type leafref {\r
+                    path "../../../unis/uni/uni-id";\r
+                  }\r
+                  description\r
+                                    "EVC: The UNI ID paired with the EVC ID in the " +\r
+                                    "containing list.";\r
+                  reference "[MEF10.3] Section 8.3, Section 10.1.  " +\r
+                                    "[MEF7.3] Section 12.1.2.";\r
+                }\r
+              }\r
             }\r
-            leaf admin-state-enabled {\r
-              type boolean;\r
-              default "true";\r
+            leaf evc-id {\r
+              type mef-types:evc-id-type;\r
+              mandatory true;\r
               description\r
-                "EVC Per UNI: Locked/Unlocked is inconsistent " +\r
-                "with Oper Status and will be confusing.";\r
-              reference "[MEF15]. [MEF7.3] Section 11.2.1.";\r
+                            "The EVC ID must be unique across all EVCs in the CEN." +\r
+                            " The EVC ID must be non-NULL.";\r
+              reference "[MEF10.3] Section 8.2 [R7]. " +\r
+                            "[MEF7.3] Section 11.1.1, Section 12.2.2.";\r
             }\r
-            leaf color-id {\r
-              type mef-types:cos-color-identifier-type;\r
+            leaf evc-status {\r
+              type mef-types:evc-status-type;\r
+              config false;\r
               description\r
-                "EVC Per UNI: The Color Identifier for " +\r
-                "Service Frames.";\r
-              reference "[MEF10.3] Section 10.3. " +\r
-                    "[MEF7.3] Section 12.1.2.";\r
+                            "EVC Operational Status.";\r
+              reference "[MEF16] Section 5.3.";\r
             }\r
-            leaf data-svc-frm-cos {\r
-              type leafref {\r
-                path "/mef-global:mef-global/mef-global:profiles/" +\r
-                        "mef-global:cos/mef-global:cos-profile/" +\r
-                        "mef-global:id";\r
-              }\r
-              must "not(/mef-global:mef-global/mef-global:" +\r
-                    "profiles/mef-global:cos/" +\r
-                    "mef-global:cos-profile" +\r
-                    "[mef-global:id = current()]" +\r
-                    "/mef-global:cos-pcp) or " +\r
-                    "((/mef-global:mef-global/mef-global:" +\r
-                    "profiles/mef-global:cos/" +\r
-                    "mef-global:cos-profile" +\r
-                    "[mef-global:id = current()]" +\r
-                    "/mef-global:cos-pcp) and " +\r
-                    "((../color-id = 'pcp') or " +\r
-                    "(../color-id = 'dei')) )" {\r
-                error-message "When the Class of Service " +\r
-                        "Identifier is based on PCP for a " +\r
-                        "given EVC at a given UNI, the Color " +\r
-                        "Identifier must be based on either " +\r
-                        "DEI or PCP.";\r
+            leaf evc-type {\r
+              type mef-types:evc-type;\r
+              must "(. != 'point-to-point') or " +\r
+                            "((. = 'point-to-point') and " +\r
+                            "(count(../unis/uni[role = 'leaf']) = 0))" {\r
+                error-message "If EVC Type is Point-to-Point, all " +\r
+                                "UNI Roles must be root.";\r
                 description\r
-                  "When the Class of Service Identifier is " +\r
-                  "based on PCP for a given EVC at a given UNI, " +\r
-                  "the Color Identifier must be based on either " +\r
-                  "DEI or PCP.";\r
+                                "If EVC Type is Point-to-Point, all UNI Roles must " +\r
+                                "be root.";\r
               }\r
-              must "not(/mef-global:mef-global/mef-global:" +\r
-                    "profiles/mef-global:cos/mef-global:" +\r
-                    "cos-profile" +\r
-                    "[mef-global:id = current()]/mef-global:" +\r
-                    "cos-dscp) or " +\r
-                    "((/mef-global:mef-global/mef-global:" +\r
-                    "profiles/mef-global:cos/mef-global:" +\r
-                    "cos-profile" +\r
-                    "[mef-global:id = current()]/mef-global:" +\r
-                    "cos-dscp) and " +\r
-                    "(../color-id = 'dscp'))" {\r
-                error-message "When the Class of Service " +\r
-                        "Identifier is based on DSCP for a " +\r
-                        "given EVC at a given UNI, the Color " +\r
-                        "Identifier must be based DSCP.";\r
+              must "(. != 'multipoint-to-multipoint') or " +\r
+                            "((. = 'multipoint-to-multipoint') and " +\r
+                            "(count(../unis/uni[role = 'leaf']) = 0))" {\r
+                error-message "If EVC Type is " +\r
+                                "Multipoint-to-Multipoint, all UNI Roles " +\r
+                                "must be root.";\r
                 description\r
-                  "When the Class of Service Identifier is based " +\r
-                  "on DSCP for a given EVC at a given UNI, the " +\r
-                  "Color Identifier must be based DSCP.";\r
-              }\r
-              description\r
-                "EVC Per UNI: Ingress Data Service Frame " +\r
-                "CoS Profile.";\r
-              reference "[MEF10.3] Section 8.8, Section 10.2. " +\r
-                    "[MEF7.3] Section 12.1.2.";\r
-            }\r
-            leaf l2cp-svc-frm-cos {\r
-              type leafref {\r
-                path "/mef-global:mef-global/mef-global:" +\r
-                        "profiles/mef-global:l2cp-cos/mef-global:" +\r
-                        "l2cp-profile/mef-global:id";\r
+                                "If EVC Type is Multipoint-to-Multipoint, all UNI " +\r
+                                "Roles must be root.";\r
               }\r
-              description\r
-                "EVC Per UNI: Ingress Layer 2 Control Protocol " +\r
-                "Processing.";\r
-              reference "[MEF10.3] Section 8.8, Section 10.2. " +\r
-                    "[MEF7.3] Section 12.1.2.";\r
-            }\r
-            leaf soam-svc-frm-cos {\r
-              type leafref {\r
-                path "/mef-global:mef-global/mef-global:profiles/" +\r
-                        "mef-global:cos/mef-global:cos-profile/" +\r
-                        "mef-global:id";\r
-              }\r
-              must "(not(.) and not(../data-svc-frm-cos)) or " +\r
-                    "(. = ../data-svc-frm-cos)" {\r
-                error-message "For a given EVC at a given UNI, " +\r
-                        "the basis for the Class of Service " +\r
-                        "Identifier for ingress SOAM Service " +\r
-                        "Frames must be the same as that for " +\r
-                        "ingress Data Service Frames.";\r
+              must "(. != 'rooted-multipoint') or " +\r
+                            "((. = 'rooted-multipoint') and " +\r
+                            "(count(../unis/uni[role = 'root']) > 0) )" {\r
+                error-message "If EVC Type is Rooted-Multipoint, one " +\r
+                                "or more UNI Roles must be root.";\r
                 description\r
-                  "For a given EVC at a given UNI, the basis " +\r
-                  "for the Class of Service Identifier for " +\r
-                  "ingress SOAM Service Frames must be the " +\r
-                  "same as that for ingress Data Service Frames.";\r
+                                "If EVC Type is Rooted-Multipoint, one or more " +\r
+                                "UNI Roles must be root.";\r
               }\r
-              description\r
-                "EVC Per UNI: Ingress SOAM Service Frames.";\r
-              reference "[MEF7.3] Section 12.1.2.";\r
-            }\r
-            leaf data-svc-frm-eec {\r
-              type leafref {\r
-                path "/mef-global:mef-global/mef-global:profiles/" +\r
-                        "mef-global:eec/mef-global:eec-profile/" +\r
-                        "mef-global:id";\r
+              must "(. != 'point-to-point') or " +\r
+                            "((. = 'point-to-point') and " +\r
+                            "(count(../unis/uni) = 2))" {\r
+                error-message "If EVC Type is Point-to-Point, there " +\r
+                                "must be exactly 2 UNI configured for the EVC.";\r
+                description\r
+                                "If EVC Type is Point-to-Point, there must be " +\r
+                                "exactly 2 UNI configured for the EVC.";\r
               }\r
-              must "not(/mef-global:mef-global/mef-global:" +\r
-                    "profiles/mef-global:eec/mef-global:" +\r
-                    "eec-profile" +\r
-                    "[mef-global:id = current()]" +\r
-                    "/mef-global:eec-pcp) or " +\r
-                    "((/mef-global:mef-global/mef-global:" +\r
-                    "profiles/mef-global:eec/mef-global:" +\r
-                    "eec-profile" +\r
-                    "[mef-global:id = current()]" +\r
-                    "/mef-global:eec-pcp) and " +\r
-                    "((../color-id = 'pcp') or " +\r
-                    "(../color-id = 'dei')) )" {\r
-                error-message "When the Egress Equivalence " +\r
-                        "Class Identifier is based on PCP " +\r
-                        "for a given EVC at a given UNI, " +\r
-                        "the Color Identifier must be based " +\r
-                        "on either DEI or PCP.";\r
+              must "(. != 'multipoint-to-multipoint') or " +\r
+                            "((. = 'multipoint-to-multipoint') and " +\r
+                            "(count(../unis/uni) > 1) and " +\r
+                            "(count(../unis/uni) <= ../max-uni-count))" {\r
+                error-message "If EVC Type is " +\r
+                                "Multipoint-to-Multipoint, " +\r
+                                "there must be 2 or more UNI configured " +\r
+                                "for the EVC.";\r
                 description\r
-                  "When the Egress Equivalence Class Identifier " +\r
-                  "is based on PCP for a given EVC at a " +\r
-                  "given UNI, the Color Identifier must " +\r
-                  "be based on either DEI or PCP.";\r
+                                "If EVC Type is Multipoint-to-Multipoint, " +\r
+                                "there must be 2 or more UNI configured for " +\r
+                                "the EVC.";\r
               }\r
-              must "not(/mef-global:mef-global/mef-global:" +\r
-                    "profiles/mef-global:eec/mef-global:" +\r
-                    "eec-profile" +\r
-                    "[mef-global:id = current()]" +\r
-                    "/mef-global:eec-dscp) or " +\r
-                    "((/mef-global:mef-global/mef-global:" +\r
-                    "profiles/mef-global:eec/mef-global:" +\r
-                    "eec-profile" +\r
-                    "[mef-global:id = current()]" +\r
-                    "/mef-global:eec-dscp) and " +\r
-                    "(../color-id = 'dscp'))" {\r
-                error-message "When the Egress Equivalence " +\r
-                        "Class Identifier is based on DSCP for " +\r
-                        "a given EVC at a given UNI, the Color " +\r
-                        "Identifier must be based DSCP.";\r
+              must "(. != 'rooted-multipoint') or " +\r
+                            "((. = 'rooted-multipoint') and " +\r
+                            "(count(../unis/uni) > 1) and " +\r
+                            "(count(../unis/uni) <= ../max-uni-count))" {\r
+                error-message "If EVC Type is Rooted-Multipoint, " +\r
+                                "there must be 2 or more UNI configured for the EVC.";\r
                 description\r
-                  "When the Egress Equivalence Class Identifier " +\r
-                  "is based on DSCP for a given EVC at a given " +\r
-                  "UNI, the Color Identifier must be based DSCP.";\r
+                                "If EVC Type is Rooted-Multipoint, there must " +\r
+                                "be 2 or more UNI configured for the EVC.";\r
               }\r
-              description\r
-                "EVC Per UNI: Egress Data Service Frame Processing.";\r
-              reference "[MEF10.3] Section 10.4. " +\r
-                    "[MEF7.3] Section 12.1.2.";\r
-            }\r
-            leaf l2cp-svc-frm-eec {\r
-              type leafref {\r
-                path "/mef-global:mef-global/mef-global:profiles/" +\r
-                        "mef-global:l2cp-eec/mef-global:" +\r
-                        "l2cp-profile/mef-global:id";\r
+              must "(. != 'point-to-point') or " +\r
+                            "((. = 'point-to-point') and " +\r
+                            "(../max-uni-count = 2))" {\r
+                error-message "If EVC Type is Point-to-Point, " +\r
+                                "the value of max-uni-count must be 2.";\r
+                description\r
+                                "If EVC Type is Point-to-Point, the value of " +\r
+                                "max-uni-count must be 2.";\r
               }\r
-              description\r
-                "EVC Per UNI: Egress Layer 2 Control Protocol " +\r
-                "Processing.";\r
-              reference "[MEF10.3] Section 10.4. " +\r
-                    "[MEF7.3] Section 12.1.2.";\r
-            }\r
-            leaf soam-svc-frm-eec {\r
-              type leafref {\r
-                path "/mef-global:mef-global/mef-global:" +\r
-                        "profiles/mef-global:eec/mef-global:" +\r
-                        "eec-profile/mef-global:id";\r
+              must "(. != 'multipoint-to-multipoint') or " +\r
+                            "((. = 'multipoint-to-multipoint') and " +\r
+                            "(../max-uni-count > 2))" {\r
+                error-message "If EVC Type is " +\r
+                                "Multipoint-to-Multipoint, the value of " +\r
+                                "max-uni-count must be at least 3.";\r
+                description\r
+                                "If EVC Type is Multipoint-to-Multipoint, the " +\r
+                                "value of max-uni-count must be at least 3.";\r
               }\r
-              must "(not(.) and not(../data-svc-frm-eec)) or " +\r
-                    "(. = ../data-svc-frm-eec)" {\r
-                error-message "For a given EVC at a given UNI, " +\r
-                        "the basis for the Egress Equivalence " +\r
-                        "Class Identifier for egress SOAM " +\r
-                        "Service Frames must be the same as " +\r
-                        "that for egress Data Service Frames.";\r
+              must "(. != 'rooted-multipoint') or " +\r
+                            "((. = 'rooted-multipoint') and " +\r
+                            "(../max-uni-count > 2))" {\r
+                error-message "If EVC Type is Rooted-Multipoint, " +\r
+                                "the value of max-uni-count must be at " +\r
+                                "least 3.";\r
                 description\r
-                  "For a given EVC at a given UNI, the basis " +\r
-                  "for the Egress Equivalence Class Identifier " +\r
-                  "for egress SOAM Service Frames must be " +\r
-                  "the same as that for egress Data " +\r
-                  "Service Frames.";\r
+                                "If EVC Type is Rooted-Multipoint, the value " +\r
+                                "of max-uni-count must be at least 3.";\r
               }\r
+              // mandatory true;\r
               description\r
-                "EVC Per UNI: Egress SOAM Service Frames.";\r
-              reference "[MEF10.3] Section 10.4. " +\r
-                    "[MEF7.3] Section 12.1.2.";\r
+                            "This EVC attribute describes the EVC as either " +\r
+                            "Multipoint-To-Multipoint, Point-To-Point, or " +\r
+                            "Rooted-Multipoint.";\r
+              reference "[MEF10.3] Section 8.1, [R4], [R5], " +\r
+                            "[R10], [R11], [R12], [R13] and [R14]. " +\r
+                            "[MEF7.3] Section 12.2.2.";\r
             }\r
-            leaf ingress-bw-profile-per-evc {\r
-              type leafref {\r
-                path "/mef-interfaces:mef-interfaces/" +\r
-                        "mef-interfaces:unis/" +\r
-                        "mef-interfaces:uni" +\r
-                        "[mef-interfaces:uni-id = " +\r
-                        "current()/../uni-id]" +\r
-                        "/mef-interfaces:ingress-envelopes/" +\r
-                        "mef-interfaces:envelope/" +\r
-                        "mef-interfaces:env-id";\r
-              }\r
+            leaf admin-state-enabled {\r
+              type boolean;\r
+              default "true";\r
               description\r
-                "EVC Per UNI: Ingress Bandwidth Profile " +\r
-                "Envelope Per EVC. If this parameter is " +\r
-                "not configured (ie. 'No') this setting " +\r
-                "is configured else at the UNI Level.";\r
-              reference "[MEF10.3] Section 10.5. " +\r
-                    "[MEF7.3] Section 12.1.2.";\r
+                            "EVC: Locked/Unlocked is inconsistent with " +\r
+                            "Oper Status and will be confusing.";\r
+              reference "[MEF15]. [MEF7.3] Section 11.1.1.";\r
             }\r
-            leaf egress-bw-profile-per-evc {\r
-              type leafref {\r
-                path "/mef-interfaces:mef-interfaces/" +\r
-                        "mef-interfaces:unis/" +\r
-                        "mef-interfaces:uni" +\r
-                        "[mef-interfaces:uni-id = " +\r
-                        "current()/../uni-id]" +\r
-                        "/mef-interfaces:egress-envelopes/" +\r
-                        "mef-interfaces:envelope/mef-interfaces:" +\r
-                        "env-id";\r
-              }\r
+            leaf elastic-enabled {\r
+              type boolean;\r
+              default "true";\r
               description\r
-                "EVC Per UNI: Egress Bandwidth Profile Envelope " +\r
-                "Per EVC. If this parameter is not configured " +\r
-                "(ie. 'No') this setting is configured else at " +\r
-                "the UNI Level.";\r
-              reference "[MEF10.3] Section 10.7. " +\r
-                    "[MEF7.3] Section 12.1.2.";\r
+                            "EVC: Elastic Enabled/Disabled.";\r
+              reference "[MEF7.3] Section 11.1.1.";\r
             }\r
-            leaf src-mac-addr-limit-enabled {\r
-              type boolean;\r
-              default "false";\r
+            leaf elastic-service {\r
+              type mef-types:identifier45;\r
               description\r
-                "EVC Per UNI: Source MAC Address Limit " +\r
-                "Enable / Disable. If Enabled, the values " +\r
-                "for the Source MAC Address Limit and Source " +\r
-                "MAC Address Interval must be set.";\r
-              reference "[MEF10.3] Section 10.9. " +\r
-                    "[MEF7.3] Section 12.1.2.";\r
+                            "EVC: Related to CE4Cloud Information Model.";\r
+              reference "[MEF7.3] Section 11.1.1.";\r
             }\r
-            leaf src-mac-addr-limit {\r
+            leaf max-uni-count {\r
               type uint32 {\r
-                range "1..max";\r
+                range "2..max";\r
+              }\r
+              must "(. > 2) or ((. = 2) and " +\r
+                            "(../evc-type = 'point-to-point'))" {\r
+                error-message "If EVC Type is Point-to-Point, the " +\r
+                                "max-uni-count value must be 2.";\r
+                description\r
+                                "If EVC Type is Point-to-Point, the max-uni-count " +\r
+                                "value must be 2.";\r
               }\r
+              must "(. = 2) or ((. > 2) and " +\r
+                            "((../evc-type = 'multipoint-to-multipoint') or " +\r
+                            "(../evc-type = 'rooted-multipoint')))" {\r
+                error-message "If EVC Type is " +\r
+                                "Multipoint-to-Multipoint or " +\r
+                                "Rooted-Multipoint, the max-uni-count value " +\r
+                                "must be at least 3.";\r
+                description\r
+                                "If EVC Type is Multipoint-to-Multipoint or " +\r
+                                "Rooted-Multipoint, the max-uni-count value " +\r
+                                "must be at least 3.";\r
+              }\r
+              default "2";\r
               description\r
-                "EVC Per UNI: Source MAC Address Limit. " +\r
-                "This value is used when the Source MAC Address " +\r
-                "Limit Enabled is true.";\r
-              reference "[MEF10.3] Section 10.9.";\r
+                            "EVC:The Maximum Number of UNIs this EVC can be " +\r
+                            "configured for (Default 2).If EVC Type is " +\r
+                            "Multipoint-to-Multipoint or Rooted-Multipoint, " +\r
+                            "the max-uni-count value must be at least 3. " +\r
+                            "This value must be 2 for point-to-point mode.";\r
+              reference "[MEF10.3] [R14]. [MEF7.3] Section 12.2.2.";\r
             }\r
-            leaf src-mac-addr-limit-interval {\r
-              type yang:timeticks;\r
-              default "0";\r
-              description\r
-                "EVC Per UNI: Source MAC Address Limit " +\r
-                "Interval. This value is used when the " +\r
-                "Source MAC Address Limit Enabled is true.";\r
-              reference "[MEF10.3] Section 10.9.";\r
+            leaf preserved-vlan {\r
+              type uint32;\r
             }\r
-            leaf test-meg-enabled {\r
+            leaf preserve-ce-vlan-id {\r
               type boolean;\r
               default "false";\r
               description\r
-                "EVC Per UNI: Test MEG Enabled / Disabled.";\r
-              reference "[MEF10.3] Section 10.10. " +\r
-                    "[MEF7.3] Section 12.1.2.";\r
+                            "EVC:An EVC with more than one CE-VLAN ID mapping " +\r
+                            "to it must have the same list of CE-VLAN IDs " +\r
+                            "mapping to the EVC at each UNI in the EVC.";\r
+              reference "[MEF10.3] Section 8.6.1, [R24] [R25], " +\r
+                            "Section 9.10.2, Section 9.12, [R81], Figure 20. " +\r
+                            "[MEF7.3] Section 12.2.2.";\r
             }\r
-            leaf test-meg {\r
-              type mef-types:identifier45;\r
-              description\r
-                "EVC Per UNI: Test MEG Identifier.";\r
-              reference "[MEF7.3] Section 12.1.2.";\r
-            }\r
-            leaf subscriber-meg-mip-enabled {\r
+            leaf cos-preserve-ce-vlan-id {\r
               type boolean;\r
               default "false";\r
               description\r
-                "EVC Per UNI: Subscriber MEG MIP " +\r
-                "Enabled / Disabled.";\r
-              reference "[MEF10.3] Section 10.11. " +\r
-                    "[MEF7.3] Section 12.1.2.";\r
-            }\r
-            leaf subscriber-meg-mip {\r
-              type mef-types:identifier45;\r
-              description\r
-                "EVC Per UNI: Subscriber MEG MIP Identifier.";\r
-              reference "[MEF7.3] Section 12.1.2.";\r
-            }\r
-          }\r
-        }\r
-        container status {\r
-          description\r
-            "This status group is related to the MEF 7.3 Virtual " +\r
-            "Connection";\r
-          leaf oper-state-enabled {\r
-            type boolean;\r
-            default "false";\r
-            config false;\r
-            description\r
-              "EVC Operational Status of the Virtual Connection " +\r
-              "as Enabled/Disabled.";\r
-            reference "[MEF7.3] Section 11.1.1.";\r
-          }\r
-          leaf available-status {\r
-            type mef-types:virt-cx-availability-type;\r
-            default "not-installed";\r
-            config false;\r
-            description\r
-              "EVC Availability Status of the Virtual Connection.";\r
-            reference "[MEF7.3] Section 11.1.1.";\r
-          }\r
-        }\r
-        container sls-inclusions-by-cos {\r
-          description\r
-            "SLS Inclusions by CoS: For this EVC, the following " +\r
-            "CoS Names/Labels are applicable.";\r
-          list sls-inclusion-by-cos {\r
-            key "cos-name";\r
-            description\r
-              "CoS Name.";\r
-            leaf cos-name {\r
-              type leafref {\r
-                path "/mef-global:mef-global/mef-global:profiles/" +\r
-                        "mef-global:cos-names/mef-global:" +\r
-                        "cos-name/mef-global:name";\r
-              }\r
-              description\r
-                "EVC: This attribute identifies the name of " +\r
-                "a class of service (CoS) instance to be used " +\r
-                "for EVC Performance.";\r
-            }\r
-          }\r
-        }\r
-        container sls-uni-inclusions {\r
-          presence "EVC: Defines the EVC Flow Points (UNI) Pairs " +\r
-                "that must conform to the EVC's SLS Performance " +\r
-                "Metrics.";\r
-          description\r
-            "SLS UNI Inclusions List. The following pairs of UNI " +\r
-            "Interconnections are to required to meet the " +\r
-            "SLS Performance Objectives. Configing both SLS " +\r
-            "UNI Inclusions and SLS UNI Exclusions is not " +\r
-            "permitted.";\r
-          list sls-uni-inclusion-set {\r
-            must "uni-id1 != uni-id2" {\r
-              error-message "The two UNI IDs for a given " +\r
-                    "inclusion cannot be the same.";\r
-              description\r
-                "The two UNI IDs for a given inclusion " +\r
-                "cannot be the same.";\r
+                            "EVC: Preserve CE-VLAN ID for CoS.";\r
+              reference "[MEF10.3] Section 8.6.2, [R26]. " +\r
+                            "[MEF7.3] Section 12.2.2.";\r
             }\r
-            must "(../../evc-type != 'rooted-multipoint') or " +\r
-                    "((../../evc-type = 'rooted-multipoint') " +\r
-                    "and " +\r
-                    "not((../../unis/uni[uni-id = " +\r
-                    "current()/uni-id1]/role = 'leaf') and " +\r
-                    "(../../unis/uni[uni-id = current()/uni-id2]" +\r
-                    "/role = 'leaf')))" {\r
-              error-message "If EVC Type is Rooted-Multipoint, " +\r
-                    "sls-uni-inclusion UNI Pairs cannot both " +\r
-                    "be role 'leaf'.";\r
-              description\r
-                "If EVC Type is Rooted-Multipoint, " +\r
-                "sls-uni-inclusion UNI Pairs cannot " +\r
-                "both be role 'leaf'.";\r
-            }\r
-            key "pm-type pm-id uni-id1 uni-id2";\r
-            description\r
-              "EVC: Defines the EVC Flow Points (UNI) Pairs that " +\r
-              "must conform to the EVC's SLS Performance " +\r
-              "Metrics. Use of this list indicates that a " +\r
-              "complete set of UNI Pairs has been specified " +\r
-              "for the Performance Metrics defined in the " +\r
-              "selected SLS.";\r
-            leaf pm-type {\r
+            leaf evc-performance-sls {\r
               type leafref {\r
                 path "/mef-global:mef-global/mef-global:slss/" +\r
-                        "mef-global:sls" +\r
-                        "[mef-global:sls-id = current()/../../../" +\r
-                        "evc-performance-sls]" +\r
-                        "/mef-global:perf-objs/mef-global:" +\r
-                        "perf-obj/mef-global:pm-type";\r
+                                "mef-global:sls/mef-global:sls-id";\r
               }\r
               description\r
-                "EVC: Performance Metric.";\r
-              reference "[MEF10.3] Section 8.8.";\r
+                            "EVC: EVC-specific performance objectives and " +\r
+                            "parameters. Note that an SLS can also specify " +\r
+                            "performance objectives spanning more than one EVC. " +\r
+                            "By default, all the UNI associated with the EVC " +\r
+                            "have this SLS applied for them.";\r
+              reference "[MEF10.3] Section 8.8, Section 10. " +\r
+                            "[MEF7.3] Section 12.2.2.";\r
             }\r
-            leaf pm-id {\r
-              type leafref {\r
-                path "/mef-global:mef-global/mef-global:slss/" +\r
-                        "mef-global:sls" +\r
-                        "[mef-global:sls-id = current()/../../../" +\r
-                        "evc-performance-sls]" +\r
-                        "/mef-global:perf-objs/mef-global:perf-obj" +\r
-                        "[mef-global:pm-type = current()/../" +\r
-                        "pm-type]" +\r
-                        "/mef-global:pm-id";\r
-              }\r
-              description\r
-                "EVC: This is a friendly name for specific " +\r
-                "performance profile.";\r
-            }\r
-            leaf uni-id1 {\r
-              type leafref {\r
-                path "../../../unis/uni/uni-id";\r
-              }\r
+            leaf unicast-svc-frm-delivery {\r
+              type mef-types:data-svc-frame-delivery-type;\r
+              default "unconditional";\r
               description\r
-                "EVC: The UNI ID paired with the EVC ID in the " +\r
-                "containing list.";\r
-              reference "[MEF10.3] Section 8.3, Section 10.1.  " +\r
-                    "[MEF7.3] Section 12.1.2.";\r
+                            "EVC: Unicast Data Service Frame Delivery Mode " +\r
+                            "(unconditional[default], conditional, or discard).";\r
+              reference "[MEF10.3] Section 8.5.2,[R16], [R17], " +\r
+                            "Section 8.8, Section 11. [MEF7.3] Section 12.2.2.";\r
             }\r
-            leaf uni-id2 {\r
-              type leafref {\r
-                path "../../../unis/uni/uni-id";\r
-              }\r
+            leaf multicast-svc-frm-delivery {\r
+              type mef-types:data-svc-frame-delivery-type;\r
+              default "unconditional";\r
               description\r
-                "EVC: The UNI ID paired with the EVC ID in the " +\r
-                "containing list.";\r
-              reference "[MEF10.3] Section 8.3, Section 10.1.  " +\r
-                    "[MEF7.3] Section 12.1.2.";\r
+                            "EVC: Multicast Data Service Frame Delivery Mode " +\r
+                            "(unconditional[default], conditional, or discard).";\r
+              reference "[MEF10.3] Section 8.5.2, [R16], [R18], " +\r
+                            "Section 8.8, Section 11. [MEF7.3] Section 12.2.2.";\r
             }\r
-          }\r
-        }\r
-        container sls-uni-exclusions {\r
-          presence "Not all EVC Flow Points (UNI) must conform " +\r
-                "to the EVC SLS Performance Metrics.";\r
-          description\r
-            "EVC: Not all EVC Flow Points (UNI) must conform to " +\r
-            "the EVC SLS Performance Metrics. Use of this " +\r
-            "list indicates that all UNI Pairs EXCEPT for " +\r
-            "the ones indicated (per Performance Metric) must " +\r
-            "conform to the SLS.";\r
-          list sls-uni-exclusion-set {\r
-            must "uni-id1 != uni-id2" {\r
-              error-message "The two UNI IDs for a given " +\r
-                    "exclusion cannot be the same.";\r
+            leaf broadcast-svc-frm-delivery {\r
+              type mef-types:data-svc-frame-delivery-type;\r
+              default "unconditional";\r
               description\r
-                "The two UNI IDs for a given exclusion cannot " +\r
-                "be the same as these pairs are invalid as " +\r
-                "defined in MEF 10.3.";\r
+                            "EVC: Broadcast Data Service Frame Delivery Mode " +\r
+                            "(unconditional[default], conditional, or discard).";\r
+              reference "[MEF10.3] Section 8.5.2, [R16], [R19], " +\r
+                            "Section 8.8, Section 11. [MEF7.3] Section 12.2.2.";\r
             }\r
-            key "pm-type pm-id uni-id1 uni-id2";\r
-            description\r
-              "SLS UNI Exclusions List. The following pairs " +\r
-              "of UNI Interconnections are not required " +\r
-              "meet the SLS Performance Objectives. " +\r
-              "Configing both SLS UNI Inclusions and SLS " +\r
-              "UNI Exclusions is not permitted.";\r
-            leaf pm-type {\r
-              type leafref {\r
-                path "/mef-global:mef-global/mef-global:" +\r
-                        "slss/mef-global:sls" +\r
-                        "[mef-global:sls-id = current()/../../../" +\r
-                        "evc-performance-sls]" +\r
-                        "/mef-global:perf-objs/mef-global:" +\r
-                        "perf-obj/mef-global:pm-type";\r
-              }\r
-              description\r
-                "EVC: Performance Metric.";\r
-              reference "[MEF10.3] Section 8.8.";\r
-            }\r
-            leaf pm-id {\r
-              type leafref {\r
-                path "/mef-global:mef-global/mef-global:slss/" +\r
-                        "mef-global:sls" +\r
-                        "[mef-global:sls-id = current()/../../../" +\r
-                        "evc-performance-sls]" +\r
-                        "/mef-global:perf-objs/mef-global:perf-obj" +\r
-                        "[mef-global:pm-type = current()/../" +\r
-                        "pm-type]" +\r
-                        "/mef-global:pm-id";\r
-              }\r
-              description\r
-                "EVC: This is a friendly name for specific " +\r
-                "performance profile.";\r
-            }\r
-            leaf uni-id1 {\r
-              type leafref {\r
-                path "../../../unis/uni/uni-id";\r
-              }\r
+            leaf evc-meg-id {\r
+              type mef-types:identifier45;\r
               description\r
-                "EVC: The UNI ID paired with the EVC ID in the " +\r
-                "containing list.";\r
-              reference "[MEF10.3] Section 8.3, Section 10.1.  " +\r
-                    "[MEF7.3] Section 12.1.2.";\r
+                            "EVC: Identifies the Maintenance Entity Group (MEG) " +\r
+                            "for this EVC.";\r
+              reference "[MEF7.3] Section 12.2.2. MEF 35.1.";\r
             }\r
-            leaf uni-id2 {\r
-              type leafref {\r
-                path "../../../unis/uni/uni-id";\r
-              }\r
+            leaf max-svc-frame-size {\r
+              type mef-types:max-svc-frame-size-type;\r
+              default "1600";\r
               description\r
-                "EVC: The UNI ID paired with the EVC ID in the " +\r
-                "containing list.";\r
-              reference "[MEF10.3] Section 8.3, Section 10.1.  " +\r
-                    "[MEF7.3] Section 12.1.2.";\r
+                            "EVC: This attribute describes the maximum service " +\r
+                            "frame size for the EVC.";\r
+              reference "[MEF10.3] Section 8.9, Section 9.7, [R71], " +\r
+                            "[MEF6.2] Section 8.2.2 and MEF 22.1: [D2]. " +\r
+                            "[MEF7.3] Section 12.2.2.";\r
             }\r
           }\r
         }\r
-        leaf evc-id {\r
-          type mef-types:evc-id-type;\r
-          mandatory true;\r
-          description\r
-            "The EVC ID must be unique across all EVCs in the CEN." +\r
-            " The EVC ID must be non-NULL.";\r
-          reference "[MEF10.3] Section 8.2 [R7]. " +\r
-                "[MEF7.3] Section 11.1.1, Section 12.2.2.";\r
-        }\r
-        leaf evc-status {\r
-          type mef-types:evc-status-type;\r
-          config false;\r
-          description\r
-            "EVC Operational Status.";\r
-          reference "[MEF16] Section 5.3.";\r
-        }\r
-        leaf evc-type {\r
-          type mef-types:evc-type;\r
-          must "(. != 'point-to-point') or " +\r
-                "((. = 'point-to-point') and " +\r
-                "(count(../unis/uni[role = 'leaf']) = 0))" {\r
-            error-message "If EVC Type is Point-to-Point, all " +\r
-                    "UNI Roles must be root.";\r
-            description\r
-              "If EVC Type is Point-to-Point, all UNI Roles must " +\r
-              "be root.";\r
-          }\r
-          must "(. != 'multipoint-to-multipoint') or " +\r
-                "((. = 'multipoint-to-multipoint') and " +\r
-                "(count(../unis/uni[role = 'leaf']) = 0))" {\r
-            error-message "If EVC Type is " +\r
-                    "Multipoint-to-Multipoint, all UNI Roles " +\r
-                    "must be root.";\r
-            description\r
-              "If EVC Type is Multipoint-to-Multipoint, all UNI " +\r
-              "Roles must be root.";\r
-          }\r
-          must "(. != 'rooted-multipoint') or " +\r
-                "((. = 'rooted-multipoint') and " +\r
-                "(count(../unis/uni[role = 'root']) > 0) )" {\r
-            error-message "If EVC Type is Rooted-Multipoint, one " +\r
-                    "or more UNI Roles must be root.";\r
-            description\r
-              "If EVC Type is Rooted-Multipoint, one or more " +\r
-              "UNI Roles must be root.";\r
-          }\r
-          must "(. != 'point-to-point') or " +\r
-                "((. = 'point-to-point') and " +\r
-                "(count(../unis/uni) = 2))" {\r
-            error-message "If EVC Type is Point-to-Point, there " +\r
-                    "must be exactly 2 UNI configured for the EVC.";\r
-            description\r
-              "If EVC Type is Point-to-Point, there must be " +\r
-              "exactly 2 UNI configured for the EVC.";\r
-          }\r
-          must "(. != 'multipoint-to-multipoint') or " +\r
-                "((. = 'multipoint-to-multipoint') and " +\r
-                "(count(../unis/uni) > 1) and " +\r
-                "(count(../unis/uni) <= ../max-uni-count))" {\r
-            error-message "If EVC Type is " +\r
-                    "Multipoint-to-Multipoint, " +\r
-                    "there must be 2 or more UNI configured " +\r
-                    "for the EVC.";\r
-            description\r
-              "If EVC Type is Multipoint-to-Multipoint, " +\r
-              "there must be 2 or more UNI configured for " +\r
-              "the EVC.";\r
-          }\r
-          must "(. != 'rooted-multipoint') or " +\r
-                "((. = 'rooted-multipoint') and " +\r
-                "(count(../unis/uni) > 1) and " +\r
-                "(count(../unis/uni) <= ../max-uni-count))" {\r
-            error-message "If EVC Type is Rooted-Multipoint, " +\r
-                    "there must be 2 or more UNI configured for the EVC.";\r
-            description\r
-              "If EVC Type is Rooted-Multipoint, there must " +\r
-              "be 2 or more UNI configured for the EVC.";\r
-          }\r
-          must "(. != 'point-to-point') or " +\r
-                "((. = 'point-to-point') and " +\r
-                "(../max-uni-count = 2))" {\r
-            error-message "If EVC Type is Point-to-Point, " +\r
-                    "the value of max-uni-count must be 2.";\r
-            description\r
-              "If EVC Type is Point-to-Point, the value of " +\r
-              "max-uni-count must be 2.";\r
-          }\r
-          must "(. != 'multipoint-to-multipoint') or " +\r
-                "((. = 'multipoint-to-multipoint') and " +\r
-                "(../max-uni-count > 2))" {\r
-            error-message "If EVC Type is " +\r
-                    "Multipoint-to-Multipoint, the value of " +\r
-                    "max-uni-count must be at least 3.";\r
-            description\r
-              "If EVC Type is Multipoint-to-Multipoint, the " +\r
-              "value of max-uni-count must be at least 3.";\r
-          }\r
-          must "(. != 'rooted-multipoint') or " +\r
-                "((. = 'rooted-multipoint') and " +\r
-                "(../max-uni-count > 2))" {\r
-            error-message "If EVC Type is Rooted-Multipoint, " +\r
-                    "the value of max-uni-count must be at " +\r
-                    "least 3.";\r
-            description\r
-              "If EVC Type is Rooted-Multipoint, the value " +\r
-              "of max-uni-count must be at least 3.";\r
-          }\r
-          mandatory true;\r
-          description\r
-            "This EVC attribute describes the EVC as either " +\r
-            "Multipoint-To-Multipoint, Point-To-Point, or " +\r
-            "Rooted-Multipoint.";\r
-          reference "[MEF10.3] Section 8.1, [R4], [R5], " +\r
-                "[R10], [R11], [R12], [R13] and [R14]. " +\r
-                "[MEF7.3] Section 12.2.2.";\r
-        }\r
-        leaf admin-state-enabled {\r
-          type boolean;\r
-          default "true";\r
-          description\r
-            "EVC: Locked/Unlocked is inconsistent with " +\r
-            "Oper Status and will be confusing.";\r
-          reference "[MEF15]. [MEF7.3] Section 11.1.1.";\r
-        }\r
-        leaf elastic-enabled {\r
-          type boolean;\r
-          default "true";\r
-          description\r
-            "EVC: Elastic Enabled/Disabled.";\r
-          reference "[MEF7.3] Section 11.1.1.";\r
-        }\r
-        leaf elastic-service {\r
-          type mef-types:identifier45;\r
-          description\r
-            "EVC: Related to CE4Cloud Information Model.";\r
-          reference "[MEF7.3] Section 11.1.1.";\r
-        }\r
-        leaf max-uni-count {\r
-          type uint32 {\r
-            range "2..max";\r
-          }\r
-          must "(. > 2) or ((. = 2) and " +\r
-                "(../evc-type = 'point-to-point'))" {\r
-            error-message "If EVC Type is Point-to-Point, the " +\r
-                    "max-uni-count value must be 2.";\r
-            description\r
-              "If EVC Type is Point-to-Point, the max-uni-count " +\r
-              "value must be 2.";\r
-          }\r
-          must "(. = 2) or ((. > 2) and " +\r
-                "((../evc-type = 'multipoint-to-multipoint') or " +\r
-                "(../evc-type = 'rooted-multipoint')))" {\r
-            error-message "If EVC Type is " +\r
-                    "Multipoint-to-Multipoint or " +\r
-                    "Rooted-Multipoint, the max-uni-count value " +\r
-                    "must be at least 3.";\r
-            description\r
-              "If EVC Type is Multipoint-to-Multipoint or " +\r
-              "Rooted-Multipoint, the max-uni-count value " +\r
-              "must be at least 3.";\r
-          }\r
-          default "2";\r
-          description\r
-            "EVC:The Maximum Number of UNIs this EVC can be " +\r
-            "configured for (Default 2).If EVC Type is " +\r
-            "Multipoint-to-Multipoint or Rooted-Multipoint, " +\r
-            "the max-uni-count value must be at least 3. " +\r
-            "This value must be 2 for point-to-point mode.";\r
-          reference "[MEF10.3] [R14]. [MEF7.3] Section 12.2.2.";\r
-        }\r
-        leaf preserved-vlan {\r
-            type uint32;\r
-        }\r
-        leaf preserve-ce-vlan-id {\r
-          type boolean;\r
-          default "false";\r
-          description\r
-            "EVC:An EVC with more than one CE-VLAN ID mapping " +\r
-            "to it must have the same list of CE-VLAN IDs " +\r
-            "mapping to the EVC at each UNI in the EVC.";\r
-          reference "[MEF10.3] Section 8.6.1, [R24] [R25], " +\r
-                "Section 9.10.2, Section 9.12, [R81], Figure 20. " +\r
-                "[MEF7.3] Section 12.2.2.";\r
-        }\r
-        leaf cos-preserve-ce-vlan-id {\r
-          type boolean;\r
-          default "false";\r
-          description\r
-            "EVC: Preserve CE-VLAN ID for CoS.";\r
-          reference "[MEF10.3] Section 8.6.2, [R26]. " +\r
-                "[MEF7.3] Section 12.2.2.";\r
-        }\r
-        leaf evc-performance-sls {\r
-          type leafref {\r
-            path "/mef-global:mef-global/mef-global:slss/" +\r
-                    "mef-global:sls/mef-global:sls-id";\r
-          }\r
-          description\r
-            "EVC: EVC-specific performance objectives and " +\r
-            "parameters. Note that an SLS can also specify " +\r
-            "performance objectives spanning more than one EVC. " +\r
-            "By default, all the UNI associated with the EVC " +\r
-            "have this SLS applied for them.";\r
-          reference "[MEF10.3] Section 8.8, Section 10. " +\r
-                "[MEF7.3] Section 12.2.2.";\r
-        }\r
-        leaf unicast-svc-frm-delivery {\r
-          type mef-types:data-svc-frame-delivery-type;\r
-          default "unconditional";\r
-          description\r
-            "EVC: Unicast Data Service Frame Delivery Mode " +\r
-            "(unconditional[default], conditional, or discard).";\r
-          reference "[MEF10.3] Section 8.5.2,[R16], [R17], " +\r
-                "Section 8.8, Section 11. [MEF7.3] Section 12.2.2.";\r
-        }\r
-        leaf multicast-svc-frm-delivery {\r
-          type mef-types:data-svc-frame-delivery-type;\r
-          default "unconditional";\r
-          description\r
-            "EVC: Multicast Data Service Frame Delivery Mode " +\r
-            "(unconditional[default], conditional, or discard).";\r
-          reference "[MEF10.3] Section 8.5.2, [R16], [R18], " +\r
-                "Section 8.8, Section 11. [MEF7.3] Section 12.2.2.";\r
-        }\r
-        leaf broadcast-svc-frm-delivery {\r
-          type mef-types:data-svc-frame-delivery-type;\r
-          default "unconditional";\r
-          description\r
-            "EVC: Broadcast Data Service Frame Delivery Mode " +\r
-            "(unconditional[default], conditional, or discard).";\r
-          reference "[MEF10.3] Section 8.5.2, [R16], [R19], " +\r
-                "Section 8.8, Section 11. [MEF7.3] Section 12.2.2.";\r
-        }\r
-        leaf evc-meg-id {\r
-          type mef-types:identifier45;\r
-          description\r
-            "EVC: Identifies the Maintenance Entity Group (MEG) " +\r
-            "for this EVC.";\r
-          reference "[MEF7.3] Section 12.2.2. MEF 35.1.";\r
-        }\r
-        leaf max-svc-frame-size {\r
-          type mef-types:max-svc-frame-size-type;\r
-          default "1600";\r
-          description\r
-            "EVC: This attribute describes the maximum service " +\r
-            "frame size for the EVC.";\r
-          reference "[MEF10.3] Section 8.9, Section 9.7, [R71], " +\r
-                "[MEF6.2] Section 8.2.2 and MEF 22.1: [D2]. " +\r
-                "[MEF7.3] Section 12.2.2.";\r
-        }\r
       }\r
       leaf svc-id {\r
         type mef-types:retail-svc-id-type;\r
         description\r
-          "The MEF Service ID is a simple key used to " +\r
-          "distinguish MEF Service Configuration Groups.";\r
+                "The MEF Service ID is a simple key used to " +\r
+                "distinguish MEF Service Configuration Groups.";\r
         reference "[MEF10.3] Section 7.";\r
       }\r
       leaf sp-id {\r
         when "/mef-global:mef-global/mef-global:svc-providers" {\r
           description\r
-            "Only configure when the Global Service Providers " +\r
-            "list has been populated.";\r
+                    "Only configure when the Global Service Providers " +\r
+                    "list has been populated.";\r
         }\r
         type leafref {\r
           path "/mef-global:mef-global/mef-global:svc-providers/" +\r
-                "mef-global:svc-provider/mef-global:sp-id";\r
+                    "mef-global:svc-provider/mef-global:sp-id";\r
         }\r
         description\r
-          "The MEF Service Provider ID must be globally unique " +\r
-          "as all CENs and Subscribers must be supported by a " +\r
-          "specific Service Provider(SP). A SP can support " +\r
-          "multiple CENs.";\r
+                "The MEF Service Provider ID must be globally unique " +\r
+                "as all CENs and Subscribers must be supported by a " +\r
+                "specific Service Provider(SP). A SP can support " +\r
+                "multiple CENs.";\r
         reference "[MEF10.3] Section 7.";\r
       }\r
       leaf svc-type {\r
@@ -1584,10 +1623,10 @@ module mef-services {
                 "[mef-interfaces:uni-id/../mef-interfaces:" +\r
                 "svc-mux-enabled = 'true']) = 0))" {\r
           error-message "For EPL, Service Multiplexing must be " +\r
-                "disabled for all UNIs in the EVC UNI List.";\r
+                    "disabled for all UNIs in the EVC UNI List.";\r
           description\r
-            "For EPL, Service Multiplexing must be disabled for " +\r
-            "all UNIs in the EVC UNI List.";\r
+                    "For EPL, Service Multiplexing must be disabled for " +\r
+                    "all UNIs in the EVC UNI List.";\r
         }\r
         must "(. != 'epl') or ((. = 'epl') and " +\r
                 "(count(/mef-interfaces:mef-interfaces/" +\r
@@ -1598,10 +1637,10 @@ module mef-services {
                 "[mef-interfaces:uni-id/../mef-interfaces:" +\r
                 "bundling-enabled = 'true']) = 0))" {\r
           error-message "For EPL, Bundling must be disabled for " +\r
-                "all UNIs in the EVC UNI List.";\r
+                    "all UNIs in the EVC UNI List.";\r
           description\r
-            "For EPL, Bundling must be disabled for all UNIs in " +\r
-            "the EVC UNI List.";\r
+                    "For EPL, Bundling must be disabled for all UNIs in " +\r
+                    "the EVC UNI List.";\r
         }\r
         must "(. != 'epl') or ((. = 'epl') and " +\r
                 "(count(/mef-interfaces:mef-interfaces/" +\r
@@ -1612,10 +1651,10 @@ module mef-services {
                 "[mef-interfaces:uni-id/../mef-interfaces:" +\r
                 "all-to-one-bundling-enabled = 'false']) = 0))" {\r
           error-message "For EPL, All-to-One Bundling must be " +\r
-                "enabled for all UNIs in the EVC UNI List.";\r
+                    "enabled for all UNIs in the EVC UNI List.";\r
           description\r
-            "For EPL, All-to-One Bundling must be enabled for " +\r
-            "all UNIs in the EVC UNI List.";\r
+                    "For EPL, All-to-One Bundling must be enabled for " +\r
+                    "all UNIs in the EVC UNI List.";\r
         }\r
         must "(. != 'epl') or ((. = 'epl') and " +\r
                 "(count(/mef-interfaces:mef-interfaces/" +\r
@@ -1626,76 +1665,76 @@ module mef-services {
                 "[mef-interfaces:uni-id/../mef-interfaces:" +\r
                 "max-evc-count != 1]) = 0))" {\r
           error-message "For EPL, Max EVC Count must be 1 for " +\r
-                "all UNIs in the EVC UNI List.";\r
+                    "all UNIs in the EVC UNI List.";\r
           description\r
-            "For EPL, Max EVC Count must be 1 for all UNIs " +\r
-            "in the EVC UNI List.";\r
+                    "For EPL, Max EVC Count must be 1 for all UNIs " +\r
+                    "in the EVC UNI List.";\r
         }\r
         must "(. != 'epl') or ((. = 'epl') and " +\r
                 "(count(../evc/unis/uni/egress-bwp-flows-per-eec/" +\r
                 "bwp-flow-per-eec) = 0))" {\r
           error-message "For EPL, Egress Bandwidth Profile per " +\r
-                "Egress Equivalence Class cannot be set for " +\r
-                "all UNIs in the EVC per UNI List.";\r
+                    "Egress Equivalence Class cannot be set for " +\r
+                    "all UNIs in the EVC per UNI List.";\r
           description\r
-            "For EPL, Egress Bandwidth Profile per Egress " +\r
-            "Equivalence Class cannot be set for all UNIs in the " +\r
-            "EVC per UNI List.";\r
+                    "For EPL, Egress Bandwidth Profile per Egress " +\r
+                    "Equivalence Class cannot be set for all UNIs in the " +\r
+                    "EVC per UNI List.";\r
         }\r
         must "(. != 'epl') or ((. = 'epl') and " +\r
                 "(count(../evc/unis/uni" +\r
                 "[src-mac-addr-limit-enabled = 'true']) = 0) )" {\r
           error-message "For EPL, Source MAC Address Limit must " +\r
-                "be disabled.";\r
+                    "be disabled.";\r
           description\r
-            "For EPL, Source MAC Address Limit must be disabled.";\r
+                    "For EPL, Source MAC Address Limit must be disabled.";\r
         }\r
         must "(. != 'epl') or ((. = 'epl') and " +\r
                 "(../evc/evc-type = 'point-to-point'))" {\r
           error-message "For EPL, EVC Type must be Point-to-Point.";\r
           description\r
-            "For EPL, EVC Type must be Point-to-Point.";\r
+                    "For EPL, EVC Type must be Point-to-Point.";\r
         }\r
         must "(. != 'epl') or ((. = 'epl') and " +\r
                 "(../evc/unicast-svc-frm-delivery = " +\r
                 "'unconditional'))" {\r
           error-message "For EPL, unicast-svc-frm-delivery " +\r
-                "must be unconditional.";\r
+                    "must be unconditional.";\r
           description\r
-            "For EPL, unicast-svc-frm-delivery must be " +\r
-            "unconditional.";\r
+                    "For EPL, unicast-svc-frm-delivery must be " +\r
+                    "unconditional.";\r
         }\r
         must "(. != 'epl') or ((. = 'epl') and " +\r
                 "(../evc/multicast-svc-frm-delivery = " +\r
                 "'unconditional'))" {\r
           error-message "For EPL, multicast-svc-frm-delivery " +\r
-                "must be unconditional.";\r
+                    "must be unconditional.";\r
           description\r
-            "For EPL, multicast-svc-frm-delivery must be " +\r
-            "unconditional.";\r
+                    "For EPL, multicast-svc-frm-delivery must be " +\r
+                    "unconditional.";\r
         }\r
         must "(. != 'epl') or ((. = 'epl') and " +\r
                 "(../evc/broadcast-svc-frm-delivery = " +\r
                 "'unconditional'))" {\r
           error-message "For EPL, broadcast-svc-frm-delivery " +\r
-                "must be unconditional.";\r
+                    "must be unconditional.";\r
           description\r
-            "For EPL, broadcast-svc-frm-delivery must be " +\r
-            "unconditional.";\r
+                    "For EPL, broadcast-svc-frm-delivery must be " +\r
+                    "unconditional.";\r
         }\r
         must "(. != 'epl') or ((. = 'epl') and " +\r
                 "(../evc/preserve-ce-vlan-id = 'true'))" {\r
           error-message "For EPL, CE-VLAN ID Preservation " +\r
-                "must be enabled.";\r
+                    "must be enabled.";\r
           description\r
-            "For EPL, CE-VLAN ID Preservation must be enabled.";\r
+                    "For EPL, CE-VLAN ID Preservation must be enabled.";\r
         }\r
         must "(. != 'epl') or ((. = 'epl') and " +\r
                 "(../evc/cos-preserve-ce-vlan-id = 'true'))" {\r
           error-message "For EPL, CE-VLAN ID CoS Preservation " +\r
-                "must be enabled.";\r
+                    "must be enabled.";\r
           description\r
-            "For EPL, CE-VLAN ID CoS Preservation must be enabled.";\r
+                    "For EPL, CE-VLAN ID CoS Preservation must be enabled.";\r
         }\r
         must "(. != 'evpl') or ((. = 'evpl') and " +\r
                 "(count(/mef-interfaces:mef-interfaces/" +\r
@@ -1706,10 +1745,10 @@ module mef-services {
                 "[mef-interfaces:uni-id/../mef-interfaces:" +\r
                 "all-to-one-bundling-enabled = 'true']) = 0))" {\r
           error-message "For EVPL, All-to-One Bundling must be " +\r
-                "disabled for all UNIs in the EVC UNI List.";\r
+                    "disabled for all UNIs in the EVC UNI List.";\r
           description\r
-            "For EVPL, All-to-One Bundling must be disabled for " +\r
-            "all UNIs in the EVC UNI List.";\r
+                    "For EVPL, All-to-One Bundling must be disabled for " +\r
+                    "all UNIs in the EVC UNI List.";\r
         }\r
         must "(. != 'evpl') or ((. = 'evpl') and " +\r
                 "((../evc/unicast-svc-frm-delivery != " +\r
@@ -1721,19 +1760,19 @@ module mef-services {
                 "count(../evc/unis/uni" +\r
                 "[src-mac-addr-limit-enabled = 'true']) = 0))" {\r
           error-message "For EVPL, Source MAC Address Limit must " +\r
-                "be disabled for all UNIs in the EVC per " +\r
-                "UNI List if all 3 -svc-frm-delivery values " +\r
-                "are unconditional.";\r
+                    "be disabled for all UNIs in the EVC per " +\r
+                    "UNI List if all 3 -svc-frm-delivery values " +\r
+                    "are unconditional.";\r
           description\r
-            "For EVPL, Source MAC Address Limit must be disabled " +\r
-            "for all UNIs in the EVC per UNI List if all " +\r
-            "3 -svc-frm-delivery values are unconditional.";\r
+                    "For EVPL, Source MAC Address Limit must be disabled " +\r
+                    "for all UNIs in the EVC per UNI List if all " +\r
+                    "3 -svc-frm-delivery values are unconditional.";\r
         }\r
         must "(. != 'evpl') or ((. = 'evpl') and " +\r
                 "(../evc/evc-type = 'point-to-point'))" {\r
           error-message "For EVPL, EVC Type must be Point-to-Point.";\r
           description\r
-            "For EVPL, EVC Type must be Point-to-Point.";\r
+                    "For EVPL, EVC Type must be Point-to-Point.";\r
         }\r
         must "(. != 'eplan') or ((. = 'eplan') and " +\r
                 "(count(/mef-interfaces:mef-interfaces/" +\r
@@ -1744,10 +1783,10 @@ module mef-services {
                 "[mef-interfaces:uni-id/../mef-interfaces:" +\r
                 "svc-mux-enabled = 'true']) = 0))" {\r
           error-message "For EP-LAN, Service Multiplexing must " +\r
-                "be disabled for all UNIs in the EVC UNI List.";\r
+                    "be disabled for all UNIs in the EVC UNI List.";\r
           description\r
-            "For EP-LAN, Service Multiplexing must be disabled " +\r
-            "for all UNIs in the EVC UNI List.";\r
+                    "For EP-LAN, Service Multiplexing must be disabled " +\r
+                    "for all UNIs in the EVC UNI List.";\r
         }\r
         must "(. != 'eplan') or ((. = 'eplan') and " +\r
                 "(count(/mef-interfaces:mef-interfaces/" +\r
@@ -1758,10 +1797,10 @@ module mef-services {
                 "[mef-interfaces:uni-id/../mef-interfaces:" +\r
                 "bundling-enabled = 'true']) = 0))" {\r
           error-message "For EP-LAN, Bundling must be disabled " +\r
-                "for all UNIs in the EVC UNI List.";\r
+                    "for all UNIs in the EVC UNI List.";\r
           description\r
-            "For EP-LAN, Bundling must be disabled for all UNIs " +\r
-            "in the EVC UNI List.";\r
+                    "For EP-LAN, Bundling must be disabled for all UNIs " +\r
+                    "in the EVC UNI List.";\r
         }\r
         must "(. != 'eplan') or ((. = 'eplan') and " +\r
                 "(count(/mef-interfaces:mef-interfaces/" +\r
@@ -1772,11 +1811,11 @@ module mef-services {
                 "[mef-interfaces:uni-id/../mef-interfaces:" +\r
                 "all-to-one-bundling-enabled = 'false']) = 0))" {\r
           error-message "For EP-LAN, All-to-One Bundling " +\r
-                "must be enabled for all UNIs in the " +\r
-                "EVC UNI List.";\r
+                    "must be enabled for all UNIs in the " +\r
+                    "EVC UNI List.";\r
           description\r
-            "For EP-LAN, All-to-One Bundling must be enabled " +\r
-            "for all UNIs in the EVC UNI List.";\r
+                    "For EP-LAN, All-to-One Bundling must be enabled " +\r
+                    "for all UNIs in the EVC UNI List.";\r
         }\r
         must "(. != 'eplan') or ((. = 'eplan') and " +\r
                 "(count(/mef-interfaces:mef-interfaces/" +\r
@@ -1787,41 +1826,41 @@ module mef-services {
                 "[mef-interfaces:uni-id/../mef-interfaces:" +\r
                 "max-evc-count != 1]) = 0))" {\r
           error-message "For EP-LAN, Max EVC Count must be 1 " +\r
-                "for all UNIs in the EVC UNI List.";\r
+                    "for all UNIs in the EVC UNI List.";\r
           description\r
-            "For EP-LAN, Max EVC Count must be 1 for all UNIs in " +\r
-            "the EVC UNI List.";\r
+                    "For EP-LAN, Max EVC Count must be 1 for all UNIs in " +\r
+                    "the EVC UNI List.";\r
         }\r
         must "(. != 'eplan') or ((. = 'eplan') and " +\r
                 "(../evc/evc-type = 'multipoint-to-multipoint'))" {\r
           error-message "For EP-LAN, EVC Type must be " +\r
-                "Multipoint-to-Multipoint.";\r
+                    "Multipoint-to-Multipoint.";\r
           description\r
-            "For EP-LAN, EVC Type must be " +\r
-            "Multipoint-to-Multipoint.";\r
+                    "For EP-LAN, EVC Type must be " +\r
+                    "Multipoint-to-Multipoint.";\r
         }\r
         must "(. != 'eplan') or ((. = 'eplan') and " +\r
                 "(../evc/preserve-ce-vlan-id = 'true'))" {\r
           error-message "For EP-LAN, CE-VLAN ID Preservation " +\r
-                "must be enabled.";\r
+                    "must be enabled.";\r
           description\r
-            "For EP-LAN, CE-VLAN ID Preservation must be enabled.";\r
+                    "For EP-LAN, CE-VLAN ID Preservation must be enabled.";\r
         }\r
         must "(. != 'eplan') or ((. = 'eplan') and " +\r
                 "(../evc/cos-preserve-ce-vlan-id = 'true'))" {\r
           error-message "For EP-LAN, CE-VLAN ID CoS Preservation " +\r
-                "must be enabled.";\r
+                    "must be enabled.";\r
           description\r
-            "For EP-LAN, CE-VLAN ID CoS Preservation must be " +\r
-            "enabled.";\r
+                    "For EP-LAN, CE-VLAN ID CoS Preservation must be " +\r
+                    "enabled.";\r
         }\r
         must "(. != 'evplan') or ((. = 'evplan') and " +\r
                 "(../evc/evc-type = 'multipoint-to-multipoint'))" {\r
           error-message "For EVP-LAN, EVC Type must be " +\r
-                "Multipoint-to-Multipoint.";\r
+                    "Multipoint-to-Multipoint.";\r
           description\r
-            "For EVP-LAN, EVC Type must be " +\r
-            "Multipoint-to-Multipoint.";\r
+                    "For EVP-LAN, EVC Type must be " +\r
+                    "Multipoint-to-Multipoint.";\r
         }\r
         must "(. != 'evplan') or ((. = 'evplan') and " +\r
                 "(count(/mef-interfaces:mef-interfaces/" +\r
@@ -1832,10 +1871,10 @@ module mef-services {
                 "[mef-interfaces:uni-id/../mef-interfaces:" +\r
                 "all-to-one-bundling-enabled = 'true']) = 0))" {\r
           error-message "For EVP-LAN, All-to-One Bundling must " +\r
-                "be disabled for all UNIs in the EVC UNI List.";\r
+                    "be disabled for all UNIs in the EVC UNI List.";\r
           description\r
-            "For EVP-LAN, All-to-One Bundling must be disabled " +\r
-            "for all UNIs in the EVC UNI List.";\r
+                    "For EVP-LAN, All-to-One Bundling must be disabled " +\r
+                    "for all UNIs in the EVC UNI List.";\r
         }\r
         must "(. != 'eptree') or ((. = 'eptree') and " +\r
                 "(count(/mef-interfaces:mef-interfaces/" +\r
@@ -1846,11 +1885,11 @@ module mef-services {
                 "[mef-interfaces:uni-id/../mef-interfaces:" +\r
                 "svc-mux-enabled = 'true']) = 0))" {\r
           error-message "For EP-TREE, Service Multiplexing " +\r
-                "must be disabled for all UNIs in the " +\r
-                "EVC UNI List.";\r
+                    "must be disabled for all UNIs in the " +\r
+                    "EVC UNI List.";\r
           description\r
-            "For EP-TREE, Service Multiplexing must be disabled " +\r
-            "for all UNIs in the EVC UNI List.";\r
+                    "For EP-TREE, Service Multiplexing must be disabled " +\r
+                    "for all UNIs in the EVC UNI List.";\r
         }\r
         must "(. != 'eptree') or ((. = 'eptree') and " +\r
                 "(count(/mef-interfaces:mef-interfaces/" +\r
@@ -1861,10 +1900,10 @@ module mef-services {
                 "[mef-interfaces:uni-id/../mef-interfaces:" +\r
                 "bundling-enabled = 'true']) = 0))" {\r
           error-message "For EP-TREE, Bundling must be disabled " +\r
-                "for all UNIs in the EVC UNI List.";\r
+                    "for all UNIs in the EVC UNI List.";\r
           description\r
-            "For EP-TREE, Bundling must be disabled for all UNIs " +\r
-            "in the EVC UNI List.";\r
+                    "For EP-TREE, Bundling must be disabled for all UNIs " +\r
+                    "in the EVC UNI List.";\r
         }\r
         must "(. != 'eptree') or ((. = 'eptree') and " +\r
                 "(count(/mef-interfaces:mef-interfaces/" +\r
@@ -1875,10 +1914,10 @@ module mef-services {
                 "[mef-interfaces:uni-id/../mef-interfaces:" +\r
                 "all-to-one-bundling-enabled = 'false']) = 0))" {\r
           error-message "For EP-TREE, All-to-One Bundling must " +\r
-                "be enabled for all UNIs in the EVC UNI List.";\r
+                    "be enabled for all UNIs in the EVC UNI List.";\r
           description\r
-            "For EP-TREE, All-to-One Bundling must be enabled " +\r
-            "for all UNIs in the EVC UNI List.";\r
+                    "For EP-TREE, All-to-One Bundling must be enabled " +\r
+                    "for all UNIs in the EVC UNI List.";\r
         }\r
         must "(. != 'eptree') or ((. = 'eptree') and " +\r
                 "(count(/mef-interfaces:mef-interfaces/" +\r
@@ -1889,32 +1928,32 @@ module mef-services {
                 "[mef-interfaces:uni-id/../mef-interfaces:" +\r
                 "max-evc-count != 1]) = 0))" {\r
           error-message "For EP-TREE, Max EVC Count must be 1 " +\r
-                "for all UNIs in the EVC UNI List.";\r
+                    "for all UNIs in the EVC UNI List.";\r
           description\r
-            "For EP-TREE, Max EVC Count must be 1 for all UNIs " +\r
-            "in the EVC UNI List.";\r
+                    "For EP-TREE, Max EVC Count must be 1 for all UNIs " +\r
+                    "in the EVC UNI List.";\r
         }\r
         must "(. != 'eptree') or ((. = 'eptree') and " +\r
                 "(../evc/evc-type = 'rooted-multipoint'))" {\r
           error-message "For EP-TREE, EVC Type must be " +\r
-                "Rooted-Multipoint.";\r
+                    "Rooted-Multipoint.";\r
           description\r
-            "For EP-TREE, EVC Type must be Rooted-Multipoint.";\r
+                    "For EP-TREE, EVC Type must be Rooted-Multipoint.";\r
         }\r
         must "(. != 'eptree') or ((. = 'eptree') and " +\r
                 "(../evc/preserve-ce-vlan-id = 'true'))" {\r
           error-message "For EP-TREE, CE-VLAN ID Preservation " +\r
-                "must be enabled.";\r
+                    "must be enabled.";\r
           description\r
-            "For EP-TREE, CE-VLAN ID Preservation must be enabled.";\r
+                    "For EP-TREE, CE-VLAN ID Preservation must be enabled.";\r
         }\r
         must "(. != 'eptree') or ((. = 'eptree') and " +\r
                 "(../evc/cos-preserve-ce-vlan-id = 'true'))" {\r
           error-message "For EP-TREE, CE-VLAN ID " +\r
-                "CoS Preservation must be enabled.";\r
+                    "CoS Preservation must be enabled.";\r
           description\r
-            "For EP-TREE, CE-VLAN ID CoS Preservation must be " +\r
-            "enabled.";\r
+                    "For EP-TREE, CE-VLAN ID CoS Preservation must be " +\r
+                    "enabled.";\r
         }\r
         must "(. != 'evptree') or ((. = 'evptree') and " +\r
                 "(count(/mef-interfaces:mef-interfaces/" +\r
@@ -1925,39 +1964,39 @@ module mef-services {
                 "[mef-interfaces:uni-id/../mef-interfaces:" +\r
                 "all-to-one-bundling-enabled = 'true']) = 0))" {\r
           error-message "For EVP-TREE, All-to-One Bundling " +\r
-                "must be disabled for all UNIs in the EVC UNI List.";\r
+                    "must be disabled for all UNIs in the EVC UNI List.";\r
           description\r
-            "For EVP-TREE, All-to-One Bundling must be disabled " +\r
-            "for all UNIs in the EVC UNI List.";\r
+                    "For EVP-TREE, All-to-One Bundling must be disabled " +\r
+                    "for all UNIs in the EVC UNI List.";\r
         }\r
         must "(. != 'evptree') or ((. = 'evptree') and " +\r
                 "(../evc/evc-type = 'rooted-multipoint'))" {\r
           error-message "For EVP-TREE, EVC Type must be " +\r
-                "Rooted-Multipoint.";\r
+                    "Rooted-Multipoint.";\r
           description\r
-            "For EVP-TREE, EVC Type must be Rooted-Multipoint.";\r
+                    "For EVP-TREE, EVC Type must be Rooted-Multipoint.";\r
         }\r
         description\r
-          "The MEF Service Type.";\r
+                "The MEF Service Type.";\r
       }\r
       leaf user-label {\r
         type mef-types:identifier45;\r
         description\r
-          "This MEF user label is set by the user to a value " +\r
-          "that is easier to identify than the Service ID.";\r
+                "This MEF user label is set by the user to a value " +\r
+                "that is easier to identify than the Service ID.";\r
       }\r
       leaf svc-entity {\r
         type mef-types:service-entity-type;\r
         default "evc";\r
         description\r
-          "MEF Service Entity.";\r
+                "MEF Service Entity.";\r
         reference "[MEF12.2] Table 3.";\r
       }\r
       leaf tenant-id {\r
-          type leafref{\r
-              path "/mef-global:mef-global/mef-global:tenants-instances/mef-global:tenant-list/mef-global:name";\r
-          }\r
-      }      \r
+        type leafref {\r
+          path "/mef-global:mef-global/mef-global:tenants-instances/mef-global:tenant-list/mef-global:name";\r
+        }\r
+      }\r
     }\r
   }\r
-}
\ No newline at end of file
+}\r