--  ******************************************************
--  $Id: ZTE-BFD-MIB.mib 2009-01$
--
--  ZTE-BFD-MIB.mib: 
--    Bidirectional Forwarding Detection MIB file
--  
--  Jan. 2009, Wei Hong Bo
--   
--  Copyright(c) 2008 by ZTE Corporaton
--  All rights reservered
--
--  ******************************************************

ZTE-BFD-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, 
    OBJECT-TYPE,
    Unsigned32,
    Counter32,
    enterprises,
    NOTIFICATION-TYPE       
        FROM SNMPv2-SMI
    InetAddressType,
    InetAddress
            FROM INET-ADDRESS-MIB
    TruthValue,
    TimeStamp,
    TEXTUAL-CONVENTION
        FROM SNMPv2-TC; 

zteBfdMib MODULE-IDENTITY
    LAST-UPDATED    "200901070000Z"
    ORGANIZATION    "ZTE"
    CONTACT-INFO
    ""
    DESCRIPTION 
    ""
    REVISION        "200901070000Z"
    DESCRIPTION
    ""
    ::= { zxr10 322 }

-- Top level components of this MIB module.

zxr10BfdNotifications  OBJECT IDENTIFIER ::= { zteBfdMib 0 }

zxr10BfdObjects        OBJECT IDENTIFIER ::= { zteBfdMib 1 }

zxr10BfdScalarObjects  OBJECT IDENTIFIER ::= { zxr10BfdObjects 1 }

zte                    OBJECT IDENTIFIER ::= { enterprises 3902 }    

zxr10                  OBJECT IDENTIFIER ::= { zte 3 }

-- Textual Conventions


    DisplayString ::= OCTET STRING
    --  This data type is used to model textual information taken
    --  from the NVT ASCII character set.  By convention, objects
    --  with this syntax are declared as having
    --  SIZE (0..255)
    
    Zxr10BfdSessIndexTC ::= TEXTUAL-CONVENTION
        DISPLAY-HINT    "d"
        STATUS          current
        DESCRIPTION
            "An index used to uniquely identify BFD sessions."
        SYNTAX          Unsigned32 (1..4294967295 )
    
    Zxr10BfdInterval ::= TEXTUAL-CONVENTION
        STATUS          current
        DESCRIPTION
            "The BFD interval delay in microseconds."
        SYNTAX          Unsigned32 (1..4294967295 )
    
    Zxr10BfdDiag ::= 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.
    
    zxr10BfdAdminStatus OBJECT-TYPE
        SYNTAX          INTEGER  {
                            enabled(1),
                            disabled(2)
                        }
        MAX-ACCESS      read-only
        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 } 
        ::= { zxr10BfdScalarObjects 1 }
    
    zxr10BfdVersionNumber 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 } 
        ::= { zxr10BfdScalarObjects 2 }
        
    -- Notification Configuration
    
    zxr10BfdSessNotificationsEnable 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 zxr10BfdSessUp and zxr10BfdSessDown 
            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 } 
        ::= { zxr10BfdScalarObjects 3 }
        
    -- BFD Session Table
    -- The BFD Session Table specifies the BFD session specific
    -- information.
    
    zxr10BfdSessTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF Zxr10BfdSessEntry 
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "The BFD Session Table describes the BFD sessions."
        REFERENCE       "BFD Version 0 (draft-katz-ward-ciscoBfd-02.txt)"
        ::= { zxr10BfdObjects 2 }
    
    zxr10BfdSessEntry OBJECT-TYPE
        SYNTAX          Zxr10BfdSessEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "The BFD Session Entry describes BFD session."
        INDEX           { zxr10BfdSessIndex } 
        ::= { zxr10BfdSessTable 1 }
    
    Zxr10BfdSessEntry ::= SEQUENCE {
            zxr10BfdSessIndex                   Zxr10BfdSessIndexTC,
            zxr10BfdSessApplicationId           Unsigned32,
            zxr10BfdSessInitMode                INTEGER,
            zxr10BfdSessDiscriminator           Unsigned32,
            zxr10BfdSessRemoteDiscr             Unsigned32,
            zxr10BfdSessSrcUdpPort              Unsigned32,
            zxr10BfdSessState                   INTEGER,
            zxr10BfdSessRemoteHeardFlag         TruthValue,
            zxr10BfdSessDiag                    Zxr10BfdDiag,
            zxr10BfdSessOperMode                INTEGER,
            zxr10BfdSessDemandModeDesiredFlag   TruthValue,
            zxr10BfdSessEchoFuncModeDesiredFlag TruthValue,
            zxr10BfdSessControlPlanIndepFlag    TruthValue,
            zxr10BfdSessAddrType                InetAddressType,
            zxr10BfdSessLocalAddr               InetAddress,
            zxr10BfdSessRemoteAddr              InetAddress,
            zxr10BfdSessLdpDestAddr             InetAddress,
            zxr10BfdSessLdpPrefixLength         Unsigned32,
            zxr10BfdSessRsvpTunnelId            Unsigned32,
            zxr10BfdSessPWPeerAddr              InetAddress,
            zxr10BfdSessPWVcId                  Unsigned32,
            zxr10BfdSessPWVcTtl                 Unsigned32,
            zxr10BfdSessDesiredMinTxInterval    Zxr10BfdInterval,
            zxr10BfdSessReqMinRxInterval        Zxr10BfdInterval,
            zxr10BfdSessReqMinEchoRxInterval    Zxr10BfdInterval,
            zxr10BfdSessDetectMult              Unsigned32,
            zxr10BfdSessHoldTime                Unsigned32,
            zxr10BfdSessAuthPresFlag            TruthValue,
            zxr10BfdSessAuthenticationType      INTEGER,
            zxr10BfdSessVersionNumber           Unsigned32,
            zxr10BfdSessType                    INTEGER,
            zxr10BfdSessInterface               Unsigned32,
            zxr10BfdSessPWMode                  INTEGER,
            zxr10BfdSessPWFec129Agi             Unsigned32,
            zxr10BfdSessPWFec129SaiiGid         Unsigned32,
            zxr10BfdSessPWFec129SaiiPrefix      InetAddress,
            zxr10BfdSessPWFec129TaiiGid         Unsigned32,
            zxr10BfdSessPWFec129TaiiPrefix      InetAddress,
            zxr10BfdSessPWFec129SaiiACId        Unsigned32,
            zxr10BfdSessPWFec129TaiiACId        Unsigned32,
            zxr10BfdSessPWFecType               INTEGER
        }
    
    zxr10BfdSessIndex OBJECT-TYPE
        SYNTAX          Zxr10BfdSessIndexTC
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object contains an index used to represent a
            unique BFD session on this device." 
        ::= { zxr10BfdSessEntry 1 }
    
    zxr10BfdSessApplicationId 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." 
        ::= { zxr10BfdSessEntry 2 }
    
    zxr10BfdSessInitMode OBJECT-TYPE
        SYNTAX          INTEGER  {
                            active(1),
                            passive(2)
                        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The Init Mode of the BFD session." 
        ::= { zxr10BfdSessEntry 3 }
        
    zxr10BfdSessDiscriminator 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." 
        ::= { zxr10BfdSessEntry 4 }
    
    zxr10BfdSessRemoteDiscr 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." 
        ::= { zxr10BfdSessEntry 5 }
    
    zxr10BfdSessSrcUdpPort OBJECT-TYPE
        SYNTAX          Unsigned32 ( 0..65535 )
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The source UDP Port for BFD."
        REFERENCE
            ""
        DEFVAL          { 0 } 
        ::= { zxr10BfdSessEntry 6 }
    
    zxr10BfdSessState OBJECT-TYPE
        SYNTAX          INTEGER  {
                            adminDown(1),
                            down(2),
                            init(3),
                            up(4),
                            failing(5)
                        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The perceived state of the BFD session." 
        ::= { zxr10BfdSessEntry 7 }
    
    zxr10BfdSessRemoteHeardFlag 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. It is only applicable if this BFD session 
            is running version 0" 
        ::= { zxr10BfdSessEntry 8 }
    
    zxr10BfdSessDiag OBJECT-TYPE
        SYNTAX          Zxr10BfdDiag
        MAX-ACCESS      read-only
        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." 
        ::= { zxr10BfdSessEntry 9 }
    
    zxr10BfdSessOperMode 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." 
        ::= { zxr10BfdSessEntry 10 }
    
    zxr10BfdSessDemandModeDesiredFlag 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 } 
        ::= { zxr10BfdSessEntry 11 }
    
    zxr10BfdSessEchoFuncModeDesiredFlag 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 } 
        ::= { zxr10BfdSessEntry 12 }
    
    zxr10BfdSessControlPlanIndepFlag OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        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 } 
        ::= { zxr10BfdSessEntry 13 }
    
    zxr10BfdSessAddrType OBJECT-TYPE
        SYNTAX          InetAddressType
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies IP address type of the neighboring IP
            address which is being monitored 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." 
        ::= { zxr10BfdSessEntry 14 }
    
    zxr10BfdSessLocalAddr OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the local IP address which is
            being associated with this BFD session." 
        ::= { zxr10BfdSessEntry 15 }
    
    zxr10BfdSessRemoteAddr OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the neighboring IP address which is
            being monitored with this BFD session."
        ::= { zxr10BfdSessEntry 16 }
    
    zxr10BfdSessLdpDestAddr OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the FEC's destination address which is
            being associated with this LDP LSP BFD session."
        ::= { zxr10BfdSessEntry 17 }
    
    zxr10BfdSessLdpPrefixLength OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the prefix length which is being associated 
            with this LDP LSP BFD session."
        ::= { zxr10BfdSessEntry 18 }
        
    zxr10BfdSessRsvpTunnelId OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the tunnle Id which is being monitored with 
            this RSVP LSP BFD session."
        ::= { zxr10BfdSessEntry 19 }
        
    zxr10BfdSessPWPeerAddr OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the Pseudowire's remote IP address which is
            being monitored with this PW BFD session."
        ::= { zxr10BfdSessEntry 20 }
        
    zxr10BfdSessPWVcId OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the Pseudowire's Vc-Id which is being monitored 
            with this PW BFD session."
        ::= { zxr10BfdSessEntry 21 }
    
    zxr10BfdSessPWVcTtl OBJECT-TYPE
        SYNTAX          Unsigned32 (1..255)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the Pseudowire's Vc-Ttl which is being monitored 
            with this PW BFD session."
        ::= { zxr10BfdSessEntry 22 }
    
    zxr10BfdSessDesiredMinTxInterval OBJECT-TYPE
        SYNTAX          Zxr10BfdInterval
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the minimum interval, in
            microseconds, that the local system would like to use when 
                 transmitting BFD Control packets." 
        ::= { zxr10BfdSessEntry 23 }
    
    zxr10BfdSessReqMinRxInterval OBJECT-TYPE
        SYNTAX          Zxr10BfdInterval
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the minimum interval, in
            microseconds, between received  BFD Control packets the  
            local system is capable of supporting." 
        ::= { zxr10BfdSessEntry 24 }
    
    zxr10BfdSessReqMinEchoRxInterval OBJECT-TYPE
        SYNTAX          Zxr10BfdInterval
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the minimum interval, in
            microseconds, between received BFD Echo packets that this 
            system is capable of supporting." 
        ::= { zxr10BfdSessEntry 25 }
    
    zxr10BfdSessDetectMult OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the Detect time multiplier." 
        ::= { zxr10BfdSessEntry 26 }
    
    zxr10BfdSessHoldTime OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the Hold time of this BFD session." 
        ::= { zxr10BfdSessEntry 27 }
    
    zxr10BfdSessAuthPresFlag OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        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 } 
        ::= { zxr10BfdSessEntry 28 }
    
    zxr10BfdSessAuthenticationType OBJECT-TYPE
        SYNTAX          INTEGER  
        {
            simplePassword(1),
            keyedMD5(2),
            meticulousKeyedMD5(3),
            keyedSHA1(4),
            meticulousKeyedSHA1(5)
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The Authentication Type used for this BFD session. This
            field is valid only when the Authentication Present bit is set" 
        ::= { zxr10BfdSessEntry 29 }
    
    zxr10BfdSessVersionNumber 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 } 
        ::= { zxr10BfdSessEntry 30 }
    
    zxr10BfdSessType OBJECT-TYPE
        SYNTAX      INTEGER
        {
            singleHop(1),
            multiHop(2)
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The type of this BFD session." 
        ::= { zxr10BfdSessEntry 31 }
    
    zxr10BfdSessInterface OBJECT-TYPE
        SYNTAX          Unsigned32 ( 1..65535 )
        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." 
        ::= { zxr10BfdSessEntry 32 }

    zxr10BfdSessPWMode OBJECT-TYPE
        SYNTAX      INTEGER
        {
            unknown(0),
            static(1),
            dynamic-PWE3(2),
            dynamic-Martini(3)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "PW mode."
        ::= { zxr10BfdSessEntry 33 }
    
    zxr10BfdSessPWFec129Agi   OBJECT-TYPE
        SYNTAX Unsigned32 (1..4294967295)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "AGI element group-id value"
        ::={zxr10BfdSessEntry 34}
        
    zxr10BfdSessPWFec129SaiiGid   OBJECT-TYPE
        SYNTAX Unsigned32 (1..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "SAII element global-id value"
        ::={zxr10BfdSessEntry 35}
        
    zxr10BfdSessPWFec129SaiiPrefix   OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "SAII element prefix value"
        ::={zxr10BfdSessEntry 36}
        
    zxr10BfdSessPWFec129TaiiGid   OBJECT-TYPE
        SYNTAX Unsigned32 (1..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "TAII element global-id value"
        ::={zxr10BfdSessEntry 37}
        
    zxr10BfdSessPWFec129TaiiPrefix   OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "TAII element prefix value"
        ::={zxr10BfdSessEntry 38}
        
    zxr10BfdSessPWFec129SaiiACId   OBJECT-TYPE
        SYNTAX Unsigned32 (1..4294967295)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "SAII element AC-id value"
        ::={zxr10BfdSessEntry 39}
        
    zxr10BfdSessPWFec129TaiiACId   OBJECT-TYPE
        SYNTAX Unsigned32 (1..4294967295)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "TAII element AC-id value"
        ::={zxr10BfdSessEntry 40}
        
    zxr10BfdSessPWFecType   OBJECT-TYPE
        SYNTAX      INTEGER
        {
            unknown(0),
            fec128(1),
            fec129(2)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This configures PW Fec type, fec128 by default."
        ::={zxr10BfdSessEntry 41}

-- BFD Session Performance Table
    
    zxr10BfdSessPerfTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF Zxr10BfdSessPerfEntry 
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This table specifies BFD Session performance counters."
        ::= { zxr10BfdObjects 3 }
    
    zxr10BfdSessPerfEntry OBJECT-TYPE
        SYNTAX          Zxr10BfdSessPerfEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "The BFD Session Entry describes BFD session Performance."  
        AUGMENTS           { zxr10BfdSessEntry  } 
     
        ::= { zxr10BfdSessPerfTable 1 }
    
    Zxr10BfdSessPerfEntry ::= SEQUENCE {
            zxr10BfdSessPerfIndex            Zxr10BfdSessIndexTC,
            zxr10BfdSessPerfPktIn            Counter32,
            zxr10BfdSessPerfPktOut           Counter32,
            zxr10BfdSessUpTime               TimeStamp,
            zxr10BfdSessPerfLastCommLostDiag Zxr10BfdDiag,
            zxr10BfdSessPerfMinTxInterval    Zxr10BfdInterval,
            zxr10BfdSessPerfMaxTxInterval    Zxr10BfdInterval,
            zxr10BfdSessPerfAvgTxInterval    Zxr10BfdInterval,
            zxr10BfdSessPerfMinRxInterval    Zxr10BfdInterval,
            zxr10BfdSessPerfMaxRxInterval    Zxr10BfdInterval,
            zxr10BfdSessPerfAvgRxInterval    Zxr10BfdInterval
    }
      
    zxr10BfdSessPerfIndex OBJECT-TYPE
        SYNTAX          Zxr10BfdSessIndexTC
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object contains an index used to represent a
            unique BFD session on this device." 
        ::= { zxr10BfdSessPerfEntry 1 }
      
    zxr10BfdSessPerfPktIn OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The total number of BFD messages received for this BFD
            session." 
        ::= { zxr10BfdSessPerfEntry 2 }
    
    zxr10BfdSessPerfPktOut OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The total number of BFD messages sent for this BFD session." 
        ::= { zxr10BfdSessPerfEntry 3 }
    
    zxr10BfdSessUpTime 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." 
        ::= { zxr10BfdSessPerfEntry 4 }
    
    zxr10BfdSessPerfLastCommLostDiag OBJECT-TYPE
        SYNTAX          Zxr10BfdDiag
        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." 
        ::= { zxr10BfdSessPerfEntry 5 }
    
    zxr10BfdSessPerfMinTxInterval OBJECT-TYPE
        SYNTAX          Zxr10BfdInterval
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the minimum interval, in microseconds, 
            that the local system have transmitting BFD Control packets." 
        ::= { zxr10BfdSessPerfEntry 6 }
    
    zxr10BfdSessPerfMaxTxInterval OBJECT-TYPE
        SYNTAX          Zxr10BfdInterval
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the maximum interval, in microseconds, 
            that the local system have transmitting BFD Control packets." 
        ::= { zxr10BfdSessPerfEntry 7 }
    
    zxr10BfdSessPerfAvgTxInterval OBJECT-TYPE
        SYNTAX          Zxr10BfdInterval
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the average interval, in microseconds, 
            that the local system have transmitting BFD Control packets." 
        ::= { zxr10BfdSessPerfEntry 8 }
    
    zxr10BfdSessPerfMinRxInterval OBJECT-TYPE
        SYNTAX          Zxr10BfdInterval
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the minimum interval, in microseconds, 
            that the local system have recieving BFD Control packets." 
        ::= { zxr10BfdSessPerfEntry 9 }
    
    zxr10BfdSessPerfMaxRxInterval OBJECT-TYPE
        SYNTAX          Zxr10BfdInterval
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the maximum interval, in microseconds, 
            that the local system have recieving BFD Control packets." 
        ::= { zxr10BfdSessPerfEntry 10 }
    
    zxr10BfdSessPerfAvgRxInterval OBJECT-TYPE
        SYNTAX          Zxr10BfdInterval
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object specifies the average interval, in microseconds, 
            that the local system have recieving BFD Control packets." 
        ::= { zxr10BfdSessPerfEntry 11 }

-- BFD session Notification
    zxr10BfdSessUp NOTIFICATION-TYPE
        OBJECTS         {
                            zxr10BfdSessIndex,
                            zxr10BfdSessIndex
                        }
        STATUS          current
        DESCRIPTION
            "This notification is generated when the
            zxr10BfdSessState object for one or more contiguous 
            entries in zxr10BfdSessTable are about to enter the up(4) 
            state from some other state. The included values of 
            zxr10BfdSessDiag MUST both be set equal to this 
            new state (i.e: up(4)).  The two instances of  
            zxr10BfdSessDiag 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(4) 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 zxr10BfdSessEntry, then 
            the instance identifier (and values) of the two 
            Zxr10BfdSessIndexTC objects MUST be the identical."
       ::= { zxr10BfdNotifications 1 }
    
    zxr10BfdSessDown NOTIFICATION-TYPE
        OBJECTS         {
                            zxr10BfdSessIndex,
                            zxr10BfdSessIndex
                        }
        STATUS          current
        DESCRIPTION
            "This notification is generated when the
            zxr10BfdSessState object for one or more contiguous 
            entries in zxr10BfdSessTable are about to enter the down(2) 
            or adminDown(1) states from some other state. The included  
            values of zxr10BfdSessDiag MUST both be set equal to this 
            new state (i.e: down(2) or adminDown(1)).  The two instances  
            of zxr10BfdSessDiag 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(2) or adminDown(1) 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 zxr10BfdSessEntry, then 
            the instance identifier (and values) of the two 
            Zxr10BfdSessIndexTC objects MUST be the identical."
       ::= { zxr10BfdNotifications 2 }
    -- 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 (zxr10BfdSessOperMode)
    -- also need to be notified.
    
    
    zxr10BfdStaticSessTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF Zxr10BfdStaticSessConfigEntry 
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "The BFD Static Session Config Information Table."
        ::= { zxr10BfdObjects 4 }
    
    zxr10BfdStaticSessConfigEntry  OBJECT-TYPE
        SYNTAX  Zxr10BfdStaticSessConfigEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            ""
        INDEX  { zxr10BfdStaticSessSerial }
        ::= { zxr10BfdStaticSessTable 1 }
        
    Zxr10BfdStaticSessConfigEntry ::= SEQUENCE {
            zxr10BfdStaticSessSerial
                    Integer32,
            zxr10BfdStaticSessName        
                    DisplayString,
            zxr10BfdStaticSessBindType        
                    INTEGER,
            zxr10BfdStaticSessPeerIp
                    IpAddress,    
            zxr10BfdStaticSessIfDefaultIp
                    TruthValue,
            zxr10BfdStaticSessDefaultIp
                    IpAddress,                        
            zxr10BfdStaticSessSourceIp
                    IpAddress,
            zxr10BfdStaticSessInterfaceName
                    DisplayString,    
            zxr10BfdStaticSessVrfName
                    DisplayString,    
            zxr10BfdStaticSessLocalDisc
                    Unsigned32,
            zxr10BfdStaticSessRemoteDisc
                    Unsigned32,        
            zxr10BfdStaticSessMult
                    Integer32,
            zxr10BfdStaticSessMinTx
                    Integer32,
            zxr10BfdStaticSessMinRx
                    Integer32                                    
    }

    zxr10BfdStaticSessSerial  OBJECT-TYPE
        SYNTAX  Integer32 
        MAX-ACCESS  read-only 
        STATUS  current
        DESCRIPTION
            ""
        ::= { zxr10BfdStaticSessConfigEntry 1 }  
        
    zxr10BfdStaticSessName  OBJECT-TYPE
        SYNTAX  DisplayString 
        MAX-ACCESS  read-only 
        STATUS  current
        DESCRIPTION
            "Session name"
        ::= { zxr10BfdStaticSessConfigEntry 2 } 
        
    zxr10BfdStaticSessBindType  OBJECT-TYPE
        SYNTAX     INTEGER  
        {
            none(0),
            link-bfd(1),
            peer-bfd(2)
        }
        MAX-ACCESS  read-only 
        STATUS  current
        DESCRIPTION
            "Set bfd type"
        DEFVAL       { 0 }
        ::= { zxr10BfdStaticSessConfigEntry 3 }
        
    zxr10BfdStaticSessPeerIp  OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only 
        STATUS  current
        DESCRIPTION
            "BFD peer IPv4 address"
        ::= { zxr10BfdStaticSessConfigEntry 4 }   
        
    zxr10BfdStaticSessIfDefaultIp  OBJECT-TYPE
        SYNTAX     TruthValue
        MAX-ACCESS  read-only 
        STATUS  current
        DESCRIPTION
            "If true(1) Link BFD use default ip as peer IPv4 address"
        ::= { zxr10BfdStaticSessConfigEntry 5 }

    zxr10BfdStaticSessDefaultIp  OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only 
        STATUS  current
        DESCRIPTION
            "BFD default multicast IPv4 address"
        ::= { zxr10BfdStaticSessConfigEntry 6 }
        
    zxr10BfdStaticSessSourceIp  OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only 
        STATUS  current
        DESCRIPTION
            "BFD source IPv4 address"
        ::= { zxr10BfdStaticSessConfigEntry 7 }
    
    zxr10BfdStaticSessInterfaceName  OBJECT-TYPE
        SYNTAX  DisplayString    
        MAX-ACCESS  read-only 
        STATUS  current
        DESCRIPTION
            "Set Link BFD out interface name"
        ::= { zxr10BfdStaticSessConfigEntry 8 }    
        
    zxr10BfdStaticSessVrfName  OBJECT-TYPE
        SYNTAX  DisplayString    
        MAX-ACCESS  read-only 
        STATUS  current
        DESCRIPTION
            "Vrf Name"
        ::= { zxr10BfdStaticSessConfigEntry 9 }    
        
    zxr10BfdStaticSessLocalDisc  OBJECT-TYPE
        SYNTAX  Unsigned32 
        MAX-ACCESS  read-only 
        STATUS  current
        DESCRIPTION
            "BFD session local discriminator"
        ::= { zxr10BfdStaticSessConfigEntry 10 }  
        
    zxr10BfdStaticSessRemoteDisc  OBJECT-TYPE
        SYNTAX  Unsigned32 
        MAX-ACCESS  read-only 
        STATUS  current
        DESCRIPTION
            "BFD session remote discriminator"
        ::= { zxr10BfdStaticSessConfigEntry 11 }  
        
    zxr10BfdStaticSessMult  OBJECT-TYPE
        SYNTAX  Integer32 (3..50)
        MAX-ACCESS  read-only 
        STATUS  current
        DESCRIPTION
            "BFD session detect multiplier"
        ::= { zxr10BfdStaticSessConfigEntry 12 }  
        
    zxr10BfdStaticSessMinTx  OBJECT-TYPE
        SYNTAX  Integer32 (10..999)
        MAX-ACCESS  read-only 
        STATUS  current
        DESCRIPTION
            "BFD session min transmit packet interval"
        ::= { zxr10BfdStaticSessConfigEntry 13 } 
        
    zxr10BfdStaticSessMinRx  OBJECT-TYPE
        SYNTAX  Integer32 (10..999)
        MAX-ACCESS  read-only 
        STATUS  current
        DESCRIPTION
            "BFD session min receive packet interval"
        ::= { zxr10BfdStaticSessConfigEntry 14 } 

END