These modules supersede the MEF NRP modules that are in unimgr-api.
Change-Id: I6a2d65d0cd5eee8f4d50f7f96a464324b4a3ca94
Signed-off-by: Donald Hunter <donaldh@cisco.com>
<modules>
<module>api</module>
<module>legato-api</module>
+ <module>presto-api</module>
<module>impl</module>
<module>cisco-xr-driver</module>
<module>cli</module>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <groupId>org.opendaylight.mdsal</groupId>
+ <artifactId>binding-parent</artifactId>
+ <version>0.9.0-SNAPSHOT</version>
+ <relativePath/>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.opendaylight.unimgr</groupId>
+ <artifactId>unimgr-presto-api</artifactId>
+ <version>0.1.0-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+
+ <properties>
+ <ovsdb.version>1.3.0-SNAPSHOT</ovsdb.version>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.mdsal.model</groupId>
+ <artifactId>ietf-topology</artifactId>
+ </dependency>
+ </dependencies>
+
+</project>
--- /dev/null
+/*
+ * 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-bandwidth-profile {
+ namespace "urn:mef:nrp-bandwidth-profile";
+ prefix nrp-bwp;
+
+ import mef-nrp-types {
+ prefix nrp-types;
+ }
+
+ revision 2016-06-30 {
+ }
+
+ grouping G_NRP_BwpFlow {
+ leaf bwpFlowIndex {
+ type nrp-types:NRP_PositiveInteger;
+ description "The index i=1,2,...,n is used to index the Bandwidth Profile Flow among all Bandwidth Profile
+Flows that are mapped to a given Envelope";
+ }
+ leaf cir {
+ type nrp-types:NRP_NaturalNumber;
+ description "Committed Information Rate that limits the average rate of frames that will be declared
+Green. In bits per second.";
+ }
+ leaf cirMax {
+ type nrp-types:NRP_NaturalNumber;
+ description "Maximum Committed Information Rate that limits the rate of tokens added to the committed token
+bucket. In bits per second.";
+ }
+ leaf cbs {
+ type nrp-types:NRP_NaturalNumber;
+ description "Committed Burst Size that limits the maximum number of bytes available for a burst of frames
+that will be declared Green, in bytes,";
+ }
+ leaf eir {
+ type nrp-types:NRP_NaturalNumber;
+ description "Excess Information Rate that limits the average rate of frames that will be declared Yellow, in
+bits per second.";
+ }
+ leaf eirMax {
+ type nrp-types:NRP_NaturalNumber;
+ description "Maximum Excess Infor-mation Rate that Limits the rate of tokens added to the excess token
+bucket, in bits per second.";
+ }
+ leaf ebs {
+ type nrp-types:NRP_NaturalNumber;
+ description "Excessive Burst Size that limits the maximum number of bytes available for a burst of frames
+that will be declared Yellow, in bytes.";
+ }
+ leaf couplingFlag {
+ type nrp-types:NRP_NaturalNumber;
+ description "Coupling Flag that Determines if overflow Green tokens can be used as Yellow tokens. Value 0 for
+NO and value 1 for YES.";
+ }
+ leaf colorMode {
+ type nrp-types:NRP_ColorMode;
+ description "Color Mode that Indicates whether the Color Identifier of the frame is considered by the
+Bandwidth Profile Algorithm.";
+ }
+ leaf rank {
+ type nrp-types:NRP_PositiveInteger;
+ description "Bandwidth prorile flow rank in an associated Envelope.";
+ }
+ leaf tokenRequestOffset {
+ type nrp-types:NRP_NaturalNumber;
+ description "Adjusts the number of tokens requested for each external interface frame.";
+ }
+ }
+
+ grouping G_NRP_ColorIdentifier {
+ choice identifier {
+ case sap-color-id {
+ container serviceAccessPointColorId {
+ uses G_NRP_ServiceAccessPointColorId;
+ }
+ }
+ case pcp-color-id {
+ container pcpColorId {
+ uses G_NRP_PcpColorId;
+ }
+ }
+ case dei-color-id {
+ container deiColorId {
+ uses G_NRP_DeiColorId;
+ }
+ }
+ case desp-color-id {
+ container despColorId {
+ uses G_NRP_DespColorId;
+ }
+ }
+ }
+ }
+
+ grouping G_NRP_ServiceAccessPointColorId {
+ leaf color {
+ type nrp-types:NRP_FrameColor;
+ description "Green or Yellow.";
+ }
+ }
+ grouping G_NRP_PcpColorId {
+ leaf vlanTag {
+ type nrp-types:NRP_VlanTag;
+ description "Which vlan tag pcp to be used for color identier, S tag or C tag. S-tag is not valid for EvcEndPoint. ";
+ }
+ leaf-list pcpValue {
+ description "List PCP values map to the same color.";
+ ordered-by system;
+ type nrp-types:NRP_NaturalNumber;
+ min-elements 1;
+ }
+ leaf color {
+ type nrp-types:NRP_FrameColor;
+ description "Green or Yellow.";
+ }
+ }
+ grouping G_NRP_DeiColorId {
+ leaf vlanTag {
+ type nrp-types:NRP_VlanTag;
+ description "Which vlan tag pcp to be used for color identier, S tag or C tag. S-tag is not valid for EvcEndPoint. ";
+ }
+ leaf-list deiValue {
+ description "DEI=0 or DEI=1";
+ ordered-by system;
+ type nrp-types:NRP_NaturalNumber;
+ max-elements 2;
+ min-elements 1;
+ }
+ leaf color {
+ type nrp-types:NRP_FrameColor;
+ description "Green or Yellow";
+ }
+ }
+ grouping G_NRP_DespColorId {
+ leaf ipVersion {
+ type nrp-types:NRP_IpVersion;
+ description "IPv4, or IPv6, or both IPv4 and IPv6.";
+ }
+ leaf-list dscpValue {
+ description "List DSCP values map to the same color.";
+ ordered-by system;
+ type nrp-types:NRP_NaturalNumber;
+ }
+ leaf color {
+ type nrp-types:NRP_FrameColor;
+ description "Green or Yellow";
+ }
+ }
+
+}
--- /dev/null
+/*
+ * 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 "<p>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.</p>
+";
+ 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;
+ }
+ }
+ }
+ }
+ }
+}
--- /dev/null
+/*
+ * 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-types {
+ namespace "urn:mef:nrp-types";
+ prefix nrp-types;
+
+ revision 2016-06-30 {
+ }
+
+ grouping G_NRP_SourceMacAddressLimit {
+ leaf enabled {
+ type boolean;
+ }
+ leaf limit {
+ type NRP_NaturalNumber;
+ }
+ leaf timeInterval {
+ type NRP_NaturalNumber;
+ }
+ }
+ grouping G_NRP_VlanId {
+ leaf vid {
+ type NRP_PositiveInteger;
+ }
+ }
+ typedef NRP_EvcEndPointRole {
+ type enumeration {
+ enum ROOT;
+ enum LEAF;
+ }
+ }
+ typedef NRP_Identifier45 {
+ type string;
+ }
+ typedef NRP_L2cpAddressSet {
+ type enumeration {
+ enum CTA;
+ enum CTB;
+ enum CTB2;
+ }
+ }
+ typedef NRP_PhysicalLayer {
+ type enumeration {
+ enum 10BASE2;
+ enum 10BASE5;
+ enum 10BASE_F;
+ enum 10BASE_FB;
+ enum 10BASE_FL;
+ enum 10BASE_FP;
+ enum 10BASE_T;
+ enum 10BASE_TE;
+ enum 10BROAD36;
+ enum 10PASS_TS;
+ enum 100BASE_BX10;
+ enum 100BASE_FX;
+ enum 100BASE_LX10;
+ enum 100BASE_T;
+ enum 100BASE_T2;
+ enum 100BASE_T4;
+ enum 100BASE_TX;
+ enum 100BASE_X;
+ enum 1000BASE_BX10;
+ enum 1000BASE_CX;
+ enum 1000BASE_KX;
+ enum 1000BASE_LX;
+ enum 1000BASE_LX10;
+ enum 1000BASE_PX10;
+ enum 1000BASE_PX20;
+ enum 1000BASE_SX;
+ enum 1000BASE_T;
+ enum 1000BASE_X;
+ enum 10GBASE_CX4;
+ enum 10GBASE_E;
+ enum 10GBASE_ER;
+ enum 10GBASE_EW;
+ enum 10GBASE_KR;
+ enum 10GBASE_KX4;
+ enum 10GBASE_L;
+ enum 10GBASE_LR;
+ enum 10GBASE_LRM;
+ enum 10GBASE_LW;
+ enum 10GBASE_LX4;
+ enum 10GBASE_PR;
+ enum 10GBASE_PRX;
+ enum 10GBASE_R;
+ enum 10GBASE_S;
+ enum 10GBASE_SR;
+ enum 10GBASE_SW;
+ enum 10GBASE_T;
+ enum 10GBASE_W;
+ enum 10GBASE_X;
+ enum 100GBASE_R;
+ enum 100GBASE_CR10;
+ enum 100GBASE_ER4;
+ enum 100GBASE_LR4;
+ enum 100GBASE_SR10;
+ enum 40GBASE_R;
+ enum 40GBASE_CR4;
+ enum 40GBASE__FR;
+ enum 40GBASE_KR4;
+ enum 40GBASE_LR4;
+ enum 40GBASE_SR4;
+ enum 1BASE5;
+ enum 2BASE_TL;
+ enum 1G_EPON;
+ enum 10G_EPON;
+ enum 10_1G_EPON;
+ enum 10_10G_EPON;
+ enum NONE;
+ }
+ }
+ typedef NRP_NaturalNumber {
+ type uint32 {
+ range "1..max";
+ }
+ }
+ grouping G_NRP_SyncModePerLink {
+ leaf linkId {
+ type string;
+ }
+ leaf syncModeEnabled {
+ type boolean;
+ }
+ }
+ typedef NRP_ProtocolFrameType {
+ type enumeration {
+ enum ETHERTYPE;
+ enum LLC_ADDRESS;
+ enum OTHER;
+ }
+ }
+ typedef NRP_InterfaceResiliency {
+ type enumeration {
+ enum NONE;
+ enum 2_LINK_ACTIVE_STANDBY;
+ enum ALL_ACTIVE;
+ enum OTHER;
+ }
+ }
+ grouping G_NRP_ConversationIdToAggrgationLinkMap {
+ leaf conversationId {
+ type NRP_NaturalNumber;
+ }
+ leaf linkId {
+ type NRP_NaturalNumber;
+ }
+ }
+ grouping G_NRP_L2cpPeering {
+ leaf destinationMacAddress {
+ type string;
+ description "The destination address determines the intended recipient device for the frame.";
+ }
+ leaf protocolType {
+ type NRP_ProtocolFrameType;
+ description "Protocol Identifier is either an LLC Address or an Ethertype, and it could have subtypes. The list specifies only the L2CP Frames that
+are to be Peered. Any L2CP Frame that is not Peered will either be Discarded or Passed
+as a result of the flow charts and requirements specified in MEF 45, Section 9.";
+ }
+ leaf linkId {
+ type string;
+ description "Identifies the physical link identifier for protocols (e.g. LLDP, ESMC) that can operate over the individual physical links.
+If no link identifier is specified then the list entry will apply to all physical links.
+MEF 45, Section 8.2";
+ }
+ leaf protocolId {
+ type string;
+ }
+ }
+ typedef NRP_ColorMode {
+ type enumeration {
+ enum COLOR_AWARE;
+ enum COLOR_BLIND;
+ }
+ }
+ typedef NRP_PositiveInteger {
+ type uint32 {
+ range "1..max";
+ }
+ }
+ typedef NRP_VlanTag {
+ type enumeration {
+ enum S_TAG;
+ enum C_TAG;
+ }
+ }
+ typedef NRP_IpVersion {
+ type enumeration {
+ enum IPV4;
+ enum IPV6;
+ enum IPV4_AND_IPV6;
+ }
+ }
+ typedef NRP_FrameColor {
+ type enumeration {
+ enum GREEN;
+ enum YELLOW;
+ }
+ }
+ typedef NRP_PcpOrDiscard {
+ type enumeration {
+ enum DISCARD;
+ enum 0;
+ enum 1;
+ enum 2;
+ enum 3;
+ enum 4;
+ enum 5;
+ enum 6;
+ enum 7;
+ }
+ }
+ typedef NRP_DeiOrDiscard {
+ type enumeration {
+ enum DISCARD;
+ enum 0;
+ enum 1;
+ }
+ }
+ grouping G_NRP_AggLinkDepth {
+ container nrp_vlanId {
+ config true;
+ uses G_NRP_VlanId;
+ }
+ leaf nrp_linkNumber {
+ type NRP_NaturalNumber;
+ }
+ }
+ typedef NRP_ConnectionType {
+ type enumeration {
+ enum POINT_TO_POINT;
+ enum MULTIPOINT;
+ enum ROOTED_MULTIPOINT;
+ }
+ }
+ typedef NRP_ServiceFrameDelivery {
+ type enumeration {
+ enum CONDITIONALLY;
+ enum UNCONDITIONALLY;
+ }
+ }
+ typedef NRP_EndPointRole {
+ type enumeration {
+ enum ROOT;
+ enum LEAF;
+ enum TRUNK;
+ }
+ }
+ typedef NRP_MepDirection {
+ type enumeration {
+ enum DOWN;
+ enum UP;
+ }
+ }
+ grouping G_NRP_MepLevelAndDirection {
+ leaf nrp_level {
+ type NRP_NaturalNumber;
+ }
+ leaf nrp_direction {
+ type NRP_MepDirection;
+ }
+ leaf nrp_megId {
+ type string;
+ }
+ }
+}
--- /dev/null
+/*
+ * 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 onf-core-network-module {
+ namespace "urn:onf:core-network-module";
+ prefix onf-cn;
+
+ import onf-core-network-types {
+ prefix onf-cnt;
+ }
+
+ import onf-core-specs {
+ prefix onf-cs;
+ }
+
+ import network-topology {
+ prefix nt;
+ }
+
+ revision 2016-06-30 {
+ }
+
+ container forwarding-constructs {
+ list forwarding-construct {
+ key 'uuid';
+
+ leaf uuid {
+ type string;
+ }
+
+ uses G_ForwardingConstruct;
+ }
+ }
+
+ grouping G_ForwardingConstruct {
+ leaf layerProtocolName {
+ type onf-cnt:LayerProtocolName;
+ description "The layerProtocol at which the FC enables potential for forwarding.";
+ }
+ leaf-list lowerLevelFc {
+ description "An FC object supports a recursive aggregation relationship such that the internal construction
+of an FC can be exposed as multiple lower level FC objects (partitioning). Aggregation is used
+as for the FD to allow changes in hierarchy.
+";
+ ordered-by system;
+ type leafref {
+ path '/forwarding-constructs/forwarding-construct/uuid';
+ }
+ }
+ list fcRoute {
+ description "An FC object can have zero or more routes, each of which is defined as a list of lower level FC
+objects describing the flow across the network.";
+ key 'uuid';
+ config true;
+ ordered-by system;
+ uses G_FcRoute;
+ }
+ list fcPort {
+ description "The association of the FC to LTPs is made via FcPorts (essentially the ports of the FC).";
+ key 'topology node tp';
+ config true;
+ uses G_FcPort;
+ min-elements 2;
+ }
+ container fcSpec {
+ uses onf-cs:G_FcSpec;
+ description "References the specification that describes the capability and internal structure of of the FC
+(e.g. The arrangement of switches for a particular instance is described by a referenced
+FcSpec). The specification allows interpretation of FcPort role and switch configurations etc.";
+ }
+ leaf forwardingDirection {
+ type onf-cnt:ForwardingDirection;
+ description "The directionality of the ForwardingConstruct. Is applicable to simple ForwardingConstructs
+where all FcPorts are BIDIRECTIONAL (the ForwardingConstruct will be BIDIRECTIONAL) or
+UNIDIRECTIONAL (the ForwardingConstruct will be UNIDIRECTIONAL). Is not present in more complex
+cases.";
+ }
+ }
+
+ grouping G_FcRoute {
+ leaf uuid {
+ type string;
+ }
+ leaf-list fc {
+ description "The list of FCs describing the route of an FC.";
+ ordered-by system;
+ type leafref {
+ path '/onf-cn:forwarding-constructs/onf-cn:forwarding-construct/onf-cn:uuid';
+ }
+ min-elements 2;
+ }
+ }
+
+ grouping G_FcPort {
+ uses onf-cs:ltp-ref;
+ leaf role {
+ type onf-cnt:PortRole;
+ description "Each FcPort of the FC has a role (e.g., working, protection, protected, symmetric, hub, spoke,
+leaf, root) in the context of the FC with respect to the FC function.";
+ }
+ leaf fcPortDirection {
+ type onf-cnt:PortDirection;
+ description "The orientation of defined flow at the FcPort.";
+ }
+ }
+
+ augment "/nt:network-topology/nt:topology/nt:node/nt:termination-point" {
+ container ltp-attrs {
+ uses G_LogicalTerminationPoint;
+ }
+ }
+
+ grouping G_LogicalTerminationPoint {
+ list lpList {
+ description "Ordered list of LayerProtocols that this LTP is comprised of where the first entry in the list is the lowest server layer (e.g. physical)";
+ key 'uuid';
+ config true;
+ leaf uuid {
+ type string;
+ }
+ uses G_LayerProtocol;
+ }
+ container ltpSpec {
+ uses onf-cs:G_LtpSpec;
+ description "The specification of the LTP defines internal structure of the LTP. The specification allows
+interpretation of organisation of LPs making up the LTP and also identifies which inter-LTP
+associations are valid.";
+ }
+ leaf ltpDirection {
+ type onf-cnt:TerminationDirection;
+ description "The overall directionality of the LTP.
+- A BIDIRECTIONAL LTP must have at least some LPs that are BIDIRECTIONAL but may also have some SINK and/or SOURCE LPs.
+- A SINK LTP can only contain SINK LPs
+- A SOURCE LTP can only contain SOURCE LPs";
+ }
+ }
+
+ grouping G_LayerProtocol {
+ leaf layerProtocolName {
+ type onf-cnt:LayerProtocolName;
+ description "Indicate the specific layer-protocol described by the LayerProtocol entity.";
+ }
+ container lpSpec {
+ uses onf-cs:G_LayerProtocolSpec;
+ description "The LpSpec identifies the internal structure of the LP explaining internal flexibilities, degree
+of termination and degree of adaptation on both client and server side.";
+ }
+ leaf configuredClientCapacity {
+ type string;
+ description "Provides a summarized view of the client capacity that is configurable for use. Note the cleint
+LTP association should provide all necessary detail hence this attribute is questionable.";
+ }
+ leaf lpDirection {
+ type onf-cnt:TerminationDirection;
+ description "The overall directionality of the LP.
+- A BIDIRECTIONAL LP will have some SINK and/or SOURCE flowss.
+- A SINK LP can only contain elements with SINK flows or CONTRA_DIRECTION_SOURCE flows
+- A SOURCE LP can only contain SOURCE flows or CONTRA_DIRECTION_SINK flows";
+ }
+ leaf terminationState {
+ type string;
+ description "Indicates whether the layer is terminated and if so how.";
+ }
+ }
+
+}
--- /dev/null
+/*
+ * 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 onf-core-network-types {
+ namespace "urn:onf:core-network-types";
+ prefix onf-cnt;
+
+ revision 2016-06-30 {
+ }
+
+ typedef OperType {
+ type enumeration {
+ enum REVERTIVE;
+ enum NON-REVERTIVE;
+ }
+ }
+
+ typedef LayerProtocolName {
+ type string;
+ }
+
+ typedef ForwardingDirection {
+ type enumeration {
+ enum BIDIRECTIONAL;
+ enum UNIDIRECTIONAL;
+ enum UNDEFINED_OR_UNKNOWN;
+ }
+ }
+
+ typedef PortRole {
+ status current;
+ type string;
+ }
+
+ typedef PortDirection {
+ type enumeration {
+ enum BIDIRECTIONAL;
+ enum INPUT;
+ enum OUTPUT;
+ enum UNIDENTIFIED_OR_UNKNOWN;
+ }
+ }
+
+ typedef ProtectionType {
+ status deprecated;
+ type string;
+ }
+
+ typedef TerminationDirection {
+ type enumeration {
+ enum BIDIRECTIONAL;
+ enum SINK;
+ enum SOURCE;
+ enum UNDEFINED_OR_UNKNOWN;
+ }
+ }
+
+}
--- /dev/null
+/*
+ * 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 onf-core-specs {
+ namespace "urn:onf:core-specs";
+ prefix onf-cs;
+
+ import network-topology {
+ prefix nt;
+ }
+
+ revision 2016-06-30 {
+ }
+
+ grouping ltp-ref {
+ leaf topology {
+ type nt:topology-ref;
+ }
+ leaf node {
+ type nt:node-ref;
+ }
+ leaf tp {
+ type nt:tp-ref;
+ }
+ }
+
+ grouping G_FcSpec {
+ status current;
+ leaf uuid {
+ type string;
+ }
+ list fcPortSpec {
+ key 'uuid';
+ config true;
+ ordered-by system;
+ uses G_FcPortSetSpec;
+ }
+ }
+
+ grouping G_FcPortSetSpec {
+ status current;
+ leaf uuid {
+ type string;
+ }
+ list ingressFcPortSet {
+ ordered-by system;
+ key 'topology node tp';
+ config true;
+ uses ltp-ref;
+ }
+ list egressFcPortSet {
+ ordered-by system;
+ key 'topology node tp';
+ config true;
+ uses ltp-ref;
+ }
+ leaf role {
+ type string;
+ default true;
+ }
+ }
+
+ grouping G_LtpSpec {
+ }
+
+ grouping G_LayerProtocolSpec {
+ container adapterSpec {
+ config true;
+ uses G_ConnectionPointAndAdapterSpec;
+ }
+ container terminationSpec {
+ config true;
+ uses G_TerminationSpec;
+ }
+ list adapterPropertySpecList {
+ key 'uuid';
+ config true;
+ leaf uuid {
+ type string;
+ }
+ ordered-by system;
+ uses G_AdapterPropertySpec;
+ }
+ container providerViewSpec {
+ config true;
+ uses G_ProviderViewSpec;
+ }
+ list serverSpecList {
+ key 'uuid';
+ config true;
+ leaf uuid {
+ type string;
+ }
+ ordered-by system;
+ uses G_ServerSpec;
+ }
+ }
+
+ grouping G_TerminationSpec {
+ }
+
+ grouping G_ConnectionPointAndAdapterSpec {
+ }
+
+ grouping G_AdapterPropertySpec {
+ }
+
+ grouping G_ProviderViewSpec {
+ }
+
+ grouping G_ServerSpec {
+ }
+}