--- /dev/null
+module mef-global {\r
+ namespace "http://metroethernetforum.org/ns/yang/mef-global";\r
+ prefix mef-global;\r
+ import ietf-yang-types {\r
+ prefix yang;\r
+ }\r
+ import ietf-inet-types {\r
+ prefix inet;\r
+ }\r
+ import mef-types {\r
+ prefix mef-types;\r
+ }\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
+ description\r
+ "This module defines the shared profiles and related lists\r
+ to be referenced when configuring MEF Services. Service\r
+ Providers are expected to define a set of profiles for\r
+ Service Attributes associated with Bandwidth, L2CP, CoS,\r
+ and so on. These are expected to be slowly changing as\r
+ they reflect the Products offered by the Service Providers\r
+ to their Subscribers.\r
+ \r
+ Reference Overview:\r
+ A number of base documents have been used to create\r
+ the MEF Global YANG Module. The following are the\r
+ 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
+ revision 2015-05-26 {\r
+ description\r
+ "Formal Project Review Draft 1.";\r
+ reference "EVC Ethernet Services Definitions YANG Modules\r
+ (MEF XX), TBD";\r
+ }\r
+ container mef-global {\r
+ description\r
+ "MEF Global Profiles";\r
+ grouping bwp-flows-group {\r
+ description\r
+ "Bandwidth Profile Flows Group.";\r
+ list bwp-flow {\r
+ key "bw-profile";\r
+ description\r
+ "Bandwidth Profiles.";\r
+ reference "[MEF10.3] Section 9.14, 12.2.";\r
+ leaf bw-profile {\r
+ type mef-types:identifier45;\r
+ description\r
+ "Bandwidth Profile Identifier.";\r
+ reference "[MEF10.3] Section 9.14, 12.2.";\r
+ }\r
+ leaf user-label {\r
+ type mef-types:identifier45;\r
+ description\r
+ "This attribute is a friendly name for this specific " +\r
+ "Bandwidth Profile.";\r
+ }\r
+ leaf cir {\r
+ type mef-types:bwp-cir-type;\r
+ units "kbits-per-sec";\r
+ default "0";\r
+ description\r
+ "This attribute identifies the Committed Information " +\r
+ "Rate (CIR) in Kilobits per second for one " +\r
+ "direction of an ETH EVC. If the value is 0, then " +\r
+ "no guarantee is assumed.";\r
+ }\r
+ leaf cir-max {\r
+ type mef-types:bwp-cir-type;\r
+ units "kbits-per-sec";\r
+ default "0";\r
+ description\r
+ "This attribute identifies the Maximum Committed " +\r
+ "Information Rate (CIR). This parameter limits the " +\r
+ "rate of tokens added to the committed token bucket. " +\r
+ "If this value is 0, then no limit is assumed.";\r
+ }\r
+ leaf cbs {\r
+ type mef-types:bwp-cbs-type;\r
+ units "bytes";\r
+ default "0";\r
+ description\r
+ "This attribute identifies the Committed Burst Size " +\r
+ "(CBS) in bytes for one direction of an ETH EVC. " +\r
+ "This parameter limits the maximum number of bytes " +\r
+ "available for a burst of Service Frames sent at " +\r
+ "the UNI line rate that will be declared Green " +\r
+ "by the Bandwidth Profile. If this value is 0, " +\r
+ "then no limit is assumed.";\r
+ }\r
+ leaf eir {\r
+ type mef-types:bwp-eir-type;\r
+ units "kbits-per-sec";\r
+ default "0";\r
+ description\r
+ "This attribute identifies the Excess Information " +\r
+ "Rate (EIR) in Kilobits per second for one " +\r
+ "direction of an ETH EVC. This parameter limits the " +\r
+ "average rate in bits per second of Service Frames " +\r
+ "that will be declared Yellow by the Bandwidth " +\r
+ "Profile. If this value is 0, then no limit is assumed.";\r
+ }\r
+ leaf eir-max {\r
+ type mef-types:bwp-eir-type;\r
+ units "kbits-per-sec";\r
+ default "0";\r
+ description\r
+ "This attribute identifies the Maximum Excess " +\r
+ "Information Rate (EIR) in Kilobits per second for " +\r
+ "one direction of an ETH EVC. This parameter " +\r
+ "limits the rate of tokens added to the excess " +\r
+ "token bucket. If this value is 0, then no " +\r
+ "limit is assumed.";\r
+ }\r
+ leaf ebs {\r
+ type mef-types:bwp-ebs-type;\r
+ units "bytes";\r
+ default "0";\r
+ description\r
+ "This attribute identifies the Excess Burst Size " +\r
+ "(EBS) in bytes for one direction of an ETH EVC. " +\r
+ "This parameter limits the maximum number of " +\r
+ "bytes available for a burst of Service Frames " +\r
+ "sent at the UNI line rate that will be " +\r
+ "declared Yellow by the Bandwidth Profile. " +\r
+ "If this value is 0, then no limit is assumed.";\r
+ }\r
+ leaf coupling-enabled {\r
+ type boolean;\r
+ default "false";\r
+ description\r
+ "The Per Bandwidth Profile Coupling Flag (CF) " +\r
+ "attribute. This parameter determines whether " +\r
+ "or not overflow tokens not used for Service " +\r
+ "Frames declared Green can be used as Yellow tokens.";\r
+ reference "[MEF10.3] Section 12.1 [R149].";\r
+ }\r
+ leaf color-mode {\r
+ type mef-types:bwp-color-mode-type;\r
+ default "color-blind";\r
+ description\r
+ "This attribute describes the color mode (CM) to " +\r
+ "be applied as 'color-blind mode' or " +\r
+ "'color-aware mode'.";\r
+ reference "[MEF10.3] Section 10.3, [R151].";\r
+ }\r
+ leaf coupling-flag {\r
+ type mef-types:bwp-coupling-flag-type;\r
+ default "yellow-eir-only";\r
+ description\r
+ "The optional coupling flag (CF) attribute, " +\r
+ "describes if yellow frames will be admitted " +\r
+ "if unused bandwidth is available. When CF is " +\r
+ "set to \"yellow-eir-only\", the volume of the " +\r
+ "yellow service frames admitted to the network " +\r
+ "cannot exceed EIR. When CF is set " +\r
+ "to \"yellow-eir-plus-cir\", the volume of the " +\r
+ "yellow service frames admitted to the network is " +\r
+ "bounded by CIR + EIR depending on volume of the " +\r
+ "offered green Service Frames. In both cases the " +\r
+ "burst size of the yellow service frames " +\r
+ "admitted to the network is bounded by EBS.";\r
+ reference "[MEF23.1] Section 8.1.";\r
+ }\r
+ }\r
+ }\r
+ container svc-providers {\r
+ presence "Use non-default Service Providers";\r
+ description\r
+ "Global Service Providers List.";\r
+ list svc-provider {\r
+ key "sp-id";\r
+ description\r
+ "Service Provider Identifier.";\r
+ leaf sp-id {\r
+ type mef-types:svc-provider-type;\r
+ description\r
+ "The Service Provider ID identifies a unique SP that " +\r
+ "contains multiple CENs.";\r
+ reference "[MEF10.3] Section 7.";\r
+ }\r
+ }\r
+ }\r
+ container cens {\r
+ presence "Use non-default CEN";\r
+ description\r
+ "Global CENs List.";\r
+ list cen {\r
+ must "(not(/mef-global/svc-providers) and " +\r
+ "not(./sp-id)) or " +\r
+ "(/mef-global/svc-providers and ./sp-id)" {\r
+ error-message "If the Service Providers list has been " +\r
+ "populated, a Service Provider ID must be " +\r
+ "configured for a CEN.";\r
+ description\r
+ "A CEN 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 "cen-id";\r
+ description\r
+ "List of CENs.";\r
+ leaf cen-id {\r
+ type mef-types:cen-type;\r
+ description\r
+ "The CEN ID identifies a specific Carrier Ethernet " +\r
+ "Network belong to a Service Provider.";\r
+ reference "[MEF10.3] Section 7. The CEN ID must be " +\r
+ "unique for this Service Provider.";\r
+ }\r
+ leaf sp-id {\r
+ when "/mef-global:mef-global/mef-global:svc-providers" {\r
+ description\r
+ "Service Provider Identifier associated with " +\r
+ "this CEN.";\r
+ }\r
+ type leafref {\r
+ path "/mef-global:mef-global/mef-global:" +\r
+ "svc-providers/mef-global:svc-provider/" +\r
+ "mef-global:sp-id";\r
+ }\r
+ description\r
+ "The Service Provider ID must be globally unique " +\r
+ "as all CENs and Subscribers must be supported " +\r
+ "by a specific Service Provider(SP). A SP can " +\r
+ "support multiple CENs.";\r
+ reference "[MEF10.3] Section 7.";\r
+ }\r
+ }\r
+ }\r
+ container slss {\r
+ presence "Use non-default SLS";\r
+ description\r
+ "The technical specification of the service level being " +\r
+ "offered by the Service Provider to the Subscriber is " +\r
+ "defined to be the Service Level Specification (SLS).";\r
+ list sls {\r
+ must "(not(/mef-global/svc-providers) and " +\r
+ "not(./sp-id)) or " +\r
+ "(/mef-global/svc-providers and ./sp-id)" {\r
+ error-message "If the Service Providers list has been " +\r
+ "populated, a Service Provider ID must be " +\r
+ "configured for an SLS.";\r
+ description\r
+ "An SLS 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 "sls-id";\r
+ description\r
+ "Global Service Level Specification(SLS) List.";\r
+ container perf-objs {\r
+ description\r
+ "Performance Objectives for this SLS.";\r
+ leaf pm-time-interval {\r
+ type uint64;\r
+ units "seconds";\r
+ mandatory true;\r
+ description\r
+ "Performance Metric(PM): Time Interval.";\r
+ }\r
+ leaf pm-time-interval-increment {\r
+ when "(count(../perf-obj[pm-type = " +\r
+ "'one-way-resiliency-performance-hli']) > 0) " +\r
+ "or (count(../perf-obj" +\r
+ "[pm-type = " +\r
+ "'one-way-resiliency-performance-chli']) > 0)" +\r
+ " or (count(../perf-obj" +\r
+ "[pm-type = " +\r
+ "'one-way-availability-performance']) > 0) " +\r
+ "or (count(../perf-obj[pm-type = " +\r
+ "'one-way-multiple-evc-group-availability-" +\r
+ "performance']) > 0) or " +\r
+ "(count(../perf-obj[pm-type = " +\r
+ "'one-way-group-availability-" +\r
+ "performance']) > 0)" {\r
+ description\r
+ "This PM Metric only applies to specific " +\r
+ "Performance Objective Types.";\r
+ }\r
+ type uint64;\r
+ units "ms";\r
+ mandatory true;\r
+ description\r
+ "A time interval much smaller than pm-time-interval.";\r
+ }\r
+ leaf unavail-flr-threshold-pp {\r
+ when "(count(../perf-obj[pm-type = " +\r
+ "'one-way-resiliency-performance-hli']) > 0) " +\r
+ "or " +\r
+ "(count(../perf-obj[pm-type = " +\r
+ "'one-way-resiliency-performance-chli']) > 0) " +\r
+ "or " +\r
+ "(count(../perf-obj[pm-type = " +\r
+ "'one-way-availability-performance']) > 0) " +\r
+ "or " +\r
+ "(count(../perf-obj[pm-type = " +\r
+ "'one-way-multiple-evc-group-availability-" +\r
+ "performance']) > 0) or " +\r
+ "(count(../perf-obj[pm-type = " +\r
+ "'one-way-group-availability-" +\r
+ "performance']) > 0)" {\r
+ description\r
+ "This PM Metric only applies to specific " +\r
+ "Performance Objective Types.";\r
+ }\r
+ type mef-types:simple-percent;\r
+ units "percent";\r
+ mandatory true;\r
+ description\r
+ "Unavailability frame loss ratio threshold " +\r
+ "expressed in percentage.";\r
+ }\r
+ leaf consecutive-small-time-intervals {\r
+ when "(count(../perf-obj[pm-type = " +\r
+ "'one-way-availability-performance']) > 0) or " +\r
+ "(count(../perf-obj[pm-type = " +\r
+ "'one-way-multiple-evc-group-availability-" +\r
+ "performance']) > 0) or " +\r
+ "(count(../perf-obj[pm-type = " +\r
+ "'one-way-group-availability-" +\r
+ "performance']) > 0)" {\r
+ description\r
+ "This PM Metric only applies to specific " +\r
+ "Performance Objective Types.";\r
+ }\r
+ type uint64;\r
+ mandatory true;\r
+ description\r
+ "Number of consecutive small time intervals " +\r
+ "to assess.";\r
+ }\r
+ list perf-obj {\r
+ key "pm-type pm-id";\r
+ unique "pm-type cos-name fd-pp fd-range-pp " +\r
+ "fd-perf-obj fd-range-perf-obj " +\r
+ "fd-mean-perf-obj ifdv-pp ifdv-pair-interval " +\r
+ "ifdv-perf-obj flr-perf-obj avail-pp " +\r
+ "hli-perf-obj " +\r
+ "chli-consecutive-small-time-intervals " +\r
+ "chli-perf-obj min-uni-pairs-avail gp-avail-pp";\r
+ description\r
+ "For any given SLS, performance objectives related " +\r
+ "to the Performance Metrics may or may not be " +\r
+ "specified. No functionally duplicated " +\r
+ "Performance Objectives are allowed.";\r
+ leaf pm-type {\r
+ type mef-types:performance-metric-type;\r
+ description\r
+ "Performance Metric Type.";\r
+ reference "[MEF10.3] Section 8.8.";\r
+ }\r
+ leaf pm-id {\r
+ type mef-types:identifier45;\r
+ description\r
+ "This is a friendly name for specific " +\r
+ "performance profile.";\r
+ }\r
+ leaf cos-name {\r
+ type leafref {\r
+ path "/mef-global:mef-global/profiles/" +\r
+ "cos-names/cos-name/name";\r
+ }\r
+ mandatory true;\r
+ description\r
+ "CoS Name Identifier.";\r
+ }\r
+ leaf fd-pp {\r
+ when "(../pm-type = 'one-way-frame-delay-" +\r
+ "performance')" {\r
+ description\r
+ "This PM Metric only applies to specific " +\r
+ "Performance Objective Types.";\r
+ }\r
+ type mef-types:simple-percent;\r
+ units "percent";\r
+ mandatory true;\r
+ description\r
+ "Frame Delay Performance Percentile.";\r
+ }\r
+ leaf fd-range-pp {\r
+ when "(../pm-type = 'one-way-frame-delay-range-" +\r
+ "performance')" {\r
+ description\r
+ "This PM Metric only applies to specific " +\r
+ "Performance Objective Types.";\r
+ }\r
+ type mef-types:simple-percent;\r
+ units "percent";\r
+ mandatory true;\r
+ description\r
+ "Frame Delay Range Performance Percentile.";\r
+ }\r
+ leaf fd-perf-obj {\r
+ when "(../pm-type = 'one-way-frame-delay-" +\r
+ "performance')" {\r
+ description\r
+ "This PM Metric only applies to specific " +\r
+ "Performance Objective Types.";\r
+ }\r
+ type uint64;\r
+ units "ms";\r
+ mandatory true;\r
+ description\r
+ "Frame Delay Performance Objective.";\r
+ }\r
+ leaf fd-range-perf-obj {\r
+ when "(../pm-type = 'one-way-frame-delay-range-" +\r
+ "performance')" {\r
+ description\r
+ "This PM Metric only applies to specific " +\r
+ "Performance Objective Types.";\r
+ }\r
+ type uint64;\r
+ units "ms";\r
+ mandatory true;\r
+ description\r
+ "Frame Delay Range Performance Objective.";\r
+ }\r
+ leaf fd-mean-perf-obj {\r
+ when "(../pm-type = 'one-way-mean-frame-delay-" +\r
+ "performance')" {\r
+ description\r
+ "This PM Metric only applies to specific " +\r
+ "Performance Objective Types.";\r
+ }\r
+ type uint64;\r
+ units "ms";\r
+ mandatory true;\r
+ description\r
+ "Frame Delay Mean Performance Objective.";\r
+ }\r
+ leaf ifdv-pp {\r
+ when "(../pm-type = 'one-way-inter-frame-delay-" +\r
+ "variation-performance')" {\r
+ description\r
+ "This PM Metric only applies to specific " +\r
+ "Performance Objective Types.";\r
+ }\r
+ type mef-types:simple-percent;\r
+ units "percent";\r
+ mandatory true;\r
+ description\r
+ "Inter-Frame Delay Variation Performance " +\r
+ "Percentile.";\r
+ }\r
+ leaf ifdv-pair-interval {\r
+ when "(../pm-type = 'one-way-inter-frame-delay-" +\r
+ "variation-performance')" {\r
+ description\r
+ "This PM Metric only applies to specific " +\r
+ "Performance Objective Types.";\r
+ }\r
+ type mef-types:simple-percent;\r
+ units "ms";\r
+ mandatory true;\r
+ description\r
+ "Inter-Frame Delay Variation Performance " +\r
+ "Separation / Pair Interval.";\r
+ }\r
+ leaf ifdv-perf-obj {\r
+ when "(../pm-type = 'one-way-inter-frame-delay-" +\r
+ "variation-performance')" {\r
+ description\r
+ "This PM Metric only applies to specific " +\r
+ "Performance Objective Types.";\r
+ }\r
+ type uint64;\r
+ units "ms";\r
+ mandatory true;\r
+ description\r
+ "Inter-Frame Delay Variation Performance Objective.";\r
+ }\r
+ leaf flr-perf-obj {\r
+ when "(../pm-type = 'one-way-frame-loss-ratio-" +\r
+ "performance')" {\r
+ description\r
+ "This PM Metric only applies to specific " +\r
+ "Performance Objective Types.";\r
+ }\r
+ type uint64;\r
+ units "ms";\r
+ mandatory true;\r
+ description\r
+ "Frame Loss Ratio Performance Objective.";\r
+ }\r
+ leaf avail-pp {\r
+ when "(../pm-type = 'one-way-availability-" +\r
+ "performance')" {\r
+ description\r
+ "This PM Metric only applies to specific " +\r
+ "Performance Objective Types.";\r
+ }\r
+ type mef-types:simple-percent;\r
+ units "percent";\r
+ mandatory true;\r
+ description\r
+ "Availability Performance Objective expressed " +\r
+ "as a percentage.";\r
+ }\r
+ leaf hli-perf-obj {\r
+ when "(../pm-type = 'one-way-resiliency-" +\r
+ "performance-hli')" {\r
+ description\r
+ "This PM Metric only applies to specific " +\r
+ "Performance Objective Types.";\r
+ }\r
+ type uint64;\r
+ mandatory true;\r
+ description\r
+ "HLI Performance Objective expressed as an integer.";\r
+ }\r
+ leaf chli-consecutive-small-time-intervals {\r
+ when "(../pm-type = 'one-way-resiliency-" +\r
+ "performance-chli')" {\r
+ description\r
+ "This PM Metric only applies to specific " +\r
+ "Performance Objective Types.";\r
+ }\r
+ type uint64;\r
+ must "not(../../consecutive-small-time-intervals) " +\r
+ "or " +\r
+ "(. < ../../consecutive-small-time-" +\r
+ "intervals)" {\r
+ error-message "The value of chli-consecutive-" +\r
+ "small-time-intervals must be less " +\r
+ "than consecutive-small-time-intervals " +\r
+ "(where p < n) if both are defined.";\r
+ description\r
+ "The value of chli-consecutive-small-time-" +\r
+ "intervals must be less than consecutive-" +\r
+ "small-time-intervals (where p < n) if " +\r
+ "both are defined.";\r
+ }\r
+ mandatory true;\r
+ description\r
+ "Number of consecutive small time intervals " +\r
+ "for assessing CHLI.";\r
+ reference "[MEF10.3] Table 10.";\r
+ }\r
+ leaf chli-perf-obj {\r
+ when "(../pm-type = 'one-way-resiliency-" +\r
+ "performance-chli')" {\r
+ description\r
+ "This PM Metric only applies to specific " +\r
+ "Performance Objective Types.";\r
+ }\r
+ type uint64;\r
+ mandatory true;\r
+ description\r
+ "Consecutive HLI Performance Objective " +\r
+ "expressed as an integer.";\r
+ }\r
+ leaf min-uni-pairs-avail {\r
+ when "(../pm-type = 'one-way-multiple-evc-group-" +\r
+ "availability-performance') or " +\r
+ "(../pm-type = 'one-way-group-availability-" +\r
+ "performance')" {\r
+ description\r
+ "This PM Metric only applies to specific " +\r
+ "Performance Objective Types.";\r
+ }\r
+ type uint64;\r
+ mandatory true;\r
+ description\r
+ "Minimum number of ordered UNI pairs that are " +\r
+ "to be available in the EVC.";\r
+ }\r
+ leaf gp-avail-pp {\r
+ when "(../pm-type = 'one-way-multiple-evc-group-" +\r
+ "availability-performance') or " +\r
+ "(../pm-type = 'one-way-group-availability-" +\r
+ "performance')" {\r
+ description\r
+ "This PM Metric only applies to specific " +\r
+ "Performance Objective Types.";\r
+ }\r
+ type mef-types:simple-percent;\r
+ units "percent";\r
+ mandatory true;\r
+ description\r
+ "Group Availability Performance Objective " +\r
+ "expressed as a percentage.";\r
+ }\r
+ }\r
+ }\r
+ leaf sls-id {\r
+ type mef-types:cen-type;\r
+ description\r
+ "The SLS ID identifies a specific Service Level " +\r
+ "Specification offered by a Service Provider.";\r
+ reference "[MEF10.3] Section 8.8. The SLS ID must " +\r
+ "be unique for this Service Provider.";\r
+ }\r
+ leaf sp-id {\r
+ when "/mef-global:mef-global/mef-global:svc-" +\r
+ "providers" {\r
+ description\r
+ "Service Provider Identifier associated " +\r
+ "with this SLS.";\r
+ }\r
+ type leafref {\r
+ path "/mef-global:mef-global/mef-global:" +\r
+ "svc-providers/mef-global:svc-provider/" +\r
+ "mef-global:sp-id";\r
+ }\r
+ description\r
+ "The Service Provider ID must be globally unique " +\r
+ "as all Subscriber SLSs must be supported by " +\r
+ "a specific Service Provider(SP). A SP can " +\r
+ "support multiple SLSs.";\r
+ reference "[MEF10.3] Section 7.";\r
+ }\r
+ }\r
+ }\r
+ container subscribers {\r
+ presence "Use non-default Subscribers.";\r
+ description\r
+ "Subscribers List (Global).";\r
+ list subscriber {\r
+ must "(not(/mef-global/svc-providers) and not(./sp-id)) " +\r
+ "or " +\r
+ "(/mef-global/svc-providers and ./sp-id)" {\r
+ error-message "If the Service Providers list has been " +\r
+ "populated, a Service Provider ID must be " +\r
+ "configured for a Subscriber.";\r
+ description\r
+ "A Subscriber sees a single Service Provider. " +\r
+ "This must statement is effectively a " +\r
+ "'mandatory true' when the Global Service " +\r
+ "Providers list is being used.";\r
+ }\r
+ must "(not(/mef-global/cens) and not(./cen-id)) or " +\r
+ "(/mef-global/cens and ./cen-id)" {\r
+ error-message "If the CENs list has been populated, " +\r
+ "a CEN ID must be configured for a Subscriber.";\r
+ description\r
+ "[MEF103] A Subscriber sees a single CEN from a " +\r
+ "SP. This must statement is effectively a " +\r
+ "'mandatory true' when the Global CENs list " +\r
+ "is being used.";\r
+ }\r
+ key "sub-id";\r
+ description\r
+ "Global Subscriber List.";\r
+ leaf sub-id {\r
+ type mef-types:subscriber-type;\r
+ description\r
+ "The Subscriber ID identifies a unique Subscriber to " +\r
+ "this CEN. Note that you can have the same " +\r
+ "Subscriber as part of multiple Service Providers.";\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
+ }\r
+ type leafref {\r
+ path "/mef-global:mef-global/mef-global:" +\r
+ "svc-providers/mef-global:" +\r
+ "svc-provider/mef-global:sp-id";\r
+ }\r
+ description\r
+ "The Service Provider ID must be globally unique " +\r
+ "as all CENs and Subscribers must be supported by " +\r
+ "a specific Service Provider(SP). A SP can " +\r
+ "support multiple CENs.";\r
+ reference "[MEF10.3] Section 7.";\r
+ }\r
+ leaf cen-id {\r
+ when "/mef-global:mef-global/mef-global:cens" {\r
+ description\r
+ "Only configure when the Global CENs list " +\r
+ "has been populated.";\r
+ }\r
+ type leafref {\r
+ path "/mef-global:mef-global/mef-global:cens/" +\r
+ "mef-global:cen/mef-global:cen-id";\r
+ }\r
+ description\r
+ "A CEN is defined as a network from a " +\r
+ "Service Provider (SP). ";\r
+ reference "[MEF10.3] Section 7.";\r
+ }\r
+ }\r
+ }\r
+ container profiles {\r
+ presence "Use to confirm whether ANY profiles have " +\r
+ "been configured";\r
+ description\r
+ "Global Profiles.";\r
+ container cos-names {\r
+ description\r
+ "CoS Names (AKA CoS Labels) agreed to between " +\r
+ "the Service Provider and the Subscribers.";\r
+ list cos-name {\r
+ key "name";\r
+ description\r
+ "List of CoS Names.";\r
+ leaf name {\r
+ type mef-types:identifier45;\r
+ description\r
+ "CoS Name.";\r
+ }\r
+ }\r
+ }\r
+ container eec-names {\r
+ description\r
+ "Egress Equivalance Class (EEC) Names agreed to " +\r
+ "between the Service Provider and the Subscribers.";\r
+ list eec-name {\r
+ key "name";\r
+ description\r
+ "List of EEC Names.";\r
+ leaf name {\r
+ type mef-types:identifier45;\r
+ description\r
+ "EEC Name.";\r
+ }\r
+ }\r
+ }\r
+ container ingress-bwp-flows {\r
+ description\r
+ "Ingress Bandwidth Profile Flows.";\r
+ uses bwp-flows-group;\r
+ }\r
+ container egress-bwp-flows {\r
+ description\r
+ "Egress Bandwidth Profile Flows.";\r
+ uses bwp-flows-group;\r
+ }\r
+ container l2cp-cos {\r
+ description\r
+ "Ingress Layer 2 Control Protocol (L2CP) " +\r
+ "Configuration with CoS Names.";\r
+ list l2cp-profile {\r
+ key "id";\r
+ description\r
+ "A list of global profiles for Layer 2 " +\r
+ "Control Processing.";\r
+ reference "[MEF10.3] Section 8.5.";\r
+ container l2cps {\r
+ description\r
+ "Layer 2 Control Protocol (L2CP) Profiles " +\r
+ "for Classes of Service (CoS).";\r
+ list l2cp {\r
+ key "dest-mac-addr peering-proto-name";\r
+ description\r
+ "L2CP Destination MAC Address.";\r
+ reference "[MEF10.3] Section 8.5.";\r
+ leaf dest-mac-addr {\r
+ type yang:mac-address;\r
+ description\r
+ "The Destination MAC Address for the " +\r
+ "Layer 2 Control Protocol.";\r
+ }\r
+ leaf peering-proto-name {\r
+ type mef-types:identifier45;\r
+ description\r
+ "This attribute is a friendly name for " +\r
+ "the Protocol to be Peered. It is optional.";\r
+ }\r
+ leaf protocol {\r
+ type mef-types:l2cp-peering-protocol-type;\r
+ default "ethertype";\r
+ description\r
+ "The Protocol is one of Ethertype, LLC, or Other.";\r
+ }\r
+ leaf protocol-id {\r
+ type yang:hex-string;\r
+ description\r
+ "The Protocol Identifier is the protocol " +\r
+ "specific value associated with the " +\r
+ "protocol in a colon separated list of " +\r
+ "hex values (ie. 88:EE or 82).";\r
+ }\r
+ leaf cos-name {\r
+ type leafref {\r
+ path "/mef-global:mef-global/profiles/" +\r
+ "cos-names/cos-name/name";\r
+ }\r
+ description\r
+ "This attribute identifies the name of " +\r
+ "a class of service (CoS).";\r
+ }\r
+ leaf handling {\r
+ type mef-types:l2cp-handling-type;\r
+ description\r
+ "The handling selection indicates whether " +\r
+ "the L2CP Service Frames identified by " +\r
+ "this list entry should be passed, " +\r
+ "discarded, or peered.";\r
+ reference "[MEF45] Section 8.5.";\r
+ }\r
+ leaf-list subtype {\r
+ type yang:hex-string;\r
+ max-elements "255";\r
+ description\r
+ "L2CP Subtype for this Destination " +\r
+ "MAC's Protocol ID.";\r
+ }\r
+ }\r
+ }\r
+ leaf id {\r
+ type mef-types:identifier45;\r
+ description\r
+ "The L2CP ID identifies a specific profile for " +\r
+ "Layer 2 Control Processing.";\r
+ reference "[MEF10.3] Section 8.5.";\r
+ }\r
+ leaf user-label {\r
+ type mef-types:identifier45;\r
+ description\r
+ "This attribute is a friendly name for the " +\r
+ "specific L2CP profile.";\r
+ }\r
+ }\r
+ }\r
+ container l2cp-eec {\r
+ description\r
+ "Egress Layer 2 Control Protocol (L2CP) Configuration " +\r
+ "with EEC Names.";\r
+ list l2cp-profile {\r
+ key "id";\r
+ description\r
+ "A list of global profiles for Layer 2 Control " +\r
+ "Processing.";\r
+ reference "[MEF10.3] Section 8.5.";\r
+ container l2cps {\r
+ description\r
+ "Layer 2 Control Protocol (L2CP) Profiles for " +\r
+ "Egress Equivalence Classes.";\r
+ list l2cp {\r
+ key "dest-mac-addr peering-proto-name";\r
+ description\r
+ "L2CP Destination MAC Address.";\r
+ reference "[MEF10.3] Section 8.5.";\r
+ leaf dest-mac-addr {\r
+ type yang:mac-address;\r
+ description\r
+ "The Destination MAC Address for the " +\r
+ "Layer 2 Control Protocol.";\r
+ }\r
+ leaf peering-proto-name {\r
+ type mef-types:identifier45;\r
+ description\r
+ "This attribute is a friendly name for the " +\r
+ "Protocol to be Peered. It is optional.";\r
+ }\r
+ leaf protocol {\r
+ type mef-types:l2cp-peering-protocol-type;\r
+ default "ethertype";\r
+ description\r
+ "The Protocol is one of Ethertype, LLC, or Other.";\r
+ }\r
+ leaf protocol-id {\r
+ type yang:hex-string;\r
+ description\r
+ "The Protocol Identifier is the protocol " +\r
+ "specific " +\r
+ "value associated with the protocol in a " +\r
+ "colon separated list of hex values " +\r
+ "(ie. 88:EE or 82).";\r
+ }\r
+ leaf eec-name {\r
+ type leafref {\r
+ path "/mef-global:mef-global/profiles/" +\r
+ "eec-names/eec-name/name";\r
+ }\r
+ description\r
+ "This attribute identifies the name of a " +\r
+ "Egress Equivalence Class (EEC).";\r
+ }\r
+ leaf handling {\r
+ type mef-types:l2cp-handling-type;\r
+ description\r
+ "The handling selection indicates whether " +\r
+ "the L2CP Service Frames identified by this " +\r
+ "list entry should be passed, discarded, " +\r
+ "or peered.";\r
+ reference "[MEF45] Section 8.5.";\r
+ }\r
+ leaf-list subtype {\r
+ type yang:hex-string;\r
+ max-elements "255";\r
+ description\r
+ "L2CP Subtype for this Destination MAC's " +\r
+ "Protocol ID.";\r
+ }\r
+ }\r
+ }\r
+ leaf id {\r
+ type mef-types:identifier45;\r
+ description\r
+ "The L2CP ID identifies a specific profile for " +\r
+ "Layer 2 Control Processing.";\r
+ reference "[MEF10.3] Section 8.5.";\r
+ }\r
+ leaf user-label {\r
+ type mef-types:identifier45;\r
+ description\r
+ "This attribute is a friendly name for the " +\r
+ "specific L2CP profile.";\r
+ }\r
+ }\r
+ }\r
+ container l2cp-peering {\r
+ description\r
+ "Layer 2 Control Protocol (L2CP) Configuration " +\r
+ "for Peering Lists.";\r
+ list l2cp-profile {\r
+ key "id";\r
+ description\r
+ "A list of global profiles for " +\r
+ "Layer 2 Control Processing.";\r
+ reference "[MEF10.3] Section 8.5.";\r
+ container l2cps {\r
+ description\r
+ "Layer 2 Control Protocol (L2CP) Profiles for " +\r
+ "Peering.";\r
+ list l2cp {\r
+ key "dest-mac-addr peering-proto-name";\r
+ description\r
+ "L2CP Destination MAC Address.";\r
+ reference "[MEF10.3] Section 8.5.";\r
+ leaf dest-mac-addr {\r
+ type yang:mac-address;\r
+ description\r
+ "The Destination MAC Address for the " +\r
+ "Layer 2 Control Protocol.";\r
+ }\r
+ leaf peering-proto-name {\r
+ type mef-types:identifier45;\r
+ description\r
+ "This attribute is a friendly name for the " +\r
+ "Protocol to be Peered. It is optional.";\r
+ }\r
+ leaf protocol {\r
+ type mef-types:l2cp-peering-protocol-type;\r
+ default "ethertype";\r
+ description\r
+ "The Protocol is one of Ethertype, LLC, or Other.";\r
+ }\r
+ leaf protocol-id {\r
+ type yang:hex-string;\r
+ description\r
+ "The Protocol Identifier is the protocol " +\r
+ "specific value associated with the protocol " +\r
+ "in a colon separated list of hex values " +\r
+ "(ie. 88:EE or 82).";\r
+ }\r
+ leaf-list subtype {\r
+ type yang:hex-string;\r
+ max-elements "255";\r
+ description\r
+ "L2CP Subtype for this Destination MAC's " +\r
+ "Protocol ID.";\r
+ }\r
+ }\r
+ }\r
+ leaf id {\r
+ type mef-types:identifier45;\r
+ description\r
+ "The L2CP ID identifies a specific profile for " +\r
+ "Layer 2 Control Processing.";\r
+ reference "[MEF10.3] Section 8.5.";\r
+ }\r
+ leaf user-label {\r
+ type mef-types:identifier45;\r
+ description\r
+ "This attribute is a friendly name for the " +\r
+ "specific L2CP profile.";\r
+ }\r
+ }\r
+ }\r
+ container elmi {\r
+ description\r
+ "Ethernet Local Management Interface(ELMI).";\r
+ list elmi-profile {\r
+ key "id";\r
+ description\r
+ "Ethernet Local Management Interface(ELMI) Profile ID.";\r
+ reference "[MEF10.3] [R88]. [MEF16].";\r
+ leaf id {\r
+ type mef-types:identifier45;\r
+ description\r
+ "Ethernet Local Management Interface(ELMI) " +\r
+ "Profile ID.";\r
+ reference "[MEF10.3] [R88]. [MEF16].";\r
+ }\r
+ leaf user-label {\r
+ type mef-types:identifier45;\r
+ description\r
+ "This attribute is a friendly name for the " +\r
+ "specific ELMI Category described within this " +\r
+ "profile.";\r
+ }\r
+ leaf polling-counter {\r
+ type mef-types:elmi-polling-counter-type;\r
+ default "360";\r
+ description\r
+ "Polling cycles between Full Status exchanges.";\r
+ reference "[MEF16] Section 5.6.1.";\r
+ }\r
+ leaf status-error-threshold {\r
+ type mef-types:elmi-status-error-threshold-type;\r
+ default "4";\r
+ description\r
+ "The count of consecutive ELMI status polling " +\r
+ "errors before raising an error.";\r
+ reference "[MEF16] Section 5.6.1.";\r
+ }\r
+ leaf polling-timer {\r
+ type mef-types:elmi-polling-timer-type;\r
+ default "10";\r
+ description\r
+ "The timer started after tranmitting a Status " +\r
+ "Enquiry. If the timer expires, record the error " +\r
+ "if a STATUS message not received and resend " +\r
+ "Status Enquiry.";\r
+ reference "[MEF16] Section 5.6.1.";\r
+ }\r
+ leaf polling-verification-timer {\r
+ type mef-types:elmi-polling-verification-timer-type;\r
+ default "15";\r
+ description\r
+ "The type used for a timer started after " +\r
+ "tranmitting a Status Message. If a Status " +\r
+ "Enquiry is recieved before this timer " +\r
+ "expires, record the error.";\r
+ reference "[MEF16] Section 5.6.1.";\r
+ }\r
+ }\r
+ }\r
+ container eec {\r
+ description\r
+ "Egress Equivalence Class (EEC) Profiles.";\r
+ list eec-profile {\r
+ key "id";\r
+ description\r
+ "This attribute identifies the identifier of a " +\r
+ "Egress Equivance Class (EEC) instance.";\r
+ reference "[MEF6.2] Appendix A.";\r
+ leaf id {\r
+ type mef-types:identifier45;\r
+ description\r
+ "This attribute identifies the label of a " +\r
+ "Egress Equivance Class (EEC) instance.";\r
+ }\r
+ choice eec-id {\r
+ description\r
+ "EEC Identifier.";\r
+ case pcp {\r
+ container eec-pcp {\r
+ presence "EEC Mode PCP.";\r
+ description\r
+ "EEC Mode PCP.";\r
+ leaf default-pcp-eec-name {\r
+ type leafref {\r
+ path "/mef-global:mef-global/profiles/" +\r
+ "eec-names/eec-name/name";\r
+ }\r
+ description\r
+ "Default value for EEC Name for PCP " +\r
+ "when it has not been explicitly configured.";\r
+ }\r
+ leaf default-pcp-color {\r
+ type mef-types:cos-color-type;\r
+ default "green";\r
+ description\r
+ "If the EEC ID = pcp, then this value " +\r
+ "will be used as the default Color when " +\r
+ "the PCP value does not have an explicitly " +\r
+ "configured Color.";\r
+ reference "MEF 10.3 Section 10.3";\r
+ }\r
+ list pcp {\r
+ key "pcp-value";\r
+ description\r
+ "PCP.";\r
+ leaf pcp-value {\r
+ type mef-types:ieee8021p-priority-type;\r
+ description\r
+ "Use the VLAN Tag IEEE 802.1p Priority " +\r
+ "Code Point value (0..7) for CoS.";\r
+ reference "[MEF10.3] Section 10.2.1.";\r
+ }\r
+ leaf discard-value {\r
+ type boolean;\r
+ default "false";\r
+ description\r
+ "Set to True to discard Service Frames " +\r
+ "that match to this PCP value.";\r
+ }\r
+ leaf eec-name {\r
+ type leafref {\r
+ path "/mef-global:mef-global/profiles/" +\r
+ "eec-names/eec-name/name";\r
+ }\r
+ description\r
+ "This attribute identifies the name of a " +\r
+ "Egress Equivalence Class instance.";\r
+ }\r
+ leaf color {\r
+ type mef-types:cos-color-type;\r
+ default "green";\r
+ description\r
+ "EVC Per UNI: The EEC Color for " +\r
+ "Service Frames.";\r
+ reference "[MEF10.3] [R102], [R103]. ";\r
+ }\r
+ }\r
+ }\r
+ }\r
+ case dscp {\r
+ container eec-dscp {\r
+ presence "EEC Mode DSCP.";\r
+ description\r
+ "ECC Mode DSCP.";\r
+ leaf default-ipv4-eec-name {\r
+ type leafref {\r
+ path "/mef-global:mef-global/profiles/" +\r
+ "eec-names/eec-name/name";\r
+ }\r
+ description\r
+ "Default value for EEC Name for DSCP IPv4 " +\r
+ "Packets when it has not been " +\r
+ "explicitly configured.";\r
+ }\r
+ leaf default-ipv4-color {\r
+ type mef-types:cos-color-type;\r
+ default "green";\r
+ description\r
+ "If the EEC ID = dscp, then this value will " +\r
+ "be used as the default Color when the " +\r
+ "DSCP value for IPv4 does not have an " +\r
+ "explicitly configured Color.";\r
+ reference "MEF 10.3 Section 10.3";\r
+ }\r
+ leaf default-ipv6-eec-name {\r
+ type leafref {\r
+ path "/mef-global:mef-global/profiles/" +\r
+ "eec-names/eec-name/name";\r
+ }\r
+ description\r
+ "Default value for EEC Name for DSCP IPv6 " +\r
+ "Packets when it has not been explicitly " +\r
+ "configured.";\r
+ }\r
+ leaf default-ipv6-color {\r
+ type mef-types:cos-color-type;\r
+ default "green";\r
+ description\r
+ "If the EEC ID = dscp, then this value " +\r
+ "will be used as the default Color " +\r
+ "when the DSCP value for IPv6 does " +\r
+ "not have an explicitly configured Color.";\r
+ reference "MEF 10.3 Section 10.3";\r
+ }\r
+ list ipv4-dscp {\r
+ key "dscp-value";\r
+ description\r
+ "DSCP value for IPv4 Packets.";\r
+ leaf dscp-value {\r
+ type inet:dscp;\r
+ description\r
+ "Map CoS to IPv4 DSCP values.";\r
+ }\r
+ leaf discard-value {\r
+ type boolean;\r
+ default "false";\r
+ description\r
+ "Set to True to discard Service Frames " +\r
+ "that match to this DSCP value.";\r
+ }\r
+ leaf eec-name {\r
+ type leafref {\r
+ path "/mef-global:mef-global/profiles/" +\r
+ "eec-names/eec-name/name";\r
+ }\r
+ description\r
+ "This attribute identifies the name " +\r
+ "of a Egress Equivalence Class instance.";\r
+ }\r
+ leaf color {\r
+ type mef-types:cos-color-type;\r
+ default "green";\r
+ description\r
+ "EVC Per UNI: The EEC Color for " +\r
+ "Service Frames.";\r
+ reference "[MEF10.3] [R102], [R103]. ";\r
+ }\r
+ }\r
+ list ipv6-dscp {\r
+ key "dscp-value";\r
+ description\r
+ "DSCP value for IPv6 Packets.";\r
+ leaf dscp-value {\r
+ type inet:dscp;\r
+ description\r
+ "Map EEC to IPv4 and IPv6 DSCP values.";\r
+ }\r
+ leaf discard-value {\r
+ type boolean;\r
+ default "false";\r
+ description\r
+ "Set to True to discard Service Frames " +\r
+ "that match to this DSCP value.";\r
+ }\r
+ leaf eec-name {\r
+ type leafref {\r
+ path "/mef-global:mef-global/profiles/" +\r
+ "eec-names/eec-name/name";\r
+ }\r
+ description\r
+ "This attribute identifies the name of a " +\r
+ "Egress Equivalence Class instance.";\r
+ }\r
+ leaf color {\r
+ type mef-types:cos-color-type;\r
+ default "green";\r
+ description\r
+ "EVC Per UNI: The EEC Color for " +\r
+ "Service Frames.";\r
+ reference "[MEF10.3] [R102], [R103]. ";\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+ container cos {\r
+ description\r
+ "Class of Service (CoS) Profiles.";\r
+ list cos-profile {\r
+ key "id";\r
+ description\r
+ "This attribute identifies the identifier of a " +\r
+ "Class of Service (CoS) instance.";\r
+ reference "[MEF6.2] Appendix A.";\r
+ leaf id {\r
+ type mef-types:identifier45;\r
+ description\r
+ "This attribute identifies the label of a " +\r
+ "Class of Service (CoS) instance.";\r
+ }\r
+ choice cos-id {\r
+ description\r
+ "CoS identifier.";\r
+ case evc {\r
+ container cos-evc {\r
+ presence "EVC ID PCP.";\r
+ description\r
+ "CoS ID EVC.";\r
+ leaf default-evc-cos-name {\r
+ type leafref {\r
+ path "/mef-global:mef-global/profiles/" +\r
+ "cos-names/cos-name/name";\r
+ }\r
+ description\r
+ "This attribute identifies the name of a " +\r
+ "Class of Service (CoS) instance.";\r
+ }\r
+ leaf default-evc-color {\r
+ type mef-types:cos-color-type;\r
+ default "green";\r
+ description\r
+ "If the CoS ID = evc, then all service " +\r
+ "frames are treated with the same color.";\r
+ reference "MEF 10.3 Section 10.3";\r
+ }\r
+ }\r
+ }\r
+ case pcp {\r
+ container cos-pcp {\r
+ presence "CoS ID PCP.";\r
+ description\r
+ "CoS ID PCP.";\r
+ leaf default-pcp-cos-name {\r
+ type leafref {\r
+ path "/mef-global:mef-global/profiles/" +\r
+ "cos-names/cos-name/name";\r
+ }\r
+ description\r
+ "Default value for CoS Name for PCP when it " +\r
+ "has not been explicitly configured.";\r
+ }\r
+ leaf default-pcp-color {\r
+ type mef-types:cos-color-type;\r
+ default "green";\r
+ description\r
+ "If the CoS ID = pcp, then this value will " +\r
+ "be used as the default Color when the PCP " +\r
+ "value does not have an explicitly " +\r
+ "configured Color.";\r
+ reference "MEF 10.3 Section 10.3";\r
+ }\r
+ list pcp {\r
+ key "pcp-value";\r
+ description\r
+ "PCP.";\r
+ leaf pcp-value {\r
+ type mef-types:ieee8021p-priority-type;\r
+ description\r
+ "Use the VLAN Tag IEEE 802.1p Priority " +\r
+ "Code Point value (0..7) for CoS.";\r
+ }\r
+ leaf discard-value {\r
+ type boolean;\r
+ default "false";\r
+ description\r
+ "Set to True to discard Service Frames " +\r
+ "that match to this PCP value.";\r
+ }\r
+ leaf cos-name {\r
+ type leafref {\r
+ path "/mef-global:mef-global/profiles/" +\r
+ "cos-names/cos-name/name";\r
+ }\r
+ description\r
+ "This attribute identifies the name of " +\r
+ "a class of service (CoS) instance.";\r
+ }\r
+ leaf color {\r
+ type mef-types:cos-color-type;\r
+ default "green";\r
+ description\r
+ "EVC Per UNI: The CoS Color for " +\r
+ "Service Frames.";\r
+ reference "[MEF10.3] [R102], [R103]. ";\r
+ }\r
+ }\r
+ }\r
+ }\r
+ case dscp {\r
+ container cos-dscp {\r
+ presence "CoS ID DSCP.";\r
+ description\r
+ "CoS ID DSCP.";\r
+ leaf default-ipv4-cos-name {\r
+ type leafref {\r
+ path "/mef-global:mef-global/profiles/" +\r
+ "cos-names/cos-name/name";\r
+ }\r
+ description\r
+ "Default value for CoS Name for DSCP " +\r
+ "IPv4 Packets when it has not been " +\r
+ "explicitly configured.";\r
+ }\r
+ leaf default-ipv4-color {\r
+ type mef-types:cos-color-type;\r
+ default "green";\r
+ description\r
+ "If the CoS ID = dscp, then this value " +\r
+ "will be used as the default Color when " +\r
+ "the DSCP value for IPv4 does not have " +\r
+ "an explicitly configured Color.";\r
+ reference "MEF 10.3 Section 10.3";\r
+ }\r
+ leaf default-ipv6-cos-name {\r
+ type leafref {\r
+ path "/mef-global:mef-global/profiles/" +\r
+ "cos-names/cos-name/name";\r
+ }\r
+ description\r
+ "Default value for CoS Name for DSCP " +\r
+ "IPv6 Packets when it has not been " +\r
+ "explicitly configured.";\r
+ }\r
+ leaf default-ipv6-color {\r
+ type mef-types:cos-color-type;\r
+ default "green";\r
+ description\r
+ "If the CoS ID = dscp, then this value will " +\r
+ "be used as the default Color when the " +\r
+ "DSCP value for IPv6 does not have an " +\r
+ "explicitly configured Color.";\r
+ reference "MEF 10.3 Section 10.3";\r
+ }\r
+ list ipv4-dscp {\r
+ key "dscp-value";\r
+ description\r
+ "DSCP value for IPv4 Packets.";\r
+ leaf dscp-value {\r
+ type inet:dscp;\r
+ description\r
+ "Map CoS to IPv4 and IPv6 DSCP values.";\r
+ }\r
+ leaf discard-value {\r
+ type boolean;\r
+ default "false";\r
+ description\r
+ "Set to True to discard Service Frames " +\r
+ "that match to this DSCP value.";\r
+ }\r
+ leaf cos-name {\r
+ type leafref {\r
+ path "/mef-global:mef-global/profiles/" +\r
+ "cos-names/cos-name/name";\r
+ }\r
+ description\r
+ "This attribute identifies the name of a " +\r
+ "Class of Service (CoS) instance.";\r
+ }\r
+ leaf color {\r
+ type mef-types:cos-color-type;\r
+ default "green";\r
+ description\r
+ "EVC Per UNI: The CoS Color for " +\r
+ "Service Frames.";\r
+ reference "[MEF10.3] [R102], [R103]. ";\r
+ }\r
+ }\r
+ list ipv6-dscp {\r
+ key "dscp-value";\r
+ description\r
+ "DSCP value for IPv6 Packets.";\r
+ leaf dscp-value {\r
+ type inet:dscp;\r
+ description\r
+ "Map CoS to IPv4 and IPv6 DSCP values.";\r
+ }\r
+ leaf discard-value {\r
+ type boolean;\r
+ default "false";\r
+ description\r
+ "Set to True to discard Service Frames " +\r
+ "that match to this DSCP value.";\r
+ }\r
+ leaf cos-name {\r
+ type leafref {\r
+ path "/mef-global:mef-global/profiles/" +\r
+ "cos-names/cos-name/name";\r
+ }\r
+ description\r
+ "This attribute identifies the name of a " +\r
+ "Class of Service (CoS) instance.";\r
+ }\r
+ leaf color {\r
+ type mef-types:cos-color-type;\r
+ default "green";\r
+ description\r
+ "EVC Per UNI: The CoS Color for " +\r
+ "Service Frames.";\r
+ reference "[MEF10.3] [R102], [R103]. ";\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+}
\ No newline at end of file
--- /dev/null
+module mef-interfaces {\r
+ namespace "http://metroethernetforum.org/ns/yang/mef-interfaces";\r
+ prefix mef-interfaces;\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-topology {\r
+ prefix mef-topology;\r
+ }\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
+ description\r
+ "This module implements the UNI functionality specified\r
+ 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\r
+ the MEF Interfaces YANG Module. The following are the\r
+ 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
+ revision 2015-05-26 {\r
+ description\r
+ "Formal Project Review Draft 1.";\r
+ reference "EVC Ethernet Services Definitions YANG Modules " +\r
+ "(MEF XX), TBD";\r
+ }\r
+ container mef-interfaces {\r
+ description\r
+ "MEF Interfaces";\r
+ container unis {\r
+ description\r
+ "User Network Interface(UNI).";\r
+ list uni {\r
+ must "not(./ingress-bw-profile-per-uni) or " +\r
+ "((./ingress-bw-profile-per-uni) and " +\r
+ "not(./ingress-envelopes))" {\r
+ error-message "If there is a per UNI Ingress Bandwidth " +\r
+ "Profile, then there cannot be any other Ingress " +\r
+ "Bandwidth Profiles at that UNI.";\r
+ description\r
+ "If there is a per UNI Ingress Bandwidth Profile, " +\r
+ "then there cannot be any other Ingress Bandwidth " +\r
+ "Profiles at that UNI.";\r
+ }\r
+ must "not(./egress-bw-profile-per-uni) or " +\r
+ "((./egress-bw-profile-per-uni) and " +\r
+ "not(./egress-envelopes))" {\r
+ error-message "If there is a per UNI Egress Bandwidth " +\r
+ "Profile, then there cannot be any other Egress " +\r
+ "Bandwidth Profiles at that UNI.";\r
+ description\r
+ "If there is a per UNI Egress Bandwidth Profile, " +\r
+ "then there cannot be any other Egress Bandwidth " +\r
+ "Profiles at that UNI.";\r
+ }\r
+ must "(not(/mef-global:mef-global/mef-global:" +\r
+ "subscribers) and " +\r
+ "not(./subscriber)) or " +\r
+ "(/mef-global:mef-global/mef-global:" +\r
+ "subscribers and " +\r
+ "./subscriber)" {\r
+ error-message "If the Subscribers list has been " +\r
+ "populated, a UNI must be configured for " +\r
+ "a single Subscriber.";\r
+ description\r
+ "[MEF103] [R1] A UNI must be dedicated to a single " +\r
+ "Subscriber. This must statement is effectively " +\r
+ "a 'mandatory true' when the Global Subscribers " +\r
+ "list is being used.";\r
+ }\r
+ must "(not(/mef-global:mef-global/mef-global:cens) and " +\r
+ "not(./cen-id)) or " +\r
+ "(/mef-global:mef-global/mef-global:cens and " +\r
+ "./cen-id)" {\r
+ error-message "If the CENs list has been populated, " +\r
+ "a UNI must be configured for a single CEN.";\r
+ description\r
+ "[MEF103] [R57] A UNI must be dedicated to a " +\r
+ "single CEN. This must statement is effectively " +\r
+ "a 'mandatory true' when the Global CENs list " +\r
+ "is being used.";\r
+ }\r
+ key "uni-id";\r
+ description\r
+ "MEF UNI List.";\r
+ reference "[MEF6.2] Section 8.2.2.";\r
+ container physical-layers {\r
+ description\r
+ "The Physical Layer MUST operate in a full duplex " +\r
+ "mode. It is not configurable.";\r
+ reference "[MEF10.3] Section 9.2, [R61], [R62]";\r
+ container links {\r
+ presence "A UNI must have links.";\r
+ description\r
+ "The Physical Layer for each physical link " +\r
+ "implementing the UNI MUST be one of the " +\r
+ "PHYs listed in IEEE Std 802.3–2012 but " +\r
+ "excluding 1000BASE-PX-D and 1000BASE-PX-U.";\r
+ reference "[MEF10.3] Section 9.2 [R60]";\r
+ list link {\r
+ must "count(.) >= 1" {\r
+ error-message "A UNI must have at least one " +\r
+ "physical link configured.";\r
+ description\r
+ "A UNI must have at least one physical link " +\r
+ "configured.";\r
+ }\r
+ key "device interface";\r
+ description\r
+ "A list of all the physical ports associated " +\r
+ "with this Link Layer.";\r
+ leaf device {\r
+ type leafref {\r
+ path "/mef-topology:mef-topology/mef-topology:" +\r
+ "devices/mef-topology:device/" +\r
+ "mef-topology:dev-id";\r
+ }\r
+ description\r
+ "The Physical Layer for each physical link " +\r
+ "implementing the UNI MUST be one of the " +\r
+ "PHYs listed in IEEE Std 802.3–2012 but " +\r
+ "excluding 1000BASE-PX-D and 1000BASE-PX-U.";\r
+ reference "[MEF10.3] Section 9.2 [R60]";\r
+ }\r
+ leaf interface {\r
+ type leafref {\r
+ path "/mef-topology:mef-topology/mef-topology:" +\r
+ "devices/mef-topology:device" +\r
+ "[mef-topology:dev-id = " +\r
+ "current()/../device]" +\r
+ "/mef-topology:interfaces/mef-topology:" +\r
+ "interface/mef-topology:phy";\r
+ }\r
+ description\r
+ "The Physical Layer for each physical link " +\r
+ "implementing the UNI MUST be one of the " +\r
+ "PHYs listed in IEEE Std 802.3–2012 but " +\r
+ "excluding 1000BASE-PX-D and 1000BASE-PX-U.";\r
+ reference "[MEF10.3] Section 9.2 [R60]";\r
+ }\r
+ leaf ieee8023-phy {\r
+ type identityref {\r
+ base mef-types:ieee-8023-interface-type;\r
+ }\r
+ must "(. != 'mef-types:" +\r
+ "ieee8023-1000BASE-PX-D') and " +\r
+ "(. != 'mef-types:ieee8023-1000BASE-PX-U')" {\r
+ error-message "The Physical Layer for each " +\r
+ "physical link implementing the UNI " +\r
+ "cannot be 1000BASE-PX-D and 1000BASE-PX-U.";\r
+ description\r
+ "The Physical Layer for each physical " +\r
+ "link implementing the UNI cannot be " +\r
+ "1000BASE-PX-D and 1000BASE-PX-U.";\r
+ }\r
+ description\r
+ "The Physical Layer for each physical link " +\r
+ "implementing the UNI MUST be one of the " +\r
+ "PHYs listed in IEEE Std 802.3–2012 but " +\r
+ "excluding 1000BASE-PX-D and 1000BASE-PX-U.";\r
+ reference "[MEF10.3] Section 9.2 [R60]";\r
+ }\r
+ leaf connection-speed {\r
+ type mef-types:ext-if-physical-layer-type;\r
+ units "bits-per-second";\r
+ default "1G";\r
+ description\r
+ "Physical Layer Connection Speed (Max Data Rate).";\r
+ reference "[MEF10.3] Section 9.2. [MEF6.2] " +\r
+ "Section 8.2.2. [MEF20] [R80].";\r
+ }\r
+ leaf phy-auto-neg {\r
+ type mef-types:auto-negotiation-type;\r
+ default "on";\r
+ description\r
+ "Auto-Negotiation ON/OFF/Auto.";\r
+ reference "[MEF6.2] Section 8.2.2. [MEF20] [R80]. " +\r
+ "[MEF7.3] Section 10.2.2.";\r
+ }\r
+ leaf sync-mode-enabled {\r
+ type boolean;\r
+ must ".='false' or (.='true' and " +\r
+ "../clock-accuracy)" {\r
+ error-message "The quality of the clock " +\r
+ "reference must be set if Synchronous " +\r
+ "Mode is enabled.";\r
+ description\r
+ "The quality of the clock reference must " +\r
+ "be set if Synchronous Mode is enabled.";\r
+ }\r
+ default "false";\r
+ description\r
+ "Enabled or Disabled for each physical link " +\r
+ "implementing the UNI.";\r
+ reference "[MEF10.3] Section 9.3. [MEF6.2] " +\r
+ "Section 8.2.2. [MEF7.3] Section 10.2.2.";\r
+ }\r
+ leaf clock-accuracy {\r
+ type decimal64 {\r
+ fraction-digits 3;\r
+ }\r
+ units "ppm";\r
+ description\r
+ "ESMC:Ethernet Equipment Slave Clock Accuracy " +\r
+ "in PPM. IEEE 802.3 standard specifies " +\r
+ "that Ethernet clock accuracy is to be less " +\r
+ "than or equal to +- 4.6 PPM.";\r
+ reference "[MEF10.3] Section 9.3, [R62]. " +\r
+ "[MEF22.1], [IEEE802.3].";\r
+ }\r
+ }\r
+ }\r
+ leaf number-of-links {\r
+ type uint32 {\r
+ range "1..max";\r
+ }\r
+ must ". = count(../links/link)" {\r
+ error-message "The UNI Number of Links value " +\r
+ "must match to the number of interfaces " +\r
+ "in the link list.";\r
+ description\r
+ "The UNI Number of Links value must match " +\r
+ "to the number of interfaces in the link list.";\r
+ }\r
+ default "1";\r
+ description\r
+ "The number of links configured in the links list.";\r
+ reference "[MEF10.3] [R63]. [MEF7.3] Section 10.2.2.";\r
+ }\r
+ }\r
+ container ce-vlans {\r
+ description\r
+ "Each Device (and by extension UNIs) MUST have list " +\r
+ "of the CE-VLAN ID including mappings to configured " +\r
+ "EVCs if assigned. This list of ce-vlans is a " +\r
+ "complete list of all VLANs associated with this " +\r
+ "UNI. At the Service Module level, there are two " +\r
+ "lists: This one and the list of CE-VLAN IDs " +\r
+ "associated with the EVC's UNI List as part of " +\r
+ "the MEF Service Definition. ";\r
+ reference "[MEF10.3] Section 9.10, [R77], [R78]. " +\r
+ "[MEF7.3] Section 10.2.2.";\r
+ list ce-vlan {\r
+ key "vid";\r
+ description\r
+ "A list of all EC-VLANs allowed ingres or egress " +\r
+ "on the UNI. This is the UNI-specific CE-VLAN ID " +\r
+ "listing as part of the Service Level " +\r
+ "CE-VLAN ID / EVC Map.";\r
+ reference "[MEF10.3] Section 9.10.1.";\r
+ leaf vid {\r
+ type mef-types:vlan-id-type;\r
+ description\r
+ "The Customer Edge VLAN ID is equivalent " +\r
+ "to a Static VLAN allowed on that port " +\r
+ "(ie. Port is not Forbidden). The " +\r
+ "association with the EVC is part of " +\r
+ "the EVC configuration.";\r
+ reference "[MEF10.3] Section 9.10.";\r
+ }\r
+ }\r
+ }\r
+ container ingress-envelopes {\r
+ presence "Ingress Bandwidth Profile Envelopes " +\r
+ "configured.";\r
+ description\r
+ "UNI Bandwidth Profile Flow Envelopes.";\r
+ reference "[MEF10.3] Section 9.15, Section 12.1. " +\r
+ "[MEF6.2] Section 8.2.1: [R3]. " +\r
+ "[MEF7.3] Section 10.2.2.";\r
+ list envelope {\r
+ key "env-id";\r
+ description\r
+ "UNI Bandwidth Profile Flow Envelope List.";\r
+ reference "[MEF10.3] Section 9.15, Section 12.1. " +\r
+ "[MEF6.2] Section 8.2.1, [R3], " +\r
+ "Section 8.2.2, [R4]. [MEF7.3] " +\r
+ "Section 10.2.2.";\r
+ container bwp-flows {\r
+ presence "Bandwidth Profile configured for " +\r
+ "this envelope.";\r
+ description\r
+ "UNI Bandwidth Profile Flows per Envelope.";\r
+ reference "[MEF10.3] Section 12.1. " +\r
+ "[MEF6.2] Section 10.1.";\r
+ list bwp-flow {\r
+ key "bw-profile";\r
+ ordered-by user;\r
+ description\r
+ "UNI Bandwidth Profile Flow List per Envelope. " +\r
+ "The order of entries in the list is user " +\r
+ "controlled. The first element of the list " +\r
+ "has the lowest priority and the last " +\r
+ "element will have the highest priority.";\r
+ reference "[MEF10.3] Section 12.1. " +\r
+ "[MEF6.2] Section 10.1. " +\r
+ "[MEF6.2] Section 8.2.1, [R3]. ";\r
+ leaf bw-profile {\r
+ type leafref {\r
+ path "/mef-global:mef-global/mef-global:" +\r
+ "profiles/mef-global:" +\r
+ "ingress-bwp-flows/mef-global:" +\r
+ "bwp-flow/mef-global:bw-profile";\r
+ }\r
+ must "(../../../../../token-share-enabled = " +\r
+ "'true') or " +\r
+ "((../../../../../token-share-enabled = " +\r
+ "'false') and " +\r
+ "(count(../../bwp-flow) = 1))" {\r
+ error-message "A UNI with Token Share " +\r
+ "Disabled MUST have exactly one " +\r
+ "Bandwidth Profile Flow per envelope.";\r
+ description\r
+ "A UNI with Token Share Disabled MUST " +\r
+ "have exactly one Bandwidth Profile Flow " +\r
+ "per envelope.";\r
+ }\r
+ must "(../../../coupling-enabled = 'false') or " +\r
+ "(/mef-global:mef-global/mef-global:" +\r
+ "profiles/mef-global:" +\r
+ "ingress-bwp-flows/mef-global:bwp-flow" +\r
+ "[mef-global:bw-profile = current()]/" +\r
+ "mef-global:coupling-enabled = 'false')" {\r
+ error-message "If an Ingress Envelope's " +\r
+ "Coupling Flag is Enabled, then " +\r
+ "the Coupling Flags must be disabled " +\r
+ "for all Bandwidth Profile Flows " +\r
+ "mapped to the Envelope.";\r
+ description\r
+ "If an Ingress Envelope's Coupling Flag is " +\r
+ "Enabled, then the Coupling Flags must " +\r
+ "be disabled for all Bandwidth Profile " +\r
+ "Flows mapped to the Envelope.";\r
+ }\r
+ description\r
+ "If no Ingress Bandwidth Profile per UNI " +\r
+ "has been defined (ie. 'No'), then the " +\r
+ "behavior has been defined at the Service " +\r
+ "Level of the configuration.";\r
+ reference "[MEF10.3] Section 9.14, " +\r
+ "Section 12.1, [R84], [R134]. " +\r
+ "[MEF6.2] Section 8.2.1,[R3],[R136]. " +\r
+ "Section 8.2.2, 10.1, [R6]. [MEF7.3] " +\r
+ "Section 10.2.2.";\r
+ }\r
+ }\r
+ }\r
+ leaf env-id {\r
+ type mef-types:identifier45;\r
+ description\r
+ "This attribute identifies the Envelope of " +\r
+ "Bandwidth Profile Parameters.";\r
+ reference "[MEF10.3] Section 12.1.";\r
+ }\r
+ leaf coupling-enabled {\r
+ type boolean;\r
+ must "not(../bwp-flows) or " +\r
+ "(../bwp-flows/bwp-flow[2]) or " +\r
+ "(. = 'false')" {\r
+ error-message "When only one Bandwidth Profile " +\r
+ "Flow is mapped to an envelope, Envelope " +\r
+ "Coupling must be Disabled.";\r
+ description\r
+ "When only one Bandwidth Profile Flow is " +\r
+ "mapped to an envelope, Envelope " +\r
+ "Coupling must be Disabled.";\r
+ }\r
+ default "false";\r
+ description\r
+ "The Envelope Coupling Flag (CF) attribute.";\r
+ reference "[MEF10.3] Section 12.1.";\r
+ }\r
+ }\r
+ }\r
+ container egress-envelopes {\r
+ presence "Egress Bandwidth Profile Envelopes configured.";\r
+ description\r
+ "UNI Bandwidth Profile Flow Envelopes.";\r
+ reference "[MEF10.3] Section 9.15, Section 12.1. " +\r
+ "[MEF6.2] Section 8.2.1: [R3]. " +\r
+ "[MEF7.3] Section 10.2.2.";\r
+ list envelope {\r
+ key "env-id";\r
+ description\r
+ "UNI Bandwidth Profile Flow Envelope List.";\r
+ reference "[MEF10.3] Section 9.15, Section 12.1. " +\r
+ "[MEF6.2] Section 8.2.1, [R3], " +\r
+ "Section 8.2.2, [R4]. [MEF7.3] " +\r
+ "Section 10.2.2.";\r
+ container bwp-flows {\r
+ presence "Bandwidth Profile configured for " +\r
+ "this envelope.";\r
+ description\r
+ "UNI Bandwidth Profile Flows per Envelope.";\r
+ reference "[MEF10.3] Section 12.1. [MEF6.2] " +\r
+ "Section 10.1.";\r
+ list bwp-flow {\r
+ key "bw-profile";\r
+ ordered-by user;\r
+ description\r
+ "UNI Bandwidth Profile Flow List per Envelope. " +\r
+ "The order of entries in the list is user " +\r
+ "controlled. The first element of the list " +\r
+ "has the lowest priority and the last element " +\r
+ "will have the highest priority.";\r
+ reference "[MEF10.3] Section 12.1. " +\r
+ "[MEF6.2] Section 10.1. " +\r
+ "[MEF6.2] Section 8.2.1, [R3]. ";\r
+ leaf bw-profile {\r
+ type leafref {\r
+ path "/mef-global:mef-global/mef-global:" +\r
+ "profiles/mef-global:egress-bwp-flows" +\r
+ "/mef-global:bwp-flow/" +\r
+ "mef-global:bw-profile";\r
+ }\r
+ must "(../../../../../token-share-enabled = " +\r
+ "'true') or " +\r
+ "((../../../../../token-share-enabled = " +\r
+ "'false') and " +\r
+ "(count(../../bwp-flow) = 1))" {\r
+ error-message "A UNI with Token Share " +\r
+ "Disabled must have exactly one " +\r
+ "Bandwidth Profile Flow per envelope.";\r
+ description\r
+ "A UNI with Token Share Disabled must have " +\r
+ "exactly one Bandwidth Profile Flow per " +\r
+ "envelope.";\r
+ }\r
+ must "(../../../coupling-enabled = 'false') or " +\r
+ "(/mef-global:mef-global/mef-global:" +\r
+ "profiles/mef-global:" +\r
+ "egress-bwp-flows/mef-global:bwp-flow" +\r
+ "[mef-global:bw-profile = current()]/" +\r
+ "mef-global:coupling-enabled = 'false')" {\r
+ error-message "If an Egress Envelope's " +\r
+ "Coupling Flag is Enabled, then the " +\r
+ "Coupling Flags must be disabled " +\r
+ "for all Bandwidth Profile Flows " +\r
+ "mapped to the Envelope.";\r
+ description\r
+ "If an Egress Envelope's Coupling Flag " +\r
+ "is Enabled, then the Coupling Flags must " +\r
+ "be disabled for all Bandwidth Profile " +\r
+ "Flows mapped to the Envelope.";\r
+ }\r
+ description\r
+ "UNI Bandwidth Profile Flow per Envelope.";\r
+ reference "[MEF10.3] Section 12.1. " +\r
+ "[MEF6.2] Section 10.1. " +\r
+ "[MEF6.2] Section 8.2.1, [R3], [R136]. ";\r
+ }\r
+ }\r
+ }\r
+ leaf env-id {\r
+ type mef-types:identifier45;\r
+ description\r
+ "This attribute identifies the Envelope of " +\r
+ "Bandwidth Profile Parameters.";\r
+ reference "[MEF10.3] Section 12.1.";\r
+ }\r
+ leaf coupling-enabled {\r
+ type boolean;\r
+ must "not(../bwp-flows) or " +\r
+ "(../bwp-flows/bwp-flow[2]) or " +\r
+ "(. = 'false')" {\r
+ error-message "When only one Bandwidth Profile " +\r
+ "Flow is mapped to an envelope, " +\r
+ "Envelope Coupling must be Disabled.";\r
+ description\r
+ "When only one Bandwidth Profile Flow is " +\r
+ "mapped to an envelope, Envelope Coupling " +\r
+ "must be Disabled.";\r
+ }\r
+ default "false";\r
+ description\r
+ "The Envelope Coupling Flag (CF) attribute.";\r
+ reference "[MEF10.3] Section 12.1.";\r
+ }\r
+ }\r
+ }\r
+ container status {\r
+ description\r
+ "This group is related to the MEF 7.3 External " +\r
+ "Network Interface";\r
+ leaf oper-state-enabled {\r
+ type boolean;\r
+ default "false";\r
+ config false;\r
+ description\r
+ "Operational Status of the Link as " +\r
+ "Enabled/Disabled.";\r
+ reference "[MEF15]. [MEF7.3] Section 10.1.1.";\r
+ }\r
+ leaf available-status {\r
+ type mef-types:ext-if-availability-type;\r
+ default "not-installed";\r
+ config false;\r
+ description\r
+ "Availability Status of the Link.";\r
+ reference "[MEF15]. [MEF7.3] Section 10.1.1.";\r
+ }\r
+ leaf physical-layer {\r
+ type mef-types:ext-if-physical-layer-type;\r
+ default "1G";\r
+ config false;\r
+ description\r
+ "Physical Layer Connection Speed.";\r
+ reference "[MEF15]. [MEF7.3] Section 10.1.1.";\r
+ }\r
+ leaf number-of-links {\r
+ type uint32;\r
+ default "0";\r
+ config false;\r
+ description\r
+ "A count of the number of physical links in this " +\r
+ "physical layer.";\r
+ reference "[MEF15]. [MEF7.3] Section 10.1.1.";\r
+ }\r
+ leaf svc-frame-format {\r
+ type mef-types:svc-frame-format-type;\r
+ default "ctag";\r
+ config false;\r
+ description\r
+ "The format must be that of a MAC Frame specified " +\r
+ "in IEEE Std 802.3-2012 Clause 3.";\r
+ reference "[MEF10.3] Section 9.6. [MEF15]. " +\r
+ "[MEF7.2]. [MEF7.3] Section 10.1.1.";\r
+ }\r
+ }\r
+ leaf cen-id {\r
+ when "/mef-global:mef-global/mef-global:cens" {\r
+ description\r
+ "Only configure when the Global CENs list " +\r
+ "has been populated.";\r
+ }\r
+ type leafref {\r
+ path "/mef-global:mef-global/mef-global:cens/" +\r
+ "mef-global:cen/mef-global:cen-id";\r
+ }\r
+ description\r
+ "A CEN is defined as a network from a Service " +\r
+ "Provider (SP). The CEN ID must be unique for " +\r
+ "a specific Service Provider.";\r
+ reference "[MEF10.3] Section 7.";\r
+ }\r
+ leaf uni-id {\r
+ type mef-types:identifier45;\r
+ description\r
+ " The UNI IDs must be be unique within a specific CEN.";\r
+ reference "[MEF10.3] Section 9.1, [R1], [R57], [R58], " +\r
+ "[R59]. [MEF7.3] Section 10.2.2.";\r
+ }\r
+ leaf uni-type {\r
+ type mef-types:uni-mode-type;\r
+ default "uni";\r
+ description\r
+ " The UNI Type must be one of {UNI, VUNI}.";\r
+ reference "[MEF10.3] Section 9.1, [R1], [R57], [R58], " +\r
+ "[R59]. [MEF7.3] Section 10.2.2.";\r
+ }\r
+ leaf subscriber {\r
+ when "/mef-global:mef-global/mef-global:subscribers" {\r
+ description\r
+ "UNI Subscriber Attribute is only configurable " +\r
+ "when multiple Global Subscribers have been " +\r
+ "configured.";\r
+ }\r
+ type leafref {\r
+ path "/mef-global:mef-global/mef-global:subscribers/" +\r
+ "mef-global:subscriber/mef-global:sub-id";\r
+ }\r
+ description\r
+ "A UNI MUST be dedicated to a single Subscriber. " +\r
+ "This value can only be configured if the " +\r
+ "'/mef-global/subscribers/subscriber' list " +\r
+ "has been populated.";\r
+ reference "[MEF10.3] Section 7.";\r
+ }\r
+ leaf admin-state-enabled {\r
+ type boolean;\r
+ default "true";\r
+ description\r
+ "Locked/Unlocked is inconsistent with Oper Status " +\r
+ "and will be confusing.";\r
+ reference "MEF 15. MEF 7.3 Section 10.1.1.";\r
+ }\r
+ leaf mac-address {\r
+ type yang:mac-address;\r
+ description\r
+ "MAC Address.";\r
+ reference "[MEF15]. [MEF7.3] Section 10.1.1.";\r
+ }\r
+ leaf uni-resiliency {\r
+ type mef-types:uni-resiliency-type;\r
+ must "(. != 'none') or ((. = 'none') and " +\r
+ "(../physical-layers/number-of-links = 1))" {\r
+ error-message "If uni-resiliency is 'none', " +\r
+ "number-of-links must be 1.";\r
+ description\r
+ "If uni-resiliency is 'none', number-of-links " +\r
+ "must be 1.";\r
+ }\r
+ must "(. != 'dual-link-aggregation') or " +\r
+ "((. = 'dual-link-aggregation') and " +\r
+ "(../physical-layers/number-of-links = 2))" {\r
+ error-message "If uni-resiliency is " +\r
+ "'dual-link-aggregation', " +\r
+ "number-of-links must be 2.";\r
+ description\r
+ "If uni-resiliency is 'dual-link-aggregation', " +\r
+ "number-of-links must be 2.";\r
+ }\r
+ must "(. != 'other') or " +\r
+ "((. = 'other') and " +\r
+ "(../physical-layers/number-of-links > 2))" {\r
+ error-message "If uni-resiliency is 'other', " +\r
+ "number-of-links must be 3 or greater.";\r
+ description\r
+ "If uni-resiliency is 'other', number-of-links " +\r
+ "must be 3 or greater.";\r
+ }\r
+ default "none";\r
+ description\r
+ "UNI Resiliency.";\r
+ reference "[MEF10.3] Section 9.5 [R64], [R65], [R66], " +\r
+ "[R67]. [MEF6.2] Section 8.2.2.";\r
+ }\r
+ leaf max-svc-frame-size {\r
+ type mef-types:max-svc-frame-size-type;\r
+ default "1600";\r
+ description\r
+ "This attribute describes the maximum service frame " +\r
+ "size for the UNI.";\r
+ reference "[MEF10.3] Section 9.7, [R71], MEF 6.2 " +\r
+ "Section 8.2.2 and MEF 22.1: [D2]. " +\r
+ "[MEF7.3] Section 10.2.2.";\r
+ }\r
+ leaf svc-mux-enabled {\r
+ type boolean;\r
+ default "false";\r
+ description\r
+ "Service Multiplexing Enable - Enable if to support " +\r
+ "multiple EVCs per UNI.";\r
+ reference "[MEF10.3] Section 9.8. " +\r
+ "[MEF7.3] Section 10.2.2.";\r
+ }\r
+ leaf bundling-enabled {\r
+ type boolean;\r
+ default "false";\r
+ description\r
+ "When a UNI has Bundling Enabled, it MUST be able to " +\r
+ "support more than one CE-VLAN ID mapping to a " +\r
+ "particular EVC at the UNI. When more than one " +\r
+ "CE-VLAN-ID is mapped to an EVC at a UNI, the " +\r
+ "EVC have CE-VLAN ID Preservation enabled";\r
+ reference "[MEF10.3] Section 9.12, [R25], [R77], " +\r
+ "[R78], [R80]. [MEF7.3] Section 10.2.2.";\r
+ }\r
+ leaf all-to-one-bundling-enabled {\r
+ type boolean;\r
+ default "false";\r
+ description\r
+ "When all-to-one-bundling-enabled = true, all " +\r
+ "CE-VLAN IDs MUST map to a single EVC at the " +\r
+ "UNI. This also means that the UNI cannot " +\r
+ "have svc-mux-enabled = true. When " +\r
+ "all-to-one-bundling-enabled = true, " +\r
+ "all other UNIs in the EVC associating this UNI " +\r
+ "must have all-to-one-bundling-enabled = true. " +\r
+ "If this values is true, the value of " +\r
+ "ce-vlan-id-for-untagged-and-priority is not " +\r
+ "applicable.";\r
+ reference "[MEF10.3] Section 9.13, Table 12 " +\r
+ "(5 valid combinations), [R82], [R83]. " +\r
+ "[MEF7.3] Section 10.2.2.";\r
+ }\r
+ leaf ce-vlan-id-for-untagged-and-priority {\r
+ type mef-types:vlan-id-type;\r
+ default "1";\r
+ description\r
+ "The ce-vlan-id-for-untagged-and-priority is " +\r
+ "equivalent to the Layer 2 PVID (Port VLAN ID) " +\r
+ "with the Q-BRIDGE-MIB option for frame admitance set " +\r
+ "to admitAll. With AdmitAll set, all Untagged and " +\r
+ "Priority Tagged Service Frames are treated with " +\r
+ "the CE-VLAN-ID tag on ingress. It is not applicable " +\r
+ "if All in One Bundling is enabled.";\r
+ reference "[MEF10.3] Section 9.9, [R73], [R74], " +\r
+ "[R75]. [MEF7.3] Section 10.2.2.";\r
+ }\r
+ leaf max-evc-count {\r
+ type uint32 {\r
+ range "1..max";\r
+ }\r
+ default "1";\r
+ description\r
+ "The Maximum Number of EVCs that can be supported " +\r
+ "by this UNI (Default 1).";\r
+ reference "[MEF10.3] Section 9.11, [R79]. " +\r
+ "[MEF7.3] Section 10.2.2.";\r
+ }\r
+ leaf token-share-enabled {\r
+ type boolean;\r
+ default "false";\r
+ description\r
+ "Token Share Enabled/Disabled is used to indicate " +\r
+ "whether a given UNI is capable of sharing tokens " +\r
+ "across Bandwidth Profile Flows in an envelope.";\r
+ reference "[MEF6.2] Section 8.2.1, [R2], [D1], [R3]. " +\r
+ "[MEF7.3] Section 10.2.2.";\r
+ }\r
+ leaf ingress-bw-profile-per-uni {\r
+ type leafref {\r
+ path "/mef-global:mef-global/mef-global:profiles/" +\r
+ "mef-global:ingress-bwp-flows/mef-global:" +\r
+ "bwp-flow/mef-global:bw-profile";\r
+ }\r
+ description\r
+ "Ingress Bandwidth Profile for this UNI.";\r
+ reference "[MEF10.3] Section 9.15, Section 12.1. " +\r
+ "[MEF6.2] Section 8.2.1: [R3]. " +\r
+ "[MEF7.3] Section 10.2.2.";\r
+ }\r
+ leaf egress-bw-profile-per-uni {\r
+ type leafref {\r
+ path "/mef-global:mef-global/mef-global:profiles/" +\r
+ "mef-global:egress-bwp-flows/mef-global:" +\r
+ "bwp-flow/mef-global:bw-profile";\r
+ }\r
+ description\r
+ "Egress Bandwidth Profile Flow for this UNI.";\r
+ reference "[MEF10.3] Section 9.15, Section 12.1. " +\r
+ "[MEF6.2] Section 8.2.1: [R3]. " +\r
+ "[MEF7.3] Section 10.2.2.";\r
+ }\r
+ leaf link-oam-enabled {\r
+ type boolean;\r
+ default "false";\r
+ description\r
+ "Link OAM Enabled/Disabled.";\r
+ reference "[MEF10.3] Section 9.16, [R86]. " +\r
+ "[MEF6.2] Section 8.2.2, [D3]. " +\r
+ "[MEF7.3] Section 10.2.2.";\r
+ }\r
+ leaf uni-meg-enabled {\r
+ type boolean;\r
+ default "false";\r
+ description\r
+ "Enables / Disables the Maintenance Entity Group (MEG).";\r
+ reference "[MEF10.3] Section 9.17, [R87]. " +\r
+ "[MEF30.1] Section 7.9. [MEF6.2] Section 8.2.2, " +\r
+ "[D4]. [MEF7.3] Section 10.2.2.";\r
+ }\r
+ leaf elmi-enabled {\r
+ type boolean;\r
+ must "(. = 'false') or " +\r
+ "(. = 'true' and " +\r
+ "(../elmi-profile))" {\r
+ error-message "ELMI Profile must be set if " +\r
+ "ELMI is Enabled.";\r
+ description\r
+ "Ethernet Local Management Interface(ELMI) " +\r
+ "Profile ID must be set if ELMI is Enabled.";\r
+ }\r
+ default "false";\r
+ description\r
+ "Ethernet Local Management Interface(ELMI) " +\r
+ "Enabled / Disabled.";\r
+ reference "[MEF10.3] Section 9.18, [R88]. " +\r
+ "[MEF16]. [MEF6.2] Section 8.2.2, [D5]. " +\r
+ "[MEF7.3] Section 10.2.2.";\r
+ }\r
+ leaf elmi-profile {\r
+ type leafref {\r
+ path "/mef-global:mef-global/mef-global:profiles/" +\r
+ "mef-global:elmi/mef-global:elmi-profile/" +\r
+ "mef-global:id";\r
+ }\r
+ description\r
+ "The ELMI Profile is only applicable when ELMI " +\r
+ "is enabled. The E-LMI protocol is based on " +\r
+ "ITU-T Q.933, X.36 and other relevant " +\r
+ "recommendations as well as Frame Relay " +\r
+ "Local Management Interface (FR-LMI) " +\r
+ "Implementation Agreement document defined " +\r
+ "by the Frame Relay Forum and related " +\r
+ "ITU-T recommendations.";\r
+ reference "[MEF10.3] Section 9.18. " +\r
+ "[MEF7.3] Section 10.2.2.";\r
+ }\r
+ leaf l2cp-address-set {\r
+ type mef-types:l2cp-address-set-type;\r
+ default "aware-cta";\r
+ description\r
+ "The L2CP Address Set Service Attribute specifies " +\r
+ "the subset of the Bridge Reserved Addresses " +\r
+ "that are filtered (i.e. L2CP Frames with " +\r
+ "this destination address are Peered or " +\r
+ "Discarded but not Passed) at a L2CP Decision Point.";\r
+ reference "[MEF10.3] Section 9.19. " +\r
+ "[MEF45] Section 8.1, [R2] through [R9]. " +\r
+ "[MEF6.2] Section 8.2.2, [R1]. " +\r
+ "[MEF45] Section 8.1.";\r
+ }\r
+ leaf l2cp-peering-profile {\r
+ type leafref {\r
+ path "/mef-global:mef-global/mef-global:profiles/" +\r
+ "mef-global:l2cp-peering/mef-global:" +\r
+ "l2cp-profile/mef-global:id";\r
+ }\r
+ description\r
+ "L2CP Peering Profile for this UNI. This profile " +\r
+ "may contain groups of L2CP Destination " +\r
+ "MAC Addresses and protocols to be peered at " +\r
+ "the UNI (as opposed to being passed or discarded).";\r
+ reference "[MEF10.3] Section 9.19. " +\r
+ "[MEF45] Section 8.2. " +\r
+ "[MEF7.3] Section 10.2.2.";\r
+ }\r
+ }\r
+ }\r
+ }\r
+}
\ No newline at end of file
--- /dev/null
+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
+ 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
+ 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
+ revision 2015-05-26 {\r
+ description\r
+ "Formal Project Review Draft 1.";\r
+ reference "EVC Ethernet Services Definitions YANG Modules " +\r
+ "(MEF XX), TBD";\r
+ }\r
+ container mef-services {\r
+ description\r
+ "MEF Services";\r
+ list mef-service {\r
+ must "(not(/mef-global:mef-global/mef-global:svc-providers)" +\r
+ " and " +\r
+ "not(./sp-id)) or " +\r
+ "(/mef-global:mef-global/mef-global:svc-providers and " +\r
+ "./sp-id)" {\r
+ error-message "If the Service Providers list has been " +\r
+ "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
+ }\r
+ key "svc-id";\r
+ unique "evc/evc-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
+ }\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
+ "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/mef-interfaces:uni/" +\r
+ "mef-interfaces:uni-id";\r
+ }\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
+ "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
+ }\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: 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
+ }\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
+ 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
+ }\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
+ }\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 SOAM Service Frames.";\r
+ reference "[MEF10.3] Section 10.4. " +\r
+ "[MEF7.3] Section 12.1.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
+ 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
+ }\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
+ "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
+ }\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
+ 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
+ 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 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
+ default "inactive";\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 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
+ 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
+ }\r
+ type leafref {\r
+ path "/mef-global:mef-global/mef-global:svc-providers/" +\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
+ reference "[MEF10.3] Section 7.";\r
+ }\r
+ leaf svc-type {\r
+ type mef-types:mef-service-type;\r
+ must "(. != 'epl') or ((. = 'epl') and " +\r
+ "(count(/mef-interfaces:mef-interfaces/" +\r
+ "mef-interfaces:unis/mef-interfaces:uni" +\r
+ "[mef-interfaces:uni-id = current()/../" +\r
+ "mef-services:evc/mef-services:unis/mef-services:" +\r
+ "uni/mef-services:uni-id]" +\r
+ "[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
+ description\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
+ "mef-interfaces:unis/mef-interfaces:uni" +\r
+ "[mef-interfaces:uni-id = current()/../" +\r
+ "mef-services:evc/mef-services:unis/mef-services:" +\r
+ "uni/mef-services:uni-id]" +\r
+ "[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
+ description\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
+ "mef-interfaces:unis/mef-interfaces:uni" +\r
+ "[mef-interfaces:uni-id = current()/../" +\r
+ "mef-services:evc/mef-services:unis/" +\r
+ "mef-services:uni/mef-services:uni-id]" +\r
+ "[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
+ description\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
+ "mef-interfaces:unis/mef-interfaces:uni" +\r
+ "[mef-interfaces:uni-id = current()/../" +\r
+ "mef-services:evc/mef-services:unis/mef-services:" +\r
+ "uni/mef-services:uni-id]" +\r
+ "[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
+ description\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
+ 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
+ }\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
+ description\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
+ }\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
+ description\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
+ description\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
+ description\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
+ description\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
+ description\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
+ "mef-interfaces:unis/mef-interfaces:uni" +\r
+ "[mef-interfaces:uni-id = current()/../" +\r
+ "mef-services:evc/mef-services:unis/mef-services:" +\r
+ "uni/mef-services:uni-id]" +\r
+ "[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
+ description\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
+ "'unconditional') or " +\r
+ "(../evc/multicast-svc-frm-delivery != " +\r
+ "'unconditional') or " +\r
+ "(../evc/broadcast-svc-frm-delivery != " +\r
+ "'unconditional') or " +\r
+ "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
+ 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
+ }\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
+ }\r
+ must "(. != 'eplan') or ((. = 'eplan') and " +\r
+ "(count(/mef-interfaces:mef-interfaces/" +\r
+ "mef-interfaces:unis/mef-interfaces:uni" +\r
+ "[mef-interfaces:uni-id = current()/../" +\r
+ "mef-services:evc/mef-services:unis/mef-services:" +\r
+ "uni/mef-services:uni-id]" +\r
+ "[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
+ description\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
+ "mef-interfaces:unis/mef-interfaces:uni" +\r
+ "[mef-interfaces:uni-id = current()/../" +\r
+ "mef-services:evc/mef-services:unis/mef-services:" +\r
+ "uni/mef-services:uni-id]" +\r
+ "[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
+ description\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
+ "mef-interfaces:unis/mef-interfaces:uni" +\r
+ "[mef-interfaces:uni-id = current()/../" +\r
+ "mef-services:evc/mef-services:unis/" +\r
+ "mef-services:uni/mef-services:uni-id]" +\r
+ "[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
+ description\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
+ "mef-interfaces:unis/mef-interfaces:uni" +\r
+ "[mef-interfaces:uni-id = current()/../" +\r
+ "mef-services:evc/mef-services:unis/" +\r
+ "mef-services:uni/mef-services:uni-id]" +\r
+ "[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
+ description\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
+ description\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
+ description\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
+ description\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
+ description\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
+ "mef-interfaces:unis/mef-interfaces:uni" +\r
+ "[mef-interfaces:uni-id = current()/../" +\r
+ "mef-services:evc/mef-services:unis/mef-services:" +\r
+ "uni/mef-services:uni-id]" +\r
+ "[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
+ description\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
+ "mef-interfaces:unis/mef-interfaces:uni" +\r
+ "[mef-interfaces:uni-id = current()/../" +\r
+ "mef-services:evc/mef-services:unis/mef-services:" +\r
+ "uni/mef-services:uni-id]" +\r
+ "[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
+ description\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
+ "mef-interfaces:unis/mef-interfaces:uni" +\r
+ "[mef-interfaces:uni-id = current()/../" +\r
+ "mef-services:evc/mef-services:unis/mef-services:" +\r
+ "uni/mef-services:uni-id]" +\r
+ "[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
+ description\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
+ "mef-interfaces:unis/mef-interfaces:uni" +\r
+ "[mef-interfaces:uni-id = current()/../" +\r
+ "mef-services:evc/mef-services:unis/" +\r
+ "mef-services:uni/mef-services:uni-id]" +\r
+ "[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
+ description\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
+ "mef-interfaces:unis/mef-interfaces:uni" +\r
+ "[mef-interfaces:uni-id = current()/../" +\r
+ "mef-services:evc/mef-services:unis/" +\r
+ "mef-services:uni/mef-services:uni-id]" +\r
+ "[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
+ description\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
+ description\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
+ description\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
+ description\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
+ "mef-interfaces:unis/mef-interfaces:uni" +\r
+ "[mef-interfaces:uni-id = current()/../" +\r
+ "mef-services:evc/mef-services:unis/mef-services:" +\r
+ "uni/mef-services:uni-id]" +\r
+ "[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
+ description\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
+ description\r
+ "For EVP-TREE, EVC Type must be Rooted-Multipoint.";\r
+ }\r
+ description\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
+ }\r
+ leaf svc-entity {\r
+ type mef-types:service-entity-type;\r
+ default "evc";\r
+ description\r
+ "MEF Service Entity.";\r
+ reference "[MEF12.2] Table 3.";\r
+ }\r
+ }\r
+ }\r
+}
\ No newline at end of file
--- /dev/null
+module mef-topology {\r
+ namespace "http://metroethernetforum.org/ns/yang/mef-topology";\r
+ prefix mef-topology;\r
+ import mef-types {\r
+ prefix mef-types;\r
+ }\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
+ description\r
+ "This module models the NMS level view of the network devices,\r
+ their physical interfaces, and the network topology.\r
+ When the NMS discovers a network device,it is to pull the\r
+ device configuration and operational status as expected for\r
+ an NMS. Once the NMS has a network device's configuration,\r
+ it creates the /mef-topology/devices/device{} entry and\r
+ populates the list of physical interfaces. The Peers entries\r
+ are populated as configuration to reflect physical cabling\r
+ interconnections.Hints could be detected from LLDP Neighbor\r
+ information[802.1AB].\r
+ \r
+ Reference Overview:\r
+ A number of base documents have been used to create\r
+ the MEF Topology YANG Module. The following are the\r
+ 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
+ revision 2015-05-26 {\r
+ description\r
+ "Formal Project Review Draft 1.";\r
+ reference "EVC Ethernet Services Definitions YANG Modules " +\r
+ "(MEF XX), TBD";\r
+ } \r
+ \r
+ container mef-topology {\r
+ description\r
+ "MEF Topology";\r
+ container devices {\r
+ description\r
+ "Network Devices in the CEN.";\r
+ list device {\r
+ key "dev-id";\r
+ description\r
+ "Network Device List.";\r
+ container interfaces {\r
+ description\r
+ "Physical Ports/Interfaces associated with this " +\r
+ "Network Device.";\r
+ list interface {\r
+ key "phy";\r
+ description\r
+ "External Interface for the Network Device.";\r
+ leaf phy {\r
+ type mef-types:identifier45;\r
+ description\r
+ "The Phy Name for the Physical Port.";\r
+ }\r
+ leaf ieee8023-phy {\r
+ type identityref {\r
+ base mef-types:ieee-8023-interface-type;\r
+ }\r
+ description\r
+ "The Physical Layer for each physical link " +\r
+ "implementing the UNI MUST be one of the PHYs " +\r
+ "listed in IEEE Std 802.3–2012 but excluding " +\r
+ "1000BASE-PX-D and 1000BASE-PX-U.";\r
+ reference "[MEF10.3] Section 9.2 [R60].";\r
+ }\r
+ }\r
+ }\r
+ leaf role {\r
+ type mef-types:device-role;\r
+ default "ce";\r
+ description\r
+ "The role of this device in the network.";\r
+ }\r
+ leaf dev-id {\r
+ type mef-types:identifier45;\r
+ description\r
+ "Device Identifier.";\r
+ }\r
+ }\r
+ }\r
+ container connections {\r
+ description\r
+ "Physical Network Connections"; \r
+ list connection {\r
+ key "name";\r
+ leaf name {\r
+ type mef-types:identifier45;\r
+ }\r
+ container endpoint-1 {\r
+ description\r
+ "End Point 1";\r
+ leaf device {\r
+ type leafref {\r
+ path "../../../../devices/device/dev-id";\r
+ }\r
+ description\r
+ "Hostname or IP Address for the End Point's Device.";\r
+ }\r
+ leaf interface {\r
+ type leafref {\r
+ path "../../../../devices/device[dev-id = current()/../device]/interfaces/interface/phy";\r
+ }\r
+ description\r
+ "The Phy Name for the End Point's Physical Port.";\r
+ }\r
+ }\r
+ container endpoint-2 {\r
+ description\r
+ "End Point 2";\r
+ leaf device {\r
+ type leafref {\r
+ path "../../../../devices/device/dev-id";\r
+ }\r
+ description\r
+ "Hostname or IP Address for the End Point's Device.";\r
+ }\r
+ leaf interface {\r
+ type leafref {\r
+ path "../../../../devices/device[dev-id = current()/../device]/interfaces/interface/phy";\r
+ }\r
+ description\r
+ "The Phy Name for the End Point's Physical Port.";\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+}
\ No newline at end of file
--- /dev/null
+module mef-types {\r
+ namespace "http://metroethernetforum.org/ns/yang/mef-types";\r
+ prefix mef-types;\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
+ description\r
+ "This module defines the YANG Type Definitions and shared\r
+ (templated) groupings of data elementsused by MEF YANG Modules.\r
+ \r
+ Reference Overview:\r
+ A number of base documents have been used to create\r
+ the MEF Types YANG Module. The following are the\r
+ 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
+ revision 2015-05-26 {\r
+ description\r
+ "Formal Project Review Draft 1.";\r
+ reference "EVC Ethernet Services Definitions YANG Modules " +\r
+ "(MEF XX), TBD";\r
+ }\r
+ identity ieee-8023-interface-type {\r
+ description\r
+ "Base identity from which specific IEEE 802.3-2012 " +\r
+ "interface types are derived. This list was taken " +\r
+ "from Section 1.4 'Definitions'.";\r
+ }\r
+ identity ieee8023-10BASE2 {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10BASE2";\r
+ }\r
+ identity ieee8023-10BASE5 {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10BASE5";\r
+ }\r
+ identity ieee8023-10BASE-F {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10BASEF";\r
+ }\r
+ identity ieee8023-10BASE-FB {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10BASE-FB";\r
+ }\r
+ identity ieee8023-1000BASE-PX-D {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "1000BASE-PX-D";\r
+ }\r
+ identity ieee8023-1000BASE-PX-U {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "1000BASE-PX-U";\r
+ }\r
+ identity ieee8023-10BASE-FL {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10BASE-FL";\r
+ }\r
+ identity ieee8023-10BASE-FP {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10BASE-FP";\r
+ }\r
+ identity ieee8023-10BASE-T {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10BASE-T";\r
+ }\r
+ identity ieee8023-10BASE-Te {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10BASE-Te";\r
+ }\r
+ identity ieee8023-10BROAD36 {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10BROAD36";\r
+ }\r
+ identity ieee8023-10PASS-TS {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10PASS-TS";\r
+ }\r
+ identity ieee8023-100BASE-BX10 {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "100BASE-BX10";\r
+ }\r
+ identity ieee8023-100BASE-FX {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "100BASE-FX";\r
+ }\r
+ identity ieee8023-100BASE-LX10 {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "100BASE-LX10";\r
+ }\r
+ identity ieee8023-100BASE-T {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "100BASE-T";\r
+ }\r
+ identity ieee8023-100BASE-T2 {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "100BASE-T2";\r
+ }\r
+ identity ieee8023-100BASE-T4 {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "100BASE-T4";\r
+ }\r
+ identity ieee8023-100BASE-TX {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "100BASE-TX";\r
+ }\r
+ identity ieee8023-100BASE-X {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "100BASE-X";\r
+ }\r
+ identity ieee8023-1000BASE-BX10 {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "1000BASE-BX10";\r
+ }\r
+ identity ieee8023-1000BASE-CX {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "1000BASE-CX";\r
+ }\r
+ identity ieee8023-1000BASE-KX {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "1000BASE-KX";\r
+ }\r
+ identity ieee8023-1000BASE-LX {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "1000BASE-LX";\r
+ }\r
+ identity ieee8023-1000BASE-LX10 {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "1000BASE-LX10";\r
+ }\r
+ identity ieee8023-1000BASE-PX10 {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "1000BASE-PX10";\r
+ }\r
+ identity ieee8023-1000BASE-PX20 {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "1000BASE-PX20";\r
+ }\r
+ identity ieee8023-1000BASE-SX {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "1000BASE-SX";\r
+ }\r
+ identity ieee8023-1000BASE-T {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "1000BASE-T";\r
+ }\r
+ identity ieee8023-1000BASE-X {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "1000BASE-X";\r
+ }\r
+ identity ieee8023-10GBASE-CX4 {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10GBASE-CX4";\r
+ }\r
+ identity ieee8023-10GBASE-E {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10GBASE-E";\r
+ }\r
+ identity ieee8023-10GBASE-ER {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10GBASE-ER";\r
+ }\r
+ identity ieee8023-10GBASE-EW {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10GBASE-EW";\r
+ }\r
+ identity ieee8023-10GBASE-KR {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10GBASE-KR";\r
+ }\r
+ identity ieee8023-10GBASE-KX4 {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10GBASE-KX4";\r
+ }\r
+ identity ieee8023-10GBASE-L {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10GBASE-L";\r
+ }\r
+ identity ieee8023-10GBASE-LR {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10GBASE-LR";\r
+ }\r
+ identity ieee8023-10GBASE-LRM {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10GBASE-LRM";\r
+ }\r
+ identity ieee8023-10GBASE-LW {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10GBASE-LW";\r
+ }\r
+ identity ieee8023-10GBASE-LX4 {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10GBASE-LX4";\r
+ }\r
+ identity ieee8023-10GBASE-PR {\r
+ base ieee-8023-interface-type;\r
+ description\r
+ "10GBASE-PR";\r
+ }\r
+ typedef identifier45 {\r
+ type string {\r
+ length "min..45";\r
+ pattern "[ -~]+";\r
+ }\r
+ description\r
+ "This type definition accepts any visible ASCII character " +\r
+ "plus the <space> character.The string must be an RFC 2579 " +\r
+ "Display String (RFC 854 ASCII 0.00-0.7f) but not contain " +\r
+ "the characters 0.00 through 0.1f. It does not accept " +\r
+ "the <delete> character (0.7f) despite the current MEF " +\r
+ "specification not disallowing it.";\r
+ reference "[MEF10.3] [R8], [R9]. [RFC2579]. [RFC854].";\r
+ }\r
+ typedef max-svc-frame-size-type {\r
+ type uint32 {\r
+ range "1522..16384";\r
+ }\r
+ units "bytes";\r
+ description\r
+ "Max Frame Size Type in bytes. Service Frames larger than " +\r
+ "this size will be discarded.";\r
+ reference "[MEF 10.3] Section 8.9 and Section 9.7.";\r
+ }\r
+ typedef retail-svc-id-type {\r
+ type uint32;\r
+ description\r
+ "General ID used by higher level applications that " +\r
+ "connect Subscribers information and SLA's with " +\r
+ "configured Ethernet Services.";\r
+ reference "[MEF10.3].";\r
+ }\r
+ typedef svc-provider-type {\r
+ type identifier45;\r
+ description\r
+ "Service Provider Type";\r
+ reference "[MEF10.3].";\r
+ }\r
+ typedef cen-type {\r
+ type identifier45;\r
+ description\r
+ "CEN Type";\r
+ reference "[MEF10.3].";\r
+ }\r
+ typedef subscriber-type {\r
+ type identifier45;\r
+ description\r
+ "Subscriber Type";\r
+ reference "[MEF10.3].";\r
+ }\r
+ typedef evc-id-type {\r
+ type identifier45;\r
+ description\r
+ "EVC ID Type";\r
+ reference "[MEF10.3].";\r
+ }\r
+ typedef simple-percent {\r
+ type decimal64 {\r
+ fraction-digits 2;\r
+ range "0.00 .. 100.00";\r
+ }\r
+ description "Percent.";\r
+ }\r
+ typedef vlan-id-type {\r
+ type uint32 {\r
+ range "1..4094";\r
+ }\r
+ description\r
+ "The VLAN-ID that uniquely identifies a VLAN. This is the " +\r
+ "12-bit VLAN-ID used in the VLAN Tag header. The range " +\r
+ "is defined by the REFERENCED specification. VLAN ID 0 is " +\r
+ "used for VLAN Unaware Mode.";\r
+ reference "IEEE Std 802.1Q 2003 Edition, Virtual Bridged " +\r
+ "Local Area Networks.";\r
+ }\r
+ typedef vlan-id-or-none-type {\r
+ type uint32 {\r
+ range "0..4094";\r
+ }\r
+ description\r
+ "The VLAN-ID that uniquely identifies a VLAN. This is the " +\r
+ "12-bit VLAN-ID used in the VLAN Tag header. The range is " +\r
+ "defined by the REFERENCED specification. VLAN ID 0 is " +\r
+ "used for VLAN Unaware (ie. None) Mode";\r
+ reference "IEEE Std 802.1Q 2003 Edition, Virtual Bridged " +\r
+ "Local Area Networks.";\r
+ }\r
+ typedef vlan-id-or-all-type {\r
+ type uint32 {\r
+ range "1..4095";\r
+ }\r
+ description\r
+ "The VLAN-ID that uniquely identifies a VLAN. This is the " +\r
+ "12-bit VLAN-ID used in the VLAN Tag header. The range " +\r
+ "is defined by the REFERENCED specification. VLAN ID 4095 " +\r
+ "is used for VLAN Any Mode";\r
+ reference "IEEE Std 802.1Q 2003 Edition, Virtual Bridged " +\r
+ "Local Area Networks.";\r
+ }\r
+ typedef vlan-id-any-none-type {\r
+ type uint32 {\r
+ range "0..4095";\r
+ }\r
+ description\r
+ "The VLAN-ID that uniquely identifies a VLAN. This is the " +\r
+ "12-bit VLAN-ID used in the VLAN Tag header. The range " +\r
+ "is defined by the REFERENCED specification. This " +\r
+ "typedef is for use with Operational Status information " +\r
+ "where VLAN ID 0 may be used for VLAN Unaware Mode and " +\r
+ "use of 4095 is Reserved / None.";\r
+ reference "IEEE Std 802.1Q 2003 Edition, Virtual Bridged " +\r
+ "Local Area Networks.";\r
+ }\r
+ typedef ieee-8021-priority {\r
+ type uint8 {\r
+ range "0..7";\r
+ }\r
+ description\r
+ "An 802.1Q user priority value.";\r
+ reference "IEEE 802.1Q";\r
+ }\r
+ typedef entity-admin-state-type {\r
+ type enumeration {\r
+ enum "unknown" {\r
+ description\r
+ "Unknown";\r
+ }\r
+ enum "locked" {\r
+ description\r
+ "Locked";\r
+ }\r
+ enum "shutting-down" {\r
+ description\r
+ "Shutting Down";\r
+ }\r
+ enum "unlocked" {\r
+ description\r
+ "Unlocked";\r
+ }\r
+ }\r
+ description\r
+ "Represents the various possible administrative states. " +\r
+ "A value of 'locked' means the resource is " +\r
+ "administratively prohibited from use. A value of " +\r
+ "'shuttingDown' means that usage is administratively " +\r
+ "limited to current instances of use.A value of " +\r
+ "'unlocked' means the resource is not administratively " +\r
+ "prohibited from use.A value of 'unknown' means that " +\r
+ "this resource is unable to report administrative state.";\r
+ reference "ENTITY-STATE-TC-MIB";\r
+ }\r
+ typedef performance-metric-type {\r
+ type enumeration {\r
+ enum "one-way-frame-delay-performance" {\r
+ description\r
+ "One-way Frame Delay Performance.";\r
+ }\r
+ enum "one-way-frame-delay-range-performance" {\r
+ description\r
+ "One-way Frame Delay Range Performance.";\r
+ }\r
+ enum "one-way-mean-frame-delay-performance" {\r
+ description\r
+ "One-way Mean Frame Delay Performance.";\r
+ }\r
+ enum "one-way-inter-frame-delay-variation-performance" {\r
+ description\r
+ "One-way Inter-Frame Delay Variation Performance.";\r
+ }\r
+ enum "one-way-frame-loss-ratio-performance" {\r
+ description\r
+ "One-way Frame Loss Ratio Performance.";\r
+ }\r
+ enum "one-way-availability-performance" {\r
+ description\r
+ "One-way Availability Performance.";\r
+ }\r
+ enum "one-way-resiliency-performance-hli" {\r
+ description\r
+ "One-way Resiliency Performance expressed as High " +\r
+ "Loss Intervals.";\r
+ }\r
+ enum "one-way-resiliency-performance-chli" {\r
+ description\r
+ "One-way Resiliency Performance expressed as " +\r
+ "Consecutive High Loss Intervals.";\r
+ }\r
+ enum "one-way-group-availability-performance" {\r
+ description\r
+ "One-way Group Availability Performance.";\r
+ }\r
+ enum "one-way-multiple-evc-group-availability-performance" {\r
+ description\r
+ "One-way Multiple EVC Group Availability Performance.";\r
+ }\r
+ }\r
+ description\r
+ "Performance Metrics.";\r
+ reference "[MEF10.3] Section 8.8 and Section 11.";\r
+ }\r
+ typedef evc-type {\r
+ type enumeration {\r
+ enum "point-to-point" {\r
+ description\r
+ "Point to Point.";\r
+ }\r
+ enum "multipoint-to-multipoint" {\r
+ description\r
+ "Multipoint to Multipoint.";\r
+ }\r
+ enum "rooted-multipoint" {\r
+ description\r
+ "Rooted Multipoint.";\r
+ }\r
+ }\r
+ description\r
+ "EVC Type";\r
+ reference "[MEF10.3] Section 8.1.";\r
+ }\r
+ typedef evc-status-type {\r
+ type enumeration {\r
+ enum "new" {\r
+ description\r
+ "New.";\r
+ }\r
+ enum "active" {\r
+ description\r
+ "Active.";\r
+ }\r
+ enum "inactive" {\r
+ description\r
+ "Inactive (Not Active).";\r
+ }\r
+ enum "partially-active" {\r
+ description\r
+ "PartiallyActive.";\r
+ }\r
+ }\r
+ description\r
+ "EVC Status Type";\r
+ reference "[MEF16] Section 5.3.";\r
+ }\r
+ typedef evc-uni-role-type {\r
+ type enumeration {\r
+ enum "root" {\r
+ description\r
+ "Root Role for UNI. Valid setting for all service " +\r
+ "types. A UNI set to this value may send frames " +\r
+ "to UNIs configured as 'root' or 'leaf'.";\r
+ }\r
+ enum "leaf" {\r
+ description\r
+ "Leaf Role for UNI. Valid setting for Root-Multipoint " +\r
+ "EVCs only. A UNI set to this value may send frames " +\r
+ "to UNIs 'root'.";\r
+ }\r
+ }\r
+ description\r
+ "This object configures UNI type on an EVC.";\r
+ reference "[MEF10.3] Section 8.1.2.1.";\r
+ }\r
+ typedef data-svc-frame-delivery-type {\r
+ type enumeration {\r
+ enum "discard" {\r
+ description\r
+ "Service Frames are discarded.";\r
+ }\r
+ enum "unconditional" {\r
+ description\r
+ "Service Frames are unconditionally\r
+ delivered no matter the content of the\r
+ Service Frame. An example of this is\r
+ a Point-to-Point EVC";\r
+ }\r
+ enum "conditional" {\r
+ description\r
+ "Service Frame are conditionally\r
+ delivered to the destination UNI. The\r
+ condition is specified, for example via a\r
+ bandwidth profile or unicast MAC address\r
+ learning.";\r
+ }\r
+ }\r
+ description\r
+ "A MEF service can have one of three different " +\r
+ "delivery types.";\r
+ }\r
+ typedef uni-resiliency-type {\r
+ type enumeration {\r
+ enum "none" {\r
+ description\r
+ "No protection mechanism defined.";\r
+ }\r
+ enum "dual-link-aggregation" {\r
+ description\r
+ "Protection mechanism is Link Aggreg-\r
+ ation as specified in [802.3], with one link in\r
+ active mode and one link in standby mode.";\r
+ }\r
+ enum "other" {\r
+ description\r
+ "Protection method defined that is not\r
+ Link Aggregation active/standby mode.";\r
+ }\r
+ }\r
+ description\r
+ "This object type of resiliency mechanism for a " +\r
+ "specific UNI.";\r
+ }\r
+ typedef svc-frame-format-type {\r
+ type enumeration {\r
+ enum "no-tag" {\r
+ description\r
+ "No-tag indicates that all data on the interface is " +\r
+ "as untagged data.";\r
+ }\r
+ enum "ctag" {\r
+ description\r
+ "Ctag indicates that tagged data is associated with " +\r
+ "CE-VLAN ID or a C-TAG.";\r
+ }\r
+ enum "stag" {\r
+ description\r
+ "Stag indicates that tagged data is associated with " +\r
+ "a provider tag or S-TAG.";\r
+ }\r
+ enum "stag-ctag" {\r
+ description\r
+ "Stag-ctag indicates that service traffic identified " +\r
+ "with both an S-TAG (outer tag) and a C-TAG (inner tag).";\r
+ }\r
+ }\r
+ description\r
+ "The format must be that of a MAC Frame specified in " +\r
+ "IEEE Std 802.3-2012 Clause 3.";\r
+ reference "[MEF10.3] Section 9.6. [MEF15]. [MEF7.2]. " +\r
+ "[MEF7.3] Section 10.1.1. MEF-UNI-EVC-MIB.yang.";\r
+ }\r
+ typedef uni-mode-type {\r
+ type enumeration {\r
+ enum "uni" {\r
+ description\r
+ "UNI Mode.";\r
+ }\r
+ enum "vuni" {\r
+ description\r
+ "VUNI Mode.";\r
+ }\r
+ }\r
+ description\r
+ "This setting is used to configure a UNI as either a " +\r
+ "UNI or a VUNI";\r
+ reference "[MEF7.3] Section 10.2.2.";\r
+ }\r
+ typedef evc-cos-identifier-type {\r
+ type enumeration {\r
+ enum "evc" {\r
+ description\r
+ "The EVC ID, depends on the CE-VLAN ID / EVC Mapping " +\r
+ "at the UNI, will be used to map Service Frames to " +\r
+ "CoS Names/Labels.";\r
+ reference "MEF 10.3 Section 10.2.1.1 for " +\r
+ "Data Service Frames.";\r
+ }\r
+ enum "pcp" {\r
+ description\r
+ "The Priority Code Point(PCP) value within the " +\r
+ "CE-VLAN Tag will be used to map Service Frames " +\r
+ "to CoS Names/Labels.";\r
+ reference "MEF 10.3 Section 10.2.1.2: Priority Code " +\r
+ "Point (PCP) Field in the Customer VLAN Tag " +\r
+ "in a Tagged Service Frame. ";\r
+ }\r
+ enum "dscp" {\r
+ description\r
+ "The Differentiated Services Code Point(DSCP) value " +\r
+ "from the IP Packet's IP Header Differentiated " +\r
+ "Services Group, associated with the Service Frame, " +\r
+ "will be used to map Service Frames to CoS Names/Labels.";\r
+ reference "MEF 10.3 Section 10.2.1.3: AKA Internet " +\r
+ "Protocol. For a Data Service Frame carrying an " +\r
+ "IPv4 or and IPv6 packet.";\r
+ }\r
+ }\r
+ description\r
+ "[MEF10.3] Section 10.2.1.";\r
+ }\r
+ typedef evc-eec-identifier-type {\r
+ type enumeration {\r
+ enum "pcp" {\r
+ description\r
+ "The Priority Code Point(PCP) value within the " +\r
+ "CE-VLAN Tag will be used to map Service Frames " +\r
+ "to CoS Names/Labels.";\r
+ reference "MEF 10.3 Section 10.2.1.2: Priority Code " +\r
+ "Point (PCP) Field in the Customer VLAN Tag " +\r
+ "in a Tagged Service Frame.";\r
+ }\r
+ enum "dscp" {\r
+ description\r
+ "The Differentiated Services Code Point(DSCP) value " +\r
+ "from the IP Packet's IP Header Differentiated " +\r
+ "Services Group, associated with the Service Frame, " +\r
+ "will be used to map Service Frames to CoS Names/Labels.";\r
+ reference "MEF 10.3 Section 10.2.1.3: AKA Internet " +\r
+ "Protocol. For a Data Service Frame carrying " +\r
+ "an IPv4 or and IPv6 packet.";\r
+ }\r
+ }\r
+ description\r
+ "[MEF10.3] Section 10.2.1.";\r
+ }\r
+ typedef cos-color-identifier-type {\r
+ type enumeration {\r
+ enum "evc" {\r
+ description\r
+ "The EVC ID, depends on the CE-VLAN ID / EVC Mapping " +\r
+ "at the UNI, will be used to map Service Frames to " +\r
+ "CoS Names/Labels.";\r
+ reference "MEF 10.3 Section 10.2.1.1 for Data " +\r
+ "Service Frames.";\r
+ }\r
+ enum "pcp" {\r
+ description\r
+ "The Priority Code Point(PCP) value within the " +\r
+ "CE-VLAN Tag will be used to map Service Frames " +\r
+ "to CoS Names/Labels.";\r
+ reference "MEF 10.3 Section 10.2.1.2: Priority Code " +\r
+ "Point (PCP) Field in the Customer VLAN Tag " +\r
+ "in a Tagged Service Frame. ";\r
+ }\r
+ enum "dei" {\r
+ description\r
+ "Drop Eligible Indicator(DEI) field of the CE-VLAN Tag.";\r
+ }\r
+ enum "dscp" {\r
+ description\r
+ "The Differentiated Services Code Point(DSCP) value " +\r
+ "from the IP Packet's IP Header Differentiated " +\r
+ "Services Group, associated with the Service " +\r
+ "Frame, will be used to map Service Frames to " +\r
+ "CoS Names/Labels.";\r
+ reference "MEF 10.3 Section 10.2.1.3: AKA Internet " +\r
+ "Protocol. For a Data Service Frame carrying " +\r
+ "an IPv4 or and IPv6 packet.";\r
+ }\r
+ }\r
+ description\r
+ "CoS Color Identification Type.";\r
+ reference "[MEF23.1].";\r
+ }\r
+ typedef cos-color-type {\r
+ type enumeration {\r
+ enum "green" {\r
+ description\r
+ "Green.";\r
+ }\r
+ enum "yellow" {\r
+ description\r
+ "Yellow.";\r
+ }\r
+ }\r
+ description\r
+ "CoS Color.";\r
+ reference "[MEF23.1].";\r
+ }\r
+ typedef bwp-cir-type {\r
+ type uint32;\r
+ description\r
+ "Bandwidth Profile Committed Information Rate in " +\r
+ "Kilobits Per Second.";\r
+ reference "[MEF10.3] [R143], [R144].";\r
+ }\r
+ typedef bwp-cbs-type {\r
+ type uint32;\r
+ description\r
+ "Bandwidth Profile Committed Burst Size in Bytes.";\r
+ reference "[MEF10.3] [R145].";\r
+ }\r
+ typedef bwp-eir-type {\r
+ type uint32;\r
+ description\r
+ "Bandwidth Profile Excess Information Rate in " +\r
+ "Kilobits Per Second.";\r
+ reference "[MEF10.3] [R146], [R147].";\r
+ }\r
+ typedef bwp-ebs-type {\r
+ type uint32 {\r
+ range "0 .. 10000000";\r
+ }\r
+ description\r
+ "Excess Burst Size (EBS) in bytes: This parameter limits " +\r
+ "the maximum number of bytes available for a burst " +\r
+ "of Service Frames sent at the UNI line rate that " +\r
+ "will be declared Yellow by the Bandwidth Profile. " +\r
+ "If this value is 0, then no limit is assumed.";\r
+ reference "[MEF10.3] [R146], [R147].";\r
+ }\r
+ typedef elmi-polling-counter-type {\r
+ type uint16 {\r
+ range "1 .. max";\r
+ }\r
+ description\r
+ "ELMI Polling Counter.";\r
+ reference "[MEF16] Section 5.6.1.";\r
+ }\r
+ typedef elmi-status-error-threshold-type {\r
+ type uint8 {\r
+ range "2 .. 10";\r
+ }\r
+ description\r
+ "The count of consecutive ELMI status polling errors " +\r
+ "before raising an error.";\r
+ reference "[MEF16] Section 5.6.1.";\r
+ }\r
+ typedef elmi-polling-timer-type {\r
+ type uint8 {\r
+ range "5 .. 30";\r
+ }\r
+ description\r
+ "The type used for a timer started after tranmitting " +\r
+ "a Status Enquiry. If the timer expires, record " +\r
+ "the error if a STATUS message not received and " +\r
+ "resend Status Enquiry.";\r
+ reference "[MEF16] Section 5.6.1.";\r
+ }\r
+ typedef elmi-polling-verification-timer-type {\r
+ type uint8 {\r
+ range "5 .. 30";\r
+ }\r
+ description\r
+ "The type used for a timer started after tranmitting " +\r
+ "a Status Message. If a Status Enquiry is recieved before " +\r
+ "this timer expires, record the error.";\r
+ reference "[MEF16] Section 5.6.1.";\r
+ }\r
+ typedef bwp-color-mode-type {\r
+ type enumeration {\r
+ enum "color-blind" {\r
+ description\r
+ "Color Blind. Do not use CoS Color Configuration for " +\r
+ "this Bandwidth Profile.";\r
+ }\r
+ enum "color-aware" {\r
+ description\r
+ "Color Aware. Use CoS Color Configuration for this " +\r
+ "Bandwidth Profile.";\r
+ }\r
+ }\r
+ description\r
+ "This attribute describes the color mode (CM) to be " +\r
+ "applied as \"color-blind mode\" or \"color-aware mode\".";\r
+ reference "[MEF10.3] Section 10.3, [R151].";\r
+ }\r
+ typedef bwp-coupling-flag-type {\r
+ type enumeration {\r
+ enum "yellow-eir-only" {\r
+ description\r
+ "When CF is set to \"yellow-eir-only\", the volume of " +\r
+ "the yellow service frames admitted to the network " +\r
+ "cannot exceed EIR.";\r
+ }\r
+ enum "yellow-eir-plus-cir" {\r
+ description\r
+ "When CF is set to \"yellow-eir-plus-cir\", the " +\r
+ "volume of the yellow service frames admitted to " +\r
+ "the network is bounded by CIR + EIR depending on " +\r
+ "volume of the offered green Service Frames.";\r
+ }\r
+ }\r
+ description\r
+ "The Bandwidth Profile parameter that determines whether " +\r
+ "or not overflow tokens not used for Service Frames " +\r
+ "declared Green can be used as Yellow tokens.";\r
+ reference "[MEF10.3] Section 12.1. [MEF23.1] Section 8.1.";\r
+ }\r
+ typedef auto-negotiation-type {\r
+ type enumeration {\r
+ enum "on" {\r
+ description\r
+ "Phy Auto-negotiation Enabled.";\r
+ }\r
+ enum "off" {\r
+ description\r
+ "Phy Auto-negotiation Disabled.";\r
+ }\r
+ }\r
+ description\r
+ "Phy Auto-negotiation Enabled/Disabled.";\r
+ reference "[MEF20].";\r
+ }\r
+ typedef service-entity-type {\r
+ type enumeration {\r
+ enum "evc" {\r
+ description\r
+ "EVC.";\r
+ }\r
+ enum "tunnel-1" {\r
+ description\r
+ "Tunnel Type 1.";\r
+ }\r
+ enum "tunnel-2" {\r
+ description\r
+ "Tunnel Type 2.";\r
+ }\r
+ enum "ovc" {\r
+ description\r
+ "OVC.";\r
+ }\r
+ }\r
+ description\r
+ "MEF Service Entity Type.";\r
+ reference "[MEF12.2] Section 7.3, Table 3.";\r
+ }\r
+ typedef l2cp-handling-type {\r
+ type enumeration {\r
+ enum "discard" {\r
+ description\r
+ "Discard - An action taken at a L2CP Decision Point " +\r
+ "where a L2CP frame is neither delivered to a protocol " +\r
+ "entity, nor delivered to the External Interface " +\r
+ "where the L2CP Decision Point is located, nor " +\r
+ "propagated to L2CP Decision Points at other " +\r
+ "External Interfaces.";\r
+ }\r
+ enum "pass" {\r
+ description\r
+ "Pass(Tunnel) - An action taken at a L2CP Decision " +\r
+ "Point where a L2CP frame is either delivered to " +\r
+ "the External Interface where the L2CP Decision Point " +\r
+ "is located, or propagated to the L2CP Decision " +\r
+ "Points located at all other External Interfaces " +\r
+ "associated by the EVC or OVC.";\r
+ }\r
+ enum "peer" {\r
+ description\r
+ "Peer - An action taken at a L2CP Decision Point " +\r
+ "where a L2CP frame is delivered to a protocol " +\r
+ "entity determined by the Protocol Identifier " +\r
+ "in the L2CP Frame.";\r
+ }\r
+ }\r
+ description\r
+ "L2CP Service Frame handling option.";\r
+ reference "[MEF45] Table 8.";\r
+ }\r
+ typedef l2cp-address-set-type {\r
+ type enumeration {\r
+ enum "aware-cta" {\r
+ description\r
+ "C-VLAN Tag Aware (CTA), for VLAN-based services where" +\r
+ " the CE-VLAN ID is used to map a frame to a service.";\r
+ }\r
+ enum "blind-ctb" {\r
+ description\r
+ "C-VLAN Tag Blind (CTB), for Port-based services where " +\r
+ "the CE-VLAN ID is not used to map a frame to a service.";\r
+ }\r
+ enum "option2-blind-ctb2" {\r
+ description\r
+ "C-VLAN Tag Blind Option 2 (CTB-2), for point-to-point " +\r
+ "Port-based services that support the EPL Option 2 " +\r
+ "L2CP processing.";\r
+ }\r
+ }\r
+ description\r
+ "The L2CP Address Set Service Attribute specifies the " +\r
+ "subset of the Bridge Reserved Addresses that are " +\r
+ "filtered (i.e. L2CP Frames with this destination " +\r
+ "address are Peered or Discarded but not Passed) " +\r
+ "at a L2CP Decision Point.";\r
+ reference "[MEF10.3] Section 9.19. [MEF45] Section 8.1, " +\r
+ "[R2] through [R9]. [MEF6.2] Section 8.2.2, [R1]. " +\r
+ "[MEF45] Section 8.1.";\r
+ }\r
+ typedef l2cp-peering-protocol-type {\r
+ type enumeration {\r
+ enum "ethertype" {\r
+ description\r
+ "Ethertype.";\r
+ }\r
+ enum "llc" {\r
+ description\r
+ "LLC.";\r
+ }\r
+ enum "other" {\r
+ description\r
+ "Other: Not using LLC nor Ethertype to specify " +\r
+ "the Protocol ID.";\r
+ }\r
+ }\r
+ description\r
+ "The Peering Protocol Identifier is one of Ethertype, " +\r
+ "LLC, or Other.";\r
+ reference "[MEF45] Section 7.";\r
+ }\r
+ typedef ieee8021p-priority-type {\r
+ type uint8 {\r
+ range "0 .. 7";\r
+ }\r
+ description\r
+ "IEEE 802.1p VLAN Header Class of Service field. Used for " +\r
+ "Priority Code Point(PCP) configurations.";\r
+ reference "[MEF10.3] Section 10.2.1.";\r
+ }\r
+ typedef mef-service-type {\r
+ type enumeration {\r
+ enum "epl" {\r
+ description\r
+ "Ethernet Private Line Service (EPL) Point-to-Point " +\r
+ "EVC, all to one bundling";\r
+ }\r
+ enum "evpl" {\r
+ description\r
+ "Ethernet Virtual Private Line (EVPL) Point-to-Point " +\r
+ "EVC, bundling and/or multiplexing";\r
+ }\r
+ enum "eplan" {\r
+ description\r
+ "Ethernet Private LAN Service (EP-LAN) " +\r
+ "Multipoint-to-Multipoint EVC, all to one bundling";\r
+ }\r
+ enum "evplan" {\r
+ description\r
+ "Ethernet Virtual Private LAN Service (EVP-LAN) " +\r
+ "Multipoint-to-Multipoint EVC, bundling and/or " +\r
+ "multiplexing";\r
+ }\r
+ enum "eptree" {\r
+ description\r
+ "Ethernet Private Tree Service (EP-Tree) " +\r
+ "Rooted-Multipoint EVC, all to one bundling";\r
+ }\r
+ enum "evptree" {\r
+ description\r
+ "Ethernet Virtual Private Tree Service (EVP-Tree) " +\r
+ "Rooted-Multipoint EVC, bundling and/or multiplexing";\r
+ }\r
+ }\r
+ description\r
+ "This object indicates the specific Ethernet service type.";\r
+ }\r
+ typedef ext-if-availability-type {\r
+ type enumeration {\r
+ enum "in-test" {\r
+ description\r
+ "In-test is equivalent to the IETF RFC 2883 " +\r
+ "ifOperStatus 'testing' state.";\r
+ }\r
+ enum "failed" {\r
+ description\r
+ "Failed is to be interpretted along with " +\r
+ "Operational State.";\r
+ }\r
+ enum "power-off" {\r
+ description\r
+ "Power-off indicates the phy is down.";\r
+ }\r
+ enum "degraded" {\r
+ description\r
+ "Degraded is to be interpretted along with " +\r
+ "Operational State..";\r
+ }\r
+ enum "not-installed" {\r
+ description\r
+ "Not-installed is equivalent to the " +\r
+ "IETF RFC 2883 ifOperStatus 'notPresent' state.";\r
+ }\r
+ }\r
+ description\r
+ "Availability of the Physical Interface. The " +\r
+ "availability status type indicates that the Phy " +\r
+ "is functioning properly. May be mapped to " +\r
+ "RFC 2863, The Interfaces Group MIB " +\r
+ "IfOperstatus. Values for availability status " +\r
+ "include: inTest, failed, powerOff, degraded, " +\r
+ "notInstalled.";\r
+ reference "[ITU-T X.731]. [MEF7.3] Section 10.1.1, " +\r
+ "[MEF15], [MEF7.2] Appendix II.";\r
+ }\r
+ typedef virt-cx-availability-type {\r
+ type enumeration {\r
+ enum "in-test" {\r
+ description\r
+ "In-test is equivalent to the " +\r
+ "IETF RFC 2883 ifOperStatus 'testing' state.";\r
+ }\r
+ enum "failed" {\r
+ description\r
+ "Failed is to be interpretted along " +\r
+ "with Operational State.";\r
+ }\r
+ enum "degraded" {\r
+ description\r
+ "Degraded is to be interpretted along " +\r
+ "with Operational State..";\r
+ }\r
+ enum "not-installed" {\r
+ description\r
+ "Not-installed is equivalent to the " +\r
+ "IETF RFC 2883 ifOperStatus 'notPresent' state.";\r
+ }\r
+ }\r
+ description\r
+ "Availability of the Virtual Connection. The " +\r
+ "availability status type indicates that the " +\r
+ "Virtual Connection is functioning properly. " +\r
+ "May be mapped to RFC 2863, The Interfaces Group MIB " +\r
+ "IfOperstatus. Values for availability status include: inTest," +\r
+ " failed, powerOff, degraded, notInstalled.";\r
+ reference "[ITU-T X.731]. [MEF7.3] Section 10.1.1, " +\r
+ "[MEF15], [MEF7.2] Appendix II.";\r
+ }\r
+ typedef svc-endpoint-availability-type {\r
+ type enumeration {\r
+ enum "in-test" {\r
+ description\r
+ "In-test is equivalent to the " +\r
+ "IETF RFC 2883 ifOperStatus 'testing' state.";\r
+ }\r
+ enum "failed" {\r
+ description\r
+ "Failed is to be interpretted along " +\r
+ "with Operational State.";\r
+ }\r
+ enum "degraded" {\r
+ description\r
+ "Degraded is to be interpretted along " +\r
+ "with Operational State..";\r
+ }\r
+ enum "not-installed" {\r
+ description\r
+ "Not-installed is equivalent to the " +\r
+ "IETF RFC 2883 ifOperStatus 'notPresent' state.";\r
+ }\r
+ }\r
+ description\r
+ "Availability of the Service Endpoint. The " +\r
+ "availability status type indicates that the " +\r
+ "Service Endpoint is functioning properly. " +\r
+ "May be mapped to RFC 2863. The Interfaces Group MIB " +\r
+ "IfOperstatus. Values for availability status include: " +\r
+ "inTest, failed, powerOff, degraded, notInstalled.";\r
+ reference "[ITU-T X.731]. [MEF7.3] Section 10.1.1, " +\r
+ "[MEF15], [MEF7.2] Appendix II.";\r
+ }\r
+ typedef ext-if-physical-layer-type {\r
+ type enumeration {\r
+ enum "10M" {\r
+ description\r
+ "10M bits-per-second.";\r
+ }\r
+ enum "100M" {\r
+ description\r
+ "100M bits-per-second.";\r
+ }\r
+ enum "1G" {\r
+ description\r
+ "1G bits-per-second.";\r
+ }\r
+ enum "10G" {\r
+ description\r
+ "10G bits-per-second.";\r
+ }\r
+ enum "40G" {\r
+ description\r
+ "40G bits-per-second.";\r
+ }\r
+ enum "100G" {\r
+ description\r
+ "100G bits-per-second.";\r
+ }\r
+ }\r
+ description\r
+ "The maximum theoretical bandwidth for the phy.";\r
+ reference "MEF 7.3 Section 10.1.1, MEF 6.2, MEF 10.3, MEF 26.1";\r
+ }\r
+ typedef device-role {\r
+ type enumeration {\r
+ enum "ce" {\r
+ description "Customer Edge(CE) Access Device";\r
+ }\r
+ enum "pe" {\r
+ description "Aggregation Router";\r
+ }\r
+ enum "p" {\r
+ description "Core Router";\r
+ }\r
+ } \r
+ } \r
+}
\ No newline at end of file