JUNIPER-BFD-MIB DEFINITIONS ::= BEGIN  
   IMPORTS 
      MODULE-IDENTITY, OBJECT-TYPE,  
      Unsigned32, NOTIFICATION-TYPE
         FROM SNMPv2-SMI                        -- [RFC2578]
    
      bfdSessIndex 
         FROM BFD-STD-MIB                       -- [jnx-bfd-exp]

      DisplayString, TimeStamp, TruthValue
         FROM SNMPv2-TC

      jnxBfdMibRoot                             -- [jnx-smi] 
         FROM JUNIPER-SMI
   ; 
    
   jnxBfdMib MODULE-IDENTITY 
      LAST-UPDATED "200610121200Z"  -- 12 Oct 2006 12:00:00 EST 
      ORGANIZATION "IETF" 
      CONTACT-INFO 
            "        Juniper Technical Assistance Center
                     Juniper Networks, Inc.
                     1194 N. Mathilda Avenue
                     Sunnyvale, CA 94089
                     E-mail: support@juniper.net"

      DESCRIPTION 
          "Provides BFD specific data." 
    
      -- Revision history. 
      REVISION 
          "200610121200Z"  -- 12 Oct 2006 12:00:00 EST 
      DESCRIPTION 
          "Initial version." 
   ::= { jnxBfdMibRoot 1 }

   -- Top level components of this MIB module. 

   jnxBfdNotification   OBJECT IDENTIFIER ::= { jnxBfdMib 0 }

   jnxBfdObjects       OBJECT IDENTIFIER ::= { jnxBfdMib 1 }

   jnxBfdNotifyObjects OBJECT IDENTIFIER ::= { jnxBfdMib 2 }

   --  BFD Session Extn Table
   --  This table is a juniper extn to jnxSessTable

   jnxBfdSessTable OBJECT-TYPE
      SYNTAX   SEQUENCE OF JnxBfdSessEntry
      MAX-ACCESS   not-accessible
      STATUS   current
      DESCRIPTION
              "Defines the jnxBfd Session Table for providing enterprise 
               specific options to the corresponding bfdSessTable entry."
      ::= { jnxBfdObjects 1 }

   jnxBfdSessEntry OBJECT-TYPE
      SYNTAX      JnxBfdSessEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
              "Defines an entry in the jnxBfdSessTable.  This essentially
               augments the bfdSessTable with additional objects." 
      INDEX { bfdSessIndex }
      ::= { jnxBfdSessTable 1 }

   JnxBfdSessEntry ::=
      SEQUENCE {
         jnxBfdSessThreshTxInterval        Unsigned32,
         jnxBfdSessCurrTxInterval          Unsigned32,
         jnxBfdSessThreshDectTime          Unsigned32,
         jnxBfdSessCurrDectTime            Unsigned32
      }

   jnxBfdSessThreshTxInterval OBJECT-TYPE
      SYNTAX      Unsigned32
      UNITS       "microseconds"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The threshold value for transmit interval in microseconds.  
           If the current transmit interval value adapts to a value 
           greater than the  threshold value, jnxBfdSessTxIntervalHigh 
           trap is raised."
      ::= { jnxBfdSessEntry 1}

   jnxBfdSessCurrTxInterval OBJECT-TYPE
      SYNTAX      Unsigned32
      UNITS       "microseconds"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The current transmit interval in microseconds." 
      ::= { jnxBfdSessEntry 2}

   jnxBfdSessThreshDectTime OBJECT-TYPE
      SYNTAX      Unsigned32
      UNITS       "microseconds"
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The threshold value for detection time in microseconds.  
           If the current detection time value is greater than the  
           threshold value at the time when session state changes 
           to up(1), jnxBfdSessDetectionTimeHigh trap is raised."
      ::= { jnxBfdSessEntry 3}

   jnxBfdSessCurrDectTime OBJECT-TYPE
      SYNTAX      Unsigned32
      UNITS       "microseconds"
      MAX-ACCESS  read-only 
      STATUS      current
      DESCRIPTION
          "The actual value of detection time for the session."
      ::= { jnxBfdSessEntry 4} 

      -- Notification Objects 

   jnxBfdSessifName OBJECT-TYPE
      SYNTAX      DisplayString
      MAX-ACCESS  accessible-for-notify
      STATUS      current
      DESCRIPTION
         "This object gives the Interface Name in the bfdSessUp and 
	  bfdSessDown trap. Even though this object doesnt appear in 
	  the OBJECTS list of these traps, but the agent relay this 
	  information as an extra parameter in the trap."
      ::= { jnxBfdNotifyObjects 1}

   -- Notification Configuration
  
   jnxBfdSessTxIntervalHigh NOTIFICATION-TYPE 
      OBJECTS     {jnxBfdSessThreshTxInterval, 
                   jnxBfdSessCurrTxInterval 
      } 
      STATUS      current 
      DESCRIPTION 
          "This notification is generated when the threshold value for 
           transmit interval (jnxBfdSessThreshTxInterval) is set and 
           the bfd session transmit interval (jnxBfdSessCurrTxInterval)
           adapts to a value greater than the threshold value. This trap 
           is sent only once, when we first exceed the threshold. The 
           transmit interval can continue  to adapt beyond the threshold 
           value. Adaptation of transmit interval happens due to network 
           issues causing the BFD session to go down on either the local 
           system or the remote neighbor."
      ::= { jnxBfdNotification 1 } 
 
 
   jnxBfdSessDetectionTimeHigh  NOTIFICATION-TYPE 
      OBJECTS     {jnxBfdSessThreshDectTime, 
                   jnxBfdSessCurrDectTime 
      } 
      STATUS      current 
      DESCRIPTION 
          "This notification is generated when the threshold value for 
           detection time (jnxBfdSessThreshDectTime) is set and the bfd 
           session detection-time (jnxBfdSessCurrDectTime) adapts to a 
           value greater than the threshold value. This trap is sent only 
           once, when we first exceed the threshold. The detection-time 
           can continue to adapt beyond the threshold value. Adaptation 
           of detection-time happens due to network issues causing the 
           BFD session to go down on either the local system or the remote 
           neighbor."
      ::= { jnxBfdNotification 2 } 
 
END   