CISCO-IETF-MPLS-TE-EXT-STD-03-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter32, Counter64, Gauge32, zeroDotZero, NOTIFICATION-TYPE FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF TruthValue, RowStatus, RowPointer, StorageType FROM SNMPv2-TC mplsStdMIB, MplsTunnelIndex, MplsTunnelInstanceIndex FROM MPLS-TC-STD-MIB mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId, mplsTunnelEgressLSRId FROM MPLS-TE-STD-MIB CMplsLocalId, CMplsGlobalId, CMplsNodeId, CMplsIccId FROM CISCO-MPLS-TC-EXT-STD-MIB ciscoExperiment FROM CISCO-SMI; cmplsTeExtStdMIB MODULE-IDENTITY LAST-UPDATED "201206060000Z" ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO "Venkatesan Mahalingam Dell Inc, 350 Holger way, San Jose, CA, USA Email: venkat.mahalingams@gmail.com Kannan KV Sampath Aricent, India Email: Kannan.Sampath@aricent.com Sam Aldrin Huawei Technologies 2330 Central Express Way, Santa Clara, CA 95051, USA Email: aldrin.ietf@gmail.com Thomas D. Nadeau Juniper Networks 10 Technology Park Drive, Westford, MA 01886 Email: tnadeau@juniper.net" DESCRIPTION "Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. This MIB module contains generic object definitions for MPLS Traffic Engineering in transport networks.This module is a cisco-ized version of the IETF draft: draft-ietf-mpls-tp-te-mib-03" REVISION "201204080000Z" DESCRIPTION "MPLS TE mib objects extension" ::= { ciscoExperiment 146 } -- Top level components of this MIB module. -- -- traps cmplsTeExtNotifications OBJECT IDENTIFIER ::= { cmplsTeExtStdMIB 0 } -- tables, scalars cmplsTeExtObjects OBJECT IDENTIFIER ::= { cmplsTeExtStdMIB 1 } -- conformance cmplsTeExtConformance OBJECT IDENTIFIER ::= { cmplsTeExtStdMIB 2 } -- Start of MPLS Transport Profile Node configuration table cmplsNodeConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF CmplsNodeConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table allows the administrator to map a node or LSR Identifier (IP compatible [Global_Node_ID] or ICC) with a local identifier. This table is created to reuse the existing mplsTunnelTable for MPLS based transport network tunnels also. Since the MPLS tunnel's Ingress/Egress LSR identifiers' size (Unsigned32) value is not compatible for MPLS-TP tunnel i.e. Global_Node_Id of size 8 bytes and ICC of size 6 bytes, there exists a need to map the Global_Node_ID or ICC with the local identifier of size 4 bytes (Unsigned32) value in order to index (Ingress/Egress LSR identifier) the existing mplsTunnelTable." ::= { cmplsTeExtObjects 1 } cmplsNodeConfigEntry OBJECT-TYPE SYNTAX CmplsNodeConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents a mapping identification for the operator or service provider with node or LSR. As per [RFC6370], this mapping is represented as Global_Node_ID or ICC. Note: Each entry in this table should have a unique Global_ID and Node_ID combination." INDEX { cmplsNodeConfigLocalId } ::= { cmplsNodeConfigTable 1 } CmplsNodeConfigEntry ::= SEQUENCE { cmplsNodeConfigLocalId CMplsLocalId, cmplsNodeConfigGlobalId CMplsGlobalId, cmplsNodeConfigNodeId CMplsNodeId, cmplsNodeConfigIccId CMplsIccId, cmplsNodeConfigRowStatus RowStatus, cmplsNodeConfigStorageType StorageType } cmplsNodeConfigLocalId OBJECT-TYPE SYNTAX CMplsLocalId MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object allows the administrator to assign a unique local identifier to map Global_Node_ID or ICC." ::= { cmplsNodeConfigEntry 1 } cmplsNodeConfigGlobalId OBJECT-TYPE SYNTAX CMplsGlobalId MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the Global Operator Identifier. This object value should be zero when mplsNodeConfigIccId is configured with non-null value." REFERENCE "MPLS-TP Identifiers [RFC6370]." ::= { cmplsNodeConfigEntry 2 } cmplsNodeConfigNodeId OBJECT-TYPE SYNTAX CMplsNodeId MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the Node_ID within the operator. This object value should be zero when mplsNodeConfigIccId is configured with non-null value." REFERENCE "MPLS-TP Identifiers [RFC6370]." ::= { cmplsNodeConfigEntry 3 } cmplsNodeConfigIccId OBJECT-TYPE SYNTAX CMplsIccId MAX-ACCESS read-write STATUS current DESCRIPTION "This object allows the operator or service provider to configure a unique MPLS-TP ITU-T Carrier Code (ICC) either for Ingress ID or Egress ID. This object value should be zero when mplsNodeConfigGlobalId and mplsNodeConfigNodeId are assigned with non-zero value." REFERENCE "MPLS-TP Identifiers [RFC6370]." ::= { cmplsNodeConfigEntry 4 } cmplsNodeConfigRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-write STATUS current DESCRIPTION "This object allows the administrator to create, modify, and/or delete a row in this table." ::= { cmplsNodeConfigEntry 5 } cmplsNodeConfigStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-write STATUS current DESCRIPTION "This variable indicates the storage type for this object. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row." DEFVAL { volatile } ::= { cmplsNodeConfigEntry 6 } -- End of MPLS Transport Profile Node configuration table -- -- Start of MPLS Transport Profile Node IP compatible -- mapping table cmplsNodeIpMapTable OBJECT-TYPE SYNTAX SEQUENCE OF CmplsNodeIpMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This read-only table allows the administrator to retrieve the local identifier for a given Global_Node_ID in an IP compatible operator environment. This table MAY be used in on-demand and/or proactive OAM operations to get the Ingress/Egress LSR identifier (Local Identifier) from Src-Global_Node_ID or Dst-Global_Node_ID and the Ingress and Egress LSR identifiers are used to retrieve the tunnel entry. This table returns nothing when the associated entry is not defined in mplsNodeConfigTable." ::= { cmplsTeExtObjects 2 } cmplsNodeIpMapEntry OBJECT-TYPE SYNTAX CmplsNodeIpMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents a mapping of Global_Node_ID with the local identifier. An entry in this table is created automatically when the Local identifier is associated with Global_ID and Node_Id in the mplsNodeConfigTable. Note: Each entry in this table should have a unique Global_ID and Node_ID combination." INDEX { cmplsNodeIpMapGlobalId, cmplsNodeIpMapNodeId } ::= { cmplsNodeIpMapTable 1 } CmplsNodeIpMapEntry ::= SEQUENCE { cmplsNodeIpMapGlobalId CMplsGlobalId, cmplsNodeIpMapNodeId CMplsNodeId, cmplsNodeIpMapLocalId CMplsLocalId } cmplsNodeIpMapGlobalId OBJECT-TYPE SYNTAX CMplsGlobalId MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the Global_ID." ::= { cmplsNodeIpMapEntry 1 } cmplsNodeIpMapNodeId OBJECT-TYPE SYNTAX CMplsNodeId MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the Node_ID within the operator." ::= { cmplsNodeIpMapEntry 2 } cmplsNodeIpMapLocalId OBJECT-TYPE SYNTAX CMplsLocalId MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an IP compatible local identifier which is defined in mplsNodeConfigTable." ::= { cmplsNodeIpMapEntry 3 } -- End MPLS Transport Profile Node IP compatible table -- -- Start of MPLS Transport Profile Node ICC based table cmplsNodeIccMapTable OBJECT-TYPE SYNTAX SEQUENCE OF CmplsNodeIccMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This read-only table allows the administrator to retrieve the local identifier for a given ICC operator in an ICC operator environment. This table MAY be used in on-demand and/or proactive OAM operations to get the Ingress/Egress LSR identifier (Local Identifier) from Src-ICC or Dst-ICC and the Ingress and Egress LSR identifiers are used to retrieve the tunnel entry. This table returns nothing when the associated entry is not defined in mplsNodeConfigTable." ::= { cmplsTeExtObjects 3 } cmplsNodeIccMapEntry OBJECT-TYPE SYNTAX CmplsNodeIccMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents a mapping of ICC with the local identifier. An entry in this table is created automatically when the Local identifier is associated with ICC in the mplsNodeConfigTable." INDEX { cmplsNodeIccMapIccId } ::= { cmplsNodeIccMapTable 1 } CmplsNodeIccMapEntry ::= SEQUENCE { cmplsNodeIccMapIccId CMplsIccId, cmplsNodeIccMapLocalId CMplsLocalId } cmplsNodeIccMapIccId OBJECT-TYPE SYNTAX CMplsIccId MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object allows the operator or service provider to configure a unique MPLS-TP ITU-T Carrier Code (ICC) either for Ingress or Egress LSR ID. The ICC is a string of one to six characters, each character being either alphabetic (i.e. A-Z) or numeric (i.e. 0-9) characters. Alphabetic characters in the ICC should be represented with upper case letters." ::= { cmplsNodeIccMapEntry 1 } cmplsNodeIccMapLocalId OBJECT-TYPE SYNTAX CMplsLocalId MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an ICC based local identifier which is defined in mplsNodeConfigTable." ::= { cmplsNodeIccMapEntry 2 } -- End MPLS Transport Profile Node ICC based table -- -- Start of MPLS Tunnel table extension cmplsTunnelExtTable OBJECT-TYPE SYNTAX SEQUENCE OF CmplsTunnelExtEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table represents MPLS-TP specific extensions to mplsTunnelTable. As per MPLS-TP Identifiers [RFC6370], LSP_ID for IP based co-routed bidirectional tunnel, A1-{Global_ID::Node_ID::Tunnel_Num}::Z9-{Global_ID:: Node_ID::Tunnel_Num}::LSP_Num LSP_ID for IP based associated bidirectional tunnel, A1-{Global_ID::Node_ID::Tunnel_Num::LSP_Num}:: Z9-{Global_ID::Node_ID::Tunnel_Num::LSP_Num} mplsTunnelTable is reused for forming the LSP_ID as follows, Source Tunnel_Num is mapped with mplsTunnelIndex, Source Node_ID is mapped with mplsTunnelIngressLSRId, Destination Node_ID is mapped with mplsTunnelEgressLSRId LSP_Num is mapped with mplsTunnelInstance. Source Global_Node_ID and/or ICC and Destination Global_Node_ID and/or ICC are maintained in the mplsNodeConfigTable and mplsNodeConfigLocalId is used to create an entry in mplsTunnelTable." REFERENCE "MPLS-TP Identifiers [RFC6370]." ::= { cmplsTeExtObjects 4 } cmplsTunnelExtEntry OBJECT-TYPE SYNTAX CmplsTunnelExtEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents MPLS-TP specific additional tunnel configurations." INDEX { mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId, mplsTunnelEgressLSRId } ::= { cmplsTunnelExtTable 1 } CmplsTunnelExtEntry ::= SEQUENCE { cmplsTunnelOppositeDirPtr RowPointer, cmplsTunnelExtOppositeDirTnlValid TruthValue, cmplsTunnelExtDestTnlIndex MplsTunnelIndex, cmplsTunnelExtDestTnlLspIndex MplsTunnelInstanceIndex, cmplsTunnelExtDestTnlValid TruthValue } cmplsTunnelOppositeDirPtr OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "This object is applicable only for the bidirectional tunnel that has the forward and reverse LSPs in the same tunnel or in the different tunnels. This object holds the opposite direction tunnel entry if the bidirectional tunnel is setup by configuring two tunnel entries in mplsTunnelTable. The value of zeroDotZero indicates single tunnel entry is used for bidirectional tunnel setup." DEFVAL { zeroDotZero } ::= { cmplsTunnelExtEntry 1 } cmplsTunnelExtOppositeDirTnlValid OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Denotes whether or not this tunnel uses mplsTunnelOppositeDirPtr for identifying the opposite direction tunnel information. Note that if this variable is set to true then the mplsTunnelOppositeDirPtr should point to the first accessible row of the opposite direction tunnel." DEFVAL { false } ::= { cmplsTunnelExtEntry 2 } cmplsTunnelExtDestTnlIndex OBJECT-TYPE SYNTAX MplsTunnelIndex MAX-ACCESS read-create STATUS current DESCRIPTION "This object is applicable only for the bidirectional tunnel that has the forward and reverse LSPs in the same tunnel or in the different tunnels. This object holds the same value as that of the mplsTunnelIndex of mplsTunnelEntry if the forward and reverse LSPs are in the same tunnel. Otherwise, this object holds the value of the other direction associated LSP's mplsTunnelIndex from a different tunnel. The values of this object and the mplsTunnelExtDestTnlLspIndex object together can be used to identify an opposite direction LSP i.e. if the mplsTunnelIndex and mplsTunnelInstance hold the value for forward LSP, this object and mplsTunnelExtDestTnlLspIndex can be used to retrieve the reverse direction LSP and vice versa. This object and mplsTunnelExtDestTnlLspIndex values provide the first two indices of tunnel entry and the remaining indices can be derived as follows, if both the forward and reverse LSPs are present in the same tunnel, the opposite direction LSP's Ingress and Egress Identifier will be same for both the LSPs, else the Ingress and Egress Identifiers should be swapped in order to index the other direction tunnel." ::= { cmplsTunnelExtEntry 3 } cmplsTunnelExtDestTnlLspIndex OBJECT-TYPE SYNTAX MplsTunnelInstanceIndex MAX-ACCESS read-create STATUS current DESCRIPTION "This object is applicable only for the bidirectional tunnel that has the forward and reverse LSPs in the same tunnel or in the different tunnels. This object should contain different value if both the forward and reverse LSPs present in the same tunnel. This object can contain same value or different values if the forward and reverse LSPs present in the different tunnels." ::= { cmplsTunnelExtEntry 4 } cmplsTunnelExtDestTnlValid OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Denotes whether or not this tunnel uses mplsTunnelExtDestTnlIndex and mplsTunnelExtDestTnlLspIndex for identifying the opposite direction tunnel information. Note that if this variable is set to true then the mplsTunnelExtDestTnlIndex and mplsTunnelExtDestTnlLspIndex objects should have the valid opposite direction tunnel indices." DEFVAL { false } ::= { cmplsTunnelExtEntry 5 } -- End of MPLS Tunnel table extension cmplsTunnelReversePerfTable OBJECT-TYPE SYNTAX SEQUENCE OF CmplsTunnelReversePerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table extends the mplsTunnelTable to provide per-tunnel packet performance information for the reverse direction of a bidirectional tunnel. It can be seen as supplementing the mplsTunnelPerfTable, which augments the mplsTunnelTable. For links that do not transport packets, these packet counters cannot be maintained. For such links, attempts to read the objects in this table will return noSuchInstance." REFERENCE "1. Multiprotocol Label Switching (MPLS) Traffic Engineering (TE)Management Information Base (MIB), RFC 3812." ::= { cmplsTeExtObjects 5 } cmplsTunnelReversePerfEntry OBJECT-TYPE SYNTAX CmplsTunnelReversePerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table is created by the LSR for every bidirectional MPLS tunnel where packets are visible to the LSR." INDEX { mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId, mplsTunnelEgressLSRId } ::= { cmplsTunnelReversePerfTable 1 } CmplsTunnelReversePerfEntry ::= SEQUENCE { cmplsTunnelReversePerfPackets Counter32, cmplsTunnelReversePerfHCPackets Counter64, cmplsTunnelReversePerfErrors Counter32, cmplsTunnelReversePerfBytes Counter32, cmplsTunnelReversePerfHCBytes Counter64 } cmplsTunnelReversePerfPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of packets forwarded on the tunnel in the reverse direction if it is bidirectional. This object represents the 32-bit value of the least significant part of the 64-bit value if both mplsTunnelReversePerfHCPackets and this object are returned. For links that do not transport packets, this packet counter cannot be maintained. For such links, this value will return noSuchInstance." ::= { cmplsTunnelReversePerfEntry 1 } cmplsTunnelReversePerfHCPackets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "High-capacity counter for number of packets forwarded on the tunnel in the reverse direction if it is bidirectional. For links that do not transport packets, this packet counter cannot be maintained. For such links, this value will return noSuchInstance." ::= { cmplsTunnelReversePerfEntry 2 } cmplsTunnelReversePerfErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of errored packets received on the tunnel in the reverse direction if it is bidirectional. For links that do not transport packets, this packet counter cannot be maintained. For such links, this value will return noSuchInstance." ::= { cmplsTunnelReversePerfEntry 3 } cmplsTunnelReversePerfBytes OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of bytes forwarded on the tunnel in the reverse direction if it is bidirectional. This object represents the 32-bit value of the least significant part of the 64-bit value if both mplsTunnelReversePerfHCBytes and this object are returned. For links that do not transport packets, this packet counter cannot be maintained. For such links, this value will return noSuchInstance." ::= { cmplsTunnelReversePerfEntry 4 } cmplsTunnelReversePerfHCBytes OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "High-capacity counter for number of bytes forwarded on the tunnel in the reverse direction if it is bidirectional. For links that do not transport packets, this packet counter cannot be maintained. For such links, this value will return noSuchInstance." ::= { cmplsTunnelReversePerfEntry 5 } -- Notifications. -- Notifications objects need to be added here. -- End of notifications. -- -- Module compliance. cmplsTeExtGroups OBJECT IDENTIFIER ::= { cmplsTeExtConformance 1 } cmplsTeExtCompliances OBJECT IDENTIFIER ::= { cmplsTeExtConformance 2 } -- Compliance requirement for fully compliant implementations. cmplsTeExtModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that provide full support the MPLS-TE-EXT-STD-MIB module." MODULE -- this module MANDATORY-GROUPS { cmplsTunnelExtGroup } GROUP cmplsTunnelExtIpOperatorGroup DESCRIPTION "This group is mandatory for devices which support configuration of IP based identifier tunnels." GROUP cmplsTunnelExtIccOperatorGroup DESCRIPTION "This group is mandatory for devices which support configuration of ICC based tunnels." ::= { cmplsTeExtCompliances 1 } -- Compliance requirement for read-only implementations. cmplsTeExtModuleReadOnlyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that provide full support the MPLS-TE-EXT-STD-MIB module." MODULE -- this module MANDATORY-GROUPS { cmplsTunnelExtGroup } GROUP cmplsTunnelExtIpOperatorGroup DESCRIPTION "This group is mandatory for devices which support configuration of IP based identifier tunnels." GROUP cmplsTunnelExtIccOperatorGroup DESCRIPTION "This group is mandatory for devices which support configuration of ICC based tunnels." ::= { cmplsTeExtCompliances 2 } -- Units of conformance. cmplsTunnelExtGroup OBJECT-GROUP OBJECTS { cmplsTunnelOppositeDirPtr, cmplsTunnelExtOppositeDirTnlValid, cmplsTunnelExtDestTnlIndex, cmplsTunnelExtDestTnlLspIndex, cmplsTunnelExtDestTnlValid, cmplsTunnelReversePerfPackets, cmplsTunnelReversePerfHCPackets, cmplsTunnelReversePerfErrors, cmplsTunnelReversePerfBytes, cmplsTunnelReversePerfHCBytes } STATUS current DESCRIPTION "Necessary, but not sufficient, set of objects to implement tunnels. In addition, depending on the operating environment, the following groups are mandatory." ::= { cmplsTeExtGroups 1 } cmplsTunnelExtIpOperatorGroup OBJECT-GROUP OBJECTS { cmplsNodeConfigGlobalId, cmplsNodeConfigNodeId, cmplsNodeConfigRowStatus, cmplsNodeConfigStorageType, cmplsNodeIpMapLocalId } STATUS current DESCRIPTION "Object(s) needed to implement IP compatible tunnels." ::= { cmplsTeExtGroups 2 } cmplsTunnelExtIccOperatorGroup OBJECT-GROUP OBJECTS { cmplsNodeConfigIccId, cmplsNodeConfigRowStatus, cmplsNodeConfigStorageType, cmplsNodeIccMapLocalId } STATUS current DESCRIPTION "Object(s) needed to implement ICC based tunnels." ::= { cmplsTeExtGroups 3 } END