-- ################################################################################

EXTREME-IETF-BFD-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
            mib-2, Integer32, Unsigned32, Counter32, Counter64
            FROM SNMPv2-SMI

        TruthValue, RowStatus, StorageType, TimeStamp
            FROM SNMPv2-TC

        MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
            FROM SNMPv2-CONF

        InterfaceIndexOrZero
            FROM IF-MIB

        InetAddress, InetAddressType, InetPortNumber
            FROM INET-ADDRESS-MIB

        extremeBfd                  FROM EXTREME-BASE-MIB

        ExtremeBfdSessIndexTC, ExtremeBfdIntervalTC, ExtremeBfdMultiplierTC, 
        ExtremeBfdDiagTC, ExtremeBfdSessTypeTC, ExtremeBfdSessOperModeTC, 
        ExtremeBfdCtrlDestPortNumberTC, ExtremeBfdCtrlSourcePortNumberTC, 
        ExtremeBfdSessStateTC, ExtremeBfdSessAuthenticationTypeTC, 
        ExtremeBfdSessionAuthenticationKeyTC
            FROM EXTREME-IETF-BFD-TC-MIB;


    extremeIetfBfdMib MODULE-IDENTITY
        LAST-UPDATED "201212171200Z" -- 17 December 2012 12:00:00 EST
        ORGANIZATION "IETF Bidirectional Forwarding Detection
                      Working Group"
        CONTACT-INFO
            "Thomas D. Nadeau
             Juniper Networks
             Email:  tnadeau@lucidvision.com

             Zafar Ali
             Cisco Systems, Inc.
             Email:  zali@cisco.com

             Nobo Akiya
             Cisco Systems, G.K.
             Email:  nobo@cisco.com"
        DESCRIPTION
            "Bidirectional Forwarding Management Information Base."
        REVISION "201212171200Z" -- 17 December 2012 12:00:00 EST
        DESCRIPTION
            "Initial version. Published as RFC xxxx."

--      DESCRIPTION
--        This MIB module is based on Internet Draft draft-ietf-bfd-mib-12.txt.
--        In this initial version, extreme keyword is prepended before every
--        Textual Convention; this is the only difference when compared to
--        draft-ietf-bfd-mib-12.txt.

 -- RFC Ed.: RFC-editor pls fill in xxxx
        ::= { extremeBfd 2 }
 -- RFC Ed.: assigned by IANA, see section 7.1 for details

 -- Top level components of this MIB module.

    extremeBfdNotifications OBJECT IDENTIFIER ::= { extremeIetfBfdMib 0 }

    extremeBfdObjects       OBJECT IDENTIFIER ::= { extremeIetfBfdMib 1 }

    extremeBfdConformance   OBJECT IDENTIFIER ::= { extremeIetfBfdMib 2 }

    extremeBfdScalarObjects OBJECT IDENTIFIER ::= { extremeBfdObjects 1 }

 -- BFD General Variables

 -- These parameters apply globally to the Systems'
 -- BFD Process.

    extremeBfdAdminStatus OBJECT-TYPE
        SYNTAX     INTEGER {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "The global administrative status of BFD in this device.
             The value 'enabled' denotes that the BFD Process is
             active on at least one interface; 'disabled' disables
             it on all interfaces."
        DEFVAL { enabled }
        ::= { extremeBfdScalarObjects 1 }

    extremeBfdSessNotificationsEnable 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 extremeBfdSessUp and extremeBfdSessDown
             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 }
        ::= { extremeBfdScalarObjects 2 }

 -- BFD Session Table
 -- The BFD Session Table specifies BFD session specific
 -- information.

    extremeBfdSessTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ExtremeBfdSessEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The BFD Session Table describes the BFD sessions."
        REFERENCE
            "Katz, D. and D. Ward, Bidirectional Forwarding
              Detection (BFD), RFC 5880, June 2012."
        ::= { extremeBfdObjects 2 }

    extremeBfdSessEntry OBJECT-TYPE
        SYNTAX     ExtremeBfdSessEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The BFD Session Entry describes BFD session."
        INDEX { extremeBfdSessIndex }
        ::= { extremeBfdSessTable 1 }

    ExtremeBfdSessEntry ::= SEQUENCE {
        extremeBfdSessIndex                    ExtremeBfdSessIndexTC,
        extremeBfdSessVersionNumber            Unsigned32,
        extremeBfdSessType                     ExtremeBfdSessTypeTC,
        extremeBfdSessDiscriminator            Unsigned32,
        extremeBfdSessRemoteDiscr              Unsigned32,
        extremeBfdSessDestinationUdpPort       ExtremeBfdCtrlDestPortNumberTC,
        extremeBfdSessSourceUdpPort            ExtremeBfdCtrlSourcePortNumberTC,
        extremeBfdSessEchoSourceUdpPort        InetPortNumber,
        extremeBfdSessAdminStatus              INTEGER,
        extremeBfdSessState                    ExtremeBfdSessStateTC,
        extremeBfdSessRemoteHeardFlag          TruthValue,
        extremeBfdSessDiag                     ExtremeBfdDiagTC,
        extremeBfdSessOperMode                 ExtremeBfdSessOperModeTC,
        extremeBfdSessDemandModeDesiredFlag    TruthValue,
        extremeBfdSessControlPlaneIndepFlag    TruthValue,
        extremeBfdSessMultipointFlag           TruthValue,
        extremeBfdSessInterface                InterfaceIndexOrZero,
        extremeBfdSessSrcAddrType              InetAddressType,
        extremeBfdSessSrcAddr                  InetAddress,
        extremeBfdSessDstAddrType              InetAddressType,
        extremeBfdSessDstAddr                  InetAddress,
        extremeBfdSessGTSM                     TruthValue,
        extremeBfdSessGTSMTTL                  Unsigned32,
        extremeBfdSessDesiredMinTxInterval     ExtremeBfdIntervalTC,
        extremeBfdSessReqMinRxInterval         ExtremeBfdIntervalTC,
        extremeBfdSessReqMinEchoRxInterval     ExtremeBfdIntervalTC,
        extremeBfdSessDetectMult               ExtremeBfdMultiplierTC,
        extremeBfdSessNegotiatedInterval       ExtremeBfdIntervalTC,
        extremeBfdSessNegotiatedEchoInterval   ExtremeBfdIntervalTC,
        extremeBfdSessNegotiatedDetectMult     ExtremeBfdMultiplierTC,
        extremeBfdSessAuthPresFlag             TruthValue,
        extremeBfdSessAuthenticationType       ExtremeBfdSessAuthenticationTypeTC,
        extremeBfdSessAuthenticationKeyID      Integer32,
        extremeBfdSessAuthenticationKey        ExtremeBfdSessionAuthenticationKeyTC,
        extremeBfdSessStorageType              StorageType,
        extremeBfdSessRowStatus                RowStatus
    }

    extremeBfdSessIndex OBJECT-TYPE
        SYNTAX     ExtremeBfdSessIndexTC
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "This object contains an index used to represent a
             unique BFD session on this device."
        ::= { extremeBfdSessEntry 1 }

    extremeBfdSessVersionNumber OBJECT-TYPE
        SYNTAX     Unsigned32 (0..7)
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "The version number of the BFD protocol that this session
             is running in. Write access is available for this object
             to provide ability to set desired version for this
             BFD session."
        REFERENCE
            "Katz, D. and D. Ward, Bidirectional Forwarding
              Detection (BFD), RFC 5880, June 2012."
        DEFVAL { 1 }
        ::= { extremeBfdSessEntry 2 }

    extremeBfdSessType OBJECT-TYPE
        SYNTAX     ExtremeBfdSessTypeTC
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies the type of this BFD session."
        ::= { extremeBfdSessEntry 3 }

    extremeBfdSessDiscriminator 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."
        ::= { extremeBfdSessEntry 4 }

    extremeBfdSessRemoteDiscr OBJECT-TYPE
        SYNTAX     Unsigned32 (0 | 1..4294967295)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object specifies the session discriminator chosen
             by the remote system for this BFD session.  The value may
             be zero(0) if the remote discriminator is not yet known
             or if the session is in the down or adminDown(1) state."
        REFERENCE
            "Section 6.8.6, from Katz, D. and D. Ward, Bidirectional 
             Forwarding Detection (BFD), RFC 5880, June 2012."
        ::= { extremeBfdSessEntry 5 }

    extremeBfdSessDestinationUdpPort OBJECT-TYPE
        SYNTAX     ExtremeBfdCtrlDestPortNumberTC
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies the destination UDP port number
             used for this BFD session's control packets. The value
             may be zero(0) if the session is in adminDown(1) state."
        DEFVAL { 0 }
        ::= { extremeBfdSessEntry 6 }

    extremeBfdSessSourceUdpPort OBJECT-TYPE
        SYNTAX     ExtremeBfdCtrlSourcePortNumberTC
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies the source UDP port number used
             for this BFD session's control packets. The value may be
             zero(0) if the session is in adminDown(1) state. Upon
             creation of a new BFD session via this MIB, the value of
             zero(0) specified would permit the implementation to
             chose its own source port number."
        DEFVAL { 0 }
        ::= { extremeBfdSessEntry 7 }

    extremeBfdSessEchoSourceUdpPort OBJECT-TYPE
        SYNTAX     InetPortNumber
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies the source UDP port number used for
             this BFD session's echo packets. The value may be zero(0)
             if the session is not running in the echo mode, or the
             session is in adminDown(1) state. Upon creation of a new
             BFD session via this MIB, the value of zero(0) would
             permit the implementation to chose its own source port
             number."
        DEFVAL { 0 }
        ::= { extremeBfdSessEntry 8 }

    extremeBfdSessAdminStatus OBJECT-TYPE
        SYNTAX     INTEGER {
                            stop(1),
                            start(2)
                   }
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
                "A transition from 'stop' to 'start' will start
                 the BFD state machine for the session. The state
                 machine will have an initial state of down.
                 A transition from 'start' to 'stop' will cause
                 the BFD sesssion to be brought down to
                 adminDown(1). Care should be used in providing
                 write access to this object without adequate
                 authentication."
        DEFVAL { 2 }
        ::= { extremeBfdSessEntry 9 }

    extremeBfdSessState OBJECT-TYPE
        SYNTAX     ExtremeBfdSessStateTC
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "BFD session state."
        DEFVAL { 2 }
        ::= { extremeBfdSessEntry 10 }

    extremeBfdSessRemoteHeardFlag 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(2) 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."
        REFERENCE
            "Katz, D. and D. Ward, Bidirectional 
             Forwarding Detection (BFD), RFC 5880, June 2012."
        DEFVAL { false }
        ::= { extremeBfdSessEntry 11 }

    extremeBfdSessDiag OBJECT-TYPE
        SYNTAX     ExtremeBfdDiagTC
        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(4)
             to some other state."
        ::= { extremeBfdSessEntry 12 }

    extremeBfdSessOperMode OBJECT-TYPE
        SYNTAX     ExtremeBfdSessOperModeTC
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies current operating mode that BFD
             session is operating in."
        ::= { extremeBfdSessEntry 13 }

    extremeBfdSessDemandModeDesiredFlag 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(2) if not"
        DEFVAL { false }
        ::= { extremeBfdSessEntry 14 }

    extremeBfdSessControlPlaneIndepFlag OBJECT-TYPE
        SYNTAX     TruthValue
        MAX-ACCESS read-create
        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(2)"
        DEFVAL { false }
        ::= { extremeBfdSessEntry 15 }

    extremeBfdSessMultipointFlag OBJECT-TYPE
        SYNTAX     TruthValue
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object indicates the Multipoint (M) bit for this
             session. It is set to true(1) if Multipoint (M) bit is
             set to 1. Otherwise, the value is set to false(2)"
        DEFVAL { false }
        ::= { extremeBfdSessEntry 16 }

    extremeBfdSessInterface OBJECT-TYPE
        SYNTAX     InterfaceIndexOrZero
        MAX-ACCESS read-create
        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."
        ::= { extremeBfdSessEntry 17 }

    extremeBfdSessSrcAddrType OBJECT-TYPE
        SYNTAX     InetAddressType
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies IP address type of the source IP
             address of this BFD session. Only values unknown(0),
             ipv4(1), ipv6(2), or ipv6z(4) have to be supported.
             The value of unknown(0) is allowed only when the session
             is singleHop(1) and the source IP address of this BFD
             session is drived from the outgoing interface, 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."
      ::= { extremeBfdSessEntry 18 }

    extremeBfdSessSrcAddr OBJECT-TYPE
        SYNTAX     InetAddress
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies the source IP address of this BFD
             session."
        ::= { extremeBfdSessEntry 19 }

    extremeBfdSessDstAddrType OBJECT-TYPE
        SYNTAX     InetAddressType
        MAX-ACCESS read-create
        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), ipv6(2), or ipv6z(4)
             have to be supported. The value of unknown(0) is allowed
             only when the session is singleHop(1) and 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."
      ::= { extremeBfdSessEntry 20 }

    extremeBfdSessDstAddr OBJECT-TYPE
        SYNTAX     InetAddress
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies the neighboring IP address which is
             being monitored with this BFD session."
        ::= { extremeBfdSessEntry 21 }

    extremeBfdSessGTSM OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
           "Setting the value of this object to true(1) will enable GTSM
            protection of the BFD session.  GTSM MUST be enabled on a
            singleHop(1) session if no authentication is in use."
        REFERENCE
           "RFC5082, The Generalized TTL Security Mechanism (GTSM).
            RFC5881, Section 5"
        DEFVAL { false }
        ::= { extremeBfdSessEntry 22 }

    extremeBfdSessGTSMTTL OBJECT-TYPE
        SYNTAX Unsigned32 (0..255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object is valid only when extremeBfdSessGTSM protection is
             enabled on the system. This object specifies the minimum
             allowed TTL for received BFD control packets. For
             singleHop(1) session, if GTSM protection is enabled,
             this object SHOULD be set to maximum TTL allowed for
             single hop. The value of zero(0) indicates that
             extremeBfdSessGTSM is disabled."
        REFERENCE
           "RFC5082, The Generalized TTL Security Mechanism (GTSM).
            RFC5881, Section 5"
        DEFVAL { 0 }
        ::= { extremeBfdSessEntry 23 }

    extremeBfdSessDesiredMinTxInterval OBJECT-TYPE
        SYNTAX     ExtremeBfdIntervalTC
        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. The value of
             zero(0) is reserved, and should not be used."
        REFERENCE
            "Section 4.1 from Katz, D. and D. Ward, Bidirectional 
             Forwarding Detection (BFD), RFC 5880, June 2012."
        ::= { extremeBfdSessEntry 24 }

    extremeBfdSessReqMinRxInterval OBJECT-TYPE
        SYNTAX     ExtremeBfdIntervalTC
        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. The value of
             zero(0) can be specified when the transmitting system
             does not want the remote system to send any periodic BFD
             control packets."
        REFERENCE
            "Section 4.1 from Katz, D. and D. Ward, Bidirectional 
             Forwarding Detection (BFD), RFC 5880, June 2012."
        ::= { extremeBfdSessEntry 25 }

    extremeBfdSessReqMinEchoRxInterval OBJECT-TYPE
        SYNTAX     ExtremeBfdIntervalTC
        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. Value must be zero(0) if
             this is a multihop BFD session."
        ::= { extremeBfdSessEntry 26 }

    extremeBfdSessDetectMult OBJECT-TYPE
        SYNTAX     ExtremeBfdMultiplierTC
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "This object specifies the Detect time multiplier."
        ::= { extremeBfdSessEntry 27 }

    extremeBfdSessNegotiatedInterval OBJECT-TYPE
        SYNTAX     ExtremeBfdIntervalTC
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object specifies the negotiated interval, in
             microseconds, that the local system is transmitting
             BFD Control packets."
        ::= { extremeBfdSessEntry 28 }

    extremeBfdSessNegotiatedEchoInterval OBJECT-TYPE
        SYNTAX     ExtremeBfdIntervalTC
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object specifies the negotiated interval, in
             microseconds, that the local system is transmitting
             BFD echo packets. Value is expected to be zero if
             the sessions is not running in echo mode."
        ::= { extremeBfdSessEntry 29 }

    extremeBfdSessNegotiatedDetectMult OBJECT-TYPE
        SYNTAX     ExtremeBfdMultiplierTC
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object specifies the Detect time multiplier."
        ::= { extremeBfdSessEntry 30 }

    extremeBfdSessAuthPresFlag 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(2) if not."
        REFERENCE
            "Sections 4.2 - 4.4 from Katz, D. and D. Ward, 
             Bidirectional Forwarding Detection (BFD), RFC 5880, 
             June 2012."
        DEFVAL { false }
        ::= { extremeBfdSessEntry 31 }

    extremeBfdSessAuthenticationType OBJECT-TYPE
        SYNTAX     ExtremeBfdSessAuthenticationTypeTC
        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. Max-access to this object as well as
             other authentication related objects are set to
             read-create in order to support management of a single
             key ID at a time, key rotation is not handled. Key update
             in practice must be done by atomic update using a set
             containing all affected objects in the same varBindList
             or otherwise risk the session dropping. Value -1
             indicates that no authentication is in use for this
             session."
        REFERENCE
            "Sections 4.2 - 4.4 from Katz, D. and D. Ward, 
             Bidirectional Forwarding Detection (BFD), RFC 5880, 
             June 2012."
        DEFVAL { -1 }
        ::= { extremeBfdSessEntry 32 }

    extremeBfdSessAuthenticationKeyID OBJECT-TYPE
        SYNTAX     Integer32 (-1 | 0..255)
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "The authentication key ID in use for this session.  This
             object permits multiple keys to be active simultaneously.
             When extremeBfdSessAuthPresFlag is false(2), then the value
             of this object MUST be -1.  The value -1 indicates that
             no Authentication Key ID will be present in the optional
             BFD Authentication Section."
        REFERENCE
            "Sections 4.2 - 4.4 from Katz, D. and D. Ward, 
             Bidirectional Forwarding Detection (BFD), RFC 5880, 
             June 2012."
        DEFVAL { -1 }
        ::= { extremeBfdSessEntry 33 }

    extremeBfdSessAuthenticationKey OBJECT-TYPE
        SYNTAX     ExtremeBfdSessionAuthenticationKeyTC
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "The authentication key.  When the
             extremeBfdSessAuthenticationType is simplePassword(1), the value
             of this object is the password present in the BFD packets.

             When the extremeBfdSessAuthentication type is one of the keyed
             authentication types, this value is used in the
             computation of the key present in the BFD authentication
             packet."
        REFERENCE
            "Sections 4.2 - 4.4 from from Katz, D. and D. Ward, 
             Bidirectional Forwarding Detection (BFD), RFC 5880, 
             June 2012."
        ::= { extremeBfdSessEntry 34 }

    extremeBfdSessStorageType 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."
        ::= { extremeBfdSessEntry 35 }

    extremeBfdSessRowStatus 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
             extremeBfdSessRowStatus and extremeBfdSessStorageType."
        ::= { extremeBfdSessEntry 36 }

 -- BFD Session Performance Table

    extremeBfdSessPerfTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ExtremeBfdSessPerfEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "This table specifies BFD Session performance counters."
        ::= { extremeBfdObjects 3 }

    extremeBfdSessPerfEntry OBJECT-TYPE
        SYNTAX     ExtremeBfdSessPerfEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "An entry in this table is created by a BFD-enabled node
             for every BFD Session. extremeBfdSessPerfDiscTime is used to
             indicate potential discontinuity for all counter objects
             in this table."
        AUGMENTS    { extremeBfdSessEntry }
        ::= { extremeBfdSessPerfTable 1 }

    ExtremeBfdSessPerfEntry ::= SEQUENCE {
       extremeBfdSessPerfCtrlPktIn           Counter32,
       extremeBfdSessPerfCtrlPktOut          Counter32,
       extremeBfdSessPerfCtrlPktDrop         Counter32,
       extremeBfdSessPerfCtrlPktDropLastTime TimeStamp,
       extremeBfdSessPerfEchoPktIn           Counter32,
       extremeBfdSessPerfEchoPktOut          Counter32,
       extremeBfdSessPerfEchoPktDrop         Counter32,
       extremeBfdSessPerfEchoPktDropLastTime TimeStamp,
       extremeBfdSessUpTime                  TimeStamp,
       extremeBfdSessPerfLastSessDownTime    TimeStamp,
       extremeBfdSessPerfLastCommLostDiag    ExtremeBfdDiagTC,
       extremeBfdSessPerfSessUpCount         Counter32,
       extremeBfdSessPerfDiscTime            TimeStamp,

       -- High Capacity Counters
       extremeBfdSessPerfCtrlPktInHC         Counter64,
       extremeBfdSessPerfCtrlPktOutHC        Counter64,
       extremeBfdSessPerfCtrlPktDropHC       Counter64,
       extremeBfdSessPerfEchoPktInHC         Counter64,
       extremeBfdSessPerfEchoPktOutHC        Counter64,
       extremeBfdSessPerfEchoPktDropHC       Counter64
    }

 -- Ed Note: should we add per-diag code counts here,

    extremeBfdSessPerfCtrlPktIn OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The total number of BFD control messages received for this
             BFD session.

             It MUST be equal to the least significant 32 bits of
             extremeBfdSessPerfCtrlPktInHC if supported, and MUST do so
             with the rules spelled out in RFC 2863."             
        ::= { extremeBfdSessPerfEntry 1 }

    extremeBfdSessPerfCtrlPktOut OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The total number of BFD control messages sent for this BFD
             session. 

             It MUST be equal to the least significant 32 bits of
             extremeBfdSessPerfCtrlPktOutHC if supported, and MUST do so
             with the rules spelled out in RFC 2863."             
        ::= { extremeBfdSessPerfEntry 2 }

    extremeBfdSessPerfCtrlPktDrop OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The total number of BFD control messages received for this
             session yet dropped for being invalid. 

             It MUST be equal to the least significant 32 bits of
             extremeBfdSessPerfCtrlPktDropHC if supported, and MUST do so
             with the rules spelled out in RFC 2863."             
        ::= { extremeBfdSessPerfEntry 3 }

    extremeBfdSessPerfCtrlPktDropLastTime OBJECT-TYPE
        SYNTAX     TimeStamp
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The value of sysUpTime on the most recent occasion at
             which received BFD control message for this session was
             dropped. If no such up event exists, this object contains
             a zero value."
        ::= { extremeBfdSessPerfEntry 4 }

    extremeBfdSessPerfEchoPktIn OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The total number of BFD echo messages received for this
             BFD session. 

             It MUST be equal to the least significant 32 bits of
             extremeBfdSessPerfEchoPktInHC if supported, and MUST do so
             with the rules spelled out in RFC 2863."             
        ::= { extremeBfdSessPerfEntry 5 }

    extremeBfdSessPerfEchoPktOut OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The total number of BFD echo messages sent for this BFD
             session. 

             It MUST be equal to the least significant 32 bits of
             extremeBfdSessPerfEchoPktOutHC if supported, and MUST do so
             with the rules spelled out in RFC 2863."             
        ::= { extremeBfdSessPerfEntry 6 }

    extremeBfdSessPerfEchoPktDrop OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The total number of BFD echo messages received for this
             session yet dropped for being invalid. 

             It MUST be equal to the least significant 32 bits of
             extremeBfdSessPerfEchoPktDropHC if supported, and MUST do so
             with the rules spelled out in RFC 2863."             
        ::= { extremeBfdSessPerfEntry 7 }

    extremeBfdSessPerfEchoPktDropLastTime OBJECT-TYPE
        SYNTAX     TimeStamp
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The value of sysUpTime on the most recent occasion at
             which received BFD echo message for this session was
             dropped. If no such up event exists, this object contains
             a zero value."
        ::= { extremeBfdSessPerfEntry 8 }

    extremeBfdSessUpTime 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."
        ::= { extremeBfdSessPerfEntry 9 }

    extremeBfdSessPerfLastSessDownTime 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."
        ::= { extremeBfdSessPerfEntry 10 }

    extremeBfdSessPerfLastCommLostDiag OBJECT-TYPE
        SYNTAX     ExtremeBfdDiagTC
        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."
        ::= { extremeBfdSessPerfEntry 11 }

    extremeBfdSessPerfSessUpCount 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 system last rebooted."
        ::= { extremeBfdSessPerfEntry 12 }

    extremeBfdSessPerfDiscTime 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."
        ::= { extremeBfdSessPerfEntry 13 }

    extremeBfdSessPerfCtrlPktInHC OBJECT-TYPE
        SYNTAX     Counter64
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This value represents the total number of BFD control
             messages received for this BFD session. 

             The least significant 32 bits MUST equal to
             extremeBfdSessPerfCtrlPktIn, and MUST do so with
             the rules spelled out in RFC 2863."
        ::= { extremeBfdSessPerfEntry 14 }

    extremeBfdSessPerfCtrlPktOutHC OBJECT-TYPE
        SYNTAX     Counter64
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This value represents the total number of BFD control
             messages transmitted for this BFD session.
             The least significant 32 bits MUST equal to
             extremeBfdSessPerfCtrlPktOut, and MUST do so with
             the rules spelled out in RFC 2863."
        ::= { extremeBfdSessPerfEntry 15 }

    extremeBfdSessPerfCtrlPktDropHC OBJECT-TYPE
        SYNTAX     Counter64
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This value represents the total number of BFD control
             messages received for this BFD session yet dropped for
             being invalid.

             The least significant 32 bits MUST equal to
             extremeBfdSessPerfCtrlPktDrop, and MUST do so with
             the rules spelled out in RFC 2863."
        ::= { extremeBfdSessPerfEntry 16 }

    extremeBfdSessPerfEchoPktInHC OBJECT-TYPE
        SYNTAX     Counter64
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This value represents the total number of BFD echo
             messages received for this BFD session.

             The least significant 32 bits MUST equal to
             extremeBfdSessPerfEchoPktIn, and MUST do so with
             the rules spelled out in RFC 2863."
        ::= { extremeBfdSessPerfEntry 17 }

    extremeBfdSessPerfEchoPktOutHC OBJECT-TYPE
        SYNTAX     Counter64
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This value represents the total number of BFD echo
             messages transmitted for this BFD session.
             The least significant 32 bits MUST equal to
             extremeBfdSessPerfEchoPktOut, and MUST do so with
             the rules spelled out in RFC 2863."
        ::= { extremeBfdSessPerfEntry 18 }

    extremeBfdSessPerfEchoPktDropHC OBJECT-TYPE
        SYNTAX     Counter64
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This value represents the total number of BFD echo
             messages received for this BFD session yet dropped
             for being invalid.
             The least significant 32 bits MUST equal to
             extremeBfdSessPerfEchoPktDrop, and MUST do so with
             the rules spelled out in RFC 2863."
        ::= { extremeBfdSessPerfEntry 19 }

 -- BFD Session Discriminator Mapping Table

    extremeBfdSessDiscMapTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ExtremeBfdSessDiscMapEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The BFD Session Discriminator Mapping Table maps a
             local discriminator value to associated BFD session's
             ExtremeBfdSessIndexTC used in the extremeBfdSessionTable."
        ::= { extremeBfdObjects 4 }

    extremeBfdSessDiscMapEntry OBJECT-TYPE
        SYNTAX     ExtremeBfdSessDiscMapEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The BFD Session Discriminator Map Entry describes
             BFD session that is mapped to this ExtremeBfdSessIndexTC."

        INDEX { extremeBfdSessDiscriminator }
        ::= { extremeBfdSessDiscMapTable 1 }

    ExtremeBfdSessDiscMapEntry ::= SEQUENCE {
        extremeBfdSessDiscMapIndex            ExtremeBfdSessIndexTC,
        extremeBfdSessDiscMapStorageType      StorageType,
        extremeBfdSessDiscMapRowStatus        RowStatus
    }

    extremeBfdSessDiscMapIndex OBJECT-TYPE
        SYNTAX     ExtremeBfdSessIndexTC
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object specifies the ExtremeBfdSessIndexTC referred to by
             the indices of this row. In essence, a mapping is
             provided between these indexes and the extremeBfdSessTable."
        ::= { extremeBfdSessDiscMapEntry 1 }

    extremeBfdSessDiscMapStorageType 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."
        ::= { extremeBfdSessDiscMapEntry 2 }

    extremeBfdSessDiscMapRowStatus 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
             extremeBfdSessDiscMapRowStatus and extremeBfdSessDiscMapStorageType."
        ::= { extremeBfdSessDiscMapEntry 3 }

 -- BFD Session IP Mapping Table

    extremeBfdSessIpMapTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ExtremeBfdSessIpMapEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The BFD Session IP Mapping Table maps given
             extremeBfdSessInterface, extremeBfdSessSrcAddrType, extremeBfdSessSrcAddr,
             extremeBfdSessDstAddrType and extremeBfdSessDstAddr to an associated 
             BFD session's ExtremeBfdSessIndexTC used in
             the extremeBfdSessionTable."
        ::= { extremeBfdObjects 5 }

    extremeBfdSessIpMapEntry OBJECT-TYPE
        SYNTAX     ExtremeBfdSessIpMapEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
           "The BFD Session IP Map Entry describes
            BFD session that is mapped to this ExtremeBfdSessIndexTC."
        INDEX {
            extremeBfdSessInterface,
            extremeBfdSessSrcAddrType,
            extremeBfdSessSrcAddr,
            extremeBfdSessDstAddrType,
            extremeBfdSessDstAddr
        }
        ::= { extremeBfdSessIpMapTable 1 }

    ExtremeBfdSessIpMapEntry ::= SEQUENCE {
        extremeBfdSessIpMapIndex            ExtremeBfdSessIndexTC,
        extremeBfdSessIpMapStorageType      StorageType,
        extremeBfdSessIpMapRowStatus        RowStatus
    }

    extremeBfdSessIpMapIndex OBJECT-TYPE
        SYNTAX     ExtremeBfdSessIndexTC
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object specifies the ExtremeBfdSessIndexTC referred to by
             the indexes of this row. In essence, a mapping is
             provided between these indexes and the extremeBfdSessTable."
        ::= { extremeBfdSessIpMapEntry 1 }

    extremeBfdSessIpMapStorageType 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."
        ::= { extremeBfdSessIpMapEntry 2 }

    extremeBfdSessIpMapRowStatus 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
             extremeBfdSessIpMapRowStatus and extremeBfdSessIpMapStorageType."
        ::= { extremeBfdSessIpMapEntry 3 }

 -- Notification Configuration

    extremeBfdSessUp NOTIFICATION-TYPE
        OBJECTS {
            extremeBfdSessDiag,  -- low range value 
            extremeBfdSessOperMode   -- high range value
        }
        STATUS     current
        DESCRIPTION
            "This notification is generated when the
             extremeBfdSessState object for one or more contiguous
             entries in extremeBfdSessTable are about to enter the up(4)
             state from some other state. The included values of
             extremeBfdSessDiag MUST both be set equal to this
             new state (i.e: up(4)).  The two instances of
             extremeBfdSessDiag 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 extremeBfdSessEntry, then
             the instance identifier (and values) of the two
             extremeBfdSessDiag objects MUST be the identical."
        ::= { extremeBfdNotifications 1 }

    extremeBfdSessDown NOTIFICATION-TYPE
        OBJECTS {
            extremeBfdSessDiag, -- low range value
            extremeBfdSessOperMode  -- high range value
        }
        STATUS     current
        DESCRIPTION
             "This notification is generated when the
             extremeBfdSessState object for one or more contiguous
             entries in extremeBfdSessTable are about to enter the down(2)
             or adminDown(1) states from some other state. The included
             values of extremeBfdSessDiag MUST both be set equal to this new
             state (i.e: down(2) or adminDown(1)).  The two instances
             of extremeBfdSessDiag 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 extremeBfdSessEntry, then
             the instance identifier (and values) of the two
             extremeBfdSessDiag objects MUST be the identical."
        ::= { extremeBfdNotifications 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.


 -- Module compliance.

    extremeBfdGroups
        OBJECT IDENTIFIER ::= { extremeBfdConformance 1 }

    extremeBfdCompliances
        OBJECT IDENTIFIER ::= { extremeBfdConformance 2 }

 -- Compliance requirement for fully compliant implementations.

    extremeBfdModuleFullCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
            "Compliance statement for agents that provide full
             support for the BFD-MIB module. Such devices can
             then be monitored and also be configured using
             this MIB module."
        MODULE -- This module.

        MANDATORY-GROUPS {
            extremeBfdSessionGroup,
            extremeBfdSessionReadOnlyGroup,
            extremeBfdSessionPerfGroup,
            extremeBfdNotificationGroup
        }

        GROUP        extremeBfdSessionPerfHCGroup
        DESCRIPTION  "This group is mandatory for all systems that
                      are able to support the Counter64 date type."

        OBJECT       extremeBfdSessSrcAddrType
        SYNTAX       InetAddressType 
        DESCRIPTION  "Only unknown(0), ipv4(1), ipv6(2) and ipv6z(4)
                      support are required."

        OBJECT       extremeBfdSessSrcAddr
        SYNTAX       InetAddress (SIZE (0|4|16|20))
        DESCRIPTION  "An implementation is only required to support
                      unknown(0), ipv4(1), ipv6(2) and ipv6z(4) sizes."

        OBJECT       extremeBfdSessDstAddrType
        SYNTAX       InetAddressType 
        DESCRIPTION  "Only unknown(0), ipv4(1), ipv6(2) and ipv6z(4)
                      support are required."

        OBJECT       extremeBfdSessDstAddr
        SYNTAX       InetAddress (SIZE (0|4|16|20))
        DESCRIPTION  "An implementation is only required to support
                      unknown(0), ipv4(1), ipv6(2) and ipv6z(4) sizes."

        OBJECT       extremeBfdSessRowStatus
        SYNTAX       RowStatus 
        WRITE-SYNTAX RowStatus 
        DESCRIPTION  "Support for createAndWait and notReady is not
                      required."

        OBJECT       extremeBfdSessDiscMapRowStatus
        SYNTAX       RowStatus 
        WRITE-SYNTAX RowStatus 
        DESCRIPTION  "Support for createAndWait and notReady is not
                      required."

        OBJECT       extremeBfdSessIpMapRowStatus
        SYNTAX       RowStatus 
        WRITE-SYNTAX RowStatus 
        DESCRIPTION  "Support for createAndWait and notReady is not
                      required."

        ::= { extremeBfdCompliances 1 }

    extremeBfdModuleReadOnlyCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
            "Compliance requirement for implementations that only
             provide read-only support for BFD-MIB. Such devices
             can then be monitored but cannot be configured using
             this MIB module."

        MODULE -- This module.

        MANDATORY-GROUPS {
            extremeBfdSessionGroup,
            extremeBfdSessionReadOnlyGroup,
            extremeBfdSessionPerfGroup,
            extremeBfdNotificationGroup
        }

        GROUP        extremeBfdSessionPerfHCGroup
        DESCRIPTION  "This group is mandatory for all systems that
                      are able to support the Counter64 date type."

        OBJECT       extremeBfdSessVersionNumber
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessType
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessDestinationUdpPort
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessSourceUdpPort
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessEchoSourceUdpPort
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessAdminStatus
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessOperMode
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessDemandModeDesiredFlag
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessControlPlaneIndepFlag
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessMultipointFlag
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessInterface
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessSrcAddrType
        SYNTAX       InetAddressType 
                                    
        MIN-ACCESS   read-only
        DESCRIPTION  "Only unknown(0), ipv4(1), ipv6(2) and ipv6z(4)
                      support are required."

        OBJECT       extremeBfdSessSrcAddr
        SYNTAX       InetAddress (SIZE (0|4|16|20))
        MIN-ACCESS   read-only
        DESCRIPTION  "An implementation is only required to support
                      unknown(0), ipv4(1), ipv6(2) and ipv6z(4) sizes."

        OBJECT       extremeBfdSessDstAddrType
        SYNTAX       InetAddressType 
                                   
        MIN-ACCESS   read-only
        DESCRIPTION  "Only unknown(0), ipv4(1), ipv6(2) and ipv6z(4)
                      support are required."

        OBJECT       extremeBfdSessDstAddr
        SYNTAX       InetAddress (SIZE (0|4|16|20))
        MIN-ACCESS   read-only
        DESCRIPTION  "An implementation is only required to support
                      unknown(0), ipv4(1), ipv6(2) and ipv6z(4) sizes."

        OBJECT       extremeBfdSessGTSM
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessGTSMTTL
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessDesiredMinTxInterval
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessReqMinRxInterval
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessReqMinEchoRxInterval
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessDetectMult
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessAuthPresFlag
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessAuthenticationType
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessAuthenticationKeyID
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessAuthenticationKey
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessStorageType
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessRowStatus
        SYNTAX       RowStatus 
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessDiscMapStorageType
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessDiscMapRowStatus
        SYNTAX       RowStatus 
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessIpMapStorageType
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        OBJECT       extremeBfdSessIpMapRowStatus
        SYNTAX       RowStatus 
        MIN-ACCESS   read-only
        DESCRIPTION  "Write access is not required."

        ::= { extremeBfdCompliances 2 }

 -- Units of conformance.

    extremeBfdSessionGroup OBJECT-GROUP
        OBJECTS {
            extremeBfdAdminStatus,
            extremeBfdSessNotificationsEnable,
            extremeBfdSessVersionNumber,
            extremeBfdSessType,
            extremeBfdSessDestinationUdpPort,
            extremeBfdSessSourceUdpPort,
            extremeBfdSessEchoSourceUdpPort,
            extremeBfdSessAdminStatus,
            extremeBfdSessOperMode,
            extremeBfdSessDemandModeDesiredFlag,
            extremeBfdSessControlPlaneIndepFlag,
            extremeBfdSessMultipointFlag,
            extremeBfdSessInterface,
            extremeBfdSessSrcAddrType,
            extremeBfdSessSrcAddr,
            extremeBfdSessDstAddrType,
            extremeBfdSessDstAddr,
            extremeBfdSessGTSM,
            extremeBfdSessGTSMTTL,
            extremeBfdSessDesiredMinTxInterval,
            extremeBfdSessReqMinRxInterval,
            extremeBfdSessReqMinEchoRxInterval,
            extremeBfdSessDetectMult,
            extremeBfdSessAuthPresFlag,
            extremeBfdSessAuthenticationType,
            extremeBfdSessAuthenticationKeyID,
            extremeBfdSessAuthenticationKey,
            extremeBfdSessStorageType,
            extremeBfdSessRowStatus,
            extremeBfdSessDiscMapStorageType,
            extremeBfdSessDiscMapRowStatus,
            extremeBfdSessIpMapStorageType,
            extremeBfdSessIpMapRowStatus
        }
        STATUS     current
        DESCRIPTION
            "Collection of objects needed for BFD sessions."
        ::= { extremeBfdGroups 1 }

    extremeBfdSessionReadOnlyGroup OBJECT-GROUP
        OBJECTS {
            extremeBfdSessDiscriminator,
            extremeBfdSessRemoteDiscr,
            extremeBfdSessState,
            extremeBfdSessRemoteHeardFlag,
            extremeBfdSessDiag,
            extremeBfdSessNegotiatedInterval,
            extremeBfdSessNegotiatedEchoInterval,
            extremeBfdSessNegotiatedDetectMult,
            extremeBfdSessDiscMapIndex,
            extremeBfdSessIpMapIndex
        }
        STATUS     current
        DESCRIPTION
            "Collection of read-only objects needed for BFD sessions."
        ::= { extremeBfdGroups 2 }

    extremeBfdSessionPerfGroup OBJECT-GROUP
        OBJECTS {
            extremeBfdSessPerfCtrlPktIn,
            extremeBfdSessPerfCtrlPktOut,
            extremeBfdSessPerfCtrlPktDrop,
            extremeBfdSessPerfCtrlPktDropLastTime,
            extremeBfdSessPerfEchoPktIn,
            extremeBfdSessPerfEchoPktOut,
            extremeBfdSessPerfEchoPktDrop,
            extremeBfdSessPerfEchoPktDropLastTime,
            extremeBfdSessUpTime,
            extremeBfdSessPerfLastSessDownTime,
            extremeBfdSessPerfLastCommLostDiag,
            extremeBfdSessPerfSessUpCount,
            extremeBfdSessPerfDiscTime
        }
        STATUS     current
        DESCRIPTION
            "Collection of objects needed to monitor the
             performance of BFD sessions."
        ::= { extremeBfdGroups 3 }

    extremeBfdSessionPerfHCGroup OBJECT-GROUP
        OBJECTS {
            extremeBfdSessPerfCtrlPktInHC,
            extremeBfdSessPerfCtrlPktOutHC,
            extremeBfdSessPerfCtrlPktDropHC,
            extremeBfdSessPerfEchoPktInHC,
            extremeBfdSessPerfEchoPktOutHC,
            extremeBfdSessPerfEchoPktDropHC
        }
        STATUS     current
        DESCRIPTION
            "Collection of objects needed to monitor the
             performance of BFD sessions for which the
             values of extremeBfdSessPerfPktIn, extremeBfdSessPerfPktOut
             wrap around too quickly."
        ::= { extremeBfdGroups 4 }

    extremeBfdNotificationGroup NOTIFICATION-GROUP
        NOTIFICATIONS {
            extremeBfdSessUp,
            extremeBfdSessDown
        }
        STATUS     current
        DESCRIPTION
            "Set of notifications implemented in this
             module."
        ::= { extremeBfdGroups 5 }

    END
