/* * Copyright (c) 2016 Cisco Systems, Inc. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL */ module mef-nrp-specs { namespace "urn:mef:nrp-specs"; prefix nrp; import onf-core-network-module { prefix onf-cn; } import mef-nrp-types { prefix nrp-types; } import mef-nrp-bandwidth-profile { prefix nrp-bwp; } import network-topology { prefix nt; } revision 2016-06-30 { } augment "/onf-cn:forwarding-constructs/onf-cn:forwarding-construct/onf-cn:fcSpec" { container nrp-ce-fcspec-attrs { uses G_NRP_CeFcSpec; } } grouping G_NRP_CeFcSpec { leaf connectionType { type nrp-types:NRP_ConnectionType; description "Virtual connection (EVC or OVC)."; } leaf unicastFrameDelivery { type nrp-types:NRP_ServiceFrameDelivery; description "A Data Service Frame with a unicast Destination MAC Address is defined to be a Multicast Data Service Frame. Reference MEF 10.3, Section 8.5.2."; } leaf multicastFrameDelivery { type nrp-types:NRP_ServiceFrameDelivery; } leaf broadcastFrameDelivery { type nrp-types:NRP_ServiceFrameDelivery; description "A Data Service Frame with a broadcast Destination MAC Address is defined to be a Broadcast Data Service Frame. Reference MEF 10.3, Section 8.5.2 for EVC and MEF 26.1, Section x.y for OVC."; } leaf vcMaxServiceFrame { type nrp-types:NRP_PositiveInteger; description "The value for the EVC or OVC Maximum Service Frame Size is a positive integer in bytes. Reference MEF 10.3, Section 8.9 for EVC and MEF 26.1 Section x.y for OVC."; } leaf vcId { type nrp-types:NRP_PositiveInteger; description "The EVC ID is an arbitrary string administered by the Service Provider that is used to identify an EVC within the CEN. MEF 10.3, Section 8.2."; } } augment "/nt:network-topology/nt:topology/nt:node/nt:termination-point/onf-cn:ltp-attrs/onf-cn:lpList/onf-cn:lpSpec/onf-cn:terminationSpec" { container nrp-termination-spec-attrs { uses G_NRP_TerminationSpec; } container nrp-uni-termination-attrs { uses G_NRP_UNI_TerminationSpec; } } grouping G_NRP_TerminationSpec { leaf physicalLayer { type nrp-types:NRP_PhysicalLayer; description "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 be one of the PHYs listed in IEEE Std 802.3 - 2012 but excluding 1000BASE-PX-D and 1000BASE-PX-U. Reference MEF 10.3, Section 9.2."; } list syncMode { description "

The Synchronous Mode Service 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. Reference MEF 10.3, Section 9.3.

"; key 'linkId'; config true; ordered-by system; uses nrp-types:G_NRP_SyncModePerLink; } leaf numberOfLinks { type nrp-types:NRP_NaturalNumber; description "This attribute specifies the number of links at the Ethernet Service Interface (UNI or ENNI). MEF 10.3, Section 9.4."; } leaf resiliency { type nrp-types:NRP_InterfaceResiliency; description "This attribute value is one of None, 2-Link Active/Standby, All Active, or Other. MEF 10.3, Section 9.5. MEF 10.3.2, MEF 26.2 "; } container portConvsIdToAggLinkMap { description "The Port Conversation ID to Aggregation Link Map Attribute is applicable only when the EthernetServiceInterface 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. MEF 10.3.2"; config true; uses nrp-types:G_NRP_ConversationIdToAggrgationLinkMap; } leaf maxFrameSize { type nrp-types:NRP_NaturalNumber; description "This value limits the length of frames carried by an EVC/OVC that associates an EVC/OVC End Point. The minimum of this maxinum number for UNI and ENNI are different. MEF 10.3, Section 9.7."; } leaf linkOamEnabled { type boolean; description "When the value of the Link OAM attribute is Enabled, Link OAM musd tbe run on all physical links in the UNI/ENNI. MEF 10.3, Section 9.16."; } leaf tokenShareEnabled { type boolean; description "When the value of the Token Share Service attribute is Enabled, at least one Envelope at the UNI/ENNI MUST be able to have two or more Bandwidth Profiles mapped to it. MEF 6.2, Section 8.2.1."; } leaf serviceProviderUniId { type string; description "MEF 10.3, Section 9.1."; } } grouping G_NRP_UNI_TerminationSpec { leaf defaultCeVlanId { description "This is the CE-VLAN ID value assigned to Untagged Service Frames and Priority Tagged Service Frames. In MEF 10.3, it is called CE Vlan ID for untagged and priority tagged service frames. MEF 10.3, Section 9.9."; config true; type nrp-types:NRP_PositiveInteger; } leaf uniMegEnabled { type boolean; description "When the value of the UNI MEG Service Attribute is Enabled, the CEN MUST meet the mandatory requirements in MEF 30.1 that apply to the UNI MEG MEF 10.3, Section 9.17."; } leaf elmiEnabled { type boolean; description "When the value of the E-LMI Service Attribute is Enabled, the CEN MUST meet the mandatory requirements in MEF 16 that apply to the UNI-N. MEF 10.3, Section 9.18"; } leaf serviceprovideruniprofile { type string; } leaf operatoruniprofile { type string; } container ingressBwpUni { description "MEF 10.3, Section 9.14"; config true; uses nrp-bwp:G_NRP_BwpFlow; } container egressBwpUni { description "MEF 10.3, Section 9.15"; config true; uses nrp-bwp:G_NRP_BwpFlow; } } augment "/nt:network-topology/nt:topology/nt:node/nt:termination-point/onf-cn:ltp-attrs/onf-cn:lpList/onf-cn:lpSpec/onf-cn:adapterSpec" { container nrp-conn-adapt-spec-attrs { uses G_NRP_ConnAdaptSpec; } container nrp-ivc-endpoint-conn-adapt-spec-attrs { uses G_NRP_IvcEndpoint_ConnAdaptSpec; } container nrp-evc-endpoint-conn-adapt-spec-attrs { uses G_NRP_EvcEndpoint_ConnAdaptSpec; } } grouping G_NRP_ConnAdaptSpec { container sourceMacAddressLimit { description "MEF 10.3, Section 10.9"; config true; uses nrp-types:G_NRP_SourceMacAddressLimit; } container CeExternalInterface { config true; uses G_NRP_TerminationSpec; } container coloridentifier { config true; uses nrp-bwp:G_NRP_ColorIdentifier; } container ingressBwpFlow { config true; uses nrp-bwp:G_NRP_BwpFlow; } container egressBwpFlow { config true; uses nrp-bwp:G_NRP_BwpFlow; } leaf l2cpAddressSet { type nrp-types:NRP_L2cpAddressSet; } list l2cpPeering { description "The L2CP Peering service attribute value MUST be an empty list, or a list of entries identifying protocols to be Peered where each entry consists of {Destination Address, Protocol Identifier} or {Destination Address, Protocol Identifier, Link Identifier}. MEF 45, Section 8.2"; key 'linkId'; config true; ordered-by system; uses nrp-types:G_NRP_L2cpPeering; } } grouping G_NRP_EvcEndpoint_ConnAdaptSpec { uses G_NRP_ConnAdaptSpec; leaf evcEndPointId { type nrp-types:NRP_PositiveInteger; description "The EVC End Point Identification. This attribute is adapted from MEF 26.2. MEF 10.3 uses \"EVC per UNI\" for EVC End Point, therefore there is no identificaiton attribute."; } leaf testMegEnabled { type boolean; description "When the value of the Test MEG Service Attribute is Enabled, the CEN MUST meet the mandatory requirements in Section 7.5 of MEF 30.1. that apply to the Test MEG"; } leaf evcEndPointRole { type nrp-types:NRP_EvcEndPointRole; description "The EVC End Point Role is ROOF or LEAF."; } list evcEndPointMap { description "This attribute provides the list of CE-VLAN IDs that maps to the EVC. MEF 10.3 and MEF 6.2 list this attriubte (CE-VLAN ID/EVC map) as UNI service attribute while MEF 26.2 decided to move this on as endpoint service attribute, just as MEF 10.1 and MEF 6.1 did. Decided to move this one to endpoint to be consistent. To be consitent, changing its name to EvcEntPointMap (MEF 26.2 lists as OVC Endpoint Map). "; key 'vid'; leaf vid { type nrp-types:NRP_PositiveInteger; } config true; ordered-by system; } leaf subscriberMegMipEbabled { type boolean; description "When the value of the Subscriber MEG MIP Service Attribute is Enabled, the CEN MUST instantiate a Subscriber Level MIP."; } } grouping G_NRP_IvcEndpoint_ConnAdaptSpec { leaf ivcEndPointId { type string; description "The EVC End Point Identification. This attribute is adapted from MEF 26.2. MEF 10.3 uses \"EVC per UNI\" for EVC End Point, therefore there is no identificaiton attribute."; } leaf testMegEnabled { type boolean; description "When the value of the Test MEG Service Attribute is Enabled, the CEN MUST meet the mandatory requirements in Section 7.5 of MEF 30.1. that apply to the Test MEG"; } leaf ivcEndPointRole { type nrp-types:NRP_EndPointRole; description "The EVC End Point Role is ROOF or LEAF."; } list ivcEndPointMap { description "This attribute provides the list of CE-VLAN IDs that maps to the EVC. MEF 10.3 and MEF 6.2 list this attriubte (CE-VLAN ID/EVC map) as UNI service attribute while MEF 26.2 decided to move this on as endpoint service attribute, just as MEF 10.1 and MEF 6.1 did. Decided to move this one to endpoint to be consistent. To be consitent, changing its name to EvcEntPointMap (MEF 26.2 lists as OVC Endpoint Map). "; key 'vlanId'; config true; ordered-by system; uses G_NRP_EndPointMap; } leaf subscriberMegMipEnabled { type boolean; description "When the value of the Subscriber MEG MIP Service Attribute is Enabled, the CEN MUST instantiate a Subscriber Level MIP."; } } grouping G_NRP_EndPointMap { leaf vlanId { type nrp-types:NRP_PositiveInteger; } choice endpoint-map-form { case map-form-e { list enni-svid { key 'vid'; leaf vid { type nrp-types:NRP_PositiveInteger; } } } case map-form-t { leaf root-svid { type nrp-types:NRP_PositiveInteger; } leaf leaf-svid { type nrp-types:NRP_PositiveInteger; } } case map-form-v { leaf vuni-vid { type nrp-types:NRP_PositiveInteger; } list enni-cevid { key 'vid'; leaf vid { type nrp-types:NRP_PositiveInteger; } } } case map-form-u { list cvid { key 'vid'; leaf vid { type nrp-types:NRP_PositiveInteger; } } } } } }