TIMETRA-MPLS-TP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    InterfaceIndexOrZero
                                                         FROM IF-MIB
    InetAddress, InetAddressType
                                                         FROM INET-ADDRESS-MIB
    MODULE-COMPLIANCE, NOTIFICATION-GROUP,
    OBJECT-GROUP
                                                         FROM SNMPv2-CONF
    Counter32, Integer32, MODULE-IDENTITY,
    NOTIFICATION-TYPE, OBJECT-TYPE,
    Unsigned32
                                                         FROM SNMPv2-SMI
    RowStatus, TEXTUAL-CONVENTION,
    TimeInterval, TimeStamp, TruthValue
                                                         FROM SNMPv2-TC
    timetraSRMIBModules, tmnxSRConfs,
    tmnxSRNotifyPrefix, tmnxSRObjs
                                                         FROM TIMETRA-GLOBAL-MIB
    vRtrMplsLspIndex
                                                         FROM TIMETRA-MPLS-MIB
    TNamedItem, TNamedItemOrEmpty,
    TmnxAdminState, TmnxEnabledDisabled,
    TmnxMplsTpGlobalID, TmnxMplsTpNodeID,
    TmnxMplsTpTunnelType, TmnxOperState,
    TmnxTunnelID
                                                         FROM TIMETRA-TC-MIB
    vRtrID, vRtrIfIndex
                                                         FROM TIMETRA-VRTR-MIB
    ;

timetraMplsTpMIBModule           MODULE-IDENTITY
    LAST-UPDATED "201601010000Z"
    ORGANIZATION "Nokia"
    CONTACT-INFO
        "Nokia SROS Support
         Web: http://www.nokia.com"
    DESCRIPTION
        "This document is the SNMP MIB module to manage and provision the MPLS
         Transport Profile (TP) components of the Nokia SROS.

         Copyright (c) 2012-2018 Nokia.  All rights reserved.
         Reproduction of this document is authorized on the condition that
         the foregoing copyright notice is included.

         This SNMP MIB module (Specification) embodies Nokia's
         proprietary intellectual property.  Nokia retains
         all title and ownership in the Specification, including any
         revisions.

         Nokia grants all interested parties a non-exclusive license to use and
         distribute an unmodified copy of this Specification in connection with
         management of Nokia products, and without fee, provided this copyright
         notice and license appear on all copies.

         This Specification is supplied 'as is', and Nokia makes no warranty,
         either express or implied, as to the use, operation, condition, or
         performance of the Specification."

    REVISION    "201601010000Z"
    DESCRIPTION
        "Rev 14.0               1 Jan 2016 00:00
         14.0 release of the TIMETRA-MPLS-TP-MIB."

    REVISION    "201401010000Z"
    DESCRIPTION
        "Rev 12.0               1 Jan 2014 00:00
         12.0 release of the TIMETRA-MPLS-TP-MIB."

    REVISION    "201206010000Z"
    DESCRIPTION
        "Rev 1.0                1 Jun 2012 00:00
         Initial release of the TIMETRA-MPLS-TP-MIB."

    ::= { timetraSRMIBModules 83 }

VRtrMplsTpLspPathMepPduType      ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "The VRtrMplsTpLspPathMepPduType specifies the 4 byte APS-specific
         information within each MPLS-TP APS PDU.

         The information is encoded as shown below.
            0                   1                   2                   3
            0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |Ver|Request|PT |R|  Reserved1  |     FPath     |     Path      |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
    SYNTAX      OCTET STRING (SIZE (4))

vRtrMplsTpObjs                   OBJECT IDENTIFIER ::= { tmnxSRObjs 83 }

vRtrMplsTpConfigTimeStamps       OBJECT IDENTIFIER ::= { vRtrMplsTpObjs 1 }

vRtrMplsTpSystemTableLastChanged OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpSystemTableLastChanged indicates the time,
         since system startup, when the vRtrMplsTpSystemTable last changed
         state."
    ::= { vRtrMplsTpConfigTimeStamps 1 }

vRtrMplsTpOamTemplTblLastChanged OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpOamTemplTblLastChanged indicates the last time,
         since system startup, when the vRtrMplsTpOamTemplateCfgTable last
         changed state."
    ::= { vRtrMplsTpConfigTimeStamps 2 }

vRtrMplsTpPtcTemplTblLastChanged OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpPtcTemplTblLastChanged indicates the last time,
         since system startup, when the vRtrMplsTpPtcTemplateCfgTable changed
         state."
    ::= { vRtrMplsTpConfigTimeStamps 3 }

vRtrMplsTpLspPathTblLastChanged  OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathTblLastChanged indicates the last time,
         since system startup, that the vRtrMplsTpLspPathTable changed state."
    ::= { vRtrMplsTpConfigTimeStamps 5 }

vRtrMplsTpLspPathMepTblLastChg   OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathMepTblLastChg indicates the last time,
         since system startup, that the vRtrMplsTpLspPathMepTable changed
         state."
    ::= { vRtrMplsTpConfigTimeStamps 6 }

vRtrMplsTpLsrTblLastChanged      OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrTblLastChanged indicates the last time,
         since system startup, when the vRtrMplsTpLsrCfgTable changed state."
    ::= { vRtrMplsTpConfigTimeStamps 7 }

vRtrMplsTpLsrPathIdTblLastChg    OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrPathIdTblLastChg indicates the last time,
         since system startup, when the vRtrMplsTpLsrPathIdTable changed state."
    ::= { vRtrMplsTpConfigTimeStamps 8 }

vRtrMplsTpLsrMipCfgTblLastChg    OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrMipCfgTblLastChg indicates the last time,
         since system startup, when the vRtrMplsTpLsrMipCfgTable changed state."
    ::= { vRtrMplsTpConfigTimeStamps 9 }

vRtrMplsTpIfTblLastChanged       OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpIfTblLastChanged indicates the last time, since
         system startup, when the vRtrMplsTpIfCfgTable changed state."
    ::= { vRtrMplsTpConfigTimeStamps 10 }

vRtrMplsTpConfigurations         OBJECT IDENTIFIER ::= { vRtrMplsTpObjs 2 }

vRtrMplsTpSystemIdentifiers      OBJECT IDENTIFIER ::= { vRtrMplsTpConfigurations 1 }

vRtrMplsTpSystemTable            OBJECT-TYPE
    SYNTAX      SEQUENCE OF VRtrMplsTpSystemEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpSystemTable consists of the globally unique
         configuration objects for MPLS-TP. These objects are typically
         required to be set prior to configuring MPLS-TP LSP objects."
    ::= { vRtrMplsTpSystemIdentifiers 1 }

vRtrMplsTpSystemEntry            OBJECT-TYPE
    SYNTAX      VRtrMplsTpSystemEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpSystemEntry contains the globally unique configuration
         objects for MPLS-TP."
    INDEX       { vRtrID }
    ::= { vRtrMplsTpSystemTable 1 }

VRtrMplsTpSystemEntry            ::= SEQUENCE
{
    vRtrMplsTpRowStatus              RowStatus,
    vRtrMplsTpGlobalId               TmnxMplsTpGlobalID,
    vRtrMplsTpNodeId                 TmnxMplsTpNodeID,
    vRtrMplsTpTunnelIdMin            Unsigned32,
    vRtrMplsTpTunnelIdMax            Unsigned32,
    vRtrMplsTpAdminState             TmnxAdminState,
    vRtrMplsTpInheritance            BITS,
    vRtrMplsTpOperState              TmnxOperState,
    vRtrMplsTpOperDownReason         INTEGER
}

vRtrMplsTpRowStatus              OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpRowStatus specifies the row status of the
         MPLS-TP system entry. A row must exist in this table for a specified
         virtual router ID for MPLS-TP LSP configuration to be allowed."
    ::= { vRtrMplsTpSystemEntry 1 }

vRtrMplsTpGlobalId               OBJECT-TYPE
    SYNTAX      TmnxMplsTpGlobalID
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpGlobalId specifies the AS number of the node."
    DEFVAL      { 0 }
    ::= { vRtrMplsTpSystemEntry 2 }

vRtrMplsTpNodeId                 OBJECT-TYPE
    SYNTAX      TmnxMplsTpNodeID
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpNodeId specifies the unique node identifier for
         the given global ID. If not specified, the MPLS Router ID of the node
         is used."
    DEFVAL      { 0 }
    ::= { vRtrMplsTpSystemEntry 3 }

vRtrMplsTpTunnelIdMin            OBJECT-TYPE
    SYNTAX      Unsigned32 (0 | 1..61440)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpTunnelIdMin specifies the start range of tunnel
         ids reserved for MPLS-TP LSPs.

         This variable must be set along with vRtrMplsTpTunnelIdMax to indicate
         the range of tunnel ids reserved for MPLS-TP LSPs.

         A value of 0 indicates that tunnel ids are not reserved for MPLS-TP
         LSPs."
    DEFVAL      { 0 }
    ::= { vRtrMplsTpSystemEntry 4 }

vRtrMplsTpTunnelIdMax            OBJECT-TYPE
    SYNTAX      Unsigned32 (0 | 1..61440)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpTunnelIdMax specifies the end range of tunnel
         ids reserved for MPLS-TP LSPs.

         This variable must be set along with vRtrMplsTpTunnelIdMin to indicate
         the range of tunnel ids reserved for MPLS-TP LSPs.

         A value of 0 indicates that tunnel ids are not reserved for MPLS-TP
         LSPs."
    DEFVAL      { 0 }
    ::= { vRtrMplsTpSystemEntry 5 }

vRtrMplsTpAdminState             OBJECT-TYPE
    SYNTAX      TmnxAdminState
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpAdminState specifies the desired administrative
         state of MPLS-TP on this router."
    DEFVAL      { outOfService }
    ::= { vRtrMplsTpSystemEntry 6 }

vRtrMplsTpInheritance            OBJECT-TYPE
    SYNTAX      BITS {
        vRtrMplsTpNodeId (0)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "For each writable object in this row that can be configured to inherit
         its value from the corresponding object in the vRtrIpAddrTable, there
         is bit within vRtrMplsTpInheritance that controls whether to inherit
         the operational value of the object or use the administratively set
         value.

         Non mask bits will always have value of zero.

         This object is a bit-mask, with the following objects:
         vRtrMplsTpNodeId   0x1

         When the bit for an object is set to one, then the object's
         administrative and operational value are inherited from the
         corresponding object in vRtrIpAddrTable.

         When the bit for an object is set to zero, then the object's
         administrative and operational value are whatever the DEFVAL or most
         recently SET value is."
    DEFVAL      { {} }
    ::= { vRtrMplsTpSystemEntry 7 }

vRtrMplsTpOperState              OBJECT-TYPE
    SYNTAX      TmnxOperState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpOperState indicates the operational state of
         MPLS-TP on this router."
    ::= { vRtrMplsTpSystemEntry 8 }

vRtrMplsTpOperDownReason         OBJECT-TYPE
    SYNTAX      INTEGER {
        operUp              (0),
        mplsTpAdminDown     (1),
        mplsV4Down          (2),
        licenseNotAvailable (3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpOperDownReason indicates the reason due to
         which the MPLS-TP is operationally down."
    ::= { vRtrMplsTpSystemEntry 9 }

vRtrMplsTpTemplateObjects        OBJECT IDENTIFIER ::= { vRtrMplsTpConfigurations 2 }

vRtrMplsTpOamTemplateCfgTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF VRtrMplsTpOamTemplateCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpOamTemplateCfgTable maintains the MPLS-TP Templates used
         by MPLS-TP OAM.

         The template is specific to the OAM protocol and can be used to
         configure MPLS-TP-OAM parameters such as BFD Tx/Rx timer intervals,
         multiplier and any other relevant session/fault management parameters.
         The OAM template is referenced in the MPLS-TP path configuration, so
         different values are possible for the working and protect paths of a
         tunnel."
    ::= { vRtrMplsTpTemplateObjects 1 }

vRtrMplsTpOamTemplateCfgEntry    OBJECT-TYPE
    SYNTAX      VRtrMplsTpOamTemplateCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpOamTemplateCfgEntry contains the configuration items
         maintained by the vRtrMplsTpOamTemplateCfgTable."
    INDEX       {
        vRtrID,
        IMPLIED vRtrMplsTpOamTmplName
    }
    ::= { vRtrMplsTpOamTemplateCfgTable 1 }

VRtrMplsTpOamTemplateCfgEntry    ::= SEQUENCE
{
    vRtrMplsTpOamTmplName            TNamedItem,
    vRtrMplsTpOamTmplRowStatus       RowStatus,
    vRtrMplsTpOamTmplLastChangedTime TimeStamp,
    vRtrMplsTpOamTmplBfdTemplateName TNamedItemOrEmpty,
    vRtrMplsTpOamTmplHoldTimeDown    Unsigned32,
    vRtrMplsTpOamTmplHoldTimeUp      Unsigned32
}

vRtrMplsTpOamTmplName            OBJECT-TYPE
    SYNTAX      TNamedItem
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value vRtrMplsTpOamTmplName specifies the unique name of the
         MPLS-TP OAM Template."
    ::= { vRtrMplsTpOamTemplateCfgEntry 1 }

vRtrMplsTpOamTmplRowStatus       OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpOamTmplRowStatus specifies the row status of
         the MPLS-TP OAM Template entry.

         Rows are created by setting this object to the value 'createAndGo (4)'
         and are destroyed using the value 'destroy (6)'."
    ::= { vRtrMplsTpOamTemplateCfgEntry 2 }

vRtrMplsTpOamTmplLastChangedTime OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value vRtrMplsTpOamTmplLastChangedTime indicates the time, since
         system startup, that an columnar object in this row changed state."
    ::= { vRtrMplsTpOamTemplateCfgEntry 3 }

vRtrMplsTpOamTmplBfdTemplateName OBJECT-TYPE
    SYNTAX      TNamedItemOrEmpty
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpOamTmplBfdTemplateName specifies the
         TIMETRA-BFD-MIB::tmnxBfdAdminTemplateName used by the OAM template."
    ::= { vRtrMplsTpOamTemplateCfgEntry 4 }

vRtrMplsTpOamTmplHoldTimeDown    OBJECT-TYPE
    SYNTAX      Unsigned32 (0..5000)
    UNITS       "centiseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpOamTmplHoldTimeDown specifies the time, in
         centiseconds, used for the hold-timer for the BFD Continuity Check
         (CC) session down event dampening. This guards against reporting
         excessive operational state transitions.

         This is implemented by not advertising subsequent transitions of the
         BFD CC state until the configured timer has expired.

         A value of zero (0) specifies that a down transition is reported
         immediately."
    DEFVAL      { 0 }
    ::= { vRtrMplsTpOamTemplateCfgEntry 5 }

vRtrMplsTpOamTmplHoldTimeUp      OBJECT-TYPE
    SYNTAX      Unsigned32 (0..500)
    UNITS       "deciseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpOamTmplHoldTimeUp specifies the time, in
         deciseconds, used for the hold-timer for the BFD Continuity Check (CC)
         session up event dampening. This guards against reporting excessive
         operational state transitions.

         This is implemented by not advertising subsequent transitions of the
         BFD CC state until the configured timer has expired.

         A value of zero (0) specifies that an up transition is reported
         immediately."
    DEFVAL      { 20 }
    ::= { vRtrMplsTpOamTemplateCfgEntry 6 }

vRtrMplsTpPtcTemplateCfgTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF VRtrMplsTpPtcTemplateCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpPtcTemplateCfgTable maintains the MPLS-TP Templates used
         for MPLS LSP Protection. Entries in this table maintain the common
         configuration elements used by the protected LSPs."
    REFERENCE
        "RFC6378"
    ::= { vRtrMplsTpTemplateObjects 2 }

vRtrMplsTpPtcTemplateCfgEntry    OBJECT-TYPE
    SYNTAX      VRtrMplsTpPtcTemplateCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpPtcTemplateCfgEntry contains the configuration items
         maintained by the vRtrMplsTpPtcTemplateCfgTable."
    INDEX       {
        vRtrID,
        IMPLIED vRtrMplsTpPtcTmplName
    }
    ::= { vRtrMplsTpPtcTemplateCfgTable 1 }

VRtrMplsTpPtcTemplateCfgEntry    ::= SEQUENCE
{
    vRtrMplsTpPtcTmplName            TNamedItem,
    vRtrMplsTpPtcTmplRowStatus       RowStatus,
    vRtrMplsTpPtcTmplLastChangedTime TimeStamp,
    vRtrMplsTpPtcTmplProtectionMode  INTEGER,
    vRtrMplsTpPtcTmplProtectionDir   INTEGER,
    vRtrMplsTpPtcTmplRevertive       INTEGER,
    vRtrMplsTpPtcTmplWaitToRestore   Unsigned32,
    vRtrMplsTpPtcTmplRapidPscTimer   Unsigned32,
    vRtrMplsTpPtcTmplSlowPscTimer    Unsigned32
}

vRtrMplsTpPtcTmplName            OBJECT-TYPE
    SYNTAX      TNamedItem
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpPtcTmplName specifies the unique name of the
         MPLS-TP Protection Template."
    ::= { vRtrMplsTpPtcTemplateCfgEntry 1 }

vRtrMplsTpPtcTmplRowStatus       OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpPtcTmplRowStatus specifies the row status of
         the MPLS-TP Protection Template.

         Rows are created by setting this object to the value 'createAndGo (4)'
         and are destroyed by using the value 'destroy (6)'."
    ::= { vRtrMplsTpPtcTemplateCfgEntry 2 }

vRtrMplsTpPtcTmplLastChangedTime OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpPtcTmplLastChangedTime indicates the time,
         since system startup, that a columnar object in the MPLS-TP Protection
         Template entry last changed state."
    ::= { vRtrMplsTpPtcTemplateCfgEntry 3 }

vRtrMplsTpPtcTmplProtectionMode  OBJECT-TYPE
    SYNTAX      INTEGER {
        one2one (1)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpPtcTmplProtectionMode specifies the mode used
         for determining which members are actively receiving and transmitting
         data.

         In the 'one2one (1)' (1:1) architecture, a protection transport path
         is dedicated to the working transport path of a single service, and
         the traffic is only transmitted on either the working or the
         protection path, by using a selector at the source of the protection
         domain. A selector at the sink of the protection domain then selects
         the path that carries the normal traffic.

         When the value is set to 'one2one (1)', only two members are allowed,
         and only one of them can be active at one point in time."
    REFERENCE
        "RFC 6378"
    DEFVAL      { one2one }
    ::= { vRtrMplsTpPtcTemplateCfgEntry 4 }

vRtrMplsTpPtcTmplProtectionDir   OBJECT-TYPE
    SYNTAX      INTEGER {
        bidirectional (2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpPtcTmplProtectionDir specifies the directional
         mode of the Protection Template.
             bidirectional - provides protection in both directions."
    REFERENCE
        "RFC 6378"
    DEFVAL      { bidirectional }
    ::= { vRtrMplsTpPtcTemplateCfgEntry 5 }

vRtrMplsTpPtcTmplRevertive       OBJECT-TYPE
    SYNTAX      INTEGER {
        nonRevertive (1),
        revertive    (2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpPtcTmplRevertive specifies whether or not an
         instance of this Template will operate in a 'revertive (2)' or
         'nonRevertive (1)' mode."
    REFERENCE
        "RFC 6378"
    DEFVAL      { revertive }
    ::= { vRtrMplsTpPtcTemplateCfgEntry 6 }

vRtrMplsTpPtcTmplWaitToRestore   OBJECT-TYPE
    SYNTAX      Unsigned32 (0..720)
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpPtcTmplWaitToRestore specifies the
         Wait-To-Restore (WTR) timer, in seconds, after a cleared failure the
         working path must wait before reverting.

         The WTR timer is used to prevent frequent operation of the protection
         switching due to intermittent signal failure defects."
    REFERENCE
        "RFC 6378 Section 4.3.3.5"
    DEFVAL      { 300 }
    ::= { vRtrMplsTpPtcTemplateCfgEntry 7 }

vRtrMplsTpPtcTmplRapidPscTimer   OBJECT-TYPE
    SYNTAX      Unsigned32 (10 | 100 | 1000)
    UNITS       "milliseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpPtcTmplRapidPscTimer specifies the time, in
         milliseconds, for the Rapid Protection Switch Coordination (PSC)
         timer.

         When the protection domain state is changed, three PSC messages are
         transmitted as quickly as possible, to allow for rapid protection
         switching."
    REFERENCE
        "RFC 6378 Section 4.1"
    DEFVAL      { 10 }
    ::= { vRtrMplsTpPtcTemplateCfgEntry 8 }

vRtrMplsTpPtcTmplSlowPscTimer    OBJECT-TYPE
    SYNTAX      Unsigned32 (5..60)
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpPtcTmplSlowPscTimer specifies the time, in
         seconds, for the Slow Protection Switch Coordination (PSC) timer used
         to continually transmit the PSC message."
    DEFVAL      { 5 }
    ::= { vRtrMplsTpPtcTemplateCfgEntry 9 }

vRtrMplsTpLspObjects             OBJECT IDENTIFIER ::= { vRtrMplsTpConfigurations 3 }

vRtrMplsTpLspPathTable           OBJECT-TYPE
    SYNTAX      SEQUENCE OF VRtrMplsTpLspPathEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpLspPathTable maintains the MPLS-TP configuration objects
         associated with an MPLS LSP path."
    ::= { vRtrMplsTpLspObjects 2 }

vRtrMplsTpLspPathEntry           OBJECT-TYPE
    SYNTAX      VRtrMplsTpLspPathEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpLspPathEntry contains the configuration objects for the
         MPLS-TP path table."
    INDEX       {
        vRtrID,
        vRtrMplsLspIndex,
        vRtrMplsTpLspPathIndex
    }
    ::= { vRtrMplsTpLspPathTable 1 }

VRtrMplsTpLspPathEntry           ::= SEQUENCE
{
    vRtrMplsTpLspPathIndex           INTEGER,
    vRtrMplsTpLspPathRowStatus       RowStatus,
    vRtrMplsTpLspPathLastChangedTime TimeStamp,
    vRtrMplsTpLspPathAdminState      TmnxAdminState,
    vRtrMplsTpLspPathOperState       TmnxOperState,
    vRtrMplsTpLspPathReasonDownFlags BITS,
    vRtrMplsTpLspPathLspNumber       Unsigned32,
    vRtrMplsTpLspPathInLabel         Unsigned32,
    vRtrMplsTpLspPathOutLabel        Unsigned32,
    vRtrMplsTpLspPathOutLink         InterfaceIndexOrZero,
    vRtrMplsTpLspPathNextHopAddrType InetAddressType,
    vRtrMplsTpLspPathNextHopAddress  InetAddress,
    vRtrMplsTpLspPathState           INTEGER,
    vRtrMplsTpLspPathTimeUp          TimeInterval,
    vRtrMplsTpLspPathTimeDown        TimeInterval,
    vRtrMplsTpLspPathActiveTimeUp    TimeInterval
}

vRtrMplsTpLspPathIndex           OBJECT-TYPE
    SYNTAX      INTEGER {
        working    (1),
        protecting (2)
    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathIndex specifies the path index for the
         MPLS-TP LSP path.
            working (1)    - A working path is the primary path for the LSP.
            protecting (2) - A protection path is the secondary path for the
                             LSP."
    ::= { vRtrMplsTpLspPathEntry 1 }

vRtrMplsTpLspPathRowStatus       OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathRowStatus specifies the row status of
         the MPLS-TP LSP Path."
    ::= { vRtrMplsTpLspPathEntry 2 }

vRtrMplsTpLspPathLastChangedTime OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathLastChangedTime indicates the last time,
         since system startup, that a writable object in this table was
         modified."
    ::= { vRtrMplsTpLspPathEntry 3 }

vRtrMplsTpLspPathAdminState      OBJECT-TYPE
    SYNTAX      TmnxAdminState
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathAdminState specifies the administrative
         state of the MPLS-TP LSP Path."
    DEFVAL      { outOfService }
    ::= { vRtrMplsTpLspPathEntry 4 }

vRtrMplsTpLspPathOperState       OBJECT-TYPE
    SYNTAX      TmnxOperState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathOperState indicates the operational
         state of the MPLS-TP LSP Path."
    ::= { vRtrMplsTpLspPathEntry 5 }

vRtrMplsTpLspPathReasonDownFlags OBJECT-TYPE
    SYNTAX      BITS {
        unknown              (0),
        ccFault              (1),
        cvFault              (2),
        ifDn                 (3),
        portDn               (4),
        parentAdminDn        (5),
        mepAdminDn           (6),
        unsupportedPort      (7),
        ifNhAddrInconsistent (8),
        ptcTmplMsng          (9),
        ccDnHold             (10),
        ccUpHold             (11),
        bfdNoRsrc            (12),
        rxLDI                (13)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathReasonDownFlags indicates the reason why
         the MPLS-TP LSP Path is operationally down when the administrative
         state is 'inService (2)'.

         The recognized BIT values are:
             unknown              (0) - Unspecified (or unknown)
             ccFault              (1) - BFD Continuity Check (CC) failed
             cvFault              (2) - BFD Connectivity Verification (CV) failed
             ifDn                 (3) - The path out-link interface is
                                        operationally down
             portDn               (4) - The port associated with the out-link
                                        interface is operationally down
             parentAdminDn        (5) - The associated mpls-tp Lsp or mpls-tp
                                        instance or mpls instance is admin down
             mepAdminDn           (6) - The path MEP is admin down
             unsupportedPort      (7) - MPLS-TP functionality is not supported
                                        over the out-link port.
             ifNhAddrInconsistent (8) - The configured next-hop address is not
                                        bound to the configured out-link
                                        interface.
             ptcTmplMsng          (9) - The protect-tp-path is missing a
                                        protection-template name.
             ccDnHold            (10) - ccFault effect on path-state is on hold
                                        due to 'hold-time-down' config in the
                                        oam-template
             ccUpHold            (11) - ccFault clear effect on path-state is on
                                        hold due to 'hold-time-up' config in the
                                        oam-template
             bfdNoRsrc           (12) - bfd-enable failed since maximum number of
                                        supported bfd-sessions was reached
             rxLDI               (13) - received LDI (Link Down Indication) from
                                        an LSR with
                                        vRtrMplsTpLspPathMepAisLsrGlbId, and
                                        vRtrMplsTpLspPathMepAisLsrNodeId for
                                        vRtrMplsTpLspPathMepAisLsrIfNum
                                        "
    ::= { vRtrMplsTpLspPathEntry 6 }

vRtrMplsTpLspPathLspNumber       OBJECT-TYPE
    SYNTAX      Unsigned32 (1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathLspNumber specifies the MPLS-TP LSP Path
         number.

         The default value of this object is dependent on the value of
         vRtrMplsTpLspPathIndex. If this object refers to a 'working (1)' path,
         then the default value is one (1). If this object refers to a
         'protecting (2)' path, then the default value is two (2)."
    REFERENCE
        "RFC 6370 Section 5.2"
    ::= { vRtrMplsTpLspPathEntry 7 }

vRtrMplsTpLspPathInLabel         OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathInLabel specifies the LSP ingress Label
         used by the MPLS-TP LSP Path.

         Once this object is set, to remove the in-label, one must destroy and
         recreate the vRtrMplsTpLspPathEntry."
    DEFVAL      { 0 }
    ::= { vRtrMplsTpLspPathEntry 8 }

vRtrMplsTpLspPathOutLabel        OBJECT-TYPE
    SYNTAX      Unsigned32 (0 | 16..1048575)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathOutLabel specifies the LSP egress Label
         used by the MPLS-TP LSP Path.

         Once this object is set, to remove the out-label, one must destroy and
         recreate the vRtrMplsTpLspPathEntry."
    DEFVAL      { 0 }
    ::= { vRtrMplsTpLspPathEntry 9 }

vRtrMplsTpLspPathOutLink         OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathOutLink specifies the LSP out-link
         interface used by the MPLS-TP LSP Path.

         Once this object is set, to remove the out-link, one must destroy and
         recreate the vRtrMplsTpLspPathEntry."
    DEFVAL      { 0 }
    ::= { vRtrMplsTpLspPathEntry 10 }

vRtrMplsTpLspPathNextHopAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathNextHopAddrType, along with
         vRtrMplsTpLspPathNextHopAddress, specifies the IP address used as the
         next hop for the MPLS-TP LSP Path.

         Once this object is set, to remove the next hop, one must destroy and
         recreate the vRtrMplsTpLspPathEntry.

         This object is only applicable if the vRtrMplsTpLspPathOutLink
         references a numbered interface."
    DEFVAL      { unknown }
    ::= { vRtrMplsTpLspPathEntry 11 }

vRtrMplsTpLspPathNextHopAddress  OBJECT-TYPE
    SYNTAX      InetAddress (SIZE (0|4|16))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathNextHopAddress, along with
         vRtrMplsTpLspPathNextHopAddrType, specifies the IP address used as the
         next hop for the MPLS-TP LSP Path.

         Once this object is set, to remove the next hop, one must destroy and
         recreate the vRtrMplsTpLspPathEntry.

         This object is only applicable if the vRtrMplsTpLspPathOutLink
         references a numbered interface."
    DEFVAL      { "" }
    ::= { vRtrMplsTpLspPathEntry 12 }

vRtrMplsTpLspPathState           OBJECT-TYPE
    SYNTAX      INTEGER {
        unknown  (1),
        active   (2),
        inactive (3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathState indicates the current working
         state of the MPLS-TP LSP Path."
    DEFVAL      { unknown }
    ::= { vRtrMplsTpLspPathEntry 13 }

vRtrMplsTpLspPathTimeUp          OBJECT-TYPE
    SYNTAX      TimeInterval
    UNITS       "centiseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathTimeUp indicates the time that this
         MPLS-TP LSP path has been operational."
    ::= { vRtrMplsTpLspPathEntry 14 }

vRtrMplsTpLspPathTimeDown        OBJECT-TYPE
    SYNTAX      TimeInterval
    UNITS       "centiseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathTimeDown indicates the time that this
         MPLS-TP LSP Path has not been operational."
    ::= { vRtrMplsTpLspPathEntry 15 }

vRtrMplsTpLspPathActiveTimeUp    OBJECT-TYPE
    SYNTAX      TimeInterval
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathActiveTimeUp indicates the time that
         this MPLS-TP LSP Path has been active."
    ::= { vRtrMplsTpLspPathEntry 16 }

vRtrMplsTpLspPathMepTable        OBJECT-TYPE
    SYNTAX      SEQUENCE OF VRtrMplsTpLspPathMepEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpLspPathMepTable maintains the Maintenance End Points
         (MEPs) for the MPLS-TP LSP path."
    ::= { vRtrMplsTpLspObjects 3 }

vRtrMplsTpLspPathMepEntry        OBJECT-TYPE
    SYNTAX      VRtrMplsTpLspPathMepEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpLspPathMepEntry represents a Maintenance Endpoint for a
         MPLS-TP LSP Path."
    INDEX       {
        vRtrID,
        vRtrMplsLspIndex,
        vRtrMplsTpLspPathIndex
    }
    ::= { vRtrMplsTpLspPathMepTable 1 }

VRtrMplsTpLspPathMepEntry        ::= SEQUENCE
{
    vRtrMplsTpLspPathMepLastChgTime  TimeStamp,
    vRtrMplsTpLspPathMepRowStatus    RowStatus,
    vRtrMplsTpLspPathMepAdminState   TmnxAdminState,
    vRtrMplsTpLspPathMepProtectTmpl  TNamedItemOrEmpty,
    vRtrMplsTpLspPathMepOamTmpl      TNamedItemOrEmpty,
    vRtrMplsTpLspPathMepBfdEnabled   INTEGER,
    vRtrMplsTpLspPathMepBfdOperState TmnxOperState,
    vRtrMplsTpLspPathMepDSInIfNum    Unsigned32,
    vRtrMplsTpLspPathMepDSOutIfNum   Unsigned32,
    vRtrMplsTpLspPathMepSupBfdNotif  TruthValue
}

vRtrMplsTpLspPathMepLastChgTime  OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathMepLastChgTime indicates the time, since
         system startup, when a columnar object for the specified row last
         changed state."
    ::= { vRtrMplsTpLspPathMepEntry 1 }

vRtrMplsTpLspPathMepRowStatus    OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathMepRowStatus specifies the row status of
         the vRtrMplsTpLspPathMepEntry."
    ::= { vRtrMplsTpLspPathMepEntry 2 }

vRtrMplsTpLspPathMepAdminState   OBJECT-TYPE
    SYNTAX      TmnxAdminState
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathMepAdminState specifies the
         administrative state of the MPLS-TP LSP path."
    DEFVAL      { outOfService }
    ::= { vRtrMplsTpLspPathMepEntry 3 }

vRtrMplsTpLspPathMepProtectTmpl  OBJECT-TYPE
    SYNTAX      TNamedItemOrEmpty
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathMepProtectTmpl specifies the associated
         vRtrMplsTpPtcTemplateCfgEntry to this MPLS-TP LSP Path MEP.

         This object is only meaningful to the row indexed with the
         vRtrMplsTpLspPathIndex value of 'protecting'. Attempts to configure
         this object, otherwise, will result in an 'inconsistentValue' error."
    DEFVAL      { "" }
    ::= { vRtrMplsTpLspPathMepEntry 4 }

vRtrMplsTpLspPathMepOamTmpl      OBJECT-TYPE
    SYNTAX      TNamedItemOrEmpty
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathMepOamTmpl specifies the associated
         vRtrMplsTpOamTemplateCfgEntry to this MPLS-TP LSP Path MEP."
    DEFVAL      { "" }
    ::= { vRtrMplsTpLspPathMepEntry 5 }

vRtrMplsTpLspPathMepBfdEnabled   OBJECT-TYPE
    SYNTAX      INTEGER {
        disabled (0),
        cc       (1),
        ccCv     (2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathMepBfdEnabled specifies whether BFD is
         enabled or not.

         If set to 'disabled (0)', BFD is not enabled.
         If set to 'cc       (1)', BFD is enabled with Continuity Check (CC)
                                   functionality.
         If set to 'ccCv     (2)', BFD is enabled with both CC and Connectivity
                                   Verification (CV) functionality.  In this
                                   mode, BFD will detect mis-connectivity as
                                   described in RFC 6428 Section 3.7.2.

         Once enabled, a modification to this object will effect the BFD
         session."
    REFERENCE
        "RFC 6428"
    DEFVAL      { disabled }
    ::= { vRtrMplsTpLspPathMepEntry 6 }

vRtrMplsTpLspPathMepBfdOperState OBJECT-TYPE
    SYNTAX      TmnxOperState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathMepBfdOperState indicates the
         operational state of the BFD session.

         The operational state of 'unknown (1)' indicates that the BFD session
         is not enabled."
    ::= { vRtrMplsTpLspPathMepEntry 7 }

vRtrMplsTpLspPathMepDSInIfNum    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathMepDSInIfNum specifies the ingress
         interface number in order to provide an identifier for the LSP-Trace
         DSMAP/DDMAP when an IP identifier is not available. The value of zero
         (0) disables this object."
    DEFVAL      { 0 }
    ::= { vRtrMplsTpLspPathMepEntry 8 }

vRtrMplsTpLspPathMepDSOutIfNum   OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathMepDSOutIfNum specifies the egress
         interface number in order to provide an identifier for the LSP-Trace
         DSMAP/DDMAP when an IP identifier is not available. The value of zero
         (0) disables this object.

         This value may only be changed away from the default value if a
         non-zero value is specified for the object
         vRtrMplsTpLspPathMepDSInIfNum, otherwise an error of inconsistentValue
         is returned."
    DEFVAL      { 0 }
    ::= { vRtrMplsTpLspPathMepEntry 9 }

vRtrMplsTpLspPathMepSupBfdNotif  OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathMepSupBfdNotif specifies whether or not
         the associated up and down BFD session notifications
         (tmnxVRtrNgBfdSessUp and tmnxVRtrNgBfdSessDown) are suppressed."
    DEFVAL      { false }
    ::= { vRtrMplsTpLspPathMepEntry 10 }

vRtrMplsTpLspPtPathMepStatTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF VRtrMplsTpLspPtPathMepStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpLspPtPathMepStatTable maintains the Maintenance End
         Points (MEPs) statistics for MPLS-TP LSP protection paths."
    ::= { vRtrMplsTpLspObjects 4 }

vRtrMplsTpLspPtPathMepStatEntry  OBJECT-TYPE
    SYNTAX      VRtrMplsTpLspPtPathMepStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpLspPathMepEntry represents a Maintenance Endpoint for a
         MPLS-TP LSP protection Path.

         Rows are created and destroyed by the system based on the
         configuration of the MEP protection-type."
    INDEX       {
        vRtrID,
        vRtrMplsLspIndex,
        vRtrMplsTpLspPathIndex
    }
    ::= { vRtrMplsTpLspPtPathMepStatTable 1 }

VRtrMplsTpLspPtPathMepStatEntry  ::= SEQUENCE
{
    vRtrMplsTpLspPtPathMepRxPdu      VRtrMplsTpLspPathMepPduType,
    vRtrMplsTpLspPtPathMepTxPdu      VRtrMplsTpLspPathMepPduType,
    vRtrMplsTpLspPtPathMepDefects    BITS,
    vRtrMplsTpLspPtPathMepWTRTimer   Counter32
}

vRtrMplsTpLspPtPathMepRxPdu      OBJECT-TYPE
    SYNTAX      VRtrMplsTpLspPathMepPduType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPtPathMepRxPdu indicates the last received
         PSC PDU APS format. The value of this object compared to that of
         vRtrMplsTpLspPtPathMepTxPdu will indicate a configuration mismatch
         between the local and far-end node."
    ::= { vRtrMplsTpLspPtPathMepStatEntry 1 }

vRtrMplsTpLspPtPathMepTxPdu      OBJECT-TYPE
    SYNTAX      VRtrMplsTpLspPathMepPduType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPtPathMepTxPdu indicates the last
         transmitted PSC PDU APS format. The value of this object compared to
         that of vRtrMplsTpLspPtPathMepRxPdu will indicate a configuration
         mismatch between the local and far-end node."
    ::= { vRtrMplsTpLspPtPathMepStatEntry 2 }

vRtrMplsTpLspPtPathMepDefects    OBJECT-TYPE
    SYNTAX      BITS {
        protectionTypeMismatch (0),
        revertModeMismatch     (1)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPtPathMepDefects indicates the defect state
         of the protection path MEP. The defects monitored by this object are
         as follows:

             - protectionTypeMismatch (0) - A protection-type mismatch is
                                            detected.
             - revertModeMismatch     (1) - A revertive mode mismatch is
                                            detected."
    ::= { vRtrMplsTpLspPtPathMepStatEntry 3 }

vRtrMplsTpLspPtPathMepWTRTimer   OBJECT-TYPE
    SYNTAX      Counter32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPtPathMepWTRTimer indicates the remaining
         Wait-To-Restore time, in seconds, before the protection path can
         switch back to the working path.

         A value of zero (0) indicates that there is no WTR timer in effect."
    ::= { vRtrMplsTpLspPtPathMepStatEntry 4 }

vRtrMplsTpLspPathMepStatTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF VRtrMplsTpLspPathMepStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpLspPathMepStatTable maintains the status and statistic
         objects for Maintenance End Points (MEPs) of the MPLS-TP LSP path."
    ::= { vRtrMplsTpLspObjects 5 }

vRtrMplsTpLspPathMepStatEntry    OBJECT-TYPE
    SYNTAX      VRtrMplsTpLspPathMepStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpLspPathMepStatEntry represents status and statistics
         information for a Maintenance Endpoint of a MPLS-TP LSP path."
    AUGMENTS    { vRtrMplsTpLspPathMepEntry }
    ::= { vRtrMplsTpLspPathMepStatTable 1 }

VRtrMplsTpLspPathMepStatEntry    ::= SEQUENCE
{
    vRtrMplsTpLspPathMepAisLsrGlbId  TmnxMplsTpGlobalID,
    vRtrMplsTpLspPathMepAisLsrNodeId TmnxMplsTpNodeID,
    vRtrMplsTpLspPathMepAisLsrIfNum  Unsigned32
}

vRtrMplsTpLspPathMepAisLsrGlbId  OBJECT-TYPE
    SYNTAX      TmnxMplsTpGlobalID
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathMepAisLsrGlbId indicates the LSR global
         identifier determined via AIS on the MPLS-TP LSP path."
    ::= { vRtrMplsTpLspPathMepStatEntry 1 }

vRtrMplsTpLspPathMepAisLsrNodeId OBJECT-TYPE
    SYNTAX      TmnxMplsTpNodeID
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathMepAisLsrNodeId indicates the LSR node
         identifier determined via AIS on the MPLS-TP LSP path."
    ::= { vRtrMplsTpLspPathMepStatEntry 2 }

vRtrMplsTpLspPathMepAisLsrIfNum  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspPathMepAisLsrIfNum indicates the LSR
         interface number determined via AIS on the MPLS-TP LSP path."
    ::= { vRtrMplsTpLspPathMepStatEntry 3 }

vRtrMplsTpCmdObjects             OBJECT IDENTIFIER ::= { vRtrMplsTpConfigurations 4 }

vRtrMplsTpTunnelCommandTable     OBJECT-TYPE
    SYNTAX      SEQUENCE OF VRtrMplsTpTunnelCommandEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpTunnelCommandTable maintains the one-shot action
         commands that effect the state of the MPLS-TP operation."
    REFERENCE
        "RFC 6378"
    ::= { vRtrMplsTpCmdObjects 1 }

vRtrMplsTpTunnelCommandEntry     OBJECT-TYPE
    SYNTAX      VRtrMplsTpTunnelCommandEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpTunnelCommandEntry contains the command available to
         execute on an existing MPLS-TP Tunnel.

         Rows in this table are created and destroyed by the system."
    INDEX       {
        vRtrID,
        vRtrMplsLspIndex
    }
    ::= { vRtrMplsTpTunnelCommandTable 1 }

VRtrMplsTpTunnelCommandEntry     ::= SEQUENCE
{ vRtrMplsTpTunnelCommandSwitch    INTEGER }

vRtrMplsTpTunnelCommandSwitch    OBJECT-TYPE
    SYNTAX      INTEGER {
        noCmd        (0),
        clear        (1),
        forceSwitch  (2),
        manualSwitch (3),
        lockout      (4)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value vRtrMplsTpTunnelCommandSwitch specifies the switch command
         to initiate on a MPLS-TP LSP Tunnel.

         When read, this object returns the last command written or 'noCmd (0)'
         if no command has been written to this MPLS-TP LSP Tunnel since
         initialization. The return of the last command written does not imply
         that this command is currently in effect. This request may be
         preempted by a higher priority local or remote request.

         The value 'noCmd (0)' may not be used in a write command.

         The value 'clear (1)' clears all the switch commands listed below for
         the specified LSP.

         The value of 'forceSwitch (2)' switches the active path to the
         protection path.

         The value of 'manualSwitch (3)' switches the active path to the
         protection path.

         The value of 'lockout (4)' prevents the working path from switching to
         the protection path."
    DEFVAL      { noCmd }
    ::= { vRtrMplsTpTunnelCommandEntry 1 }

vRtrMplsTpLsrObjects             OBJECT IDENTIFIER ::= { vRtrMplsTpConfigurations 5 }

vRtrMplsTpLsrCfgTable            OBJECT-TYPE
    SYNTAX      SEQUENCE OF VRtrMplsTpLsrCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpLsrCfgTable maintains the MPLS-TP LSR configuration
         information."
    ::= { vRtrMplsTpLsrObjects 1 }

vRtrMplsTpLsrCfgEntry            OBJECT-TYPE
    SYNTAX      VRtrMplsTpLsrCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpLsrCfgEntry contains the configuration items maintained
         by the vRtrMplsTpLsrCfgTable."
    INDEX       {
        vRtrID,
        IMPLIED vRtrMplsTpLsrPathName
    }
    ::= { vRtrMplsTpLsrCfgTable 1 }

VRtrMplsTpLsrCfgEntry            ::= SEQUENCE
{
    vRtrMplsTpLsrPathName            TNamedItem,
    vRtrMplsTpLsrRowStatus           RowStatus,
    vRtrMplsTpLsrLastChangedTime     TimeStamp,
    vRtrMplsTpLsrAdminState          TmnxAdminState,
    vRtrMplsTpLsrOperState           TmnxOperState,
    vRtrMplsTpLsrFPInLabel           Unsigned32,
    vRtrMplsTpLsrFPOutLabel          Unsigned32,
    vRtrMplsTpLsrFPOutLink           InterfaceIndexOrZero,
    vRtrMplsTpLsrFPNextHopAddrType   InetAddressType,
    vRtrMplsTpLsrFPNextHopAddress    InetAddress,
    vRtrMplsTpLsrRPInLabel           Unsigned32,
    vRtrMplsTpLsrRPOutLabel          Unsigned32,
    vRtrMplsTpLsrRPOutLink           InterfaceIndexOrZero,
    vRtrMplsTpLsrRPNextHopAddrType   InetAddressType,
    vRtrMplsTpLsrRPNextHopAddress    InetAddress,
    vRtrMplsTpLsrFPEnabled           TruthValue,
    vRtrMplsTpLsrRPEnabled           TruthValue
}

vRtrMplsTpLsrPathName            OBJECT-TYPE
    SYNTAX      TNamedItem
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrPathName specifies the unique name of the
         MPLS-TP LSR Path."
    ::= { vRtrMplsTpLsrCfgEntry 1 }

vRtrMplsTpLsrRowStatus           OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrRowStatus specifies the row status of the
         MPLS-TP LSR configuration entry.

         Rows are created by setting this object to the value 'createAndGo (4)'
         and are destroyed by using the value 'destroy (6)'."
    ::= { vRtrMplsTpLsrCfgEntry 2 }

vRtrMplsTpLsrLastChangedTime     OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrLastChangedTime indicates the time, since
         system startup, that a columnar object in the MPLS-TP LSR entry last
         changed state."
    ::= { vRtrMplsTpLsrCfgEntry 3 }

vRtrMplsTpLsrAdminState          OBJECT-TYPE
    SYNTAX      TmnxAdminState
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrAdminState specifies the administrative
         state of the MPLS-TP LSR."
    DEFVAL      { outOfService }
    ::= { vRtrMplsTpLsrCfgEntry 4 }

vRtrMplsTpLsrOperState           OBJECT-TYPE
    SYNTAX      TmnxOperState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrOperState indicates the operational state of
         the MPLS-TP LSR."
    ::= { vRtrMplsTpLsrCfgEntry 5 }

vRtrMplsTpLsrFPInLabel           OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrFPInLabel specifies the forward path (FP)
         ingress label used by the MPLS-TP LSR Path.

         This object can be set only after vRtrMplsTpLsrFPEnabled is set to
         'true'.

         Once this object is set, the value may not be unset. To remove the
         ingress label one must set vRtrMplsTpLsrFPEnabled to 'false'."
    DEFVAL      { 0 }
    ::= { vRtrMplsTpLsrCfgEntry 6 }

vRtrMplsTpLsrFPOutLabel          OBJECT-TYPE
    SYNTAX      Unsigned32 (0 | 16..1048575)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrFPOutLabel specifies the forward path (FP)
         egress label used by the MPLS-TP LSR Path.

         This object can be set only after vRtrMplsTpLsrFPEnabled is set to
         'true'.

         Once this object is set, the value may not be unset. To remove the
         egress label one must set vRtrMplsTpLsrFPEnabled to 'false'."
    DEFVAL      { 0 }
    ::= { vRtrMplsTpLsrCfgEntry 7 }

vRtrMplsTpLsrFPOutLink           OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrFPOutLink specifies the forward path (FP)
         out-link interface used by the MPLS-TP LSR Path.

         This object can be set only after vRtrMplsTpLsrFPEnabled is set to
         'true'.

         Once this object is set, the value may not be unset. To remove the
         out-link, one must set vRtrMplsTpLsrFPEnabled to 'false'."
    DEFVAL      { 0 }
    ::= { vRtrMplsTpLsrCfgEntry 8 }

vRtrMplsTpLsrFPNextHopAddrType   OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrFPNextHopAddrType, along with
         vRtrMplsTpLsrFPNextHopAddress, specifies the forward path (FP) IP
         address used as the next hop for the MPLS-TP LSP Path.

         This object can be set only after vRtrMplsTpLsrFPEnabled is set to
         'true'.

         Once this object is set, the value may not be unset. To remove the
         next hop, one must set vRtrMplsTpLsrFPEnabled to 'false'.

         This object is only applicable if the vRtrMplsTpLsrFPOutLink
         references a numbered interface."
    DEFVAL      { unknown }
    ::= { vRtrMplsTpLsrCfgEntry 9 }

vRtrMplsTpLsrFPNextHopAddress    OBJECT-TYPE
    SYNTAX      InetAddress (SIZE (0|4|16))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrFPNextHopAddress, along with
         vRtrMplsTpLsrFPNextHopAddrType, specifies the forward path (FP) IP
         address used as the next hop for the MPLS-TP LSR Path.

         This object can be set only after vRtrMplsTpLsrFPEnabled is set to
         'true'.

         Once this object is set, the value may not be unset. To remove the
         next hop, one must set vRtrMplsTpLsrFPEnabled to 'false'.

         This object is only applicable if the vRtrMplsTpLsrFPOutLink
         references a numbered interface."
    DEFVAL      { "" }
    ::= { vRtrMplsTpLsrCfgEntry 10 }

vRtrMplsTpLsrRPInLabel           OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrRPInLabel specifies the reverse path (RP)
         LSP ingress label used by the MPLS-TP LSR Path.

         This object can be set only after vRtrMplsTpLsrRPEnabled is set to
         'true'.

         Once this object is set, the value may not be unset. To remove the
         ingress label, one must set vRtrMplsTpLsrRPEnabled to 'false'."
    DEFVAL      { 0 }
    ::= { vRtrMplsTpLsrCfgEntry 11 }

vRtrMplsTpLsrRPOutLabel          OBJECT-TYPE
    SYNTAX      Unsigned32 (0 | 16..1048575)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrRPOutLabel specifies the reverse path (RP)
         LSP egress label used by the MPLS-TP LSR Path.

         This object can be set only after vRtrMplsTpLsrRPEnabled is set to
         'true'.

         Once this object is set, this value may not be unset. To remove the
         egress label, one must set vRtrMplsTpLsrFPEnabled to 'false'."
    DEFVAL      { 0 }
    ::= { vRtrMplsTpLsrCfgEntry 12 }

vRtrMplsTpLsrRPOutLink           OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrRPOutLink specifies the reverse path (RP)
         LSP out-link interface used by the MPLS-TP LSP Path.

         This object can be set only after vRtrMplsTpLsrRPEnabled is set to
         'true'.

         Once this object is set, this value may not be unset. To remove the
         out-link, one must set vRtrMplsTpLsrRPEnabled to 'false'."
    DEFVAL      { 0 }
    ::= { vRtrMplsTpLsrCfgEntry 13 }

vRtrMplsTpLsrRPNextHopAddrType   OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrRPNextHopAddrType, along with
         vRtrMplsTpLsrRPNextHopAddress, specifies the reverse path (RP) IP
         address used as the next hop for the MPLS-TP LSP Path.

         This object can be set only after vRtrMplsTpLsrRPEnabled is set to
         'true'.

         Once this object is set, this value may not be unset. To remove the
         next hop, one must set vRtrMplsTpLsrRPEnabled to 'false'.

         This object is only applicable if the vRtrMplsTpLsrRPOutLink
         references a numbered interface."
    DEFVAL      { unknown }
    ::= { vRtrMplsTpLsrCfgEntry 14 }

vRtrMplsTpLsrRPNextHopAddress    OBJECT-TYPE
    SYNTAX      InetAddress (SIZE (0|4|16))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrRPNextHopAddress, along with
         vRtrMplsTpLsrRPNextHopAddrType, specifies the reverse path (RP) IP
         address used as the next hop for the MPLS-TP LSR Path.

         This object can be set only after vRtrMplsTpLsrRPEnabled is set to
         'true'.

         Once this object is set, this value may not be unset. To remove the
         next hop, one must set vRtrMplsTpLsrRPEnabled to 'false'.

         This object is only applicable if the vRtrMplsTpLsrRPOutLink
         references a numbered interface."
    DEFVAL      { "" }
    ::= { vRtrMplsTpLsrCfgEntry 15 }

vRtrMplsTpLsrFPEnabled           OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of  vRtrMplsTpLsrFPEnabled specifies whether the forward
         path is configured for the LSR path."
    DEFVAL      { false }
    ::= { vRtrMplsTpLsrCfgEntry 16 }

vRtrMplsTpLsrRPEnabled           OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of  vRtrMplsTpLsrRPEnabled specifies whether the reverse
         path is configured for the LSR path."
    DEFVAL      { false }
    ::= { vRtrMplsTpLsrCfgEntry 17 }

vRtrMplsTpLsrPathIdTable         OBJECT-TYPE
    SYNTAX      SEQUENCE OF VRtrMplsTpLsrPathIdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpLsrPathIdTable maintains the MPLS-TP LSR Path
         configuration information."
    ::= { vRtrMplsTpLsrObjects 3 }

vRtrMplsTpLsrPathIdEntry         OBJECT-TYPE
    SYNTAX      VRtrMplsTpLsrPathIdEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpLsrPathIdEntry contains the configuration items
         maintained by the vRtrMplsTpLsrPathIdTable."
    INDEX       {
        vRtrID,
        vRtrMplsTpLsrPathIdSrcGlobalId,
        vRtrMplsTpLsrPathIdSrcNodeId,
        vRtrMplsTpLsrPathIdSrcTunNum,
        vRtrMplsTpLsrPathIdDestGlobalId,
        vRtrMplsTpLsrPathIdDestNodeId,
        vRtrMplsTpLsrPathIdDestTunNum,
        vRtrMplsTpLsrPathIdLspNumber
    }
    ::= { vRtrMplsTpLsrPathIdTable 1 }

VRtrMplsTpLsrPathIdEntry         ::= SEQUENCE
{
    vRtrMplsTpLsrPathIdSrcGlobalId   TmnxMplsTpGlobalID,
    vRtrMplsTpLsrPathIdSrcNodeId     TmnxMplsTpNodeID,
    vRtrMplsTpLsrPathIdSrcTunNum     Unsigned32,
    vRtrMplsTpLsrPathIdDestGlobalId  TmnxMplsTpGlobalID,
    vRtrMplsTpLsrPathIdDestNodeId    TmnxMplsTpNodeID,
    vRtrMplsTpLsrPathIdDestTunNum    Unsigned32,
    vRtrMplsTpLsrPathIdLspNumber     Unsigned32,
    vRtrMplsTpLsrPathIdRowStatus     RowStatus,
    vRtrMplsTpLsrPathIdPathName      TNamedItem
}

vRtrMplsTpLsrPathIdSrcGlobalId   OBJECT-TYPE
    SYNTAX      TmnxMplsTpGlobalID
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrPathIdSrcGlobalId specifies the unique node
         identifier for the given source global ID."
    ::= { vRtrMplsTpLsrPathIdEntry 1 }

vRtrMplsTpLsrPathIdSrcNodeId     OBJECT-TYPE
    SYNTAX      TmnxMplsTpNodeID
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrPathIdSrcNodeId specifies the unique node
         identifier for the given source node ID."
    ::= { vRtrMplsTpLsrPathIdEntry 2 }

vRtrMplsTpLsrPathIdSrcTunNum     OBJECT-TYPE
    SYNTAX      Unsigned32 (0 | 1..61440)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrPathIdSrcTunNum specifies the source tunnel
         number of an MPLS-TP Static LSP."
    ::= { vRtrMplsTpLsrPathIdEntry 3 }

vRtrMplsTpLsrPathIdDestGlobalId  OBJECT-TYPE
    SYNTAX      TmnxMplsTpGlobalID
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrPathIdDestGlobalId specifies the unique node
         identifier for the given remote global ID."
    ::= { vRtrMplsTpLsrPathIdEntry 4 }

vRtrMplsTpLsrPathIdDestNodeId    OBJECT-TYPE
    SYNTAX      TmnxMplsTpNodeID
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrPathIdDestNodeId specifies the unique node
         identifier for the given remote node ID."
    ::= { vRtrMplsTpLsrPathIdEntry 5 }

vRtrMplsTpLsrPathIdDestTunNum    OBJECT-TYPE
    SYNTAX      Unsigned32 (0 | 1..61440)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrPathIdDestTunNum specifies the destination
         tunnel number of an MPLS-TP Static LSP."
    ::= { vRtrMplsTpLsrPathIdEntry 6 }

vRtrMplsTpLsrPathIdLspNumber     OBJECT-TYPE
    SYNTAX      Unsigned32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrPathIdLspNumber specifies the MPLS-TP LSP
         Path number."
    REFERENCE
        "RFC 6370 Section 5.2"
    ::= { vRtrMplsTpLsrPathIdEntry 7 }

vRtrMplsTpLsrPathIdRowStatus     OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrPathIdRowStatus specifies the row status of
         the MPLS-TP LSR Path.

         Rows are created by setting this object to the value 'createAndGo (4)'
         and are destroyed by using the value 'destroy (6)'."
    ::= { vRtrMplsTpLsrPathIdEntry 8 }

vRtrMplsTpLsrPathIdPathName      OBJECT-TYPE
    SYNTAX      TNamedItem
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrPathIdPathName specifies the unique name of
         the MPLS-TP LSR Path.

         This object MUST be specified on row creation, and must reference an
         existing vRtrMplsTpLsrPathName."
    ::= { vRtrMplsTpLsrPathIdEntry 9 }

vRtrMplsTpLsrMipCfgTable         OBJECT-TYPE
    SYNTAX      SEQUENCE OF VRtrMplsTpLsrMipCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpLsrMipCfgTable maintains the MPLS-TP LSR Path MIP
         configuration information."
    ::= { vRtrMplsTpLsrObjects 4 }

vRtrMplsTpLsrMipCfgEntry         OBJECT-TYPE
    SYNTAX      VRtrMplsTpLsrMipCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpLsrMipCfgEntry contains the configuration items
         maintained by the vRtrMplsTpLsrMipCfgTable."
    INDEX       {
        vRtrID,
        vRtrMplsTpLsrPathName,
        vRtrMplsTpLsrMipDirection
    }
    ::= { vRtrMplsTpLsrMipCfgTable 1 }

VRtrMplsTpLsrMipCfgEntry         ::= SEQUENCE
{
    vRtrMplsTpLsrMipDirection        INTEGER,
    vRtrMplsTpLsrMipRowStatus        RowStatus,
    vRtrMplsTpLsrMipLastChanged      TimeStamp,
    vRtrMplsTpLsrMipDSInIfNum        Unsigned32,
    vRtrMplsTpLsrMipDSOutIfNum       Unsigned32
}

vRtrMplsTpLsrMipDirection        OBJECT-TYPE
    SYNTAX      INTEGER {
        forward (1),
        reverse (2)
    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrMipDirection specifies the direction of the
         LSR path."
    ::= { vRtrMplsTpLsrMipCfgEntry 1 }

vRtrMplsTpLsrMipRowStatus        OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrMipRowStatus specifies the row status of the
         MPLS-TP LSR MIP.

         Rows are created by setting this object to the value 'createAndGo (4)'
         and are destroyed by using the value 'destroy (6)'."
    ::= { vRtrMplsTpLsrMipCfgEntry 2 }

vRtrMplsTpLsrMipLastChanged      OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrMipLastChanged indicates the last time,
         since system startup, that a columnar object in this row has changed
         state."
    ::= { vRtrMplsTpLsrMipCfgEntry 3 }

vRtrMplsTpLsrMipDSInIfNum        OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrMipDSInIfNum specifies the ingress interface
         number in order to provide an identifier for the LSP-Trace DSMAP/DDMAP
         when an IP identifier is not available. The value of zero (0) disables
         this object."
    DEFVAL      { 0 }
    ::= { vRtrMplsTpLsrMipCfgEntry 4 }

vRtrMplsTpLsrMipDSOutIfNum       OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLsrMipDSOutIfNum specifies the egress interface
         number in order to provide an identifier for the LSP-Trace DSMAP/DDMAP
         when an IP identifier is not available. The value of zero (0) disables
         this object.

         This value may only be changed away from the default value if a
         non-zero value is specified for the object vRtrMplsTpLsrMipDSInIfNum,
         otherwise an error of inconsistentValue is returned."
    DEFVAL      { 0 }
    ::= { vRtrMplsTpLsrMipCfgEntry 5 }

vRtrMplsTpInterfaceObjects       OBJECT IDENTIFIER ::= { vRtrMplsTpConfigurations 6 }

vRtrMplsTpIfCfgTable             OBJECT-TYPE
    SYNTAX      SEQUENCE OF VRtrMplsTpIfCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpIfCfgTable maintains the MPLS-TP Interface configuration
         information."
    ::= { vRtrMplsTpInterfaceObjects 1 }

vRtrMplsTpIfCfgEntry             OBJECT-TYPE
    SYNTAX      VRtrMplsTpIfCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpIfCfgEntry contains the configuration items maintained
         by the vRtrMplsTpIfCfgTable. A row may be created or destroyed on
         entries found in the vRtrMplsIfTable. MPLS-TP must be enabled for the
         creation of rows in this table."
    INDEX       {
        vRtrID,
        vRtrIfIndex
    }
    ::= { vRtrMplsTpIfCfgTable 1 }

VRtrMplsTpIfCfgEntry             ::= SEQUENCE
{
    vRtrMplsTpIfRowStatus            RowStatus,
    vRtrMplsTpIfLastChanged          TimeStamp,
    vRtrMplsTpIfNum                  Unsigned32,
    vRtrMplsTpIfNumValidation        TmnxEnabledDisabled,
    vRtrMplsTpIfAisEnable            TruthValue
}

vRtrMplsTpIfRowStatus            OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpIfRowStatus specifies the row status of this
         row. MPLS-TP Interface configuration is added or removed from MPLS
         Interfaces through the setting of this object."
    ::= { vRtrMplsTpIfCfgEntry 1 }

vRtrMplsTpIfLastChanged          OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpIfLastChanged indicates the last time, since
         system startup, that an object in this row changed state."
    ::= { vRtrMplsTpIfCfgEntry 2 }

vRtrMplsTpIfNum                  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpIfNum specifies the system unique value
         associated to the MPLS interface. The value zero (0) indicates that
         the if-num has not been specified for this entry."
    REFERENCE
        "RFC 6370 section 4 Node and Interface Identifiers"
    DEFVAL      { 0 }
    ::= { vRtrMplsTpIfCfgEntry 3 }

vRtrMplsTpIfNumValidation        OBJECT-TYPE
    SYNTAX      TmnxEnabledDisabled
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpIfNumValidation specifies whether or not the
         node will perform the validation of vRtrMplsTpIfNum.

         If the value of vRtrMplsTpIfNumValidation is 'enabled (1)', the node
         performs the validation of the ingress and egress if-nums received in
         the LSP echo request messages that ingress on this MPLS interface. It
         validates that the message arrives on the interface as identified by
         the ingress if-num, and is forwarded on the interface as identified by
         the egress if-num.

         If the value of vRtrMplsTpIfNumValidation is 'disabled (2)', no
         validation is performed for the ingress and egress if-nums received in
         the LSP echo request messages that ingress on this MPLS interface."
    DEFVAL      { enabled }
    ::= { vRtrMplsTpIfCfgEntry 4 }

vRtrMplsTpIfAisEnable            OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpIfAisEnable specifies whether or not the Alarm
         Indication Signal (AIS) is enabled on this MPLS-TP interface."
    DEFVAL      { false }
    ::= { vRtrMplsTpIfCfgEntry 5 }

vRtrMplsTpStatus                 OBJECT IDENTIFIER ::= { vRtrMplsTpObjs 3 }

vRtrMplsTpStatusObjects          OBJECT IDENTIFIER ::= { vRtrMplsTpStatus 1 }

vRtrMplsTpTunnelTable            OBJECT-TYPE
    SYNTAX      SEQUENCE OF VRtrMplsTpTunnelEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "vRtrMplsTpTunnelTable maintains a list of MPLS-TP tunnels for the
         specific router instance."
    ::= { vRtrMplsTpStatusObjects 1 }

vRtrMplsTpTunnelEntry            OBJECT-TYPE
    SYNTAX      VRtrMplsTpTunnelEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "vRtrMplsTpTunnelEntry defines a tunnel to a particular destination in
         a specific router context. A tunnel to a specific destination is an
         MPLS-TP Static LSP."
    INDEX       {
        vRtrID,
        vRtrMplsTpTunnelNodeId,
        vRtrMplsTpTunnelGlobalId,
        vRtrMplsTpTunnelPreference,
        vRtrMplsTpTunnelType,
        vRtrMplsTpTunnelID,
        vRtrMplsTpTunnelNextHopAddrType,
        vRtrMplsTpTunnelNextHopAddress
    }
    ::= { vRtrMplsTpTunnelTable 1 }

VRtrMplsTpTunnelEntry            ::= SEQUENCE
{
    vRtrMplsTpTunnelNodeId           TmnxMplsTpNodeID,
    vRtrMplsTpTunnelGlobalId         TmnxMplsTpGlobalID,
    vRtrMplsTpTunnelPreference       Unsigned32,
    vRtrMplsTpTunnelType             TmnxMplsTpTunnelType,
    vRtrMplsTpTunnelID               TmnxTunnelID,
    vRtrMplsTpTunnelNextHopAddrType  InetAddressType,
    vRtrMplsTpTunnelNextHopAddress   InetAddress,
    vRtrMplsTpTunnelMetric           Unsigned32,
    vRtrMplsTpTunnelAge              Integer32
}

vRtrMplsTpTunnelNodeId           OBJECT-TYPE
    SYNTAX      TmnxMplsTpNodeID
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "vRtrMplsTpTunnelNodeId indicates the destination node id of this
         tunnel."
    ::= { vRtrMplsTpTunnelEntry 1 }

vRtrMplsTpTunnelGlobalId         OBJECT-TYPE
    SYNTAX      TmnxMplsTpGlobalID
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "vRtrMplsTpTunnelGlobalId indicates the global id of the system."
    ::= { vRtrMplsTpTunnelEntry 2 }

vRtrMplsTpTunnelPreference       OBJECT-TYPE
    SYNTAX      Unsigned32 (1..255)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpTunnelPreference determines the priority of
         this tunnel versus the other tunnels from different sources. This is
         an absolute number used internally by the system to specify
         preferences for the tunnel.

         The lowest number signifies the most preferred entry in the table."
    ::= { vRtrMplsTpTunnelEntry 3 }

vRtrMplsTpTunnelType             OBJECT-TYPE
    SYNTAX      TmnxMplsTpTunnelType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpTunnelType indicates the type of this tunnel
         entity."
    ::= { vRtrMplsTpTunnelEntry 4 }

vRtrMplsTpTunnelID               OBJECT-TYPE
    SYNTAX      TmnxTunnelID
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpTunnelID provides an additional index to
         distinguish between multiple tunnels to same destination having same
         characteristics.

         There could be multiple tunnels for the type 'mplsTpStatic'. In such
         cases the vRtrMplsTpTunnelID will hold the specific MPLS-TP Static LSP
         Id."
    ::= { vRtrMplsTpTunnelEntry 5 }

vRtrMplsTpTunnelNextHopAddrType  OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpTunnelNextHopAddrType specifies the address
         type of vRtrMplsTpTunnelNextHopAddress."
    ::= { vRtrMplsTpTunnelEntry 6 }

vRtrMplsTpTunnelNextHopAddress   OBJECT-TYPE
    SYNTAX      InetAddress (SIZE (0|4|16|20))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpTunnelNextHopAddress specifies the ip address
         of the next hop for the MPLS-TP tunnel and it depends on the value of
         vRtrMplsTpTunnelNextHopAddrType."
    ::= { vRtrMplsTpTunnelEntry 7 }

vRtrMplsTpTunnelMetric           OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpTunnelMetric indicates the metric of the
         tunnel. This is used in addition to the preference for this tunnel."
    ::= { vRtrMplsTpTunnelEntry 8 }

vRtrMplsTpTunnelAge              OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpTunnelAge indicates the number of seconds since
         this tunnel entry was last updated or otherwise determined to be
         correct. No semantics of 'too old' can be implied except through
         knowledge of owner of the tunnel."
    ::= { vRtrMplsTpTunnelEntry 9 }

vRtrMplsTpStatistics             OBJECT IDENTIFIER ::= { vRtrMplsTpObjs 5 }

vRtrMplsTpActions                OBJECT IDENTIFIER ::= { vRtrMplsTpObjs 6 }

vRtrMplsTpNotifyObjects          OBJECT IDENTIFIER ::= { vRtrMplsTpObjs 10 }

vRtrMplsTpLspOldPathIndex        OBJECT-TYPE
    SYNTAX      INTEGER {
        working    (1),
        protecting (2)
    }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The value of vRtrMplsTpLspOldPathIndex indicates the path index of of
         the old MPLS-TP path."
    ::= { vRtrMplsTpNotifyObjects 1 }

vRtrMplsTpConformance            OBJECT IDENTIFIER ::= { tmnxSRConfs 83 }

vRtrMplsTpCompliances            OBJECT IDENTIFIER ::= { vRtrMplsTpConformance 1 }

vRtrMplsTpCompliance             MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for the management of the MPLS-TP feature for
         release 11.0 on SROS series systems."
    MODULE
        MANDATORY-GROUPS {
            vRtrMplsTpTimeStampGroup,
            vRtrMplsTpSystemGroup,
            vRtrMplsTpOamTemplateGroup,
            vRtrMplsTpProtectionTemplGroup,
            vRtrMplsTpLspPathGroup,
            vRtrMplsTpLspPathMepGroup,
            vRtrMplsTpTunnelCommandGroup,
            vRtrMplsTpTunnelTableGroup,
            vRtrMplsTpLsrCfgGroup,
            vRtrMplsTpLsrPathIdGroup,
            vRtrMplsTpNotificationGroup,
            vRtrMplsTpNotifyObjsGroup
        }
    ::= { vRtrMplsTpCompliances 1 }

vRtrMplsTpV12v0Compliance        MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement of additional groups added in release 12.0
         for the management of the MPLS-TP feature on SROS series systems."
    MODULE
        MANDATORY-GROUPS {
            vRtrMplsTpInterfaceGroup,
            vRtrMplsTpLsrMipGroup,
            vRtrMplsTpLspPathMepV12v0Group
        }
    ::= { vRtrMplsTpCompliances 2 }

vRtrMplsTpV14v0Compliance        MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement of additional groups added in release 14.0
         for the management of the MPLS-TP feature on SROS series systems."
    MODULE
        MANDATORY-GROUPS {
            vRtrMplsTpInterfaceV14v0Group,
            vRtrMplsTpLspPathMepV14v0Group
        }
    ::= { vRtrMplsTpCompliances 3 }

vRtrMplsTpV24v0Compliance        MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement of additional groups added in release 14.0
         for the management of the MPLS-TP feature on SROS series systems."
    MODULE
        MANDATORY-GROUPS {
            vRtrMplsTpLicenseGroup
        }
    ::= { vRtrMplsTpCompliances 4 }

vRtrMplsTpGroups                 OBJECT IDENTIFIER ::= { vRtrMplsTpConformance 2 }

vRtrMplsTpV11v0Groups            OBJECT IDENTIFIER ::= { vRtrMplsTpGroups 1 }

vRtrMplsTpTimeStampGroup         OBJECT-GROUP
    OBJECTS     {
        vRtrMplsTpSystemTableLastChanged,
        vRtrMplsTpOamTemplTblLastChanged,
        vRtrMplsTpPtcTemplTblLastChanged,
        vRtrMplsTpLspPathTblLastChanged,
        vRtrMplsTpLspPathMepTblLastChg,
        vRtrMplsTpLsrPathIdTblLastChg,
        vRtrMplsTpLsrTblLastChanged
    }
    STATUS      current
    DESCRIPTION
        "The group of objects maintaining table statistics for MPLS-TP on the
         SROS series system."
    ::= { vRtrMplsTpV11v0Groups 1 }

vRtrMplsTpSystemGroup            OBJECT-GROUP
    OBJECTS     {
        vRtrMplsTpRowStatus,
        vRtrMplsTpGlobalId,
        vRtrMplsTpNodeId,
        vRtrMplsTpTunnelIdMin,
        vRtrMplsTpTunnelIdMax,
        vRtrMplsTpAdminState,
        vRtrMplsTpInheritance
    }
    STATUS      current
    DESCRIPTION
        "The group of objects maintaining system configuration for MPLS-TP on
         the SROS series systems."
    ::= { vRtrMplsTpV11v0Groups 2 }

vRtrMplsTpOamTemplateGroup       OBJECT-GROUP
    OBJECTS     {
        vRtrMplsTpOamTmplRowStatus,
        vRtrMplsTpOamTmplLastChangedTime,
        vRtrMplsTpOamTmplBfdTemplateName,
        vRtrMplsTpOamTmplHoldTimeDown,
        vRtrMplsTpOamTmplHoldTimeUp
    }
    STATUS      current
    DESCRIPTION
        "The group of objects maintaining the OAM template configuration for
         MPLS-TP on the SROS series systems."
    ::= { vRtrMplsTpV11v0Groups 3 }

vRtrMplsTpProtectionTemplGroup   OBJECT-GROUP
    OBJECTS     {
        vRtrMplsTpPtcTmplRowStatus,
        vRtrMplsTpPtcTmplLastChangedTime,
        vRtrMplsTpPtcTmplProtectionMode,
        vRtrMplsTpPtcTmplProtectionDir,
        vRtrMplsTpPtcTmplRevertive,
        vRtrMplsTpPtcTmplWaitToRestore,
        vRtrMplsTpPtcTmplRapidPscTimer,
        vRtrMplsTpPtcTmplSlowPscTimer
    }
    STATUS      current
    DESCRIPTION
        "The group of objects maintaining the Protection template configuration
         for MPLS-TP on the SROS series systems."
    ::= { vRtrMplsTpV11v0Groups 4 }

vRtrMplsTpLspPathGroup           OBJECT-GROUP
    OBJECTS     {
        vRtrMplsTpLspPathRowStatus,
        vRtrMplsTpLspPathLastChangedTime,
        vRtrMplsTpLspPathAdminState,
        vRtrMplsTpLspPathOperState,
        vRtrMplsTpLspPathReasonDownFlags,
        vRtrMplsTpLspPathLspNumber,
        vRtrMplsTpLspPathInLabel,
        vRtrMplsTpLspPathOutLabel,
        vRtrMplsTpLspPathOutLink,
        vRtrMplsTpLspPathNextHopAddrType,
        vRtrMplsTpLspPathNextHopAddress,
        vRtrMplsTpLspPathState,
        vRtrMplsTpLspPathTimeUp,
        vRtrMplsTpLspPathTimeDown,
        vRtrMplsTpLspPathActiveTimeUp
    }
    STATUS      current
    DESCRIPTION
        "The group of objects maintaining the LSP Path configuration for
         MPLS-TP on the SROS series systems."
    ::= { vRtrMplsTpV11v0Groups 5 }

vRtrMplsTpLspPathMepGroup        OBJECT-GROUP
    OBJECTS     {
        vRtrMplsTpLspPathMepLastChgTime,
        vRtrMplsTpLspPathMepRowStatus,
        vRtrMplsTpLspPathMepAdminState,
        vRtrMplsTpLspPathMepProtectTmpl,
        vRtrMplsTpLspPathMepOamTmpl,
        vRtrMplsTpLspPathMepBfdEnabled,
        vRtrMplsTpLspPathMepBfdOperState,
        vRtrMplsTpLspPtPathMepRxPdu,
        vRtrMplsTpLspPtPathMepTxPdu,
        vRtrMplsTpLspPtPathMepDefects,
        vRtrMplsTpLspPtPathMepWTRTimer
    }
    STATUS      current
    DESCRIPTION
        "The group of objects maintaining the LSP Path MEP configuration for
         MPLS-TP on the SROS series systems."
    ::= { vRtrMplsTpV11v0Groups 6 }

vRtrMplsTpTunnelCommandGroup     OBJECT-GROUP
    OBJECTS     {
        vRtrMplsTpTunnelCommandSwitch
    }
    STATUS      current
    DESCRIPTION
        "The group of objects supporting manual protection operations for
         MPLS-TP Tunnels on the SROS series systems."
    ::= { vRtrMplsTpV11v0Groups 7 }

vRtrMplsTpTunnelTableGroup       OBJECT-GROUP
    OBJECTS     {
        vRtrMplsTpTunnelMetric,
        vRtrMplsTpTunnelAge
    }
    STATUS      current
    DESCRIPTION
        "The group of objects supporting manual protection operations for
         MPLS-TP Tunnels on the SROS series systems."
    ::= { vRtrMplsTpV11v0Groups 8 }

vRtrMplsTpLsrCfgGroup            OBJECT-GROUP
    OBJECTS     {
        vRtrMplsTpLsrRowStatus,
        vRtrMplsTpLsrLastChangedTime,
        vRtrMplsTpLsrAdminState,
        vRtrMplsTpLsrOperState,
        vRtrMplsTpLsrFPInLabel,
        vRtrMplsTpLsrFPOutLabel,
        vRtrMplsTpLsrFPOutLink,
        vRtrMplsTpLsrFPNextHopAddrType,
        vRtrMplsTpLsrFPNextHopAddress,
        vRtrMplsTpLsrRPInLabel,
        vRtrMplsTpLsrRPOutLabel,
        vRtrMplsTpLsrRPOutLink,
        vRtrMplsTpLsrRPNextHopAddrType,
        vRtrMplsTpLsrRPNextHopAddress,
        vRtrMplsTpLsrFPEnabled,
        vRtrMplsTpLsrRPEnabled
    }
    STATUS      current
    DESCRIPTION
        "The group of objects maintaining the LSR configuration for MPLS-TP on
         the SROS series systems."
    ::= { vRtrMplsTpV11v0Groups 9 }

vRtrMplsTpLsrPathIdGroup         OBJECT-GROUP
    OBJECTS     {
        vRtrMplsTpLsrPathIdRowStatus,
        vRtrMplsTpLsrPathIdPathName
    }
    STATUS      current
    DESCRIPTION
        "The group of objects maintaining the LSR Path configuration for
         MPLS-TP on the SROS series systems."
    ::= { vRtrMplsTpV11v0Groups 10 }

vRtrMplsTpNotificationGroup      NOTIFICATION-GROUP
    NOTIFICATIONS {
        vRtrMplsTpLspRevertMismatchAlarm,
        vRtrMplsTpLspRevertMismatchClear,
        vRtrMplsTpLspPtTypeMismatchAlarm,
        vRtrMplsTpLspPtTypeMismatchClear,
        vRtrMplsTpLspActivePathUp,
        vRtrMplsTpLspActivePathChange
    }
    STATUS      current
    DESCRIPTION
        "The group of notifications reporting MPLS-TP state changes on the SROS
         series systems."
    ::= { vRtrMplsTpV11v0Groups 11 }

vRtrMplsTpNotifyObjsGroup        OBJECT-GROUP
    OBJECTS     {
        vRtrMplsTpLspOldPathIndex
    }
    STATUS      current
    DESCRIPTION
        "The group of notification objects supporting MPLS TP notifications on
         Nokia SROS series systems 11.0 release."
    ::= { vRtrMplsTpV11v0Groups 12 }

vRtrMplsTpV12v0Groups            OBJECT IDENTIFIER ::= { vRtrMplsTpGroups 2 }

vRtrMplsTpInterfaceGroup         OBJECT-GROUP
    OBJECTS     {
        vRtrMplsTpIfTblLastChanged,
        vRtrMplsTpIfRowStatus,
        vRtrMplsTpIfLastChanged,
        vRtrMplsTpIfNum,
        vRtrMplsTpIfNumValidation
    }
    STATUS      current
    DESCRIPTION
        "The group of additional objects introduced in release 12.0 for the
         management of MPLS-TP interfaces on Nokia SROS series systems."
    ::= { vRtrMplsTpV12v0Groups 1 }

vRtrMplsTpLsrMipGroup            OBJECT-GROUP
    OBJECTS     {
        vRtrMplsTpLsrMipCfgTblLastChg,
        vRtrMplsTpLsrMipRowStatus,
        vRtrMplsTpLsrMipLastChanged,
        vRtrMplsTpLsrMipDSInIfNum,
        vRtrMplsTpLsrMipDSOutIfNum
    }
    STATUS      current
    DESCRIPTION
        "The group of additional objects introduced in release 12.0 for the
         management of MPLS-TP LSR MIP (Maintenance Intermediate Points) on
         Nokia SROS series systems."
    ::= { vRtrMplsTpV12v0Groups 2 }

vRtrMplsTpLspPathMepV12v0Group   OBJECT-GROUP
    OBJECTS     {
        vRtrMplsTpLspPathMepDSInIfNum,
        vRtrMplsTpLspPathMepDSOutIfNum
    }
    STATUS      current
    DESCRIPTION
        "The group of additional objects introduced in release 12.0 for the
         management of MPLS-TP LSP Path MEP (Maintenance EndPoints) on Nokia
         SROS series systems."
    ::= { vRtrMplsTpV12v0Groups 3 }

vRtrMplsTpV14v0Groups            OBJECT IDENTIFIER ::= { vRtrMplsTpGroups 3 }

vRtrMplsTpInterfaceV14v0Group    OBJECT-GROUP
    OBJECTS     {
        vRtrMplsTpIfAisEnable
    }
    STATUS      current
    DESCRIPTION
        "The group of additional objects introduced in release 14.0 for the
         management of MPLS-TP interfaces on Nokia SROS series systems."
    ::= { vRtrMplsTpV14v0Groups 1 }

vRtrMplsTpLspPathMepV14v0Group   OBJECT-GROUP
    OBJECTS     {
        vRtrMplsTpLspPathMepSupBfdNotif,
        vRtrMplsTpLspPathMepAisLsrGlbId,
        vRtrMplsTpLspPathMepAisLsrNodeId,
        vRtrMplsTpLspPathMepAisLsrIfNum
    }
    STATUS      current
    DESCRIPTION
        "The group of additional objects introduced in release 14.0 for the
         management of MPLS-TP LSP Path MEP (Maintenance EndPoints) on Nokia
         SROS series systems."
    ::= { vRtrMplsTpV14v0Groups 2 }

vRtrMplsTpV24v0Groups            OBJECT IDENTIFIER ::= { vRtrMplsTpGroups 4 }

vRtrMplsTpLicenseGroup           OBJECT-GROUP
    OBJECTS     {
        vRtrMplsTpOperState,
        vRtrMplsTpOperDownReason
    }
    STATUS      current
    DESCRIPTION
        "The group of additional objects introduced in release 24.0 for the
         management of MPLS-TP interfaces on Nokia SROS series systems."
    ::= { vRtrMplsTpV24v0Groups 1 }

vRtrMplsTpNotifyPrefix           OBJECT IDENTIFIER ::= { tmnxSRNotifyPrefix 83 }

vRtrMplsTpNotifications          OBJECT IDENTIFIER ::= { vRtrMplsTpNotifyPrefix 0 }

vRtrMplsTpLspRevertMismatchAlarm NOTIFICATION-TYPE
    OBJECTS     {
        vRtrMplsTpLspPtPathMepRxPdu,
        vRtrMplsTpLspPtPathMepTxPdu
    }
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpLspRevertMismatchAlarm is generated when an MPLS-TP LSP
         revertive mode mismatch is detected on the protection MEP, at the APS
         layer, by comparing the R bit of the transmitted and received APS
         protocol."
    REFERENCE
        "RFC 6378 Section 4.2"
    ::= { vRtrMplsTpNotifications 1 }

vRtrMplsTpLspRevertMismatchClear NOTIFICATION-TYPE
    OBJECTS     {
        vRtrMplsTpLspPtPathMepRxPdu,
        vRtrMplsTpLspPtPathMepTxPdu
    }
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpLspRevertMismatchClear is generated when an MPLS-TP LSP
         revertive mode mismatch is cleared."
    REFERENCE
        "RFC 6378 Section 4.2"
    ::= { vRtrMplsTpNotifications 2 }

vRtrMplsTpLspPtTypeMismatchAlarm NOTIFICATION-TYPE
    OBJECTS     {
        vRtrMplsTpLspPtPathMepRxPdu,
        vRtrMplsTpLspPtPathMepTxPdu
    }
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpLspPtTypeMismatchAlarm is generated when an MPLS-TP LSP
         protection type mismatch is detected on the protection MEP, at the APS
         layer, by comparing the PT bits of the transmitted and received APS
         protocol."
    REFERENCE
        "RFC 6378 Section 4.2"
    ::= { vRtrMplsTpNotifications 3 }

vRtrMplsTpLspPtTypeMismatchClear NOTIFICATION-TYPE
    OBJECTS     {
        vRtrMplsTpLspPtPathMepRxPdu,
        vRtrMplsTpLspPtPathMepTxPdu
    }
    STATUS      current
    DESCRIPTION
        "The vRtrMplsTpLspPtTypeMismatchClear is generated when an MPLS-TP LSP
         protection type mismatch is cleared."
    REFERENCE
        "RFC 6378 Section 4.2"
    ::= { vRtrMplsTpNotifications 4 }

vRtrMplsTpLspActivePathUp        NOTIFICATION-TYPE
    OBJECTS     {
        vRtrMplsTpLspPathState
    }
    STATUS      current
    DESCRIPTION
        "[CAUSE] The vRtrMplsTpLspActivePathUp notification is generated when a
         MPLS-TP LSP Path comes up.

         [EFFECT] The TP-Path is the active path in the tunnel that is used to
         transport user traffic.

         [RECOVERY] There is no recovery required for this notification."
    ::= { vRtrMplsTpNotifications 5 }

vRtrMplsTpLspActivePathChange    NOTIFICATION-TYPE
    OBJECTS     {
        vRtrMplsTpLspPathState,
        vRtrMplsTpLspOldPathIndex
    }
    STATUS      current
    DESCRIPTION
        "[CAUSE] The vRtrMplsTpLspActivePathChange notification is generated
         when a MPLS-TP LSP Path changes its path from working to protecting or
         vice versa. The old path is specified by vRtrMplsTpLspOldPathIndex.

         [EFFECT] The TP Path after the switch will be used to transport user
         traffic.

         [RECOVERY] There is no recovery required for this notification."
    ::= { vRtrMplsTpNotifications 6 }

END
