1 module nrm-connectivity {
2 namespace "urn:mef:yang:nrm-connectivity";
3 prefix nrm-connectivity;
4 import tapi-connectivity {
5 prefix tapi-connectivity;
10 organization "Metro Ethernet Forum (MEF)";
14 description "MEF NRP 1.0.alpha";
15 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020 and RFC 6087";
17 /***********************
19 **********************/
20 /***********************
21 * package object-classes
22 **********************/
23 grouping cg-eth-enni-spec {
26 description "MEF 7.3: This value limits the length of frames carried by an OVC that associates an OVC End Point at this ENNI in bytes. It is one of the ENNI Operator Multi-lateral attributes, which requires the CENs at the ENNI-N to agree on the values but may allow these values to be different.";
28 container l2cp-peering-list {
30 description "MEF 7.3: This attribute represents the L2CP Peering Service defined in MEF 45 section 8.2 when applied to the ENNI. It is one of the ENNI Operator Multi-lateral attributes, which requires the CENs at the ENNI-N to agree on the values but may allow these values to be different.";
32 leaf tagged-l2cp-processing {
33 type tagged-l2cp-processing;
34 description "MEF 7.3: This attribute represents the Tagged L2CP Processing defined in MEF 45 section 8.3 (802.1 compliant or 802.1 non-compliant. Desired to be 802.1 compliant). It is one of the ENNI Operator Multi-lateral attributes, which requires the CENs at the ENNI-N to agree on the values but may allow these values to be different.";
36 list cg-eth-spor-sospecific-srv-attributes {
38 uses cg-eth-spor-sospecific-srv-attributes;
41 uses cg-eth-frame-aggr-trm-spec;
44 container cg-eth-inni-spec {
49 uses cg-eth-frame-aggr-trm-spec;
52 grouping cg-eth-uni-spec {
55 description "MEF 7.3: This attribute denotes whether the ELMI is enabled or not. When the value is TRUE, the CEN MUST meet the mandatory requirements in MEF 16 that apply to the UNI-N.
56 Note: Ethernel Local Management Interface protocol contents are defined which clearly identify MEF Service/Resource constructs like UNI and EVC, hence the attribute cannot be placed in an ethernet generic class.";
60 description "10.3: The value for the UNI Maximum Service Frame Size is a positive integer in bytes.
61 [R71] The value of the UNI Maximum Service Frame Size MUST be at least 1522 bytes.";
63 container default-ce-vlan-id {
65 description "Mapped from original 7.3 'untaggedAndPriorityTaggedCeVlanId'
66 10.3: At the given UNI, the Customer Edge VLAN ID (CE-VLAN ID) can be used to identify an EVC that associates this UNI. There are 4095 CE-VLAN IDs numbered 1 through 4095. The CE-VLAN ID for a VLAN
67 Tagged Service Frame is the value of the VLAN ID in the tag.
68 [R73] Untagged and Priority Tagged Service Frames MUST have the same CE VLAN ID.
69 [R74] The CE-VLAN ID for Untagged and Priority Tagged Service Frames MUST be in the range 1, 2 , …, 4094.";
71 leaf max-num-of-ce-vlan-id-per-conn-serv-end-point {
72 type positive-integer;
75 leaf service-multiplexing-enabled {
77 description "7.3: When this attribute value is enabled, there can be multiple EVCs at the UNI. This attribute can be enabled only when All-to-one bundling is disabled.
78 10.3: Service Multiplexing can be either Enabled or Disabled.
79 [R72] A UNI with Service Multiplexing Enabled MUST be able to support multiple EVCs.
80 [O2] When a UNI has Service Multiplexing Enabled, Point-to-Point EVCs and Multipoint EVCs MAY be multiplexed in any combination at a UNI.";
82 leaf all-to-one-bundling-enabled {
84 description "7.3: When a UNI has All to One Bundling Enabled, all CE-VLAN IDs MUST map to a single EVC at the UNI. This attribute can be enabled only when Service Multiplexing and Bundling are disabled.";
86 leaf token-share-enabled {
88 description "MEF 6.2: This is used to indicate whether a given UNI is capable of sharing tokens across Bandwidth Profile Flows in an Envelope. The allowed values, at each UNI, are Enabled or Disabled.
89 [R2] A UNI, with Token Share Enabled, MUST be able to support two or more Bandwidth Profile Flows in at least one Envelope for Bandwidth Profile as specified in Section 11 of MEF 10.3 [6]
90 [D1] A UNI, with Token Share Enabled, SHOULD be able to support two or more Bandwidth Profile Flows in every Envelope at that UNI.
91 [R3] A UNI with Token Share Disabled, MUST have exactly one Bandwidth Profile Flow per Envelope";
93 leaf l2cp-address-set {
94 type l2cp-address-set;
95 description "MEF 45: The L2CP Address Set Service Attribute specifies the subset of the Bridge Reserved Addresses that are filtered (i.e. L2CP Frames with this destination address are Peered or Discarded but not Passed) at a L2CP Decision Point.
96 The basic construct of the L2CP behavioral model is a Decision Point that determines how an L2CP Frame is processed at an External Interface. L2CP Frames that enter
97 the Decision Point from the External Interface will either be Passed to the EVC (or OVC), or Peered by redirecting the frame to a Protocol Entity, or Discarded. L2CP Frames that enter the Decision Point
98 from the EVC (or OVC) will either be Passed to the External Interface, or Peered by redirecting the frame to a Protocol Entity, or Discarded.";
100 container l2cp-peering-list {
102 description "MEF 45: The L2CP Peering Service Attribute is a list of Layer 2 Control Protocols that will be Peered by a protocol entity at a UNI, VUNI, or ENNI. Each entry in the list specifies the Protocol Identifier and the Destination Address in use by the protocol entity.";
104 container ingress-cg-eth-bwpflow {
105 uses cg-eth-bwp-flow;
108 container egress-cg-eth-bwpflow {
109 uses cg-eth-bwp-flow;
112 list cg-eth-envelope-list {
114 uses cg-eth-envelope;
117 uses cg-eth-frame-aggr-trm-spec;
120 container cg-ety-trm-spec {
121 leaf-list physical-layer-list {
123 description "MEF 7.3: This attribute is a list of physical layers, one for each physical link implementing the UNI or ENNI. Different physical links can use different physical layers. The Physical Layer for each physical link implementing the UNI or ENNI MUST is one of the PHYs listed in IEEE Std 802.3 – 2012 but excluding 1000BASE-PX-D and 1000BASE-PX-U.
124 G.8052: This attribute identifies the PHY type of the ETY trail termination. See clause 30.3.2.1.2 of [IEEE 802.3].
125 IEEE 802.3: A read-only value that identifies the PHY type. The enumeration of the type is such that the value matches the clause number of this International Standard that specifies the particular PHY. The value of this attribute maps to the value of aMAUType. The enumeration “none” can only occur in a standard implementation where an MII exists and there is nothing connected. However, the attribute aMIIDetect should be used to determine whether an MII exists or not.";
127 list sync-mode-list {
130 uses sync-mode-per-link;
131 description "MEF 7.3: This attribute is a list with one item for each of the physical links. When the value of an item is 'Enabled,' the bits transmitted from the CEN to the CE on the physical link corresponding to the item can be used by the CE as a bit clock reference.
132 G.8052: no equivalent definition
133 IEEE 802.3: oTimeSync class (?), 1:1 with oMAU.";
135 leaf number-of-links {
136 type positive-integer;
139 container port-convs-id-to-agg-link-map-list {
140 uses conversation-id-to-aggregation-link-map;
141 description "MEF 7.3: This attribute is applicable only when the UNI or ENNI resiliency attribute has the value of All Active. Its value is a Port Conversation ID to Aggregation Link Map as defined in IEEE Std 802.1AX – 2014.
142 G.8052: no equivalent definition - likely because refers to IEEE Std 802.1AX – 2008, where Conversation-sensitive LACP was not yet defined.";
144 leaf link-oam-enabled {
146 description "MEF 7.3: This attribute denotes the Link OAM is enabled or not at the UNI or the ENNI. When the value of the Link OAM attribute is TRUE, Link OAM must be run on all physical links in the UNI/ENNI.";
148 leaf lag-link-meg-enabled {
150 description "MEF 7.3: This attribute denotes the Link Aggregation Link MEG enabled or not at the UNI or at the ENNI. When the value is TRUE, the Service Provider or the Operator must operate the LAG Link MEG on each link in the EI.
151 To be updated accordingly to the development of OAM model. E.g. can be replaced by explicit provisioning of MEP on LAG links.";
153 leaf link-aggregation {
154 type interface-resiliency;
155 description "MEF 7.3: This attribute represents the Link Aggregation for a UNI or an ENNI. Its value is one of None, 2-Link Active/Standby, All Active, or Other. In MEF 10.3 it is called UNI Resiliency. the value of All Active is added in MEF 10.3.2.
156 G.8052: no equivalent definition found.";
160 grouping cg-eth-frame-aggr-trm-spec {
163 grouping cg-eth-frame-flow-cpa-aspec {
164 leaf cos-mapping-type {
165 type cos-or-eec-mapping-type;
166 description "MEF 7.3 (UML): The Class of Service (CoS) is used to specify ingress Bandwidth Profiles. The values of CoS is a triple of the form mapping type, SEP (Service End Point) based, PCP based or DSCP based.";
168 container source-mac-address-limit {
169 uses source-mac-address-limit;
170 description "MEF 10.3: Source MAC Address Limit can be either Enabled or Disabled.
171 This attribute limits the number of source MAC Addresses that can be used in ingress Service Frames of all types over a time interval. Two independent parameters control the behavior of this attribute: N : A positive integer and t : A time interval.
172 This attribute operates by maintaining a list of maximum length N of source MAC addresses which are aged-out of the list if not seen in a time interval t. If an ingress Service Frame arrives with a new source MAC address when the list is full, the Service Frame is discarded.
173 MEF 7.3: This attribute limits the number of source MAC Addresses that can be used in ingress EI Frames mapped to the EVC End Point or the OVC End Point of all types over a time interval. When not present, the number of source MAC addresses is unlimited.";
175 leaf eec-mapping-type {
176 type cos-or-eec-mapping-type;
177 description "MEF 7.3 (UML): The Egress Equivalence Class (EEC) is used to specify Egress Bandwidth Profiles. The values of EEC is a triple of the form mapping type, SEP (Service End Point) based, PCP based or DSCP based. When _eecIdentifier is null this attrubute shall be null. Otherwise both shall be set.";
179 container agg-link-depth {
181 description "MEF 7.3:
182 EvcEndPoint: This attribute only applies to an EVC End Point when the UNI resiliency has the value All Active. The EVC End Point Aggregation Link Depth Service Attribute value is a list of pairs of the form < VLAN ID, ,n> where the CE-VLAN ID value that is contained in the value of the EVC End Point Map and n is an integer in the range 1 to the value of the EI Number of Links n specifies the number of links in the value of the EI Port Conversation ID to Aggregation Link Map for the VLAN ID value.
183 OvcEndPoint: This attribute only applies to an OVC End Point at ENNI when the EI Link Aggregation has the value All Active. This attribute value is a list of pairs of the form < S-VLAN ID, ,n> where the S-VLAN ID value that is contained in the value of the OVC End Point Map and n is an integer in the range 1 to the value of the EI Number of Links n specifies the number of links in the value of the EI Port Conversation ID to Aggregation Link Map for the VLAN ID value.";
185 container cg-eth-color-identifier {
186 uses cg-eth-color-identifier;
189 leaf end-point-role {
190 type ovc-end-point-role;
191 description "End Point Role can be Root, Leaf for EVC End Points, Root, Leaf and Trunk for OVC End Poins.";
193 list s-vlan-id-list {
195 uses vlan-id-listing;
198 container ce-vlan-id-list {
199 uses vlan-id-listing;
200 description "ceVlanIdList maps 7.3 evcEndPointMap.
201 MEF 7.3: This attribute provides the list of CE-VLAN IDs those map to the EVC. MEF 10.3 lists this attribute (CE-VLAN ID/EVC map) as UNI service attribute while MEF 26.2 decided to move this on as endpoint service attribute. Decided to move this one to endpoint to be consistent. MEF 45 allows this attribute to be elastic.";
203 container root-svlan-id-list {
204 uses vlan-id-listing;
207 container leaf-svlan-id-list {
208 uses vlan-id-listing;
211 container cg-eth-spor-sospecific-srv-attributes {
212 uses cg-eth-spor-sospecific-srv-attributes;
215 container cg-eth-bwp-flow {
216 uses cg-eth-bwp-flow;
219 container ingress-cg-ethbwpflow {
220 uses cg-eth-bwp-flow;
223 list eth-cg-eth-cos-identifier {
225 uses eth-cg-eth-cos-identifier;
228 list cg-eth-eec-identifier {
230 uses cg-eth-eec-identifier;
233 list cg-eth-egress-map {
235 uses cg-eth-egress-map;
240 grouping cg-eth-conn-serv-spec {
241 leaf connection-type {
242 type connection-type;
243 description "7.3 'connectionType' replaced by G.8052 'connectionType' attribute.";
245 leaf unicast-frame-delivery {
249 leaf multicast-frame-delivery {
253 leaf broadcast-frame-delivery {
257 leaf ce-vlan-pcp-preservation {
259 description "MEF 7.3 (UML): The CE-VLAN PCP preservation represents the PCP value relationship between the ingress Service Frame and its corresponding egress Service Frame(s). In MEF 10.3, it is called CE VLAN ID COS Preservation. ";
261 leaf ce-vlan-dei-preservation {
263 description "MEF 7.3 (UML): The CE-VLAN DEI Preservation Service Attribute for EVC/OVC can be used to preserve the value of the DEI field in VLAN Tagged Service Frames across a service. This is not inlcuded in MEF 10.3 but added in MEV 26.2. Future consideration will be included in MEF 10.x.";
265 leaf max-frame-size {
266 type positive-integer;
273 leaf ce-vlan-id-preservation {
274 type vlan-id-preservation;
275 description "MEF 7.3 EVC/OVC ceVlanIdPreservation added to CgEthConnServSpec class, with the OVC type (PRESERVE/STRIP/RETAIN) as it depends on EVC/OVC decomposition performed by SOFs.
276 MEF 7.3 defines this attribute separately in EVC and OVC. When defined in OVC, the type is more complex:
277 This attribute describes a relationship between the format of the VLAN ID and related fields values of the frame at one External Interface and the format and VLAN ID and related fields values of the corresponding frame at another External Interface. The value of OVC CE-VLAN ID Preservation Service Attribute can be one of PRESERVE, STRIP, or RETAIN.";
279 leaf s-vlan-pcp-preservation {
281 description "MEF 7.3 (UML): This attribute describes a relationship between the S-VLAN PCP value of a frame at one ENNI and the S-VLAN PCP of the corresponding frame at another ENNI supported by the Operator CEN where each ENNI has an OVC End Point that is associated by the OVC.";
283 leaf s-vlan-dei-preservation {
285 description "MEF 7.3 (UML): This attribute describes a relationship between the S-VLAN DEI value of a frame at one ENNI and the S-VLAN DEI of the corresponding frame at another ENNI supported by the Operator CEN where each ENNI has an OVC End Point that is associated by the OVC.";
287 leaf available-meg-level {
288 type available-meg-level;
291 leaf l2cp-address-set {
292 type l2cp-address-set;
293 description "l2cpAddressSet maps 7.3 ovcL2cpAddressSet.
294 MEF 7.3 (UML): This attribute is the L2CP Address Set Service Attribute that is defined in MEF 45 when it is applied to the OVC.";
296 container cg-eth-carrier-ethernet-sls {
297 uses cg-eth-carrier-ethernet-sls;
302 grouping cg-eth-spor-sospecific-srv-attributes {
307 leaf token-share-enabled {
311 leaf-list operator-conn-serv-port-list {
313 path '/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:service-end-point/tapi-connectivity:local-id';
318 type tapi-common:universal-id;
321 list cg-eth-envelope-list {
323 uses cg-eth-envelope;
328 grouping eth-cg-eth-cos-identifier {
330 type tapi-common:universal-id;
335 grouping cg-eth-egress-map {
337 type tapi-common:universal-id;
342 grouping cg-eth-color-identifier {
344 type tapi-common:universal-id;
349 grouping cg-eth-eec-identifier {
351 type tapi-common:universal-id;
356 grouping cg-eth-bwp-flow {
358 type tapi-common:universal-id;
363 grouping cg-eth-envelope {
365 type tapi-common:universal-id;
368 list cg-eth-bwp-flow-list {
371 uses cg-eth-bwp-flow;
376 grouping cg-eth-carrier-ethernet-sls {
378 type tapi-common:universal-id;
381 list cg-eth-sls-cos-name-entry {
383 uses cg-eth-sls-cos-name-entry;
388 grouping cg-eth-sls-cos-name-entry {
390 type tapi-common:universal-id;
393 list cg-eth-sls-objective-and-parameters {
395 uses cg-eth-sls-objective-and-parameters;
400 grouping cg-eth-sls-objective-and-parameters {
402 type tapi-common:universal-id;
408 /***********************
410 **********************/
412 /***********************
413 * package type-definitions
414 **********************/
415 typedef natural-number {
417 description "An integer >=0";
419 grouping l2cp-peering {
420 container protocol-id {
422 description "This is a L2CP Protocol Identifier.";
424 leaf destination-address {
426 description "This is a Mac Address.";
428 leaf-list link-id-list {
429 type positive-integer;
430 description "It is possible that a protocol (e.g. ESMC) could operate on some, but not all, of the physical
431 links. When linkId is not listed, the protocol peering applies to all members of the aggregation link.";
433 description "This is a list specifies the L2CP Protocol Identifier and the Destination Address in use by the protocol entity.";
435 typedef tagged-l2cp-processing {
437 enum 802-1-compliant {
440 enum 802-1-non-compliant {
444 description "Either 802.1 compliant or not. Refer to MEF 45.";
448 type positive-integer;
449 description "This is the Vlan ID value.";
451 description "This is for VLAN ID from 1 to 4094";
453 typedef positive-integer {
455 description "An integer >0";
457 typedef l2cp-address-set {
460 description "CE-Vlan Tag Aware";
463 description "CE-Vlan Tag Blind";
466 description "CE-Vlan Tag Blind option 2";
469 description "This lists the L2CP Address Set. Refer to MEF 45.";
471 typedef physical-layer {
675 description "IEEE802.3 (2012) defined list excluding 1000BASE-PX-D and 1000BASE-PX-U. NONE is added with further MEF 10.3 discussion, for supporting logical interfaces.";
677 grouping sync-mode-per-link {
680 description "This is the link ID of the link in the Aggregation Link.";
682 leaf sync-mode-enabled {
684 description "This attribute denotes whether the Synchronous Mode is enabled (on the link with the Link ID).";
686 description "A link may consist of one or more physical ports. This data type includes the link ID and the sync mode of the physical port associated to the link Id.";
688 typedef interface-resiliency {
693 enum 2-link-active-standby {
703 description "The method for protection, if any, against a physical link failure. Refer to MEF 10.3.2 and MEF 26.2.";
705 grouping conversation-id-to-aggregation-link-map {
706 leaf conversation-id {
708 description "The conversation ID is a Vlan ID or 0 for untagged or priority tagged frame.. ";
710 leaf-list link-id-list {
713 description "The link ID of the aggregation link.";
715 description "This is a Port Conversation ID to Aggregation Link Map as defined in IEEE Std 802.1AX – 2014.";
717 typedef cos-or-eec-mapping-type {
720 description "Using EVC End Point or OVC End Point to map to the CoS Name as CoS ID.";
723 description "Using PCP field to map to the CoS Name as CoS ID.";
726 description "Using DSCP field to map to the CoS Name as CoS ID.";
729 description "This lists the Class of Service identifier type, or the Equivalence Class Identifier type. ";
731 grouping source-mac-address-limit {
734 description "This attribute denotes the maximum acceptable source MAC addresses.";
738 description "This attribute denotes the time interval in milliseconds.";
740 description "This limits the number of source MAC Addresses that can be used in ingress external interface frames mapped to the End Point of all types over a time interval.";
742 grouping agg-link-depth {
745 description "The ingress frame Vlan ID. ";
748 type positive-integer;
749 description "The number of links for the aggregation link.";
751 description "This is a pair of <VLAN ID, link depth> indicating that a given VLAN ID maps to a given number of links in the Port Conversation ID to Aggregation Link Map.";
753 typedef ovc-end-point-role {
756 description "OVC End Point has role of root for the OVC.";
759 description "OVC End Point has role of leaf for the OVC.";
762 description "OVC End Point has role of trunk for the OVC.";
765 description "The value indicates how external interface frames mapped to the OVC End Point can be forwarded.";
767 grouping vlan-id-listing {
769 type vlan-id-mapping-type;
770 description "Can be LIST, or ALL, or EXCEPT.";
775 description "This is a list of Vlan IDs.";
777 description "The list VLAN IDs, either when type=LIST, or when type==EXCEPT (which means the VLAN IDs except the listed). When type=ALL, the vlanId list is not applicable.";
779 typedef connection-type {
781 enum point-to-point {
787 enum rooted-multipoint {
791 description "This is for EVC or OVC connection types, including point to point, multi-point and rooted multi-point.";
793 typedef frame-delivery {
796 description "Frame must be discarded.";
799 description "Frame will be delivered with specified condition.";
801 enum unconditionally {
802 description "Frame will be delivered unconditionally.";
805 description "Service frame delivery defined in MEF 10.3. When the value is conditionally, the specific condition has to be addresses by the users. What conditions should be supported are not in the scope.";
807 typedef vlan-id-preservation {
810 description "To achieve EVC CE-VLAN ID Preservation.";
813 description "C-Tag, if present, is encapsulated with the C-Tag VLAN ID value retained.";
816 description "C-Tag is discarded.";
819 description "This is for Vlan ID Preservation. Refer to MEF 26.2 section 12.7.";
821 typedef available-meg-level {
824 description "Indicates that SOAM EI Frames are not guaranteed to pass over this OVC at any MEG Level.";
851 description "This enumeration is for available MEG level, can be either NONE or value 0..7. NONE indicates that SOAM EI Frames are not guaranteed to pass over at any MEG Level.";
853 typedef identifier45 {
855 description "Unique by network administrative domain, containing no more than 45 characters and non-null RFC Display String but not contain the characters 0x00 through 0x1f.";
857 grouping l2cp-protocol {
858 leaf l2cp-protocol-type {
859 type l2cp-protocol-type;
860 description "This attribute specifies the type of L2CP protocol, i.e., LLC or EtherType.";
862 leaf llc-address-or-ether-type {
864 description "This attribute specifies the LLC address or the EtherType value.";
868 description "This attribute specifies the subtype of the L2CP protocol.";
870 description "This data type defines a L2CP protocol (LLC address type or EtherType) with possible subtype.";
872 typedef l2cp-protocol-type {
875 description "EtherType for L2CP, e.g., LLDP (0x88CC).";
878 description "Logical Link Control sublayer address for L2CP, e.g., STP (0x42).";
881 description "This lists the L2CP protocol types, either EtherType, or LLC Address.";
883 typedef vlan-id-mapping-type {
886 description "All Vlan IDs.";
889 description "All Vlan IDs except the listed.";
892 description "List of Vlan IDs.";
895 description "Vlan ID types, ALL for all vlan IDs, LIST for a list of Vlan IDs, EXCEPT for all Vlan IDs except the listed. ";