ZTE-AN-BFD-MIB DEFINITIONS ::= BEGIN 
IMPORTS 
    OBJECT-TYPE, MODULE-IDENTITY,
    Integer32 ,Counter32                   FROM SNMPv2-SMI 
    TruthValue, TimeStamp                  FROM SNMPv2-TC
    InetAddress                            FROM INET-ADDRESS-MIB
    ZxAnIfindex, zxAn                      FROM ZTE-AN-TC-MIB;
    
zxAnBfdMib   MODULE-IDENTITY 
        LAST-UPDATED    "200909141600Z"
        ORGANIZATION    "Zhongxing Telcom Co. Ltd."
        CONTACT-INFO    "E-mail: zhang.zhikun@zte.com.cn"
        DESCRIPTION     "BFD MIB definition."        
        ::= { zxAn 15 } 

zxAnBfdMibObjects        OBJECT IDENTIFIER  ::= { zxAnBfdMib 1 }  



--------------------------------------------------------------------------------
-- Following objects are defined.
-- 1.BFD Session Info Table
-- 2.BFD Session Performance Table 
------------------------------------------------------------------------------

------------------------------------------------------------------------------
-- 1.BFD Session Info Table
------------------------------------------------------------------------------  
 zxAnBfdSessTable OBJECT-TYPE 
      SYNTAX   SEQUENCE OF ZxAnBfdSessEntry 
      MAX-ACCESS   not-accessible 
      STATUS   current 
      DESCRIPTION 
              "The BFD Session Table describes the BFD sessions."     
      ::= { zxAnBfdMibObjects 20 } 
    
   zxAnBfdSessEntry OBJECT-TYPE 
      SYNTAX      ZxAnBfdSessEntry 
      MAX-ACCESS  not-accessible 
      STATUS      current 
      DESCRIPTION 
              "The BFD Session Entry describes BFD session." 
      INDEX { zxAnBfdSessApplicationType,zxAnBfdL3IfVlan } 
      ::= {zxAnBfdSessTable 1 } 
    
   ZxAnBfdSessEntry ::= SEQUENCE { 
      zxAnBfdSessApplicationType          INTEGER,
      zxAnBfdL3IfVlan                     INTEGER,
      zxAnBfdSessDiscriminator            INTEGER, 
      zxAnBfdSessRemoteDiscr              INTEGER,  
      zxAnBfdSessUdpPort                  Integer32, 
      zxAnBfdSessState                    INTEGER,                  
      zxAnBfdSessDemandModeDesiredFlag    TruthValue, 
      zxAnBfdSessEchoFuncModeDesiredFlag  TruthValue,  
      zxAnBfdSessLocalAddrType            INTEGER,
      zxAnBfdSessLocalAddr                InetAddress,
      zxAnBfdSessRemoteAddrType           INTEGER,      
      zxAnBfdSessRemoteAddr               InetAddress,
      zxAnBfdSessDesiredMinTxInterval     Integer32, 
      zxAnBfdSessRequiredMinRxInterval    Integer32,       
      zxAnBfdSessDetectMult               Integer32,             
      zxAnBfdSessDownDiag                 INTEGER    
   } 
    
    zxAnBfdSessApplicationType  OBJECT-TYPE 
        SYNTAX          INTEGER
            {
             uaps(1)                      
            }
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "this object contains an index used to indicate 
               a local application which owns or maintains this 
               BFD session. 
               Register Protocol Type."
        ::=  {  zxAnBfdSessEntry  1  }
        
   zxAnBfdL3IfVlan          OBJECT-TYPE 
        SYNTAX          INTEGER(1..4094) 
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     ""
        ::=  {  zxAnBfdSessEntry  2  }
  
                                        
   zxAnBfdSessDiscriminator            OBJECT-TYPE 
      SYNTAX        INTEGER (0..2147483647) 
      MAX-ACCESS    read-only 
      STATUS        current 
      DESCRIPTION 
              "This object specifies the local discriminator for this BFD  
               session, used to uniquely identify it." 
      ::= { zxAnBfdSessEntry 3 } 
    
   zxAnBfdSessRemoteDiscr OBJECT-TYPE 
      SYNTAX        INTEGER (0..2147483647) 
      MAX-ACCESS    read-only 
      STATUS        current 
      DESCRIPTION 
              "This object specifies the session discriminator chosen  
               by the remote system for this BFD session." 
      ::= { zxAnBfdSessEntry 4 } 
    
   zxAnBfdSessUdpPort OBJECT-TYPE 
      SYNTAX      Integer32 
      MAX-ACCESS  read-only 
      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 } 
      ::= { zxAnBfdSessEntry 5 } 
    
   zxAnBfdSessState 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." 
      ::= { zxAnBfdSessEntry 6 } 
                 
   zxAnBfdSessDemandModeDesiredFlag OBJECT-TYPE 
      SYNTAX        TruthValue 
      MAX-ACCESS    read-only 
      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 } 
      ::= { zxAnBfdSessEntry 7 } 
    
   zxAnBfdSessEchoFuncModeDesiredFlag OBJECT-TYPE 
      SYNTAX        TruthValue  
      MAX-ACCESS    read-only 
      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 } 
      ::= { zxAnBfdSessEntry 8 } 
              
       
   zxAnBfdSessLocalAddrType OBJECT-TYPE 
      SYNTAX   INTEGER { 
               ipv4(1),  
               ipv6(2)
      } 
      MAX-ACCESS   read-only 
      STATUS   current 
      DESCRIPTION 
              "This object specifies IP address of the interface  
            associated with this BFD session.  
    
            Only values ipv4(1) or ipv6(2) 
            have to be supported. " 
      ::= { zxAnBfdSessEntry 9 } 
    
   zxAnBfdSessLocalAddr OBJECT-TYPE 
      SYNTAX        InetAddress 
      MAX-ACCESS    read-only 
      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. " 
      ::= { zxAnBfdSessEntry 10 } 
      
   zxAnBfdSessRemoteAddrType OBJECT-TYPE 
      SYNTAX   INTEGER { 
               ipv4(1),  
               ipv6(2)
      } 
      MAX-ACCESS   read-only 
      STATUS   current 
      DESCRIPTION 
              "This object specifies IP address of the interface  
            associated with this BFD session.  
    
            Only values ipv4(1) or ipv6(2) 
            have to be supported. " 
      ::= { zxAnBfdSessEntry 11 } 
         
   zxAnBfdSessRemoteAddr OBJECT-TYPE 
      SYNTAX        InetAddress 
      MAX-ACCESS    read-only 
      STATUS        current 
      DESCRIPTION 
           "This object specifies remote 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. " 
      ::= { zxAnBfdSessEntry 12 }
      
   zxAnBfdSessDesiredMinTxInterval OBJECT-TYPE 
      SYNTAX    Integer32 
      MAX-ACCESS    read-write
      STATUS    current 
      DESCRIPTION 
       "This object specifies the minimum interval, in  
        microseconds, that the local system would like to use when 
             transmitting BFD Control packets." 
      ::= { zxAnBfdSessEntry 13 } 
    
   zxAnBfdSessRequiredMinRxInterval OBJECT-TYPE 
      SYNTAX        Integer32 
      MAX-ACCESS    read-write
      STATUS        current 
      DESCRIPTION 
            "This object specifies the minimum interval, in  
             microseconds, between received  BFD Control packets the  
             local system is capable of supporting." 
      ::= { zxAnBfdSessEntry 14 } 
           
   zxAnBfdSessDetectMult OBJECT-TYPE 
      SYNTAX        Integer32 
      MAX-ACCESS    read-write 
      STATUS        current 
      DESCRIPTION 
            "This object specifies the Detect time multiplier." 
      ::= { zxAnBfdSessEntry 15 } 
                     

   zxAnBfdSessDownDiag OBJECT-TYPE 
      SYNTAX    INTEGER 
                    { noDiagnostic(1),  
                       controlDetectionTimeExpired(2),  
                       echoFunctionFailed(3),  
                       neighborSignaledSessionDown(4),  
                       forwardingPlaneReset(5), 
                       pathDown(6),  
                       concatenatedPathDown(7), 
                       administrativelyDown(8),  
                       reverseConcatenatedPathDown (9) 
                     } 
      MAX-ACCESS    read-only 
      STATUS    current 
      DESCRIPTION 
       "This object specifies the local system's reason for the last change in session state." 
      ::= { zxAnBfdSessEntry 16 } 
    
------------------------------------------------------------------------------
-- 2.BFD Session Performance Table  
------------------------------------------------------------------------------      

zxAnBfdSessPerfTable OBJECT-TYPE 
      SYNTAX        SEQUENCE OF ZxAnBfdSessPerfEntry 
      MAX-ACCESS    not-accessible 
      STATUS        current 
      DESCRIPTION 
          "This table specifies BFD Session performance counters." 
      ::= { zxAnBfdMibObjects 21 } 
    
   zxAnBfdSessPerfEntry OBJECT-TYPE 
      SYNTAX        ZxAnBfdSessPerfEntry 
      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    { zxAnBfdSessEntry }          
      ::= { zxAnBfdSessPerfTable 1 } 
    
   ZxAnBfdSessPerfEntry ::= SEQUENCE { 
     zxAnBfdSessPerfPktIn               Counter32,  
     zxAnBfdSessPerfPktOut              Counter32, 
     zxAnBfdSessPerfUpTime              TimeStamp,  
     zxAnBfdSessPerfDownTime    TimeStamp        
     } 
    
      
   zxAnBfdSessPerfPktIn OBJECT-TYPE  
      SYNTAX      Counter32 
      MAX-ACCESS  read-only 
      STATUS      current 
      DESCRIPTION 
           "The total number of BFD control packets received for this BFD session." 
      ::= { zxAnBfdSessPerfEntry 1 } 
    
   zxAnBfdSessPerfPktOut OBJECT-TYPE 
      SYNTAX      Counter32 
      MAX-ACCESS  read-only 
      STATUS      current 
      DESCRIPTION 
           "The total number of BFD control packets sent for this BFD session." 
      ::= { zxAnBfdSessPerfEntry 2 } 
    
   zxAnBfdSessPerfUpTime 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." 
      ::= { zxAnBfdSessPerfEntry 3 } 
 
   zxAnBfdSessPerfDownTime 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." 
      ::= { zxAnBfdSessPerfEntry 4 } 
    
   
END

