CISCO-MPLS-LSR-EXT-STD-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    RowPointer
        FROM SNMPv2-TC
    mplsXCIndex,
    mplsXCInSegmentIndex,
    mplsXCOutSegmentIndex,
    mplsInSegmentGroup,
    mplsOutSegmentGroup,
    mplsXCGroup,
    mplsPerfGroup,
    mplsLsrNotificationGroup
        FROM MPLS-LSR-STD-MIB
    ciscoExperiment
        FROM CISCO-SMI;


cmplsLsrExtStdMIB MODULE-IDENTITY
    LAST-UPDATED    "201204300000Z"
    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
            CA Technologies
            273 Corporate Drive, Portsmouth, NH, USA
            Email: thomas.nadeau@ca.com"
    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 LSR in transport networks."
    REVISION        "201202220000Z"
    DESCRIPTION
        "MPLS LSR specific mib objects extension"
    ::= { ciscoExperiment 145 }


-- traps

cmplsLsrExtNotifications  OBJECT IDENTIFIER
    ::= { cmplsLsrExtStdMIB 0 }

-- tables, scalars

cmplsLsrExtObjects  OBJECT IDENTIFIER
    ::= { cmplsLsrExtStdMIB 1 }

-- conformance

cmplsLsrExtConformance  OBJECT IDENTIFIER
    ::= { cmplsLsrExtStdMIB 2 }

-- MPLS LSR common objects

cmplsXCExtTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CmplsXCExtEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table sparse augments the mplsXCTable of
        MPLS-LSR-STD-MIB [RFC3813] to provide MPLS-TP specific
        information about associated tunnel information"
    REFERENCE
        "1. Multiprotocol Label Switching (MPLS) Label Switching
              Router (LSR) Management Information Base (MIB), RFC 3813."
    ::= { cmplsLsrExtObjects 1 }

cmplsXCExtEntry OBJECT-TYPE
    SYNTAX          CmplsXCExtEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry in this table extends the cross connect
        information represented by an entry in
        the mplsXCTable in MPLS-LSR-STD-MIB [RFC3813] through
        a sparse augmentation.  An entry can be created by
        a network administrator via SNMP SET commands, or in
        response to signaling protocol events."
    REFERENCE
        "1. Multiprotocol Label Switching (MPLS) Label Switching
              Router (LSR) Management Information Base (MIB), RFC 3813."
    INDEX           {
                        mplsXCIndex,
                        mplsXCInSegmentIndex,
                        mplsXCOutSegmentIndex
                    } 
    ::= { cmplsXCExtTable 1 }

CmplsXCExtEntry ::= SEQUENCE {
        cmplsXCExtTunnelPointer RowPointer,
        cmplsXCOppositeDirXCPtr RowPointer
}

cmplsXCExtTunnelPointer OBJECT-TYPE
    SYNTAX          RowPointer
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object indicates the back pointer to the tunnel
        entry segment.  This object cannot be modified if
        mplsXCRowStatus for the corresponding entry in the
        mplsXCTable is active(1)."
    REFERENCE
        "1. Multiprotocol Label Switching (MPLS) Label Switching
              Router (LSR) Management Information Base (MIB), RFC 3813." 
    ::= { cmplsXCExtEntry 1 }

cmplsXCOppositeDirXCPtr OBJECT-TYPE
    SYNTAX          RowPointer
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object indicates the pointer to the opposite
        direction XC entry.  This object cannot be modified if
        mplsXCRowStatus for the corresponding entry in the
        mplsXCTable is active(1)."
    REFERENCE
        "1. Multiprotocol Label Switching (MPLS) Label Switching
              Router (LSR) Management Information Base (MIB), RFC 3813." 
    ::= { cmplsXCExtEntry 2 }
 

cmplsLsrExtGroups  OBJECT IDENTIFIER
    ::= { cmplsLsrExtConformance 1 }

cmplsLsrExtCompliances  OBJECT IDENTIFIER
    ::= { cmplsLsrExtConformance 2 }


-- Compliance requirement for fully compliant implementations.

cmplsLsrExtModuleFullCompliance MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "Compliance statement for agents that provide full support

        for MPLS-LSR-EXT-STD-MIB.
        The mandatory group has to be implemented by all LSRs
        that originate, terminate, or act as transit for
        TE-LSPs/tunnels.
        In addition, depending on the type of tunnels supported,
        other groups become mandatory as explained below."
    MODULE          MPLS-LSR-STD-MIB
    MANDATORY-GROUPS {
                        mplsInSegmentGroup,
                        mplsOutSegmentGroup,
                        mplsXCGroup,
                        mplsPerfGroup,
                        mplsLsrNotificationGroup
                    }

    MODULE          -- this module
    MANDATORY-GROUPS { cmplsXCExtGroup }

    OBJECT          cmplsXCExtTunnelPointer
    SYNTAX          RowPointer
    MIN-ACCESS      read-only
    DESCRIPTION
        "The only valid value for Tunnel Pointer is mplsTunnelTable
        entry."
    ::= { cmplsLsrExtCompliances 1 }

-- Compliance requirement for implementations that provide
-- read-only access.

cmplsLsrExtModuleReadOnlyCompliance MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "Compliance requirement for implementations that only
        provide read-only support for MPLS-LSR-EXT-STD-MIB.
        Such devices can then be monitored but cannot be
        configured using this MIB module."
    MODULE          MPLS-LSR-STD-MIB
    MANDATORY-GROUPS {
                        mplsInterfaceGroup,
                        mplsInSegmentGroup,
                        mplsOutSegmentGroup,
                        mplsXCGroup,
                        mplsPerfGroup
                    }

    MODULE          -- this module
    MANDATORY-GROUPS { cmplsXCExtGroup }

    OBJECT          cmplsXCExtTunnelPointer
    SYNTAX          RowPointer
    MIN-ACCESS      read-only
    DESCRIPTION
        "The only valid value for Tunnel Pointer is mplsTunnelTable
        entry."

    OBJECT          cmplsXCOppositeDirXCPtr
    SYNTAX          RowPointer
    MIN-ACCESS      read-only
    DESCRIPTION
        "The only valid value for Tunnel Pointer is mplsXCTable
        entry."
    ::= { cmplsLsrExtCompliances 2 }

cmplsXCExtGroup OBJECT-GROUP
    OBJECTS         {
                        cmplsXCExtTunnelPointer,
                        cmplsXCOppositeDirXCPtr
                    }
    STATUS          current
    DESCRIPTION
        "This object should be supported in order to access
        the tunnel entry from XC entry."
    ::= { cmplsLsrExtGroups 1 }

END






