-- ============================================================================ -- Copyright (C) 2002 by H3C TECHNOLOGIES. All rights reserved -- -- Description: The MIB is extracted from draft-ietf-bfd-base-04.txt. -- This file defines a portion of the Management Information Base (MIB) for use -- with network management protocols in the Internet community. It describes -- managed objects to configure or monitor Bi-Directional Forwarding Detection -- on devices supporting this feature. -- Reference: -- Version: V1.0 -- History: -- V1.0 2006-05-15 created by huanglina and xuqigang -- ============================================================================ HH3C-BFD-STD-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter32, Counter64, NOTIFICATION-TYPE, mib-2 FROM SNMPv2-SMI -- [RFC2578] MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF -- [RFC2580] TEXTUAL-CONVENTION, TruthValue, RowStatus, StorageType, TimeStamp FROM SNMPv2-TC InterfaceIndex FROM IF-MIB InetAddress, InetAddressType, InetPortNumber FROM INET-ADDRESS-MIB -- [RFC3291] hh3cCommon FROM HH3C-OID-MIB; hh3cBfdMIB MODULE-IDENTITY LAST-UPDATED "200605081200Z" -- 08 May 2006 12:00:00 Beijing time ORGANIZATION "Hangzhou H3C Tech. Co., Ltd." CONTACT-INFO "Platform Team Hangzhou H3C Tech. Co., Ltd. Hai-Dian District Beijing P.R. China http://www.h3c.com Zip:100085 " DESCRIPTION "Bidirectional Forwarding Management Information Base." -- Revision history. REVISION "200605161200Z" -- 08 May 2006 12:00:00 Beijing time DESCRIPTION "The first version. " ::= { hh3cCommon 72 } -- Top level components of this MIB module. hh3cBfdNotifications OBJECT IDENTIFIER ::= { hh3cBfdMIB 0 } hh3cBfdObjects OBJECT IDENTIFIER ::= { hh3cBfdMIB 1 } hh3cBfdConformance OBJECT IDENTIFIER ::= { hh3cBfdMIB 2 } hh3cBfdGlobalObjects OBJECT IDENTIFIER ::= { hh3cBfdObjects 1 } -- 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 STATUS current DESCRIPTION "A time interval delay in microseconds, which is used by the BFD." SYNTAX Unsigned32 (1..4294967295) BfdDiag ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The diagnostic code is used by the BFD specifying the local system's reason for the last session state change, and must be initialized to zero(No Diagnostic). The 'noDiagnostic' means the session keeps state up. The 'controlDetectionTimeExpired' indicates the reason the session enters state down from state up is that the control detection time expires. The 'echoFunctionFailed' indicates the reason the session enters state down from state up is that Echo Function fails. The 'neighborSignaledSessionDown' indicates the reason the session enters state down from state up is that neighbor signals session Down. The 'forwardingPlaneReset' indicates the reason the session enters state down from state up is that the Forwarding Plane resets. The 'pathDown' indicates the reason the session enters state down from state up is that the path state is down. The 'concatenatedPathDown' indicates the reason the session enters state down from state up is that the concatenated path state is down. The 'administrativelyDown' indicates the reason the session enters state down from state up is that the session is kept administratively down by entering the AdminDown state. The 'reverseConcatenatedPathDown' indicates the reason the session enters state down from state up is that reverse concatenated path state is down. " SYNTAX INTEGER { noDiagnostic(1), controlDetectionTimeExpired(2), echoFunctionFailed(3), neighborSignaledSessionDown(4), forwardingPlaneReset(5), pathDown(6), concatenatedPathDown(7), administrativelyDown(8), reverseConcatenatedPathDown(9) } -- BFD General Variables -- These variables apply globally to the Router's BFD Process. hh3cBfdVersionNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "It indicates the BFD session's current version number." REFERENCE "BFD Version 1 (draft-ietf-bfd-base-04.txt)" DEFVAL { 1 } ::= { hh3cBfdGlobalObjects 1 } hh3cBfdSysInitMode OBJECT-TYPE SYNTAX INTEGER { active(1), passive(2)} MAX-ACCESS read-write STATUS current DESCRIPTION "A system may take either an active role or a passive role in session initialization. A system taking the active role must send BFD control packets for a particular session, regardless of whether it has received any BFD packets for that session. A system taking the passive role must not begin sending BFD packets for a particular session until it has received a BFD packet for that session, and thus has learned the remote system's discriminator value." DEFVAL { active } ::= { hh3cBfdGlobalObjects 2 } -- BFD Interface Table -- The BFD Interface Table defines BFD interface specific information. hh3cBfdIfTable OBJECT-TYPE SYNTAX SEQUENCE OF Hh3cBfdIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This Table describes the BFD interface specific information." ::= { hh3cBfdObjects 2 } hh3cBfdIfEntry OBJECT-TYPE SYNTAX Hh3cBfdIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This Entry describes the BFD interface specific information." INDEX { hh3cBfdIfIndex } ::= { hh3cBfdIfTable 1 } Hh3cBfdIfEntry ::= SEQUENCE { hh3cBfdIfIndex InterfaceIndex, hh3cBfdIfDesiredMinTxInterval BfdInterval, hh3cBfdIfDesiredMinRxInterval BfdInterval, hh3cBfdIfDetectMult Unsigned32, hh3cBfdIfAuthType INTEGER } hh3cBfdIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This variable contains an index that represents a unique BFD interface on this device." ::= { hh3cBfdIfEntry 1 } hh3cBfdIfDesiredMinTxInterval OBJECT-TYPE SYNTAX BfdInterval MAX-ACCESS read-write STATUS current DESCRIPTION "This variable defines the minimum interval, in microseconds, that the interface would like to use when transmitting BFD Control packets." ::= { hh3cBfdIfEntry 2 } hh3cBfdIfDesiredMinRxInterval OBJECT-TYPE SYNTAX BfdInterval MAX-ACCESS read-write STATUS current DESCRIPTION "This variable defines the minimum interval, in, microseconds, between received BFD Control packets the local system is capable of supporting." ::= { hh3cBfdIfEntry 3 } hh3cBfdIfDetectMult OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "The desired detect time multiplier for BFD control packets. The negotiated control packet transmission interval, multiplied by this variable, will be the detection time for this session (as seen by the remote system.) The variable must be a nonzero integer." ::= { hh3cBfdIfEntry 4 } hh3cBfdIfAuthType OBJECT-TYPE SYNTAX INTEGER { none(1), simple(2), md5(3), mmd5(4), sha1(5), msha1(6) } MAX-ACCESS read-only STATUS current DESCRIPTION "The Authentication Type used for this interface. This field is valid only when the Authentication Present bit is set. The 'none' indicates the session doesn't support authentication. The 'simple' indicates the session supports simple password authentication. The 'md5' indicates the session supports Keyed MD5 authentication. The 'mmd5' indicates the session supports Meticulous Keyed MD5 authentication. The 'sha1' indicates the session supports Keyed SHA1 authentication. The 'msha1' indicates the session supports Meticulous Keyed SHA1 authentication. " DEFVAL { none } ::= { hh3cBfdIfEntry 5 } -- BFD Session Table -- The BFD Session Table defines BFD session specific information. hh3cBfdSessTable OBJECT-TYPE SYNTAX SEQUENCE OF Hh3cBfdSessEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table describes the BFD sessions." REFERENCE "BFD Version 1 (draft-ietf-bfd-base-04.txt)" ::= { hh3cBfdObjects 3 } hh3cBfdSessEntry OBJECT-TYPE SYNTAX Hh3cBfdSessEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This Entry describes the BFD sessions." INDEX { hh3cBfdSessIfIndex, hh3cBfdSessIndex } ::= { hh3cBfdSessTable 1 } Hh3cBfdSessEntry ::= SEQUENCE { hh3cBfdSessIfIndex InterfaceIndex, hh3cBfdSessIndex BfdSessIndexTC, hh3cBfdSessAppSupportId BITS, hh3cBfdSessLocalDiscr Unsigned32, hh3cBfdSessRemoteDiscr Unsigned32, hh3cBfdSessDstPort InetPortNumber, hh3cBfdSessOperMode INTEGER, hh3cBfdSessAddrType InetAddressType, hh3cBfdSessLocalAddr InetAddress, hh3cBfdSessRemoteAddr InetAddress, hh3cBfdSessLocalDiag BfdDiag, hh3cBfdSessState INTEGER, hh3cBfdSessControlPlanIndepFlag TruthValue, hh3cBfdSessAuthFlag TruthValue, hh3cBfdSessDemandModeFlag TruthValue } hh3cBfdSessIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This variable contains an interface's index under which the BFD session runs." ::= { hh3cBfdSessEntry 1 } hh3cBfdSessIndex OBJECT-TYPE SYNTAX BfdSessIndexTC MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This variable contains an index which represents a unique BFD session on this device." ::= { hh3cBfdSessEntry 2 } hh3cBfdSessAppSupportId OBJECT-TYPE SYNTAX BITS {none(0), ospf(1), isis(2), bgp(3), mpls(4)} MAX-ACCESS read-only STATUS current DESCRIPTION "This variable contains an ID used to indicate a local application which owns or maintains this BFD session. Note, a BFD session can support several route protocols. This is a bit-map of possible conditions. The corresponding bit positions are: |0 |none | |1 |ospf | |2 |isis | |3 |bgp | |4 |mpls | " ::= { hh3cBfdSessEntry 3 } hh3cBfdSessLocalDiscr OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This variable defines the local discriminator for this BFD session, used to uniquely identify it." ::= { hh3cBfdSessEntry 4 } hh3cBfdSessRemoteDiscr OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This variable defines the session discriminator chosen by the remote system for this BFD session." ::= { hh3cBfdSessEntry 5 } hh3cBfdSessDstPort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-only STATUS current DESCRIPTION "The UDP Port for BFD. The default value is the well-known value for this port." REFERENCE "BFD Version 1 (draft-ietf-bfd-base-04.txt)" DEFVAL { 3784 } ::= { hh3cBfdSessEntry 6 } hh3cBfdSessOperMode OBJECT-TYPE SYNTAX INTEGER { asynchModeWOEchoFun(1), demandModeWOEchoFunction(2), asyncModeWEchoFun(3), demandModeWEchoFunction(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "This variable defines current operating mode that BFD session is running in. The primary mode which the BFD session runs in is known as Asynchronous mode. In this mode, the systems periodically send BFD Control packets to one another, and if a number of those packets in a row are not received by the other system, the session is declared to be down. The second mode is known as Demand mode. In this mode, it is assumed that each system has an independent way of verifying that it has connectivity to the other system. Once a BFD session is established, the systems stop sending BFD Control packets, except when either system feels the need to verify connectivity explicitly, in which case a short sequence of BFD Control packets is sent, and then the protocol quiesces. An adjunct to both modes is the Echo function. When the Echo function is active, a stream of BFD Echo packets is transmitted in such a way as to have the other system loop them back through its forwarding path. If a number of packets of the echoed data stream are not received, the session is declared to be down. The Echo function may be used with either Asynchronous or Demand modes. The 'asynchModeWOEchoFun' indicates this BFD session operates in the Asynchronous mode, and doesn't support the Echo Function. The 'demandModeWOEchoFunction' indicates this BFD session operates in the Demand mode, and doesn't support the Echo Function. The 'asyncModeWEchoFun' indicates this BFD session operates in the Asynchronous mode, and also supports the Echo Function. The 'demandModeWEchoFunction' indicates this BFD session operates in the Demand mode, and also supports the Echo Function. " DEFVAL { asynchModeWOEchoFun } ::= { hh3cBfdSessEntry 7 } hh3cBfdSessAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "This object defines IP address type 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. " ::= { hh3cBfdSessEntry 8 } hh3cBfdSessLocalAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "This variable defines IP address of the local interface from which the BFD packets is transmitted. 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." ::= { hh3cBfdSessEntry 9 } hh3cBfdSessRemoteAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "This variable defines IP address of the remote interface from which the BFD packets is transmitted. 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. " ::= { hh3cBfdSessEntry 10 } hh3cBfdSessLocalDiag OBJECT-TYPE SYNTAX BfdDiag MAX-ACCESS read-only STATUS current DESCRIPTION "The BFD diagnostic code for the BFD session was down with the neighbor. If no such event happens this object contains a zero value." DEFVAL { noDiagnostic } ::= { hh3cBfdSessEntry 11 } hh3cBfdSessState OBJECT-TYPE SYNTAX INTEGER { adminDown(0), down(1), init(2), up(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The state of the running BFD session. There are three states through which a session normally proceeds, two for establishing a session (Init and Up) and one for tearing down a session (Down.) This allows a three-way handshake for both session establishment and session teardown (assuring that both systems are aware of all session state changes.) A fourth state (AdminDown) exists so that a session can be administratively put down indefinitely. The Down state means that the session is down (or has just been created.) A session remains in Down state until the remote system indicates that it agrees that the session is down by sending a BFD Control packet with the State field set to anything other than Up. If that packet signals Down state, the session advances to Init state; if that packet signals Init state, the session advances to Up state. Init state means that the remote system is 0communicating, and the local system desires to bring the session up, but the remote system does not yet realize it. A session will remain in Init state until either a BFD Control Packet is received that is signaling Init or Up state (in which case the session advances to Up state) or until the detection time expires, meaning that communication with the remote system has been lost (in which case the session advances to Down state.) Up state means that the BFD session has successfully been established, and implies that connectivity between the systems is working. The session will remain in the Up state until either connectivity fails, or the session is taken down administratively. If either the remote system signals Down state, or the detection time expires, the session advances to Down state. AdminDown state means that the session is being held administratively down. This causes the remote system to enter Down state, and remain there until the local system exits AdminDown state. " DEFVAL { down } ::= { hh3cBfdSessEntry 12 } hh3cBfdSessControlPlanIndepFlag OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates whether the local system can continue to work while the control plane is out of work. Specifically, it is set to true(1) if the local system is independent of the control plane. Otherwise, the value is set to false(0)" DEFVAL { true } ::= { hh3cBfdSessEntry 13 } hh3cBfdSessAuthFlag OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates that the local system wants 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 } ::= { hh3cBfdSessEntry 14 } hh3cBfdSessDemandModeFlag OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates that the local system wants 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 } ::= { hh3cBfdSessEntry 15 } -- BFD Session State Table hh3cBfdSessStatTable OBJECT-TYPE SYNTAX SEQUENCE OF Hh3cBfdSessStatEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table defines BFD session state." ::= { hh3cBfdObjects 4 } hh3cBfdSessStatEntry OBJECT-TYPE SYNTAX Hh3cBfdSessStatEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table is created by a BFD-enabled node for every BFD Session. It defines BFD session statistics." AUGMENTS { hh3cBfdSessEntry } ::= { hh3cBfdSessStatTable 1 } Hh3cBfdSessStatEntry ::= SEQUENCE { hh3cBfdSessStatPktInHC Counter64, hh3cBfdSessStatPktOutHC Counter64, hh3cBfdSessStatDownCount Counter32, hh3cBfdSessStatPktDiscard Counter64, hh3cBfdSessStatPktLost Counter64 } hh3cBfdSessStatPktInHC OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of BFD messages received by this BFD session." ::= { hh3cBfdSessStatEntry 1 } hh3cBfdSessStatPktOutHC OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of BFD messages sent by this BFD session." ::= { hh3cBfdSessStatEntry 2 } hh3cBfdSessStatDownCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times this session has gone into the Down state since the router last rebooted." ::= { hh3cBfdSessStatEntry 3 } hh3cBfdSessStatPktDiscard OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets the local system has discarded since the router last rebooted." ::= { hh3cBfdSessStatEntry 4 } hh3cBfdSessStatPktLost OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets the local system has failed to transmit since the router last rebooted." ::= { hh3cBfdSessStatEntry 5 } -- BFD Session Performance Table hh3cBfdSessPerfTable OBJECT-TYPE SYNTAX SEQUENCE OF Hh3cBfdSessPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table defines BFD session performance." ::= { hh3cBfdObjects 5 } hh3cBfdSessPerfEntry OBJECT-TYPE SYNTAX Hh3cBfdSessPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table is created by a BFD-enabled node for every BFD session. It defines BFD Session performance." AUGMENTS { hh3cBfdSessEntry } ::= { hh3cBfdSessPerfTable 1 } Hh3cBfdSessPerfEntry ::= SEQUENCE { hh3cBfdSessPerfCreatTime TimeStamp, hh3cBfdSessPerfLastUpTime TimeStamp, hh3cBfdSessPerfLastDownTime TimeStamp } hh3cBfdSessPerfCreatTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when the session was created. If no such create event exists this object contains a zero value." ::= { hh3cBfdSessPerfEntry 1 } hh3cBfdSessPerfLastUpTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when the last time communication was lost. If no such up event exists this variable contains a zero value." ::= { hh3cBfdSessPerfEntry 2 } hh3cBfdSessPerfLastDownTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when the last time communication was lost with the neighbor. If no such event exist this variable contains a zero value." ::= { hh3cBfdSessPerfEntry 3 } -- Notification Configuration hh3cBfdSessNotificationsEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This variable enables the emission of hh3cBfdSessStateChange and hh3cBfdSessAuthFail notifications if this variable is set to true(1); otherwise these notifications are not emitted." DEFVAL { false } ::= { hh3cBfdGlobalObjects 3 } hh3cBfdSessStateChange NOTIFICATION-TYPE OBJECTS { hh3cBfdSessIfIndex, hh3cBfdSessIndex, hh3cBfdSessState } STATUS current DESCRIPTION "A notification sent when an session changes state, entering state up or entering state down. The session will enter state up finishing three times handshakes , and will enter state down when the communication path is out of work. When the hh3cBfdSessState's value is state up, the session enters state up, and the session enters state down when the hh3cBfdSessState's value is state down. The hh3cBfdSessIfIndex contains an interface's index under which the BFD session runs. The hh3cBfdSessIndex contains an index which represents a unique BFD session on this device. The hh3cBfdSessState is the state of the running BFD session. " ::= { hh3cBfdNotifications 1 } hh3cBfdSessAuthFail NOTIFICATION-TYPE OBJECTS { hh3cBfdIfIndex } STATUS current DESCRIPTION "A notification sent when receiving a session with an authentication fail. The hh3cBfdIfIndex is an index which represents a unique BFD interface on this device. " ::= { hh3cBfdNotifications 2 } END