DC-BFD-STUB-MIB DEFINITIONS ::= BEGIN -- PRODUCT-SHORT-NAME BFD IMPORTS MODULE-IDENTITY, OBJECT-TYPE, enterprises, Unsigned32, Gauge32 -- Counter32, Counter64, NOTIFICATION-TYPE FROM SNMPv2-SMI -- [RFC2578] TEXTUAL-CONVENTION, TruthValue, RowStatus -- StorageType, TimeStamp FROM SNMPv2-TC -- [RFC2579] MODULE-COMPLIANCE, OBJECT-GROUP -- NOTIFICATION-GROUP FROM SNMPv2-CONF -- [RFC2580] InetAddress, InetAddressType -- InetPortNumber FROM INET-ADDRESS-MIB -- [RFC3291] InterfaceIndexOrZero FROM IF-MIB -- [RFC2863] AdminStatus, NpgOperStatus, NumericIndex, EntityProcType, InterfaceScope FROM DC-MASTER-TC ; bfdMIB MODULE-IDENTITY LAST-UPDATED "201502090000Z" -- February 9, 2015 ORGANIZATION "MRV Communications." CONTACT-INFO "For technical support, please contact your service channel" DESCRIPTION "MIB module for BFD stub, based on draft-ietf-bfd-mib-03.txt" -- Revision history REVISION "201502090000Z" -- February 9, 2015 DESCRIPTION "Initial edition." ::= { opx 11 } nbase OBJECT IDENTIFIER ::= { enterprises 629 } opx OBJECT IDENTIFIER ::= { nbase 10 } -- Top level components of this MIB module. bfdNotifications OBJECT IDENTIFIER ::= { bfdMIB 0 } bfdObjects OBJECT IDENTIFIER ::= { bfdMIB 1 } bfdConformance OBJECT IDENTIFIER ::= { bfdMIB 3 } -- Textual Conventions BfdSessIndexTC ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "An index used to uniquely identify BFD sessions." SYNTAX Unsigned32 (1..4294967295) BfdInterval ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "The BFD interval delay in microseconds." SYNTAX Unsigned32 (1..4294967295) BfdDiag ::= 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), misconnectivity(16), noContact(255) } -- BFD entity table -- This table is used to create and manage BFD stub entities. bfdEntityTable OBJECT-TYPE SYNTAX SEQUENCE OF BfdEntityEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table of BFD stub entities." ::= { bfdObjects 1 } bfdEntityEntry OBJECT-TYPE SYNTAX BfdEntityEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry represents an instance of the BFD stub." INDEX { bfdEntityIndex } ::= { bfdEntityTable 1 } BfdEntityEntry ::= SEQUENCE { bfdEntityIndex NumericIndex, bfdAdminStatus AdminStatus, bfdOperStatus NpgOperStatus, bfdRowStatus RowStatus, bfdVersionNumber Unsigned32, bfdDesiredMinTxInterval BfdInterval, bfdReqMinRxInterval BfdInterval, bfdInterfaceScope InterfaceScope } bfdEntityIndex OBJECT-TYPE SYNTAX NumericIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index of this BFD stub instance. This is the HAF entity index passed on the entity create parameters. This is the sole index of this table." ::= { bfdEntityEntry 1 } bfdAdminStatus OBJECT-TYPE SYNTAX AdminStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The global administrative status of BFD in this router. The value adminStatusUp denotes that the BFD Process is active; setting the value of this field to adminStatusDown disables it on all interfaces." DEFVAL { adminStatusUp } ::= { bfdEntityEntry 2 } bfdOperStatus OBJECT-TYPE SYNTAX NpgOperStatus MAX-ACCESS read-only STATUS current DESCRIPTION "The current operational state of the BFD entity." ::= { bfdEntityEntry 3 } bfdRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Used to create and delete a BFD entity table entry." ::= { bfdEntityEntry 4 } bfdVersionNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current version number of the BFD protocol." REFERENCE "BFD Version 1 (draft-ietf-bfd-base-06.txt)" DEFVAL { 1 } ::= { bfdEntityEntry 5 } bfdDesiredMinTxInterval OBJECT-TYPE SYNTAX BfdInterval UNITS "microseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the default minimum interval, in microseconds, that the local system would like to use when transmitting BFD Control packets. This value is used for BFD sessions that do not have a corresponding entry in the BFD Session Table." DEFVAL { 150000 } ::= { bfdEntityEntry 6 } bfdReqMinRxInterval OBJECT-TYPE SYNTAX BfdInterval UNITS "microseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the default minimum interval (in microseconds) between received BFD control packets that the local system will advertise itself as capable of receiving. This value is used for BFD sessions that do not have a corresponding entry in the BFD Session Table." DEFVAL { 150000 } ::= { bfdEntityEntry 7 } bfdInterfaceScope OBJECT-TYPE SYNTAX InterfaceScope MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the scope of interfaces supported by this BFD instance. This field has replaceOnlyWhileDisabled syntax." DEFVAL { ''h } ::= { bfdEntityEntry 8 } -- BFD Session Table -- The BFD Session Table specifies BFD session specific -- information. bfdSessionTable OBJECT-TYPE SYNTAX SEQUENCE OF BfdSessionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The BFD Session Table describes the BFD sessions." REFERENCE "BFD Version 1 (draft-ietf-bfd-base-06.txt)" ::= { bfdObjects 2 } bfdSessionEntry OBJECT-TYPE SYNTAX BfdSessionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The BFD Session Entry describes BFD session." INDEX { bfdEntityIndex, bfdSessIndex } ::= { bfdSessionTable 1 } BfdSessionEntry ::= SEQUENCE { -- DC removal of various fields that are not used in a sample stub bfdSessIndex BfdSessIndexTC, -- bfdSessVersionNumber Unsigned32, -- bfdSessType INTEGER, bfdSessDiscriminator Unsigned32, bfdSessRemoteDiscr Unsigned32, -- bfdSessUdpPort InetPortNumber, bfdSessState INTEGER, -- bfdSessRemoteHeardFlag TruthValue, bfdSessDiag BfdDiag, -- bfdSessOperMode INTEGER, -- bfdSessDemandModeDesiredFlag TruthValue, -- bfdSessEchoFuncModeDesiredFlag TruthValue, bfdSessControlPlanIndepFlag TruthValue, bfdSessIntface InterfaceIndexOrZero, bfdSessAddrType InetAddressType, bfdSessAddr InetAddress, -- DC additions { bfdSessApplicationSessions Gauge32, bfdSessLocalAddrType InetAddressType, bfdSessLocalAddr InetAddress -- } End DC additions -- bfdSessDesiredMinTxInterval BfdInterval, -- bfdSessReqMinRxInterval BfdInterval, -- bfdSessReqMinEchoRxInterval BfdInterval, -- bfdSessDetectMult Unsigned32, -- bfdSessStorType StorageType, -- bfdSessRowStatus RowStatus, -- bfdSessAuthPresFlag TruthValue, -- bfdSessAuthenticationType INTEGER -- End of DC removals } bfdSessIndex OBJECT-TYPE SYNTAX BfdSessIndexTC MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object contains an index used to represent a unique BFD session on this device." ::= { bfdSessionEntry 1 } -- bfdVersionNumber OBJECT-TYPE -- SYNTAX Unsigned32 -- MAX-ACCESS read-only -- STATUS current -- DESCRIPTION -- "The version number of the BFD protocol that this session -- is running in." -- REFERENCE -- "BFD Version 0 (draft-katz-ward-bfd-02.txt) and -- BFD Version 1 (draft-ietf-bfd-base-07.txt)" -- DEFVAL { 0 } -- ::= { bfdSessionEntry 2 } -- -- bfdSessType OBJECT-TYPE -- SYNTAX INTEGER { -- singleHop(1), -- multiHop(2) -- } -- MAX-ACCESS read-only -- STATUS current -- DESCRIPTION -- "The type of this BFD session." -- ::= { bfdSessionEntry 3 } bfdSessDiscriminator 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." ::= { bfdSessionEntry 4 } bfdSessRemoteDiscr OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the session discriminator chosen by the remote system for this BFD session." ::= { bfdSessionEntry 5 } -- bfdSessUdpPort 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-ietf-bfd-base-06.txt -- draft-ietf-bfd-mpls-05.txt" -- DEFVAL { 0 } -- ::= { bfdSessionEntry 6 } -- DC modification: read-write for testing in sample stub bfdSessState OBJECT-TYPE SYNTAX INTEGER { adminDown(1), down(2), init(3), up(4) } -- MAX-ACCESS read-only MAX-ACCESS read-write STATUS current DESCRIPTION "The perceived state of the BFD session." ::= { bfdSessionEntry 7 } -- bfdSessRemoteHeardFlag 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." -- ::= { bfdSessionEntry 8 } -- DC modification: read-write for testing in sample stub bfdSessDiag OBJECT-TYPE SYNTAX BfdDiag -- MAX-ACCESS accessible-for-notify MAX-ACCESS read-write 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." ::= { bfdSessionEntry 9 } -- bfdSessOperMode 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) ..." -- -- ::= { bfdSessionEntry 10 } -- -- bfdSessDemandModeDesiredFlag 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 } -- ::= { bfdSessionEntry 11 } -- -- bfdSessEchoFuncModeDesiredFlag 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 } -- ::= { bfdSessionEntry 12 } -- DC modification: read-write for testing in sample stub bfdSessControlPlanIndepFlag OBJECT-TYPE SYNTAX TruthValue -- MAX-ACCESS read-only MAX-ACCESS read-write 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 } ::= { bfdSessionEntry 13 } bfdSessIntface OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an interface index used to indicate the interface which this BFD session is running on. This value can be zero if there is no interface associated with this BFD session." ::= { bfdSessionEntry 14 } bfdSessAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the type of the IP address of the peer 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." ::= { bfdSessionEntry 15 } bfdSessAddr OBJECT-TYPE SYNTAX InetAddress (SIZE(0|4|16)) MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the IP address of the peer associated with this BFD session." ::= { bfdSessionEntry 16 } -- bfdSessDesiredMinTxInterval OBJECT-TYPE -- SYNTAX BfdInterval -- 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." -- ::= { bfdSessionEntry 17 } -- -- bfdSessReqMinRxInterval OBJECT-TYPE -- SYNTAX BfdInterval -- 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." -- ::= { bfdSessionEntry 18 } -- -- bfdSessReqMinEchoRxInterval OBJECT-TYPE -- SYNTAX BfdInterval -- 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." -- ::= { bfdSessionEntry 19 } -- -- bfdSessDetectMult OBJECT-TYPE -- SYNTAX Unsigned32 -- MAX-ACCESS read-create -- STATUS current -- DESCRIPTION -- "This object specifies the Detect time multiplier." -- ::= { bfdSessionEntry 20 } -- -- bfdSessStorType 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." -- ::= { bfdSessionEntry 21 } -- -- bfdSessRowStatus 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." -- ::= { bfdSessionEntry 22 } -- -- bfdSessAuthPresFlag 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 } -- ::= { bfdSessionEntry 23 } -- -- bfdSessAuthPresFlag 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 } -- ::= { bfdSessionEntry 24 } -- -- bfdSessAuthenticationType 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" -- ::= { bfdSessionEntry 25 } -- DC additions { bfdSessApplicationSessions OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the number of application sessions for this BFD session. An application session is a request made by a local application for this BFD session. If multiple requests from one or more local applications correspond to the same BFD protocol session, only one BFD protocol session is created. Therefore each BFD session can have multiple corresponding application sessions." ::= { bfdSessionEntry 27 } bfdSessLocalAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the type of the local IP address 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, the BFD session is not associated with a specific interface, or when the local IP address is not known." ::= { bfdSessionEntry 28 } bfdSessLocalAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies the local IP address associated with this BFD session." ::= { bfdSessionEntry 29 } -- } End DC additions -- BFD Session Performance Table -- bfdSessPerfTable OBJECT-TYPE -- SYNTAX SEQUENCE OF BfdSessPerfEntry -- MAX-ACCESS not-accessible -- STATUS current -- DESCRIPTION -- "This table specifies BFD Session performance counters." -- ::= { bfdObjects 3 } -- -- bfdSessPerfEntry OBJECT-TYPE -- SYNTAX BfdSessPerfEntry -- 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 { bfdSessionEntry } -- ::= { bfdSessPerfTable 1 } -- -- BfdSessPerfEntry ::= SEQUENCE { -- bfdSessPerfPktIn Counter32, -- bfdSessPerfPktOut Counter32, -- bfdSessUpTime TimeStamp, -- bfdSessPerfLastSessDownTime TimeStamp, -- bfdSessPerfLastCommLostDiag BfdDiag, -- bfdSessPerfSessUpCount Counter32, -- bfdSessPerfDiscTime TimeStamp, -- -- High Capacity Counters -- bfdSessPerfPktInHC Counter64, -- bfdSessPerfPktOutHC Counter64 -- } -- -- Ed Note: should we add per-diag code counts here, -- -- bfdSessPerfPktIn OBJECT-TYPE -- SYNTAX Counter32 -- MAX-ACCESS read-only -- STATUS current -- DESCRIPTION -- "The total number of BFD messages received for this BFD -- session." -- ::= { bfdSessPerfEntry 1 } -- -- bfdSessPerfPktOut OBJECT-TYPE -- SYNTAX Counter32 -- MAX-ACCESS read-only -- STATUS current -- DESCRIPTION -- "The total number of BFD messages sent for this BFD session." -- ::= { bfdSessPerfEntry 2 } -- -- bfdSessUpTime 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." -- ::= { bfdSessPerfEntry 3 } -- -- bfdSessPerfLastSessDownTime 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." -- ::= { bfdSessPerfEntry 4 } -- -- bfdSessPerfLastCommLostDiag OBJECT-TYPE -- SYNTAX BfdDiag -- MAX-ACCESS read-only -- STATUS current -- DESCRIPTION -- "The BFD diagnostic code for the last time communication was -- lost with the neighbor. If no such down event exists this -- object contains a zero value." -- ::= { bfdSessPerfEntry 5 } -- -- bfdSessPerfSessUpCount 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." -- ::= { bfdSessPerfEntry 6 } -- -- bfdSessPerfDiscTime 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." -- ::= { bfdSessPerfEntry 7 } -- -- -- bfdSessPerfPktInHC 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." -- ::= { bfdSessPerfEntry 8 } -- -- bfdSessPerfPktOutHC 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 bfdSessPerfPktOut -- if bfdSessPerfPktOutHC is supported according to -- the rules spelled out in RFC2863." -- ::= { bfdSessPerfEntry 9 } -- BFD Session Mapping Table -- bfdSessMapTable OBJECT-TYPE -- SYNTAX SEQUENCE OF BfdSessMapEntry -- 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 125 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 1 (draft-ietf-bfd-base-06.txt)" -- ::= { bfdObjects 4 } -- -- bfdSessMapEntry OBJECT-TYPE -- SYNTAX BfdSessMapEntry -- 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 bfdSessAddr (an OID) has more -- that 125 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 { bfdSessAddrType, -- bfdSessAddr, -- bfdSessDiscriminator, -- bfdSessApplicationId -- } -- ::= { bfdSessMapTable 1 } -- -- BfdSessMapEntry ::= SEQUENCE { -- bfdSessMapBfdIndex BfdSessIndexTC -- } -- -- bfdSessMapBfdIndex OBJECT-TYPE -- SYNTAX BfdSessIndexTC -- 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 BfdSessionTable." -- ::= { bfdSessMapEntry 1 } -- DCL added session mapping table, with indexing in reverse order -- than that suggested by the draft (and with an additional -- interface index field). dcBfdSessMapTable OBJECT-TYPE SYNTAX SEQUENCE OF DcBfdSessMapEntry 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." REFERENCE "BFD Version 1 (draft-ietf-bfd-base-06.txt)" ::= { bfdObjects 5 } dcBfdSessMapEntry OBJECT-TYPE SYNTAX DcBfdSessMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "BFD Session Entry containing information about the mapping to the BFDIndex of the session from the peer interface index (if known), peer address, remote discriminator, entity type and entity index of the control plane component using the session." INDEX { bfdEntityIndex, bfdSessIntface, bfdSessAddrType, bfdSessAddr, bfdSessRemoteDiscr, dcBfdSessMapEntityType, dcBfdSessMapEntityIndex, bfdSessLocalAddrType, bfdSessLocalAddr } ::= { dcBfdSessMapTable 1 } DcBfdSessMapEntry ::= SEQUENCE { dcBfdSessMapEntityType EntityProcType, dcBfdSessMapEntityIndex Unsigned32, dcBfdSessMapBfdIndex BfdSessIndexTC } dcBfdSessMapEntityType OBJECT-TYPE SYNTAX EntityProcType MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object identifies the type of local application that is using a BFD session. As described in section 3.4 of draft-ietf-bfd-generic-03, multiple control protocols are expected to share the same BFD session." ::= { dcBfdSessMapEntry 1 } dcBfdSessMapEntityIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object identifies the instance of local application that is using a BFD session. This is a unique identifier among the applications of type identified by dcBfdSessMapEntityType. In many cases, this is an EntityIndex in the entity MIB corresponding to dcBfdSessMapEntityType." ::= { dcBfdSessMapEntry 2 } dcBfdSessMapBfdIndex OBJECT-TYPE SYNTAX BfdSessIndexTC 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 BfdSessionTable." ::= { dcBfdSessMapEntry 3 } -- DCL added session parameter configuration table dcBfdSessConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF DcBfdSessConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The BFD Session parameter configuration table allows static configuration of BFD session parameters." ::= { bfdObjects 6 } dcBfdSessConfigEntry OBJECT-TYPE SYNTAX DcBfdSessConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "BFD Session parameter configuration which applies to BFD sessions matching the identification information." INDEX { bfdEntityIndex, dcBfdSessConfigProtocol, dcBfdSessConfigIfIndex, dcBfdSessConfigAddrType, dcBfdSessConfigAddr, dcBfdSessConfigLocalAddrType, dcBfdSessConfigLocalAddr } ::= { dcBfdSessConfigTable 1 } DcBfdSessConfigEntry ::= SEQUENCE { dcBfdSessConfigProtocol BITS, dcBfdSessConfigIfIndex InterfaceIndexOrZero, dcBfdSessConfigAddrType InetAddressType, dcBfdSessConfigAddr InetAddress, dcBfdSessConfigLocalAddrType InetAddressType, dcBfdSessConfigLocalAddr InetAddress, dcBfdSessConfigRowStatus RowStatus, dcBfdSessConfigDemandModeDsrd TruthValue, dcBfdSessConfigEchoFuncModeDsrd TruthValue, dcBfdSessConfigDesiredMinTxIntvl BfdInterval, dcBfdSessConfigReqMinRxInterval BfdInterval, dcBfdSessConfigReqMinEchoRxIntvl BfdInterval, dcBfdSessConfigDetectMult Unsigned32 } dcBfdSessConfigProtocol OBJECT-TYPE SYNTAX BITS { ospf(0), isis(1), bgp(2), rip(3), pim(4), rsvp(5), ldp(6), lmp(7), static(8) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "The collection of control plane protocol types that this session parameter configuration applies to." ::= { dcBfdSessConfigEntry 2 } dcBfdSessConfigIfIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object specifies the interface index of the interface that this configuration applies to. If the configuration should apply to all interfaces, this object has the value zero." ::= { dcBfdSessConfigEntry 3 } dcBfdSessConfigAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object specifies the type of the address of the peer associated with this BFD session parameter configuration. A value of unknown(0) is used if the configuration applies to all peers on a particular interface." ::= { dcBfdSessConfigEntry 4 } dcBfdSessConfigAddr OBJECT-TYPE SYNTAX InetAddress (SIZE(0|4|16)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object specifies the address of the peer associated with this this BFD session parameter configuration." ::= { dcBfdSessConfigEntry 5 } dcBfdSessConfigLocalAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object specifies the type of the local IP address 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, the BFD session is not associated with a specific interface, or when the local IP address is not known." ::= { dcBfdSessConfigEntry 13 } dcBfdSessConfigLocalAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object specifies the local IP address associated with this BFD session." ::= { dcBfdSessConfigEntry 14 } dcBfdSessConfigRowStatus 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." ::= { dcBfdSessConfigEntry 6 } dcBfdSessConfigDemandModeDsrd 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 } ::= { dcBfdSessConfigEntry 7 } dcBfdSessConfigEchoFuncModeDsrd 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 } ::= { dcBfdSessConfigEntry 8 } dcBfdSessConfigDesiredMinTxIntvl OBJECT-TYPE SYNTAX BfdInterval 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." DEFVAL { 150000 } ::= { dcBfdSessConfigEntry 9 } dcBfdSessConfigReqMinRxInterval OBJECT-TYPE SYNTAX BfdInterval 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." DEFVAL { 150000 } ::= { dcBfdSessConfigEntry 10 } dcBfdSessConfigReqMinEchoRxIntvl OBJECT-TYPE SYNTAX BfdInterval 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." DEFVAL { 150000 } ::= { dcBfdSessConfigEntry 11 } dcBfdSessConfigDetectMult OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the Detect time multiplier." DEFVAL { 3 } ::= { dcBfdSessConfigEntry 12 } -- Notifications -- bfdSessUp NOTIFICATION-TYPE -- OBJECTS { bfdSessDiag, // low range value -- bfdSessDiag // high range value -- } -- STATUS current -- DESCRIPTION -- "This notification is generated when the -- bfdSessState object for one or more contiguous -- entries in bfdSessionTable 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 bfdSessionEntry, then -- the instance identifier (and values) of the two -- bfdSessDiag objects MUST be the identical." -- ::= { bfdNotifications 1 } -- -- bfdSessDown NOTIFICATION-TYPE -- OBJECTS { bfdSessDiag, // low range value -- bfdSessDiag // high range value -- } -- STATUS current -- DESCRIPTION -- "This notification is generated when the -- bfdSessState object for one or more contiguous -- entries in bfdSessionTable 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 bfdSessionEntry, then -- the instance identifier (and values) of the two -- bfdSessDiag objects MUST be the identical." -- ::= { bfdNotifications 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. bfdGroups OBJECT IDENTIFIER ::= { bfdConformance 1 } bfdCompliances OBJECT IDENTIFIER ::= { bfdConformance 2 } -- Compliance requirement for fully compliant implementations. bfdModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that provide full support for BFD-MIB. Such devices can then be monitored and also be configured using this MIB module." MODULE -- This module. MANDATORY-GROUPS { bfdSessionGroup -- bfdSessionPerfGroup, -- bfdSessionPerfHCGroup, -- bfdNotificationGroup } -- GROUP bfdSessionPerfHCGroup -- DESCRIPTION -- "This group is mandatory for those bfdPerfTable -- entries for which any of the objects -- bfdSessPerfPktInHC or bfdSessPerfPktOutHC -- wraps around too quickly -- based on the criteria specified in RFC 2863 for -- high-capacity counters." -- GROUP bfdNotificationGroup -- DESCRIPTION -- "This group is only mandatory for those -- implementations which can efficiently implement -- the notifications contained in this group." OBJECT bfdSessAddrType SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } DESCRIPTION "Only unknown(0), ipv4(1) and ipv6(2) support is required." OBJECT bfdSessAddr SYNTAX InetAddress (SIZE(0|4|16)) DESCRIPTION "An implementation is only required to support unknown(0), ipv4(1) and ipv6(2) sizes." ::= { bfdCompliances 1 } -- Read-Only Conformance TBD... -- Units of conformance. bfdSessionGroup OBJECT-GROUP OBJECTS { -- bfdSessNotificationsEnable, bfdAdminStatus, bfdOperStatus, bfdRowStatus, bfdDesiredMinTxInterval, bfdReqMinRxInterval, bfdInterfaceScope, bfdVersionNumber, -- bfdSessApplicationId, bfdSessDiscriminator, bfdSessIntface, bfdSessAddrType, bfdSessAddr, bfdSessApplicationSessions, bfdSessRemoteDiscr, bfdSessLocalAddrType, bfdSessLocalAddr, -- bfdSessUdpPort, bfdSessState, -- bfdSessRemoteHeardFlag, bfdSessDiag, -- bfdSessOperMode, -- bfdSessDemandModeDesiredFlag, -- bfdSessEchoFuncModeDesiredFlag, bfdSessControlPlanIndepFlag, -- bfdSessDesiredMinTxInterval, -- bfdSessReqMinRxInterval, -- bfdSessReqMinEchoRxInterval, -- bfdSessDetectMult, -- bfdSessStorType, -- bfdSessRowStatus, dcBfdSessMapBfdIndex, dcBfdSessConfigRowStatus, -- bfdSessAuthPresFlag, -- bfdSessAuthenticationType, dcBfdSessConfigDemandModeDsrd, dcBfdSessConfigEchoFuncModeDsrd, dcBfdSessConfigDesiredMinTxIntvl, dcBfdSessConfigReqMinRxInterval, dcBfdSessConfigReqMinEchoRxIntvl, dcBfdSessConfigDetectMult } STATUS current DESCRIPTION "Collection of objects needed for BFD sessions." ::= { bfdGroups 1 } -- bfdSessionPerfGroup OBJECT-GROUP -- OBJECTS { -- bfdSessPerfPktIn, -- bfdSessPerfPktOut, -- bfdSessUpTime, -- bfdSessPerfLastSessDownTime, -- bfdSessPerfLastCommLostDiag, -- bfdSessPerfSessUpCount, -- bfdSessPerfDiscTime -- } -- STATUS current -- DESCRIPTION -- "Collection of objects needed to monitor the -- performance of BFD sessions." -- ::= { bfdGroups 2 } -- -- bfdSessionPerfHCGroup OBJECT-GROUP -- OBJECTS { -- bfdSessPerfPktInHC, -- bfdSessPerfPktOutHC -- } -- STATUS current -- DESCRIPTION -- "Collection of objects needed to monitor the -- performance of BFD sessions for which the -- values of bfdSessPerfPktIn, bfdSessPerfPktOut -- wrap around too quickly." -- ::= { bfdGroups 3 } -- bfdNotificationGroup NOTIFICATION-GROUP -- NOTIFICATIONS { -- bfdSessUp, -- bfdSessDown -- } -- STATUS current -- DESCRIPTION -- "Set of notifications implemented in this module." -- ::= { bfdGroups 4 } END