RC-BFD-TMP-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter32, Counter64, NOTIFICATION-TYPE FROM SNMPv2-SMI -- [RFC2578] TEXTUAL-CONVENTION, TruthValue, RowStatus, StorageType, TimeStamp FROM SNMPv2-TC -- [RFC2579] InetAddress, InetAddressType, InetPortNumber FROM INET-ADDRESS-MIB -- [RFC3291] rcBfd FROM RAPID-CITY; rcBfdTmpMib MODULE-IDENTITY LAST-UPDATED "200802260000Z" ORGANIZATION "Nortel" CONTACT-INFO "Alka Malik Postal: Nortel Networks, Inc. 600 Technology Park Drive Billerica, MA 02478 Tel: 978-288-7051 Fax: 978-288-0620 E-mail: alka@nortel.com" DESCRIPTION "This MIB module is a duplicate of Bidirectional Forwarding Detection Management Information Base draft-ietf-bfd-mib-03.txt. The object names and OIDs may be different from the draft." REVISION "200802260000Z" -- 26 Feb. 2008 DESCRIPTION "Version 1: Initial version." ::= { rcBfd 1 } -- -- Top level components of this MIB module. -- rcBfdTmpNotifications OBJECT IDENTIFIER ::= { rcBfdTmpMib 0 } rcBfdTmpObjects OBJECT IDENTIFIER ::= { rcBfdTmpMib 1 } -- -- Scalar objects -- rcBfdTmpScalarObjects OBJECT IDENTIFIER ::= { rcBfdTmpObjects 1 } -- Textual Conventions RcBfdTmpSessIndexTC ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "An index used to uniquely identify BFD sessions." SYNTAX Unsigned32 (1..4294967295) RcBfdTmpInterval ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The BFD interval delay in microseconds." SYNTAX Unsigned32 (1..4294967295) RcBfdTmpDiag ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A common BFD diagnostic code." SYNTAX INTEGER { noDiagnostic(1), controlDetectionTimeExpired(2), echoFunctionFailed(3), neighborSignaledSessionDown(4), forwardingPlaneReset(5), pathDown(6), concatenatedPathDown(7), administrativelyDown(8), reverseConcatenatedPathDown (9) } -- BFD General Variables -- These parameters apply globally to the Router's -- BFD Process. rcBfdTmpAdminStatus OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "The global administrative status of BFD in this router. The value 'enabled' denotes that the BFD Process is active on at least one interface; 'disabled' disables it on all interfaces." DEFVAL { enabled } ::= { rcBfdTmpScalarObjects 1 } rcBfdTmpVersionNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current version number of the BFD protocol." REFERENCE " BFD Version 0 (draft-katz-ward-bfd-02.txt)" DEFVAL { 0 } ::= { rcBfdTmpScalarObjects 3 } -- BFD Session Table -- The BFD Session Table specifies BFD session specific -- information. rcBfdTmpSessTable OBJECT-TYPE SYNTAX SEQUENCE OF RcBfdTmpSessEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The BFD Session Table describes the BFD sessions." REFERENCE "BFD Version 0 (draft-katz-ward-bfd-02.txt)" ::= { rcBfdTmpObjects 2 } rcBfdTmpSessEntry OBJECT-TYPE SYNTAX RcBfdTmpSessEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The BFD Session Entry describes BFD session." INDEX { rcBfdTmpSessIndex } ::= { rcBfdTmpSessTable 1 } RcBfdTmpSessEntry ::= SEQUENCE { rcBfdTmpSessIndex RcBfdTmpSessIndexTC, rcBfdTmpSessApplicationId Unsigned32, rcBfdTmpSessDiscriminator Unsigned32, rcBfdTmpSessRemoteDiscr Unsigned32, rcBfdTmpSessUdpPort InetPortNumber, rcBfdTmpSessState INTEGER, rcBfdTmpSessRemoteHeardFlag TruthValue, rcBfdTmpSessDiag Unsigned32, rcBfdTmpSessOperMode INTEGER, rcBfdTmpSessDemandModeDesiredFlag TruthValue, rcBfdTmpSessEchoFuncModeDesiredFlag TruthValue, rcBfdTmpSessControlPlanIndepFlag TruthValue, rcBfdTmpSessAddrType InetAddressType, rcBfdTmpSessAddr InetAddress, rcBfdTmpSessDesiredMinTxInterval RcBfdTmpInterval, rcBfdTmpSessReqMinRxInterval RcBfdTmpInterval, rcBfdTmpSessReqMinEchoRxInterval RcBfdTmpInterval, rcBfdTmpSessDetectMult Unsigned32, rcBfdTmpSessStorType StorageType, rcBfdTmpSessRowStatus RowStatus, rcBfdTmpSessAuthPresFlag TruthValue, rcBfdTmpSessAuthenticationType INTEGER } rcBfdTmpSessIndex OBJECT-TYPE SYNTAX RcBfdTmpSessIndexTC MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object contains an index used to represent a unique BFD session on this device." ::= { rcBfdTmpSessEntry 1 } rcBfdTmpSessApplicationId OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an index used to indicate a local application which owns or maintains this BFD session. For instance, the MPLS VPN process may maintain a subset of the total number of BFD sessions. This application ID provides a convenient way to segregate sessions by the applications which maintain them." ::= { rcBfdTmpSessEntry 2 } rcBfdTmpSessDiscriminator OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the local discriminator for this BFD session, used to uniquely identify it." ::= { rcBfdTmpSessEntry 3 } rcBfdTmpSessRemoteDiscr OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the session discriminator chosen by the remote system for this BFD session." ::= { rcBfdTmpSessEntry 4 } rcBfdTmpSessUdpPort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION "The UDP Port for BFD. The default value is the well-known value for this port." REFERENCE "draft-katz-ward-bfd-02.txt and draft-raggarwa-mpls-bfd-00.txt" DEFVAL { 0 } ::= { rcBfdTmpSessEntry 5 } rcBfdTmpSessState OBJECT-TYPE SYNTAX INTEGER { adminDown(1), down(2), init(3), up(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "The perceived state of the BFD session." ::= { rcBfdTmpSessEntry 6 } rcBfdTmpSessRemoteHeardFlag OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies status of BFD packet reception from the remote system. Specifically, it is set to true(1) if the local system is actively receiving BFD packets from the remote system, and is set to false(0) if the local system has not received BFD packets recently (within the detection time) or if the local system is attempting to tear down the BFD session." ::= { rcBfdTmpSessEntry 7 } rcBfdTmpSessDiag OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "A diagnostic code specifying the local system's reason for the last transition of the session from up(1) to some other state." ::= { rcBfdTmpSessEntry 8 } rcBfdTmpSessOperMode OBJECT-TYPE SYNTAX INTEGER { asyncModeWEchoFun(1), asynchModeWOEchoFun(2), demandModeWEchoFunction(3), demandModeWOEchoFunction(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies current operating mode that BFD session is operating in. A value of AsyncModeWEchoFun(1) ... A value of AsynchModeWOEchoFun(2) ... A value of DemandModeWEchoFunction(3) ... A value of DemandModeWOEchoFunction(4) ... " ::= { rcBfdTmpSessEntry 9 } rcBfdTmpSessDemandModeDesiredFlag OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates that the local system's desire to use Demand mode. Specifically, it is set to true(1) if the local system wishes to use Demand mode or false(0) if not" DEFVAL { false } ::= { rcBfdTmpSessEntry 10 } rcBfdTmpSessEchoFuncModeDesiredFlag OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates that the local system's desire to use Echo mode. Specifically, it is set to true(1) if the local system wishes to use Echo mode or false(0) if not" DEFVAL { false } ::= { rcBfdTmpSessEntry 11 } rcBfdTmpSessControlPlanIndepFlag OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates that the local system's ability to continue to function through a disruption of the control plane. Specifically, it is set to true(1) if the local system BFD implementation is independent of the control plane. Otherwise, the value is set to false(0)" DEFVAL { false } ::= { rcBfdTmpSessEntry 12 } rcBfdTmpSessAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies IP address of the interface associated with this BFD session. Only values unknown(0), ipv4(1) or ipv6(2) have to be supported. A value of unknown(0) is allowed only when the outgoing interface is of type point-to-point, or when the BFD session is not associated with a specific interface. If any other unsupported values are attempted in a set operation, the agent MUST return an inconsistentValue error." ::= { rcBfdTmpSessEntry 13 } rcBfdTmpSessAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies IP address of the interface associated with this BFD session. It can also be used to enabled BFD on a specific interface. The value is set to zero when BFD session is not associated with a specific interface." ::= { rcBfdTmpSessEntry 14 } rcBfdTmpSessDesiredMinTxInterval OBJECT-TYPE SYNTAX RcBfdTmpInterval MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the minimum interval, in microseconds, that the local system would like to use when transmitting BFD Control packets." ::= { rcBfdTmpSessEntry 15 } rcBfdTmpSessReqMinRxInterval OBJECT-TYPE SYNTAX RcBfdTmpInterval MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the minimum interval, in microseconds, between received BFD Control packets the local system is capable of supporting." ::= { rcBfdTmpSessEntry 16 } rcBfdTmpSessReqMinEchoRxInterval OBJECT-TYPE SYNTAX RcBfdTmpInterval MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the minimum interval, in microseconds, between received BFD Echo packets that this system is capable of supporting." ::= { rcBfdTmpSessEntry 17 } rcBfdTmpSessDetectMult OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the Detect time multiplier." ::= { rcBfdTmpSessEntry 18 } rcBfdTmpSessStorType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this object. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row." ::= { rcBfdTmpSessEntry 19 } rcBfdTmpSessRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This variable is used to create, modify, and/or delete a row in this table. When a row in this table has a row in the active(1) state, no objects in this row can be modified except the bfdSessRowStatus and bfdSessStorageType." ::= { rcBfdTmpSessEntry 20 } rcBfdTmpSessAuthPresFlag OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates that the local system's desire to use Authentication. Specifically, it is set to true(1) if the local system wishes the session to be authenticated or false(0) if not" DEFVAL { false } ::= { rcBfdTmpSessEntry 21 } rcBfdTmpSessAuthenticationType OBJECT-TYPE SYNTAX INTEGER { simplePassword(1), keyedMD5(2), meticulousKeyedMD5(3), keyedSHA1(4), meticulousKeyedSHA1(5) } MAX-ACCESS read-create STATUS current DESCRIPTION "The Authentication Type used for this BFD session. This field is valid only when the Authentication Present bit is set" ::= { rcBfdTmpSessEntry 22 } -- BFD Session Performance Table rcBfdTmpSessPerfTable OBJECT-TYPE SYNTAX SEQUENCE OF RcBfdTmpSessPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table specifies BFD Session performance counters." ::= { rcBfdTmpObjects 3 } rcBfdTmpSessPerfEntry OBJECT-TYPE SYNTAX RcBfdTmpSessPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table is created by a BFD-enabled node for every BFD Session. bfdCounterDiscontinuityTime is used to indicate potential discontinuity for all counter objects in this table." AUGMENTS { rcBfdTmpSessEntry } ::= { rcBfdTmpSessPerfTable 1 } RcBfdTmpSessPerfEntry ::= SEQUENCE { rcBfdTmpSessPerfPktIn Counter32, rcBfdTmpSessPerfPktOut Counter32, rcBfdTmpSessUpTime TimeStamp, rcBfdTmpSessPerfLastSessDownTime TimeStamp, rcBfdTmpSessPerfLastCommLostDiag RcBfdTmpDiag, rcBfdTmpSessPerfSessUpCount Counter32, rcBfdTmpSessPerfDiscTime TimeStamp, -- High Capacity Counters rcBfdTmpSessPerfPktInHC Counter64, rcBfdTmpSessPerfPktOutHC Counter64 } -- Ed Note: should we add per-diag code counts here rcBfdTmpSessPerfPktIn OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of BFD messages received for this BFD session." ::= { rcBfdTmpSessPerfEntry 1 } rcBfdTmpSessPerfPktOut OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of BFD messages sent for this BFD session." ::= { rcBfdTmpSessPerfEntry 2 } rcBfdTmpSessUpTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime on the most recent occasion at which the session came up. If no such up event exists this object contains a zero value." ::= { rcBfdTmpSessPerfEntry 3 } rcBfdTmpSessPerfLastSessDownTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime on the most recent occasion at which the last time communication was lost with the neighbor. If no such down event exist this object contains a zero value." ::= { rcBfdTmpSessPerfEntry 4 } rcBfdTmpSessPerfLastCommLostDiag OBJECT-TYPE SYNTAX RcBfdTmpDiag MAX-ACCESS read-only STATUS current DESCRIPTION "The BFD diag code for the last time communication was lost with the neighbor. If no such down event exists this object contains a zero value." ::= { rcBfdTmpSessPerfEntry 5 } rcBfdTmpSessPerfSessUpCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times this session has gone into the Up state since the router last rebooted." ::= { rcBfdTmpSessPerfEntry 6 } rcBfdTmpSessPerfDiscTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime on the most recent occasion at which any one or more of the session counters suffered a discontinuity. The relevant counters are the specific instances associated with this BFD session of any Counter32 object contained in the BfdSessPerfTable. If no such discontinuities have occurred since the last re-initialization of the local management subsystem, then this object contains a zero value." ::= { rcBfdTmpSessPerfEntry 7 } rcBfdTmpSessPerfPktInHC OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This value represents the total number of BFD messages received for this BFD session. It MUST be equal to the least significant 32 bits of bfdSessPerfPktIn if bfdSessPerfPktInHC is supported according to the rules spelled out in RFC2863." ::= { rcBfdTmpSessPerfEntry 8 } rcBfdTmpSessPerfPktOutHC OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This value represents the total number of total number of BFD messages transmitted for this BFD session. It MUST be equal to the least significant 32 bits of bfdSessPerfPktIn if bfdSessPerfPktOutHC is supported according to the rules spelled out in RFC2863." ::= { rcBfdTmpSessPerfEntry 9 } -- BFD Session Mapping Table rcBfdTmpSessMapTable OBJECT-TYPE SYNTAX SEQUENCE OF RcBfdTmpSessMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The BFD Session Mapping Table maps the complex indexing of the BFD sessions to the flat BFDIndex used in the BfdSessionTable. Implementors need to be aware that if the value of the bfdSessAddr (an OID) has more that 111 sub-identifiers, then OIDs of column instances in this table will have more than 128 sub-identifiers and cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3." REFERENCE "BFD Version 0 (draft-katz-ward-bfd-02.txt)" ::= { rcBfdTmpObjects 4 } rcBfdTmpSessMapEntry OBJECT-TYPE SYNTAX RcBfdTmpSessMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The BFD Session Entry describes BFD session that is mapped to this index. Implementors need to be aware that if the value of the mplsInSegmentMapLabelPtrIndex (an OID) has more that 111 sub-identifiers, then OIDs of column instances in this table will have more than 128 sub-identifiers and cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3." INDEX { rcBfdTmpSessApplicationId, rcBfdTmpSessDiscriminator, rcBfdTmpSessAddrType, rcBfdTmpSessAddr } ::= { rcBfdTmpSessMapTable 1 } RcBfdTmpSessMapEntry ::= SEQUENCE { rcBfdTmpSessMapBfdIndex RcBfdTmpSessIndexTC } rcBfdTmpSessMapBfdIndex OBJECT-TYPE SYNTAX RcBfdTmpSessIndexTC MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the BfdIndex referred to by the indexes of this row. In essence, a mapping is provided between these indexes and the BfdSessTable." ::= { rcBfdTmpSessMapEntry 1 } -- Notification Configuration rcBfdTmpSessNotificationsEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If this object is set to true(1), then it enables the emission of bfdSessUp and bfdSessDown notifications; otherwise these notifications are not emitted." REFERENCE "See also RFC3413 for explanation that notifications are under the ultimate control of the MIB modules in this document." DEFVAL { false } ::= { rcBfdTmpScalarObjects 4 } rcBfdTmpSessUp NOTIFICATION-TYPE OBJECTS { rcBfdTmpSessDiag, -- low range value rcBfdTmpSessDiag -- high range value } STATUS current DESCRIPTION "This notification is generated when the bfdSessState object for one or more contiguous entries in bfdSessTable are about to enter the up(2) state from some other state. The included values of bfdSessDiag MUST both be set equal to this new state (i.e: up(1)). The two instances of bfdSessDiag in this notification indicate the range of indexes that are affected. Note that all the indexes of the two ends of the range can be derived from the instance identifiers of these two objects. For the cases where a contiguous range of sessions have transitioned into the up(1) state at roughly the same time, the device SHOULD issue a single notification for each range of contiguous indexes in an effort to minimize the emission of a large number of notifications. If a notification has to be issued for just a single bfdSessEntry, then the instance identifier (and values) of the two bfdSessDiag objects MUST be the identical." ::= { rcBfdTmpNotifications 1 } rcBfdTmpSessDown NOTIFICATION-TYPE OBJECTS { rcBfdTmpSessDiag, -- low range value rcBfdTmpSessDiag -- high range value } STATUS current DESCRIPTION "This notification is generated when the bfdSessState object for one or more contiguous entries in bfdSessTable are about to enter the down(4) or adminDown(5) states from some other state. The included values of bfdSessDiag MUST both be set equal to this new state (i.e: down(4) or adminDown(5)). The two instances of bfdSessDiag in this notification indicate the range of indexes that are affected. Note that all the indexes of the two ends of the range can be derived from the instance identifiers of these two objects. For cases where a contiguous range of sessions have transitioned into the down(4) or adminDown(5) states at roughly the same time, the device SHOULD issue a single notification for each range of contiguous indexes in an effort to minimize the emission of a large number of notifications. If a notification has to be issued for just a single bfdSessEntry, then the instance identifier (and values) of the two bfdSessDiag objects MUST be the identical." ::= { rcBfdTmpNotifications 2 } -- Ed Note: We need to add notification for changes -- when the two ends automatically negotiate to a new detection time -- value or when detection multiplier changes. -- Similarly, changes in the operating mode (bfdSessOperMode) -- also need to be notified. -- Module compliance. END