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






