TIMETRA-BFD-MIB DEFINITIONS ::= BEGIN

IMPORTS
    InetAddress, InetAddressType
                                                         FROM INET-ADDRESS-MIB
    MODULE-COMPLIANCE, NOTIFICATION-GROUP,
    OBJECT-GROUP
                                                         FROM SNMPv2-CONF
    Counter32, MODULE-IDENTITY,
    NOTIFICATION-TYPE, OBJECT-TYPE,
    TimeTicks, Unsigned32
                                                         FROM SNMPv2-SMI
    DisplayString, RowStatus, TimeInterval
                                                         FROM SNMPv2-TC
    timetraSRMIBModules, tmnxSRConfs,
    tmnxSRNotifyPrefix, tmnxSRObjs
                                                         FROM TIMETRA-GLOBAL-MIB
    TItemDescription, TNamedItem,
    TmnxAdminState, TmnxBfdOnLspSessFecType,
    TmnxBfdSessionProtocols, TmnxOperState
                                                         FROM TIMETRA-TC-MIB
    vRtrID, vRtrLspBfdMaxSessions,
    vRtrLspBfdSession
                                                         FROM TIMETRA-VRTR-MIB
    ;

timetraBfdMIBModule              MODULE-IDENTITY
    LAST-UPDATED "201701010000Z"
    ORGANIZATION "Nokia"
    CONTACT-INFO
        "Nokia SROS Support
         Web: http://www.nokia.com"
    DESCRIPTION
        "This document is the SNMP MIB module to manage and provision BFD
         templates on Nokia SROS equipment.

         Copyright 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    "201701010000Z"
    DESCRIPTION
        "Rev 15.0               1 Jan 2017 00:00
         15.0 release of the TIMETRA-BFD-MIB."

    REVISION    "201506010000Z"
    DESCRIPTION
        "Rev 13.0               1 Jun 2015 00:00
         13.0 release of the TIMETRA-BFD-MIB."

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

    ::= { timetraSRMIBModules 85 }

tmnxBfdObjects                   OBJECT IDENTIFIER ::= { tmnxSRObjs 85 }

tmnxBfdOperObjects               OBJECT IDENTIFIER ::= { tmnxBfdObjects 1 }

tmnxBfdOperValueObjects          OBJECT IDENTIFIER ::= { tmnxBfdOperObjects 1 }

tmnxBfdOperTemplateTable         OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxBfdOperTemplateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Operational value table for BFD templates."
    ::= { tmnxBfdOperValueObjects 1 }

tmnxBfdOperTemplateEntry         OBJECT-TYPE
    SYNTAX      TmnxBfdOperTemplateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a particular BFD template.

         Entries are created by user via tmnxBfdAdminTemplateTable. Entries are
         deleted by user via tmnxBfdAdminTemplateTable."
    INDEX       { tmnxBfdOperTemplateName }
    ::= { tmnxBfdOperTemplateTable 1 }

TmnxBfdOperTemplateEntry         ::= SEQUENCE
{
    tmnxBfdOperTemplateName          TNamedItem,
    tmnxBfdOperTemplateRowStatus     RowStatus,
    tmnxBfdOperTemplateTxInt         Unsigned32,
    tmnxBfdOperTemplateRxInt         Unsigned32,
    tmnxBfdOperTemplateMultiplier    Unsigned32,
    tmnxBfdOperTemplateEchoRxInt     Unsigned32,
    tmnxBfdOperTemplateType          INTEGER
}

tmnxBfdOperTemplateName          OBJECT-TYPE
    SYNTAX      TNamedItem
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The name of this BFD template that uniquely identifies an entry in
         this table."
    ::= { tmnxBfdOperTemplateEntry 1 }

tmnxBfdOperTemplateRowStatus     OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "RowStatus for this row. Values read will only be active(1). To create
         or destroy entries in this table, use the tmnxBfdAdminTemplateEntry."
    ::= { tmnxBfdOperTemplateEntry 2 }

tmnxBfdOperTemplateTxInt         OBJECT-TYPE
    SYNTAX      Unsigned32 (10..100000)
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOperTemplateTxInt indicates the transmit timers
         for the BFD packets."
    ::= { tmnxBfdOperTemplateEntry 3 }

tmnxBfdOperTemplateRxInt         OBJECT-TYPE
    SYNTAX      Unsigned32 (10..100000)
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOperTemplateRxInt indicates the receive timers for
         the BFD packets."
    ::= { tmnxBfdOperTemplateEntry 4 }

tmnxBfdOperTemplateMultiplier    OBJECT-TYPE
    SYNTAX      Unsigned32 (3..20)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOperTemplateMultiplier indicates the number of
         consecutive BFD messages that must be missed from the peer before the
         BFD session state is changed to down and the upper level protocols
         (OSPF, IS-IS or PIM) are notified of the fault."
    ::= { tmnxBfdOperTemplateEntry 5 }

tmnxBfdOperTemplateEchoRxInt     OBJECT-TYPE
    SYNTAX      Unsigned32 (100..100000)
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOperTemplateEchoRxInt indicates the minimum echo
         receive interval for a BFD session."
    ::= { tmnxBfdOperTemplateEntry 6 }

tmnxBfdOperTemplateType          OBJECT-TYPE
    SYNTAX      INTEGER {
        cpmNp (1),
        auto  (2)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOperTemplateType indicates the configured
         termination of a BFD session.

         The value of 'cpmNp(1)' specifies termination on the CPM card's
         Network Processor. The value of 'auto(2)' specifies a system-selected
         termination other than the CPM Network Processor."
    ::= { tmnxBfdOperTemplateEntry 7 }

tmnxBfdAdminObjects              OBJECT IDENTIFIER ::= { tmnxBfdObjects 2 }

tmnxBfdAdminControlObjects       OBJECT IDENTIFIER ::= { tmnxBfdAdminObjects 1 }

tmnxBfdAdminOwner                OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Who has last initialized the administrative tables, who is making all
         the changes, and who is expected to either commit or re-initialize
         (ABORT-TRANSACTION).

         tmnxBfdAdminOwner is advisory only.  Before beginning a transaction,
         read tmnxBfdAdminOwner. If it is empty then proceed with the
         configuration. Set tmnxBfdAdminOwner after setting
         tmnxBfdAdminControlApply so that other users will be advised to not
         make changes to the Admin tables.

         Agent sets tmnxBfdAdminOwner to empty string after
         tmnxBfdAdminControlApply is set - either by user initializing or
         committing, or by agent timing out the uncommitted transactions
         (tmnxBfdAdminLastSetTimer)."
    ::= { tmnxBfdAdminControlObjects 1 }

tmnxBfdAdminControlApply         OBJECT-TYPE
    SYNTAX      INTEGER {
        none       (1),
        initialize (2),
        commit     (3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object controls the use of tmnxBfdAdminValueObjects tables.

         This object always reads none(1).

         When set to initialize(2), the objects in tmnxBfdAdminValueObjects
         tables are set to the current Operational values, from the
         corresponding tmnxBfdOperValueObjects tables. Any uncommitted changes
         are lost, so setting this value corresponds to both BEGIN-TRANSACTION
         and ABORT-TRANSACTION.

         When set to commit(3) (END-TRANSACTION), all of the objects from
         tmnxBfdAdminValueObjects tables are copied to the corresponding
         tmnxBfdOperValueObjects table objects."
    DEFVAL      { none }
    ::= { tmnxBfdAdminControlObjects 2 }

tmnxBfdAdminLastSetTimer         OBJECT-TYPE
    SYNTAX      TimeInterval
    UNITS       "centiseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time remaining until the agent re-initializes the administrative
         tables.

         If tmnxBfdAdminControlApply is not set to commit(3) within
         tmnxBfdAdminLastSetTimeout centiseconds, the agent will set it to
         initialize(2) and all uncommitted changes will be lost.

         This way, uncommitted changes from failed (uncompleted) change sets
         will eventually be removed, and another transaction can safely begin.

         This object is reset to tmnxBfdAdminLastSetTimeout after SNMP SET
         operation to any of the tmnxBfdAdminValueObjects tables."
    ::= { tmnxBfdAdminControlObjects 3 }

tmnxBfdAdminLastSetTimeout       OBJECT-TYPE
    SYNTAX      TimeInterval
    UNITS       "centiseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Timeout for tmnxBfdAdminLastSetTimer. The value zero is not allowed."
    DEFVAL      { 180000 }
    ::= { tmnxBfdAdminControlObjects 4 }

tmnxBfdAdminValueObjects         OBJECT IDENTIFIER ::= { tmnxBfdAdminObjects 2 }

tmnxBfdAdminTemplateTable        OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxBfdAdminTemplateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Administrative value table for BFD templates."
    ::= { tmnxBfdAdminValueObjects 1 }

tmnxBfdAdminTemplateEntry        OBJECT-TYPE
    SYNTAX      TmnxBfdAdminTemplateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a particular BFD template. Entries are created by
         user. Entries are deleted by user."
    INDEX       { tmnxBfdAdminTemplateName }
    ::= { tmnxBfdAdminTemplateTable 1 }

TmnxBfdAdminTemplateEntry        ::= SEQUENCE
{
    tmnxBfdAdminTemplateName         TNamedItem,
    tmnxBfdAdminTemplateRowStatus    RowStatus,
    tmnxBfdAdminTemplateTxInt        Unsigned32,
    tmnxBfdAdminTemplateRxInt        Unsigned32,
    tmnxBfdAdminTemplateMultiplier   Unsigned32,
    tmnxBfdAdminTemplateEchoRxInt    Unsigned32,
    tmnxBfdAdminTemplateType         INTEGER
}

tmnxBfdAdminTemplateName         OBJECT-TYPE
    SYNTAX      TNamedItem
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The name of this BFD template that uniquely identifies an entry in
         this table."
    ::= { tmnxBfdAdminTemplateEntry 1 }

tmnxBfdAdminTemplateRowStatus    OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus for this row. Legal values to write are: active(1),
         createAndGo(4), createAndWait(5), destroy(6).

         To Create a row, set this object to createAndGo or createAndWait. When
         tmnxBfdAdminControlApply is set to commit(3), the row will actually be
         created in the tmnxBfdOperTemplateTable.

         To destroy a row, set this object to destroy(6). If there are no
         objects that refer to the entry, when tmnxBfdAdminControlApply is set
         to commit(3) the row will actually be removed from the
         tmnxBfdOperTemplateTable.

         If there are objects that refer to the entry, the destroy SET request
         will fail with an error."
    ::= { tmnxBfdAdminTemplateEntry 2 }

tmnxBfdAdminTemplateTxInt        OBJECT-TYPE
    SYNTAX      Unsigned32 (10..100000)
    UNITS       "milliseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdAdminTemplateTxInt specifies the transmit timers
         for the BFD packets."
    DEFVAL      { 100 }
    ::= { tmnxBfdAdminTemplateEntry 3 }

tmnxBfdAdminTemplateRxInt        OBJECT-TYPE
    SYNTAX      Unsigned32 (10..100000)
    UNITS       "milliseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdAdminTemplateRxInt specifies the receive timers
         for the BFD packets."
    DEFVAL      { 100 }
    ::= { tmnxBfdAdminTemplateEntry 4 }

tmnxBfdAdminTemplateMultiplier   OBJECT-TYPE
    SYNTAX      Unsigned32 (1..20)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdAdminTemplateMultiplier specifies the number of
         consecutive BFD messages that must be missed from the peer before the
         BFD session state is changed to down and the upper level protocols
         (OSPF, IS-IS or PIM) are notified of the fault."
    DEFVAL      { 3 }
    ::= { tmnxBfdAdminTemplateEntry 5 }

tmnxBfdAdminTemplateEchoRxInt    OBJECT-TYPE
    SYNTAX      Unsigned32 (100..100000)
    UNITS       "milliseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdAdminTemplateEchoRxInt specifies the minimum echo
         receive interval for a BFD session."
    DEFVAL      { 100 }
    ::= { tmnxBfdAdminTemplateEntry 6 }

tmnxBfdAdminTemplateType         OBJECT-TYPE
    SYNTAX      INTEGER {
        cpmNp (1),
        auto  (2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdAdminTemplateType specifies the configured
         termination of a BFD session.

         The value of 'cpmNp(1)' specifies termination on the CPM card's
         Network Processor. The value of 'auto(2)' specifies a system-selected
         termination other than the CPM Network Processor."
    DEFVAL      { auto }
    ::= { tmnxBfdAdminTemplateEntry 7 }

tmnxBfdStatistics                OBJECT IDENTIFIER ::= { tmnxBfdObjects 3 }

tmnxBfdOnLspSessTable            OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxBfdOnLspSessEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tmnxBfdOnLspSessTable table contains per BFD session statistics
         and operational settings for BFD on LSP."
    ::= { tmnxBfdStatistics 1 }

tmnxBfdOnLspSessEntry            OBJECT-TYPE
    SYNTAX      TmnxBfdOnLspSessEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row entry represents a BFD session. Entries are created
         automatically by the system."
    INDEX       {
        tmnxBfdOnLspSessLinkType,
        vRtrID,
        tmnxBfdOnLspSessFecType,
        tmnxBfdOnLspSessRemAddrType,
        tmnxBfdOnLspSessRemAddr,
        tmnxBfdOnLspSessLclAddrType,
        tmnxBfdOnLspSessLclAddr,
        tmnxBfdOnLspSessPathId,
        tmnxBfdOnLspSessTunnelId
    }
    ::= { tmnxBfdOnLspSessTable 1 }

TmnxBfdOnLspSessEntry            ::= SEQUENCE
{
    tmnxBfdOnLspSessLinkType         INTEGER,
    tmnxBfdOnLspSessFecType          TmnxBfdOnLspSessFecType,
    tmnxBfdOnLspSessRemAddrType      InetAddressType,
    tmnxBfdOnLspSessRemAddr          InetAddress,
    tmnxBfdOnLspSessLclAddrType      InetAddressType,
    tmnxBfdOnLspSessLclAddr          InetAddress,
    tmnxBfdOnLspSessPathId           Unsigned32,
    tmnxBfdOnLspSessTunnelId         Unsigned32,
    tmnxBfdOnLspSessOperState        TmnxOperState,
    tmnxBfdOnLspSessState            INTEGER,
    tmnxBfdOnLspSessOperFlags        BITS,
    tmnxBfdOnLspSessMesgRecv         Counter32,
    tmnxBfdOnLspSessMesgSent         Counter32,
    tmnxBfdOnLspSessLastDownTime     TimeTicks,
    tmnxBfdOnLspSessLastUpTime       TimeTicks,
    tmnxBfdOnLspSessUpCount          Counter32,
    tmnxBfdOnLspSessDownCount        Counter32,
    tmnxBfdOnLspSessLclDisc          Unsigned32,
    tmnxBfdOnLspSessRemDisc          Unsigned32,
    tmnxBfdOnLspSessProtocols        TmnxBfdSessionProtocols,
    tmnxBfdOnLspSessTxInterval       Unsigned32,
    tmnxBfdOnLspSessRxInterval       Unsigned32,
    tmnxBfdOnLspSessType             INTEGER,
    tmnxBfdOnLspSessVerMismatch      Counter32,
    tmnxBfdOnLspSessTimeSinceLastRx  Unsigned32,
    tmnxBfdOnLspSessTimeSinceLastTx  Unsigned32
}

tmnxBfdOnLspSessLinkType         OBJECT-TYPE
    SYNTAX      INTEGER {
        lspHead  (8),
        lspTail  (9),
        sLspPath (11)
    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessLinkType indicates the link type of the
         BFD session."
    ::= { tmnxBfdOnLspSessEntry 1 }

tmnxBfdOnLspSessFecType          OBJECT-TYPE
    SYNTAX      TmnxBfdOnLspSessFecType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessFecType indicates the fec type of this
         BFD session."
    ::= { tmnxBfdOnLspSessEntry 2 }

tmnxBfdOnLspSessRemAddrType      OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessRemAddrType indicates the address type in
         tmnxBfdOnLspSessRemAddr."
    ::= { tmnxBfdOnLspSessEntry 3 }

tmnxBfdOnLspSessRemAddr          OBJECT-TYPE
    SYNTAX      InetAddress (SIZE (0|4|16|20))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessRemAddr indicates the address of the
         remote endpoint of this BFD session. Its type is specified by
         tmnxBfdOnLspSessRemAddrType."
    ::= { tmnxBfdOnLspSessEntry 4 }

tmnxBfdOnLspSessLclAddrType      OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessLclAddrType indicates the address type in
         tmnxBfdOnLspSessLclAddr."
    ::= { tmnxBfdOnLspSessEntry 5 }

tmnxBfdOnLspSessLclAddr          OBJECT-TYPE
    SYNTAX      InetAddress (SIZE (0|4|16|20))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessLclAddr indicates the address of the
         local endpoint of this BFD session. Its type is specified by
         tmnxBfdOnLspSessLclAddrType."
    ::= { tmnxBfdOnLspSessEntry 6 }

tmnxBfdOnLspSessPathId           OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessPathId indicates the LSP id when the
         value of tmnxBfdOnLspSessFecType is 'rsvp(1)' or 'sr-te(4)'.

         For all other values of tmnxBfdOnLspSessFecType this object is not
         applicable and hence is '0'."
    ::= { tmnxBfdOnLspSessEntry 7 }

tmnxBfdOnLspSessTunnelId         OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessTunnelId indicates the tunnel id when the
         value of tmnxBfdOnLspSessFecType is 'rsvp(1)' or 'sr-te(4)'. This
         object is related to TIMETRA-MPLS-MIB::vRtrMplsLspIndex.

         For all other values of tmnxBfdOnLspSessFecType this object is not
         applicable and hence is '0'."
    ::= { tmnxBfdOnLspSessEntry 8 }

tmnxBfdOnLspSessOperState        OBJECT-TYPE
    SYNTAX      TmnxOperState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessOperState indicates the operational state
         of BFD on this interface."
    ::= { tmnxBfdOnLspSessEntry 9 }

tmnxBfdOnLspSessState            OBJECT-TYPE
    SYNTAX      INTEGER {
        adminDown (0),
        down      (1),
        init      (2),
        up        (3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessState indicates the state of the BFD
         protocol on this interface."
    ::= { tmnxBfdOnLspSessEntry 10 }

tmnxBfdOnLspSessOperFlags        OBJECT-TYPE
    SYNTAX      BITS {
        noProtocols   (0),
        noHeartBeat   (1),
        echoFailed    (2),
        nbrSignalDown (3),
        fwdPlaneReset (4),
        pathDown      (5),
        nbrAdminDown  (6),
        adminClear    (7),
        misConnDefect (8)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessOperFlags indicates the reasons why a BFD
         session is not up."
    ::= { tmnxBfdOnLspSessEntry 11 }

tmnxBfdOnLspSessMesgRecv         OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessMesgRecv indicates the number of messages
         received in this session.

         This object is applicable if tmnxBfdOnLspSessType is 'iom(1)' or
         'cpm(2)'.  Otherwise, zero is returned."
    ::= { tmnxBfdOnLspSessEntry 12 }

tmnxBfdOnLspSessMesgSent         OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessMesgSent indicates the number of messages
         sent in this session.

         This object is applicable if tmnxBfdOnLspSessType is 'iom(1)' or
         'cpm(2)'.  Otherwise, zero is returned."
    ::= { tmnxBfdOnLspSessEntry 13 }

tmnxBfdOnLspSessLastDownTime     OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessLastDownTime indicates the time elapsed
         since this session last went down."
    ::= { tmnxBfdOnLspSessEntry 14 }

tmnxBfdOnLspSessLastUpTime       OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessLastUpTime indicates the time elapsed
         this session last came up."
    ::= { tmnxBfdOnLspSessEntry 15 }

tmnxBfdOnLspSessUpCount          OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessUpCount indicates the number of times
         tmnxBfdOnLspSessOperState changed from 'outOfService' to 'inService'."
    ::= { tmnxBfdOnLspSessEntry 16 }

tmnxBfdOnLspSessDownCount        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessDownCount indicates the number of times
         tmnxBfdOnLspSessOperState changed from 'inService' to 'outOfService'."
    ::= { tmnxBfdOnLspSessEntry 17 }

tmnxBfdOnLspSessLclDisc          OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessLclDisc indicates the unique local
         discriminator for this session."
    ::= { tmnxBfdOnLspSessEntry 18 }

tmnxBfdOnLspSessRemDisc          OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessRemDisc indicates the remote
         discriminator for this session."
    ::= { tmnxBfdOnLspSessEntry 19 }

tmnxBfdOnLspSessProtocols        OBJECT-TYPE
    SYNTAX      TmnxBfdSessionProtocols
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessProtocols indicates which protocols are
         using this BFD session."
    ::= { tmnxBfdOnLspSessEntry 20 }

tmnxBfdOnLspSessTxInterval       OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessTxInterval indicates the negotiated
         transmit interval. This value is the minimum of the local node's
         'vRtrIfBfdExtTransmitInterval' and the remote node's receive interval."
    ::= { tmnxBfdOnLspSessEntry 21 }

tmnxBfdOnLspSessRxInterval       OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessRxInterval indicates the negotiated
         receive interval. This value is the minimum of the local node's
         'vRtrIfBfdExtReceiveInterval' and the remote node's transmit interval."
    ::= { tmnxBfdOnLspSessEntry 22 }

tmnxBfdOnLspSessType             OBJECT-TYPE
    SYNTAX      INTEGER {
        iom   (1),
        cpm   (2),
        cpmNp (3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessType indicates the termination of the BFD
         session, as follows:
             'iom (1)'   - termination on the IOM card main processor,
             'cpm (2)'   - termination on the CPM card main processor,
             'cpmNp (3)' - termination on the CPM card Network Processor."
    ::= { tmnxBfdOnLspSessEntry 23 }

tmnxBfdOnLspSessVerMismatch      OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessVerMismatch indicates the number of
         version mismatch errors for the bfd session."
    ::= { tmnxBfdOnLspSessEntry 24 }

tmnxBfdOnLspSessTimeSinceLastRx  OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessTimeSinceLastRx indicates the number of
         milliseconds elapsed since the most recent message was received on the
         BFD session.  If the session is down, zero is returned.

         This object is applicable to sessions with tmnxBfdOnLspSessType equal
         to 'cpmNp(3)'.  Otherwise, zero is returned."
    ::= { tmnxBfdOnLspSessEntry 25 }

tmnxBfdOnLspSessTimeSinceLastTx  OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdOnLspSessTimeSinceLastTx indicates the number of
         milliseconds elapsed since the most recent message was transmitted on
         the BFD session.  If the session is down, zero is returned.

         This object is applicable to sessions with tmnxBfdOnLspSessType equal
         to 'cpmNp(3)'.  Otherwise, zero is returned."
    ::= { tmnxBfdOnLspSessEntry 26 }

tmnxBfdNotifyObjects             OBJECT IDENTIFIER ::= { tmnxBfdObjects 4 }

tmnxBfdOnLspSessChangedProtocol  OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxBfdOnLspSessChangedProtocol indicates the
         protocol that changed the state in BFD."
    ::= { tmnxBfdNotifyObjects 1 }

tmnxBfdOnLspSessProtoChngdState  OBJECT-TYPE
    SYNTAX      INTEGER {
        added   (0),
        cleared (1)
    }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxBfdOnLspSessProtoChngdState indicates the
         changed state of tmnxBfdOnLspSessProtoChngdState in BFD."
    ::= { tmnxBfdNotifyObjects 2 }

tmnxBfdSeamlessBfdObjects        OBJECT IDENTIFIER ::= { tmnxBfdObjects 5 }

tmnxBfdSeamlessBfdPeerTable      OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxBfdSeamlessBfdPeerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Mapping table between the IP address and the discriminator of the
         remote nodes."
    ::= { tmnxBfdSeamlessBfdObjects 1 }

tmnxBfdSeamlessBfdPeerEntry      OBJECT-TYPE
    SYNTAX      TmnxBfdSeamlessBfdPeerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row entry represents a mapping between the IP address and the
         disciminator of a remote node."
    INDEX       {
        vRtrID,
        tmnxBfdSeamlessBfdPeerAddrType,
        tmnxBfdSeamlessBfdPeerAddress
    }
    ::= { tmnxBfdSeamlessBfdPeerTable 1 }

TmnxBfdSeamlessBfdPeerEntry      ::= SEQUENCE
{
    tmnxBfdSeamlessBfdPeerAddrType   InetAddressType,
    tmnxBfdSeamlessBfdPeerAddress    InetAddress,
    tmnxBfdSeamlessBfdPeerRowStatus  RowStatus,
    tmnxBfdSeamlessBfdPeerDiscr      Unsigned32
}

tmnxBfdSeamlessBfdPeerAddrType   OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdSeamlessBfdPeerAddrType specifies the address type
         of tmnxBfdSeamlessBfdPeerAddress."
    ::= { tmnxBfdSeamlessBfdPeerEntry 1 }

tmnxBfdSeamlessBfdPeerAddress    OBJECT-TYPE
    SYNTAX      InetAddress (SIZE (4|16))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdSeamlessBfdPeerAddress specifies the address of
         the remote node."
    ::= { tmnxBfdSeamlessBfdPeerEntry 2 }

tmnxBfdSeamlessBfdPeerRowStatus  OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdSeamlessBfdPeerRowStatus specifies the row status
         of this row."
    ::= { tmnxBfdSeamlessBfdPeerEntry 3 }

tmnxBfdSeamlessBfdPeerDiscr      OBJECT-TYPE
    SYNTAX      Unsigned32 (0 | 1..4294967295)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdSeamlessBfdPeerDiscr specifies the discriminator
         of the remote node."
    DEFVAL      { 0 }
    ::= { tmnxBfdSeamlessBfdPeerEntry 4 }

tmnxBfdSeamlessBfdReflectorTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxBfdSeamlessBfdReflectorEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table tmnxBfdSeamlessBfdReflectorTable contains the configuration
         of the S-BFD packet reflectors."
    ::= { tmnxBfdSeamlessBfdObjects 2 }

tmnxBfdSeamlessBfdReflectorEntry OBJECT-TYPE
    SYNTAX      TmnxBfdSeamlessBfdReflectorEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row entry represents the configuration of a S-BFD packet
         reflector."
    INDEX       { tmnxBfdSeamlessBfdReflName }
    ::= { tmnxBfdSeamlessBfdReflectorTable 1 }

TmnxBfdSeamlessBfdReflectorEntry ::= SEQUENCE
{
    tmnxBfdSeamlessBfdReflName       TNamedItem,
    tmnxBfdSeamlessBfdReflRowStatus  RowStatus,
    tmnxBfdSeamlessBfdReflAdminState TmnxAdminState,
    tmnxBfdSeamlessBfdReflDiscr      Unsigned32,
    tmnxBfdSeamlessBfdReflDescr      TItemDescription,
    tmnxBfdSeamlessBfdReflLocalState INTEGER
}

tmnxBfdSeamlessBfdReflName       OBJECT-TYPE
    SYNTAX      TNamedItem
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdSeamlessBfdReflName specifies the name of the
         S-BFD reflector and uniquely identifies an entry in this table."
    ::= { tmnxBfdSeamlessBfdReflectorEntry 1 }

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

tmnxBfdSeamlessBfdReflAdminState OBJECT-TYPE
    SYNTAX      TmnxAdminState
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdSeamlessBfdReflAdminState specifies the
         administrative state of the S-BFD reflector."
    DEFVAL      { outOfService }
    ::= { tmnxBfdSeamlessBfdReflectorEntry 3 }

tmnxBfdSeamlessBfdReflDiscr      OBJECT-TYPE
    SYNTAX      Unsigned32 (0 | 524288..526335)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdSeamlessBfdReflDiscr specifies the discriminator
         of the S-BFD reflector. Possible values are 0x80000..0x807FF."
    DEFVAL      { 0 }
    ::= { tmnxBfdSeamlessBfdReflectorEntry 4 }

tmnxBfdSeamlessBfdReflDescr      OBJECT-TYPE
    SYNTAX      TItemDescription
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdSeamlessBfdReflDescr specifies the user provided
         description of the S-BFD reflector entry."
    DEFVAL      { "" }
    ::= { tmnxBfdSeamlessBfdReflectorEntry 5 }

tmnxBfdSeamlessBfdReflLocalState OBJECT-TYPE
    SYNTAX      INTEGER {
        adminDown (0),
        up        (3)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxBfdSeamlessBfdReflLocalState specifies the local
         state of the S-BFD reflector."
    DEFVAL      { up }
    ::= { tmnxBfdSeamlessBfdReflectorEntry 6 }

tmnxBfdConformance               OBJECT IDENTIFIER ::= { tmnxSRConfs 85 }

tmnxBfdCompliances               OBJECT IDENTIFIER ::= { tmnxBfdConformance 1 }

tmnxBfdV11v0Compliance           MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for management of BFD features on version
         11.0 of the Nokia SROS series systems."
    MODULE
        MANDATORY-GROUPS {
            tmnxBfdV11v0Group,
            tmnxBfdV13v0Group,
            tmnxBfdV13v0NotifyObjsGroup,
            tmnxBfdV13v0NotificationGroup
        }
    ::= { tmnxBfdCompliances 1 }

tmnxBfdV15v0Compliance           MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for management of additional BFD features
         supported on Nokia SROS series systems, release 15.0."
    MODULE
        MANDATORY-GROUPS {
            tmnxBfdV15v0NotificationGroup
        }
    ::= { tmnxBfdCompliances 5 }

tmnxBfdV19v0Compliance           MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for management of additional BFD features
         supported on Nokia SROS series systems, release 19.0."
    MODULE
        MANDATORY-GROUPS {
            tmnxBfdV19v0Group
        }
    ::= { tmnxBfdCompliances 6 }

tmnxBfdGroups                    OBJECT IDENTIFIER ::= { tmnxBfdConformance 2 }

tmnxBfdV11v0Group                OBJECT-GROUP
    OBJECTS     {
        tmnxBfdAdminOwner,
        tmnxBfdAdminControlApply,
        tmnxBfdAdminLastSetTimer,
        tmnxBfdAdminLastSetTimeout,
        tmnxBfdAdminTemplateRowStatus,
        tmnxBfdAdminTemplateTxInt,
        tmnxBfdAdminTemplateRxInt,
        tmnxBfdAdminTemplateMultiplier,
        tmnxBfdAdminTemplateEchoRxInt,
        tmnxBfdAdminTemplateType,
        tmnxBfdOperTemplateRowStatus,
        tmnxBfdOperTemplateTxInt,
        tmnxBfdOperTemplateRxInt,
        tmnxBfdOperTemplateMultiplier,
        tmnxBfdOperTemplateEchoRxInt,
        tmnxBfdOperTemplateType
    }
    STATUS      current
    DESCRIPTION
        "The group of objects supporting management of BFD features on version
         11.0 of the Nokia SROS series systems."
    ::= { tmnxBfdGroups 1 }

tmnxBfdV13v0Group                OBJECT-GROUP
    OBJECTS     {
        tmnxBfdOnLspSessOperState,
        tmnxBfdOnLspSessState,
        tmnxBfdOnLspSessOperFlags,
        tmnxBfdOnLspSessMesgRecv,
        tmnxBfdOnLspSessMesgSent,
        tmnxBfdOnLspSessLastDownTime,
        tmnxBfdOnLspSessLastUpTime,
        tmnxBfdOnLspSessUpCount,
        tmnxBfdOnLspSessDownCount,
        tmnxBfdOnLspSessLclDisc,
        tmnxBfdOnLspSessRemDisc,
        tmnxBfdOnLspSessProtocols,
        tmnxBfdOnLspSessTxInterval,
        tmnxBfdOnLspSessRxInterval,
        tmnxBfdOnLspSessType,
        tmnxBfdOnLspSessVerMismatch,
        tmnxBfdOnLspSessTimeSinceLastRx,
        tmnxBfdOnLspSessTimeSinceLastTx
    }
    STATUS      current
    DESCRIPTION
        "The group of objects supporting Bi-directional Forwarding Detection on
         version 13.0 Nokia SROS series systems."
    ::= { tmnxBfdGroups 2 }

tmnxBfdV13v0NotifyObjsGroup      OBJECT-GROUP
    OBJECTS     {
        tmnxBfdOnLspSessChangedProtocol,
        tmnxBfdOnLspSessProtoChngdState
    }
    STATUS      current
    DESCRIPTION
        "The group of notification objects supporting BFD notifications on
         Nokia SROS series systems 13.0 release."
    ::= { tmnxBfdGroups 3 }

tmnxBfdV13v0NotificationGroup    NOTIFICATION-GROUP
    NOTIFICATIONS {
        tmnxBfdOnLspSessDown,
        tmnxBfdOnLspSessUp,
        tmnxBfdOnLspSessDeleted,
        tmnxBfdOnLspSessProtChange,
        tmnxBfdOnLspSessNoCpmNpResources
    }
    STATUS      current
    DESCRIPTION
        "The group of notifications reporting BFD on LSP notifications on the
         SROS series systems 13.0 release."
    ::= { tmnxBfdGroups 4 }

tmnxBfdV15v0NotificationGroup    NOTIFICATION-GROUP
    NOTIFICATIONS {
        tmnxBfdOnLspSessNoTailResources
    }
    STATUS      current
    DESCRIPTION
        "The group of notifications introduced in Nokia SROS release 15.0."
    ::= { tmnxBfdGroups 6 }

tmnxBfdV19v0Group                OBJECT-GROUP
    OBJECTS     {
        tmnxBfdSeamlessBfdPeerRowStatus,
        tmnxBfdSeamlessBfdPeerDiscr,
        tmnxBfdSeamlessBfdReflRowStatus,
        tmnxBfdSeamlessBfdReflAdminState,
        tmnxBfdSeamlessBfdReflDiscr,
        tmnxBfdSeamlessBfdReflDescr,
        tmnxBfdSeamlessBfdReflLocalState
    }
    STATUS      current
    DESCRIPTION
        "The group of objects supporting management of BFD features on version
         19.0 of the Nokia SROS series systems."
    ::= { tmnxBfdGroups 7 }

tmnxBfdNotifyPrefix              OBJECT IDENTIFIER ::= { tmnxSRNotifyPrefix 85 }

tmnxBfdNotifications             OBJECT IDENTIFIER ::= { tmnxBfdNotifyPrefix 0 }

tmnxBfdOnLspSessDown             NOTIFICATION-TYPE
    OBJECTS     {
        tmnxBfdOnLspSessLclDisc,
        tmnxBfdOnLspSessOperFlags
    }
    STATUS      current
    DESCRIPTION
        "[CAUSE] The tmnxBfdOnLspSessDown notification is generated when a BFD
         on LSP session goes down.

         [EFFECT] The effect of this session going down is that it either takes
         down any protocol that is riding over top of it or it notifies them
         that the session has gone down.

         [RECOVERY] The session will automatically attempt to re-establish on
         its own."
    ::= { tmnxBfdNotifications 1 }

tmnxBfdOnLspSessUp               NOTIFICATION-TYPE
    OBJECTS     {
        tmnxBfdOnLspSessLclDisc
    }
    STATUS      current
    DESCRIPTION
        "[CAUSE] The tmnxBfdOnLspSessUp notification is generated when a BFD on
         LSP session goes up.

         [EFFECT] The BFD session will be active.

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

tmnxBfdOnLspSessDeleted          NOTIFICATION-TYPE
    OBJECTS     {
        tmnxBfdOnLspSessLclDisc,
        tmnxBfdOnLspSessOperFlags
    }
    STATUS      current
    DESCRIPTION
        "[CAUSE] The tmnxBfdOnLspSessDeleted notification is generated when a
         BFD on LSP session is deleted.

         [EFFECT] The deletion of this session will either take down any
         protocol that is riding over top of it or notifies them that the
         session has been deleted.

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

tmnxBfdOnLspSessProtChange       NOTIFICATION-TYPE
    OBJECTS     {
        tmnxBfdOnLspSessLclDisc,
        tmnxBfdOnLspSessProtocols,
        tmnxBfdOnLspSessChangedProtocol,
        tmnxBfdOnLspSessProtoChngdState
    }
    STATUS      current
    DESCRIPTION
        "[CAUSE] The tmnxBfdOnLspSessProtChange notification is generated when
         there is a change in the list of protocols specified by
         tmnxBfdOnLspSessProtocols using the BFD on LSP session.

         [EFFECT] The list of protocols using this session are modified.

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

tmnxBfdOnLspSessNoCpmNpResources NOTIFICATION-TYPE
    OBJECTS     {
        tmnxBfdOnLspSessLclDisc
    }
    STATUS      current
    DESCRIPTION
        "[CAUSE] The tmnxBfdOnLspSessNoCpmNpResources notification is generated
         when a BFD on LSP session could not be established because the session
         requires a cpmNp session termination resource (see
         TIMETRA-VRTR-MIB::vRtrIfBfdExtType), and no cpmNp session termination
         resources are available.

         [EFFECT] The BFD session cannot be established until a cpmNp session
         termination resource is available

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

tmnxBfdOnLspSessNoTailResources  NOTIFICATION-TYPE
    OBJECTS     {
        vRtrLspBfdSession,
        vRtrLspBfdMaxSessions
    }
    STATUS      current
    DESCRIPTION
        "[CAUSE] The tmnxBfdOnLspSessNoTailResources notification is generated
         when a BFD on LSP session could not be established by the LSP's
         tail-end system because the system limit on the number of session tail
         ends has been reached.

         If TIMETRA-VRTR-MIB::vRtrLspBfdSession is 'enabled(1)', the system
         limit on the number of session tail ends is
         TIMETRA-VRTR-MIB::vRtrLspBfdMaxSessions.

         If TIMETRA-VRTR-MIB::vRtrLspBfdSession is 'disabled(2)', the system
         limit on the number of session tail ends is zero.

         This notification is throttled using the following mechanism.

         In the initial state (e.g. at CPM startup), when the first failure is
         detected, tmnxBfdOnLspSessNoTailResources is raised, and a ten minute
         timer is started.

         When the timer expires,
         1.  tmnxBfdOnLspSessNoTailResources is raised if one or more failures
         occurred in the ten minute interval, and
         2.  A ten minute timer is started (and the process repeats).

         Any change to TIMETRA-VRTR-MIB::vRtrLspBfdSession and/or
         TIMETRA-VRTR-MIB::vRtrLspBfdMaxSessions restarts the process at the
         initial state.

         [EFFECT] One or more BFD on LSP sessions could not be established.

         [RECOVERY] Change TIMETRA-VRTR-MIB::vRtrLspBfdSession to 'enabled(1)',
         or increase TIMETRA-VRTR-MIB::vRtrLspBfdMaxSessions, or change the
         network configuration to reduce the number of active BFD on LSP
         session tail ends."
    ::= { tmnxBfdNotifications 6 }

END
