GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


rfc:rfc7331

Internet Engineering Task Force (IETF) T. Nadeau Request for Comments: 7331 Brocade Category: Standards Track Z. Ali ISSN: 2070-1721 N. Akiya

                                                         Cisco Systems
                                                           August 2014
Bidirectional Forwarding Detection (BFD) Management Information Base

Abstract

 This document defines a portion of the Management Information Base
 (MIB) for use with network management protocols in the Internet
 community.  In particular, it describes managed objects for modeling
 the Bidirectional Forwarding Detection (BFD) protocol.

Status of This Memo

 This is an Internet Standards Track document.
 This document is a product of the Internet Engineering Task Force
 (IETF).  It represents the consensus of the IETF community.  It has
 received public review and has been approved for publication by the
 Internet Engineering Steering Group (IESG).  Further information on
 Internet Standards is available in Section 2 of RFC 5741.
 Information about the current status of this document, any errata,
 and how to provide feedback on it may be obtained at
 http://www.rfc-editor.org/info/rfc7331.

Copyright Notice

 Copyright (c) 2014 IETF Trust and the persons identified as the
 document authors.  All rights reserved.
 This document is subject to BCP 78 and the IETF Trust's Legal
 Provisions Relating to IETF Documents
 (http://trustee.ietf.org/license-info) in effect on the date of
 publication of this document.  Please review these documents
 carefully, as they describe your rights and restrictions with respect
 to this document.  Code Components extracted from this document must
 include Simplified BSD License text as described in Section 4.e of
 the Trust Legal Provisions and are provided without warranty as
 described in the Simplified BSD License.

Nadeau, et al. Standards Track [Page 1] RFC 7331 BFD-STD-MIB August 2014

Table of Contents

 1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
 2.  The Internet-Standard Management Framework  . . . . . . . . .   2
 3.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
 4.  Brief Description of MIB Objects  . . . . . . . . . . . . . .   3
   4.1.  General Variables . . . . . . . . . . . . . . . . . . . .   3
   4.2.  Session Table (bfdSessionTable) . . . . . . . . . . . . .   3
   4.3.  Session Performance Table (bfdSessionPerfTable) . . . . .   3
   4.4.  BFD Session Discriminator Mapping Table
         (bfdSessDiscMapTable) . . . . . . . . . . . . . . . . . .   3
   4.5.  BFD Session IP Mapping Table (bfdSessIpMapTable)  . . . .   4
 5.  BFD MIB Module Definitions  . . . . . . . . . . . . . . . . .   4
 6.  Security Considerations . . . . . . . . . . . . . . . . . . .  35
 7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  37
 8.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .  37
 9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  38
   9.1.  Normative References  . . . . . . . . . . . . . . . . . .  38
   9.2.  Informative References  . . . . . . . . . . . . . . . . .  39

1. Introduction

 This memo defines a portion of the MIB for use with network
 management protocols in the Internet community.  In particular, it
 describes managed objects to configure and/or monitor Bidirectional
 Forwarding Detection for [RFC5880], [RFC5881], [RFC5883], and
 [RFC7130], BFD versions 0 and/or 1, on devices supporting this
 feature.
 This memo does not define a compliance requirement for a system that
 only implements BFD version 0.  This is a reflection of a considered
 and deliberate decision by the BFD WG because the BFD version 0
 protocol is primarily of historical interest by comparison to the
 widespread deployment of the BFD version 1 protocol.

2. The Internet-Standard Management Framework

 For a detailed overview of the documents that describe the current
 Internet-Standard Management Framework, please refer to section 7 of
 RFC 3410 [RFC3410].
 Managed objects are accessed via a virtual information store, termed
 the Management Information Base or MIB.  MIB objects are generally
 accessed through the Simple Network Management Protocol (SNMP).
 Objects in the MIB are defined using the mechanisms defined in the
 Structure of Management Information (SMI).  This memo specifies a MIB
 module that is compliant to the SMIv2, which is described in STD 58,

Nadeau, et al. Standards Track [Page 2] RFC 7331 BFD-STD-MIB August 2014

 RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
 [RFC2580].
 As with all MIB modules, an attempt to SET or CREATE an object to a
 value that is not supported by the implementation will result in a
 failure using a return code that indicates that the value is not
 supported.

3. Terminology

 This document adopts the definitions, acronyms, and mechanisms
 described in [RFC5880], [RFC5881], [RFC5883], and [RFC7130].  Unless
 otherwise stated, the mechanisms described therein will not be
 redescribed here.
 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
 "OPTIONAL" in this document are to be interpreted as described in BCP
 14, RFC 2119 [RFC2119].

4. Brief Description of MIB Objects

 This section describes objects pertaining to BFD.  The MIB objects
 are derived from [RFC5880], [RFC5881], [RFC5883], and [RFC7130], and
 also include textual conventions defined in [RFC7330].

4.1. General Variables

 The General Variables are used to identify parameters that are global
 to the BFD process.

4.2. Session Table (bfdSessionTable)

 The session table is used to identify a BFD session between a pair of
 nodes.

4.3. Session Performance Table (bfdSessionPerfTable)

 The session performance table is used for collecting BFD performance
 counters on a per-session basis.  This table is an AUGMENT to the
 bfdSessionTable.

4.4. BFD Session Discriminator Mapping Table (bfdSessDiscMapTable)

 The BFD Session Discriminator Mapping Table provides a mapping
 between a local discriminator value to the associated BFD session
 found in the bfdSessionTable.

Nadeau, et al. Standards Track [Page 3] RFC 7331 BFD-STD-MIB August 2014

4.5. BFD Session IP Mapping Table (bfdSessIpMapTable)

 Given bfdSessInterface, bfdSessSrcAddrType, bfdSessSrcAddr,
 bfdSessDstAddrType, and bfdSessSrcAddrType, the BFD Session IP
 Mapping Table maps to an associated BFD session found in the
 bfdSessionTable.  This table SHOULD contain those BFD sessions that
 are of type "IP".

5. BFD MIB Module Definitions

 This MIB module makes references to the following documents:
 [RFC2578], [RFC2579], [RFC2580], [RFC2863], [RFC3289], [RFC3413],
 [RFC5082], [RFC5880], and [RFC5881].

BFD-STD-MIB DEFINITIONS ::= BEGIN

IMPORTS

   MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
       mib-2, Integer32, Unsigned32, Counter32, Counter64
       FROM SNMPv2-SMI                       -- RFC 2578
   TruthValue, RowStatus, StorageType, TimeStamp
       FROM SNMPv2-TC                        -- RFC 2579
   MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
       FROM SNMPv2-CONF                      -- RFC 2580
   InterfaceIndexOrZero
       FROM IF-MIB                           -- RFC 2863
   InetAddress, InetAddressType, InetPortNumber
       FROM INET-ADDRESS-MIB
   IndexIntegerNextFree
       FROM DIFFSERV-MIB                     -- RFC 3289
   BfdSessIndexTC, BfdIntervalTC, BfdMultiplierTC,
   BfdCtrlDestPortNumberTC, BfdCtrlSourcePortNumberTC
       FROM BFD-TC-STD-MIB
   IANAbfdDiagTC, IANAbfdSessTypeTC, IANAbfdSessOperModeTC,
   IANAbfdSessStateTC, IANAbfdSessAuthenticationTypeTC,
   IANAbfdSessAuthenticationKeyTC
       FROM IANA-BFD-TC-STD-MIB;

Nadeau, et al. Standards Track [Page 4] RFC 7331 BFD-STD-MIB August 2014

bfdMIB MODULE-IDENTITY

   LAST-UPDATED "201408120000Z" -- 12 August 2014 00:00:00 GMT
   ORGANIZATION "IETF Bidirectional Forwarding Detection
                 Working Group"
   CONTACT-INFO
       "Thomas D. Nadeau
        Brocade
        Email:  tnadeau@lucidvision.com
        Zafar Ali
        Cisco Systems, Inc.
        Email:  zali@cisco.com
        Nobo Akiya
        Cisco Systems, Inc.
        Email:  nobo@cisco.com
        Comments about this document should be emailed
        directly to the BFD Working Group mailing list
        at rtg-bfd@ietf.org"
   DESCRIPTION
       "Bidirectional Forwarding Management Information Base.
        Copyright (c) 2014 IETF Trust and the persons identified
        as authors of the code.  All rights reserved.
        Redistribution and use in source and binary forms, with
        or without modification, is permitted pursuant to, and
        subject to the license terms contained in, the Simplified
        BSD License set forth in Section 4.c of the IETF Trust's
        Legal Provisions Relating to IETF Documents
        (http://trustee.ietf.org/license-info)."
   REVISION "201408120000Z" -- 12 August 2014 00:00:00 GMT
   DESCRIPTION
       "Initial version.  Published as RFC 7331."
   ::= { mib-2 222 }

– Top-level components of this MIB module.

bfdNotifications OBJECT IDENTIFIER ::= { bfdMIB 0 }

bfdObjects OBJECT IDENTIFIER ::= { bfdMIB 1 }

bfdConformance OBJECT IDENTIFIER ::= { bfdMIB 2 }

bfdScalarObjects OBJECT IDENTIFIER ::= { bfdObjects 1 }

Nadeau, et al. Standards Track [Page 5] RFC 7331 BFD-STD-MIB August 2014

– BFD General Variables – These parameters apply globally to the system's – BFD process.

bfdAdminStatus OBJECT-TYPE

   SYNTAX     INTEGER {
       enabled(1),
       disabled(2),
       adminDown(3),
       down(4)
   }
   MAX-ACCESS read-write
   STATUS     current
   DESCRIPTION
       "The desired global administrative status of the
        BFD system in this device."
   ::= { bfdScalarObjects 1 }

bfdOperStatus OBJECT-TYPE

   SYNTAX     INTEGER {
       up(1),
       down(2),
       adminDown(3)
   }
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
       "Indicates the actual operational status of the
        BFD system in this device.  When this value is
        down(2), all entries in the bfdSessTable MUST have
        their bfdSessOperStatus as down(2) as well.  When
        this value is adminDown(3), all entries in the
        bfdSessTable MUST have their bfdSessOperStatus
        as adminDown(3) as well."
   ::= { bfdScalarObjects 2 }

bfdNotificationsEnable 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 bfdSessUp and bfdSessDown
        notifications; otherwise, these notifications are not
        emitted."

Nadeau, et al. Standards Track [Page 6] RFC 7331 BFD-STD-MIB August 2014

   REFERENCE
       "See also RFC 3413, Simple Network Management Protocol (SNMP)
        Applications, for explanation that
        notifications are under the ultimate control of the
        MIB modules in this document."
   DEFVAL { false }
   ::= { bfdScalarObjects 3 }

bfdSessIndexNext OBJECT-TYPE

   SYNTAX        IndexIntegerNextFree (0..4294967295)
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
       "This object contains an unused value for
        bfdSessIndex that can be used when creating
        entries in the table.  A zero indicates that
        no entries are available, but it MUST NOT be used
        as a valid index. "
   ::= { bfdScalarObjects 4 }

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

bfdSessTable OBJECT-TYPE

   SYNTAX     SEQUENCE OF BfdSessEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
       "The BFD Session Table describes the BFD sessions."
   REFERENCE
       "RFC 5880, Bidirectional Forwarding Detection (BFD)."
   ::= { bfdObjects 2 }

bfdSessEntry OBJECT-TYPE

   SYNTAX     BfdSessEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
       "The BFD Session Entry describes the BFD session."
   INDEX { bfdSessIndex }
   ::= { bfdSessTable 1 }

BfdSessEntry ::= SEQUENCE {

   bfdSessIndex                    BfdSessIndexTC,
   bfdSessVersionNumber            Unsigned32,
   bfdSessType                     IANAbfdSessTypeTC,
   bfdSessDiscriminator            Unsigned32,

Nadeau, et al. Standards Track [Page 7] RFC 7331 BFD-STD-MIB August 2014

   bfdSessRemoteDiscr              Unsigned32,
   bfdSessDestinationUdpPort       BfdCtrlDestPortNumberTC,
   bfdSessSourceUdpPort            BfdCtrlSourcePortNumberTC,
   bfdSessEchoSourceUdpPort        InetPortNumber,
   bfdSessAdminStatus              INTEGER,
   bfdSessOperStatus               INTEGER,
   bfdSessState                    IANAbfdSessStateTC,
   bfdSessRemoteHeardFlag          TruthValue,
   bfdSessDiag                     IANAbfdDiagTC,
   bfdSessOperMode                 IANAbfdSessOperModeTC,
   bfdSessDemandModeDesiredFlag    TruthValue,
   bfdSessControlPlaneIndepFlag    TruthValue,
   bfdSessMultipointFlag           TruthValue,
   bfdSessInterface                InterfaceIndexOrZero,
   bfdSessSrcAddrType              InetAddressType,
   bfdSessSrcAddr                  InetAddress,
   bfdSessDstAddrType              InetAddressType,
   bfdSessDstAddr                  InetAddress,
   bfdSessGTSM                     TruthValue,
   bfdSessGTSMTTL                  Unsigned32,
   bfdSessDesiredMinTxInterval     BfdIntervalTC,
   bfdSessReqMinRxInterval         BfdIntervalTC,
   bfdSessReqMinEchoRxInterval     BfdIntervalTC,
   bfdSessDetectMult               BfdMultiplierTC,
   bfdSessNegotiatedInterval       BfdIntervalTC,
   bfdSessNegotiatedEchoInterval   BfdIntervalTC,
   bfdSessNegotiatedDetectMult     BfdMultiplierTC,
   bfdSessAuthPresFlag             TruthValue,
   bfdSessAuthenticationType       IANAbfdSessAuthenticationTypeTC,
   bfdSessAuthenticationKeyID      Integer32,
   bfdSessAuthenticationKey        IANAbfdSessAuthenticationKeyTC,
   bfdSessStorageType              StorageType,
   bfdSessRowStatus                RowStatus

}

bfdSessIndex OBJECT-TYPE

   SYNTAX     BfdSessIndexTC
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
       "This object contains an index used to represent a
        unique BFD session on this device.  Managers
        should obtain new values for row creation in this
        table by reading bfdSessIndexNext."
   ::= { bfdSessEntry 1 }

Nadeau, et al. Standards Track [Page 8] RFC 7331 BFD-STD-MIB August 2014

bfdSessVersionNumber 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 the ability to set the desired version for this
        BFD session."
   REFERENCE
       "RFC 5880, Bidirectional Forwarding Detection (BFD)."
   DEFVAL { 1 }
   ::= { bfdSessEntry 2 }

bfdSessType OBJECT-TYPE

   SYNTAX     IANAbfdSessTypeTC
   MAX-ACCESS read-create
   STATUS     current
   DESCRIPTION
       "This object specifies the type of this BFD session."
   ::= { bfdSessEntry 3 }

bfdSessDiscriminator OBJECT-TYPE

   SYNTAX     Unsigned32 (1..4294967295)
   MAX-ACCESS read-create
   STATUS     current
   DESCRIPTION
       "This object specifies the local discriminator for this BFD
        session, which is used to uniquely identify it."
   ::= { bfdSessEntry 4 }

bfdSessRemoteDiscr 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 of RFC 5880, Bidirectional
        Forwarding Detection (BFD)."
   ::= { bfdSessEntry 5 }

Nadeau, et al. Standards Track [Page 9] RFC 7331 BFD-STD-MIB August 2014

bfdSessDestinationUdpPort OBJECT-TYPE

   SYNTAX     BfdCtrlDestPortNumberTC
   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 }
   ::= { bfdSessEntry 6 }

bfdSessSourceUdpPort OBJECT-TYPE

   SYNTAX     BfdCtrlSourcePortNumberTC
   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
        choose its own source port number."
   DEFVAL { 0 }
   ::= { bfdSessEntry 7 }

bfdSessEchoSourceUdpPort 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 choose its own source port
        number."
   DEFVAL { 0 }
   ::= { bfdSessEntry 8 }

bfdSessAdminStatus OBJECT-TYPE

   SYNTAX     INTEGER {
                       enabled(1),
                       disabled(2),
                       adminDown(3),
                       down(4)
              }
   MAX-ACCESS read-create

Nadeau, et al. Standards Track [Page 10] RFC 7331 BFD-STD-MIB August 2014

   STATUS     current
   DESCRIPTION
       "Denotes the desired operational status of the BFD session.
        A transition to enabled(1) will start the BFD state machine
        for the session.  The state machine will have an initial
        state of down(2).
        A transition to disabled(2) will stop the BFD state machine
        for the session.  The state machine may first transition to
        adminDown(1) prior to stopping.
        A transition to adminDown(3) will cause the BFD state
        machine to transition to adminDown(1) and will cause the
        session to remain in this state.
        A transition to down(4) will cause the BFD state machine
        to transition to down(2) and will cause the session to
        remain in this state.
        Care should be used in providing write access to this
        object without adequate authentication."
   ::= { bfdSessEntry 9 }

bfdSessOperStatus OBJECT-TYPE

   SYNTAX     INTEGER {
                       up(1),
                       down(2),
                       adminDown(3)
              }
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
       "Denotes the actual operational status of the BFD session.
        If the value of bfdOperStatus is down(2), this value MUST
        eventually be down(2) as well.  If the value of
        bfdOperStatus is adminDown(3), this value MUST eventually
        be adminDown(3) as well."
   ::= { bfdSessEntry 10 }

bfdSessState OBJECT-TYPE

   SYNTAX     IANAbfdSessStateTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
       "Configured BFD session state."
   ::= { bfdSessEntry 11 }

Nadeau, et al. Standards Track [Page 11] RFC 7331 BFD-STD-MIB August 2014

bfdSessRemoteHeardFlag OBJECT-TYPE

   SYNTAX     TruthValue
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
       "This object specifies the 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
       "RFC 5880, Bidirectional Forwarding Detection (BFD)."
   ::= { bfdSessEntry 12 }

bfdSessDiag OBJECT-TYPE

   SYNTAX     IANAbfdDiagTC
   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."
   ::= { bfdSessEntry 13 }

bfdSessOperMode OBJECT-TYPE

   SYNTAX     IANAbfdSessOperModeTC
   MAX-ACCESS read-create
   STATUS     current
   DESCRIPTION
       "This object specifies the operational mode of this
        BFD session."
   ::= { bfdSessEntry 14 }

bfdSessDemandModeDesiredFlag OBJECT-TYPE

   SYNTAX     TruthValue
   MAX-ACCESS read-create
   STATUS     current
   DESCRIPTION
       "This object indicates 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 }
   ::= { bfdSessEntry 15 }

Nadeau, et al. Standards Track [Page 12] RFC 7331 BFD-STD-MIB August 2014

bfdSessControlPlaneIndepFlag OBJECT-TYPE

   SYNTAX     TruthValue
   MAX-ACCESS read-create
   STATUS     current
   DESCRIPTION
       "This object indicates 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 }
   ::= { bfdSessEntry 16 }

bfdSessMultipointFlag 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 the Multipoint (M) bit is
        set to 1.  Otherwise, the value is set to false(2)."
   DEFVAL { false }
   ::= { bfdSessEntry 17 }

bfdSessInterface OBJECT-TYPE

   SYNTAX     InterfaceIndexOrZero
   MAX-ACCESS read-create
   STATUS     current
   DESCRIPTION
       "This object contains an interface index used to indicate
        the interface that this BFD session is running on.  This
        value can be zero if there is no interface associated
        with this BFD session."
   ::= { bfdSessEntry 18 }

bfdSessSrcAddrType OBJECT-TYPE

   SYNTAX     InetAddressType
   MAX-ACCESS read-create
   STATUS     current
   DESCRIPTION
       "This object specifies the IP address type of the source IP
        address of this BFD session.  The value of unknown(0) is
        allowed only when the session is singleHop(1) and the
        source IP address of this BFD session is derived 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

Nadeau, et al. Standards Track [Page 13] RFC 7331 BFD-STD-MIB August 2014

        agent MUST return an inconsistentValue error."
 ::= { bfdSessEntry 19 }

bfdSessSrcAddr OBJECT-TYPE

   SYNTAX     InetAddress
   MAX-ACCESS read-create
   STATUS     current
   DESCRIPTION
       "This object specifies the source IP address of this BFD
        session.  The format of this object is controlled by the
        bfdSessSrcAddrType object."
   ::= { bfdSessEntry 20 }

bfdSessDstAddrType OBJECT-TYPE

   SYNTAX     InetAddressType
   MAX-ACCESS read-create
   STATUS     current
   DESCRIPTION
       "This object specifies the IP address type of the neighboring
        IP address that is being monitored with this BFD session.
        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."
 ::= { bfdSessEntry 21 }

bfdSessDstAddr OBJECT-TYPE

   SYNTAX     InetAddress
   MAX-ACCESS read-create
   STATUS     current
   DESCRIPTION
       "This object specifies the neighboring IP address that is
        being monitored with this BFD session.  The format of this
        object is controlled by the bfdSessDstAddrType object."
   ::= { bfdSessEntry 22 }

bfdSessGTSM OBJECT-TYPE

   SYNTAX  TruthValue
   MAX-ACCESS read-create
   STATUS current
   DESCRIPTION
       "Setting the value of this object to false(2) will disable
        GTSM protection of the BFD session.  GTSM MUST be enabled
        on a singleHop(1) session if no authentication is in use."

Nadeau, et al. Standards Track [Page 14] RFC 7331 BFD-STD-MIB August 2014

   REFERENCE
      "RFC 5082, The Generalized TTL Security Mechanism (GTSM).
       Section 5 of RFC 5881, Bidirectional Forwarding Detection
       (BFD) for IPv4 and IPv6 (Single Hop)."
   DEFVAL { true }
   ::= { bfdSessEntry 23 }

bfdSessGTSMTTL OBJECT-TYPE

   SYNTAX Unsigned32 (0..255)
   MAX-ACCESS read-create
   STATUS current
   DESCRIPTION
       "This object is valid only when bfdSessGTSM protection is
        enabled on the system.  This object indicates the minimum
        allowed Time to Live (TTL) for received BFD Control packets.
        For a singleHop(1) session, if GTSM protection is enabled,
        this object SHOULD be set to the maximum TTL value allowed
        for a single hop.
        By default, GTSM is enabled and the TTL value is 255.  For a
        multihop session, updating of the maximum TTL value allowed
        is likely required."
   REFERENCE
      "RFC 5082, The Generalized TTL Security Mechanism (GTSM).
       Section 5 of RFC 5881, Bidirectional Forwarding Detection
       (BFD) for IPv4 and IPv6 (Single Hop)."
   DEFVAL { 255 }
   ::= { bfdSessEntry 24 }

bfdSessDesiredMinTxInterval OBJECT-TYPE

   SYNTAX     BfdIntervalTC
   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 in this case and should not be
        used."
   REFERENCE
       "Section 4.1 of RFC 5880, Bidirectional Forwarding
        Detection (BFD)."
   ::= { bfdSessEntry 25 }

bfdSessReqMinRxInterval OBJECT-TYPE

   SYNTAX     BfdIntervalTC
   MAX-ACCESS read-create
   STATUS     current

Nadeau, et al. Standards Track [Page 15] RFC 7331 BFD-STD-MIB August 2014

   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 of RFC 5880, Bidirectional Forwarding
        Detection (BFD)."
   ::= { bfdSessEntry 26 }

bfdSessReqMinEchoRxInterval OBJECT-TYPE

   SYNTAX     BfdIntervalTC
   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.  The value must be zero(0) if
        this is a multihop BFD session."
   ::= { bfdSessEntry 27 }

bfdSessDetectMult OBJECT-TYPE

   SYNTAX     BfdMultiplierTC
   MAX-ACCESS read-create
   STATUS     current
   DESCRIPTION
       "This object specifies the Detect time multiplier."
   ::= { bfdSessEntry 28 }

bfdSessNegotiatedInterval OBJECT-TYPE

   SYNTAX     BfdIntervalTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
       "This object specifies the negotiated interval, in
        microseconds, that the local system is transmitting
        BFD Control packets."
   ::= { bfdSessEntry 29 }

bfdSessNegotiatedEchoInterval OBJECT-TYPE

   SYNTAX     BfdIntervalTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
       "This object specifies the negotiated interval, in
        microseconds, that the local system is transmitting

Nadeau, et al. Standards Track [Page 16] RFC 7331 BFD-STD-MIB August 2014

        BFD Echo packets.  The value is expected to be zero if
        the sessions are not running in Echo mode."
   ::= { bfdSessEntry 30 }

bfdSessNegotiatedDetectMult OBJECT-TYPE

   SYNTAX     BfdMultiplierTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
       "This object specifies the Detect time multiplier."
   ::= { bfdSessEntry 31 }

bfdSessAuthPresFlag OBJECT-TYPE

   SYNTAX     TruthValue
   MAX-ACCESS read-create
   STATUS     current
   DESCRIPTION
       "This object indicates 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 of RFC 5880, Bidirectional Forwarding
        Detection (BFD)."
   DEFVAL { false }
   ::= { bfdSessEntry 32 }

bfdSessAuthenticationType OBJECT-TYPE

   SYNTAX     IANAbfdSessAuthenticationTypeTC
   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."
   REFERENCE
       "Sections 4.2 - 4.4 of RFC 5880, Bidirectional Forwarding
        Detection (BFD)."
   DEFVAL { noAuthentication }
   ::= { bfdSessEntry 33 }

Nadeau, et al. Standards Track [Page 17] RFC 7331 BFD-STD-MIB August 2014

bfdSessAuthenticationKeyID 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.
        The value -1 indicates that no authentication key ID will
        be present in the optional BFD Authentication Section."
   REFERENCE
       "Sections 4.2 - 4.4 of RFC 5880, Bidirectional Forwarding
        Detection (BFD)."
   DEFVAL { -1 }
   ::= { bfdSessEntry 34 }

bfdSessAuthenticationKey OBJECT-TYPE

   SYNTAX     IANAbfdSessAuthenticationKeyTC
   MAX-ACCESS read-create
   STATUS     current
   DESCRIPTION
       "The authentication key.  When the
        bfdSessAuthenticationType is simplePassword(1), the value
        of this object is the password present in the BFD packets.
        When the bfdSessAuthenticationType 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 of RFC 5880, Bidirectional Forwarding
        Detection (BFD)."
   ::= { bfdSessEntry 35 }

bfdSessStorageType 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."
   ::= { bfdSessEntry 36 }

bfdSessRowStatus OBJECT-TYPE

   SYNTAX     RowStatus
   MAX-ACCESS read-create
   STATUS     current

Nadeau, et al. Standards Track [Page 18] RFC 7331 BFD-STD-MIB August 2014

   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
        bfdSessRowStatus and bfdSessStorageType."
   ::= { bfdSessEntry 37 }

– BFD Session Performance Table

bfdSessPerfTable OBJECT-TYPE

   SYNTAX     SEQUENCE OF BfdSessPerfEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
       "This table specifies BFD session performance counters."
   ::= { bfdObjects 3 }

bfdSessPerfEntry OBJECT-TYPE

   SYNTAX     BfdSessPerfEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
       "An entry in this table is created by a BFD-enabled node
        for every BFD session. bfdSessPerfDiscTime is used to
        indicate potential discontinuity for all counter objects
        in this table."
   AUGMENTS    { bfdSessEntry }
   ::= { bfdSessPerfTable 1 }

BfdSessPerfEntry ::= SEQUENCE {

  bfdSessPerfCtrlPktIn           Counter32,
  bfdSessPerfCtrlPktOut          Counter32,
  bfdSessPerfCtrlPktDrop         Counter32,
  bfdSessPerfCtrlPktDropLastTime TimeStamp,
  bfdSessPerfEchoPktIn           Counter32,
  bfdSessPerfEchoPktOut          Counter32,
  bfdSessPerfEchoPktDrop         Counter32,
  bfdSessPerfEchoPktDropLastTime TimeStamp,
  bfdSessUpTime                  TimeStamp,
  bfdSessPerfLastSessDownTime    TimeStamp,
  bfdSessPerfLastCommLostDiag    IANAbfdDiagTC,
  bfdSessPerfSessUpCount         Counter32,
  bfdSessPerfDiscTime            TimeStamp,
  1. - High Capacity Counters

bfdSessPerfCtrlPktInHC Counter64,

  bfdSessPerfCtrlPktOutHC        Counter64,

Nadeau, et al. Standards Track [Page 19] RFC 7331 BFD-STD-MIB August 2014

  bfdSessPerfCtrlPktDropHC       Counter64,
  bfdSessPerfEchoPktInHC         Counter64,
  bfdSessPerfEchoPktOutHC        Counter64,
  bfdSessPerfEchoPktDropHC       Counter64

}

bfdSessPerfCtrlPktIn 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
        bfdSessPerfCtrlPktInHC if supported, and MUST do so
        with the rules spelled out in RFC 2863."
   ::= { bfdSessPerfEntry 1 }

bfdSessPerfCtrlPktOut 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
        bfdSessPerfCtrlPktOutHC if supported, and MUST do so
        with the rules spelled out in RFC 2863."
   ::= { bfdSessPerfEntry 2 }

bfdSessPerfCtrlPktDrop 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
        bfdSessPerfCtrlPktDropHC if supported, and MUST do so
        with the rules spelled out in RFC 2863."
   ::= { bfdSessPerfEntry 3 }

bfdSessPerfCtrlPktDropLastTime OBJECT-TYPE

   SYNTAX     TimeStamp
   MAX-ACCESS read-only

Nadeau, et al. Standards Track [Page 20] RFC 7331 BFD-STD-MIB August 2014

   STATUS     current
   DESCRIPTION
       "The value of sysUpTime on the most recent occasion at
        which received the BFD control message for this session was
        dropped.  If no such up event exists, this object contains
        a zero value."
   ::= { bfdSessPerfEntry 4 }

bfdSessPerfEchoPktIn 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
        bfdSessPerfEchoPktInHC if supported, and MUST do so
        with the rules spelled out in RFC 2863."
   ::= { bfdSessPerfEntry 5 }

bfdSessPerfEchoPktOut 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
        bfdSessPerfEchoPktOutHC if supported, and MUST do so
        with the rules spelled out in RFC 2863."
   ::= { bfdSessPerfEntry 6 }

bfdSessPerfEchoPktDrop 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
        bfdSessPerfEchoPktDropHC if supported, and MUST do so
        with the rules spelled out in RFC 2863."
   ::= { bfdSessPerfEntry 7 }

Nadeau, et al. Standards Track [Page 21] RFC 7331 BFD-STD-MIB August 2014

bfdSessPerfEchoPktDropLastTime OBJECT-TYPE

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

bfdSessUpTime 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 event has been issued,
        this object contains a zero value."
   ::= { bfdSessPerfEntry 9 }

bfdSessPerfLastSessDownTime 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 down event has been issued, this object
        contains a zero value."
   ::= { bfdSessPerfEntry 10 }

bfdSessPerfLastCommLostDiag OBJECT-TYPE

   SYNTAX     IANAbfdDiagTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
       "The BFD diag code for the last time communication was lost
        with the neighbor.  If such an event has not been issued,
        this object contains a zero value."
   ::= { bfdSessPerfEntry 11 }

bfdSessPerfSessUpCount OBJECT-TYPE

   SYNTAX     Counter32
   MAX-ACCESS read-only
   STATUS     current

Nadeau, et al. Standards Track [Page 22] RFC 7331 BFD-STD-MIB August 2014

   DESCRIPTION
       "The number of times this session has gone into the Up
        state since the system last rebooted."
   ::= { bfdSessPerfEntry 12 }

bfdSessPerfDiscTime 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 reinitialization of the local
        management subsystem, then this object contains a zero
        value."
   ::= { bfdSessPerfEntry 13 }

bfdSessPerfCtrlPktInHC 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 be equal to
        bfdSessPerfCtrlPktIn, and MUST do so with
        the rules spelled out in RFC 2863."
   ::= { bfdSessPerfEntry 14 }

bfdSessPerfCtrlPktOutHC 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 be equal to
        bfdSessPerfCtrlPktOut, and MUST do so with
        the rules spelled out in RFC 2863."
   ::= { bfdSessPerfEntry 15 }

Nadeau, et al. Standards Track [Page 23] RFC 7331 BFD-STD-MIB August 2014

bfdSessPerfCtrlPktDropHC 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 be equal to
        bfdSessPerfCtrlPktDrop, and MUST do so with
        the rules spelled out in RFC 2863."
   ::= { bfdSessPerfEntry 16 }

bfdSessPerfEchoPktInHC 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 be equal to
        bfdSessPerfEchoPktIn, and MUST do so with
        the rules spelled out in RFC 2863."
   ::= { bfdSessPerfEntry 17 }

bfdSessPerfEchoPktOutHC 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 be equal to
        bfdSessPerfEchoPktOut, and MUST do so with
        the rules spelled out in RFC 2863."
   ::= { bfdSessPerfEntry 18 }

bfdSessPerfEchoPktDropHC 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.

Nadeau, et al. Standards Track [Page 24] RFC 7331 BFD-STD-MIB August 2014

        The least significant 32 bits MUST be equal to
        bfdSessPerfEchoPktDrop, and MUST do so with
        the rules spelled out in RFC 2863."
   ::= { bfdSessPerfEntry 19 }

– BFD Session Discriminator Mapping Table

bfdSessDiscMapTable OBJECT-TYPE

   SYNTAX     SEQUENCE OF BfdSessDiscMapEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
       "The BFD Session Discriminator Mapping Table maps a
        local discriminator value to the associated BFD session's
        bfdSessIndex found in the bfdSessionTable."
   ::= { bfdObjects 4 }

bfdSessDiscMapEntry OBJECT-TYPE

   SYNTAX     BfdSessDiscMapEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
       "The BFD Session Discriminator Mapping Entry
        specifies a mapping between a local discriminator
        and a BFD session."
   INDEX { bfdSessDiscriminator }
   ::= { bfdSessDiscMapTable 1 }

BfdSessDiscMapEntry ::= SEQUENCE {

   bfdSessDiscMapIndex            BfdSessIndexTC

}

bfdSessDiscMapIndex OBJECT-TYPE

   SYNTAX     BfdSessIndexTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
       "This object specifies a mapping between a
        local discriminator and a BFD session in
        the BfdSessTable."
   ::= { bfdSessDiscMapEntry 1 }

– BFD Session IP Mapping Table

bfdSessIpMapTable OBJECT-TYPE

   SYNTAX     SEQUENCE OF BfdSessIpMapEntry
   MAX-ACCESS not-accessible
   STATUS     current

Nadeau, et al. Standards Track [Page 25] RFC 7331 BFD-STD-MIB August 2014

   DESCRIPTION
       "The BFD Session IP Mapping Table maps given
        bfdSessInterface, bfdSessSrcAddrType, bfdSessSrcAddr,
        bfdSessDstAddrType, and bfdSessDstAddr
        to an associated BFD session found in the
        bfdSessionTable."
   ::= { bfdObjects 5 }

bfdSessIpMapEntry OBJECT-TYPE

   SYNTAX     BfdSessIpMapEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
       "The BFD Session IP Map Entry contains a mapping
        from the IP information for a session to the session
        in the bfdSessionTable."
   INDEX {
       bfdSessInterface,
       bfdSessSrcAddrType,
       bfdSessSrcAddr,
       bfdSessDstAddrType,
       bfdSessDstAddr
   }
   ::= { bfdSessIpMapTable 1 }

BfdSessIpMapEntry ::= SEQUENCE {

   bfdSessIpMapIndex            BfdSessIndexTC

}

bfdSessIpMapIndex OBJECT-TYPE

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

– Notification Configuration

bfdSessUp NOTIFICATION-TYPE

   OBJECTS {
       bfdSessDiag, -- low range value
       bfdSessDiag  -- high range value
   }
   STATUS     current

Nadeau, et al. Standards Track [Page 26] RFC 7331 BFD-STD-MIB August 2014

   DESCRIPTION
       "This notification is generated when the
        bfdSessState object for one or more contiguous
        entries in bfdSessTable are about to enter the up(4)
        state from some other state.  The included values of
        bfdSessDiag MUST both be set equal to this
        new state (i.e., up(4)).  The two instances of
        bfdSessDiag 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 bfdSessEntry, then
        the instance identifier (and values) of the two
        bfdSessDiag objects MUST be identical."
   ::= { bfdNotifications 1 }

bfdSessDown NOTIFICATION-TYPE

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

Nadeau, et al. Standards Track [Page 27] RFC 7331 BFD-STD-MIB August 2014

   ::= { bfdNotifications 2 }

– Module compliance.

bfdGroups

   OBJECT IDENTIFIER ::= { bfdConformance 1 }

bfdCompliances

   OBJECT IDENTIFIER ::= { bfdConformance 2 }

– Compliance requirement for fully compliant implementations.

bfdModuleFullCompliance 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 {
       bfdSessionGroup,
       bfdSessionReadOnlyGroup,
       bfdSessionPerfGroup,
       bfdNotificationGroup
   }
   GROUP        bfdSessionPerfHCGroup
   DESCRIPTION  "This group is mandatory for all systems that
                 are able to support the Counter64 date type."
   OBJECT       bfdSessSrcAddrType
   SYNTAX       InetAddressType { unknown(0), ipv4(1),
                                  ipv6(2), ipv6z(4) }
   DESCRIPTION  "Only unknown(0), ipv4(1), ipv6(2), and ipv6z(4)
                 support are required. ipv4z(3) is not required,
                 and dns(16) is not allowed."
   OBJECT       bfdSessSrcAddr
   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       bfdSessDstAddrType
   SYNTAX       InetAddressType { unknown(0), ipv4(1),
                                  ipv6(2), ipv6z(4) }

Nadeau, et al. Standards Track [Page 28] RFC 7331 BFD-STD-MIB August 2014

   DESCRIPTION  "Only unknown(0), ipv4(1), ipv6(2), and ipv6z(4)
                 support are required. ipv4z(3) is not required,
                 and dns(16) is not allowed."
   OBJECT       bfdSessDstAddr
   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       bfdSessRowStatus
   SYNTAX       RowStatus { active(1), notInService(2) }
   WRITE-SYNTAX RowStatus { active(1), notInService(2),
                            createAndGo(4), destroy(6) }
   DESCRIPTION  "Support for createAndWait and notReady is not
                 required."
   ::= { bfdCompliances 1 }

bfdModuleReadOnlyCompliance 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 {
       bfdSessionGroup,
       bfdSessionReadOnlyGroup,
       bfdSessionPerfGroup,
       bfdNotificationGroup
   }
   GROUP        bfdSessionPerfHCGroup
   DESCRIPTION  "This group is mandatory for all systems that
                 are able to support the Counter64 date type."
   OBJECT       bfdSessVersionNumber
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessType
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."

Nadeau, et al. Standards Track [Page 29] RFC 7331 BFD-STD-MIB August 2014

   OBJECT       bfdSessDiscriminator
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessDestinationUdpPort
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessSourceUdpPort
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessEchoSourceUdpPort
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessAdminStatus
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessOperMode
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessDemandModeDesiredFlag
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessControlPlaneIndepFlag
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessMultipointFlag
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessInterface
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessSrcAddrType
   SYNTAX       InetAddressType { unknown(0), ipv4(1),
                                  ipv6(2), ipv6z(4) }
   MIN-ACCESS   read-only
   DESCRIPTION  "Only unknown(0), ipv4(1), ipv6(2), and ipv6z(4)
                 support are required. ipv4z(3) is not required,
                 and dns(16) is not allowed."

Nadeau, et al. Standards Track [Page 30] RFC 7331 BFD-STD-MIB August 2014

   OBJECT       bfdSessSrcAddr
   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       bfdSessDstAddrType
   SYNTAX       InetAddressType { unknown(0), ipv4(1),
                                  ipv6(2), ipv6z(4) }
   MIN-ACCESS   read-only
   DESCRIPTION  "Only unknown(0), ipv4(1), ipv6(2), and ipv6z(4)
                 support are required. ipv4z(3) is not required,
                 and dns(16) is not allowed."
   OBJECT       bfdSessDstAddr
   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       bfdSessGTSM
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessGTSMTTL
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessDesiredMinTxInterval
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessReqMinRxInterval
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessReqMinEchoRxInterval
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessDetectMult
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessAuthPresFlag
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."

Nadeau, et al. Standards Track [Page 31] RFC 7331 BFD-STD-MIB August 2014

   OBJECT       bfdSessAuthenticationType
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessAuthenticationKeyID
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessAuthenticationKey
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessStorageType
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   OBJECT       bfdSessRowStatus
   SYNTAX       RowStatus { active(1) }
   MIN-ACCESS   read-only
   DESCRIPTION  "Write access is not required."
   ::= { bfdCompliances 2 }

– Units of conformance.

bfdSessionGroup OBJECT-GROUP

   OBJECTS {
       bfdAdminStatus,
       bfdOperStatus,
       bfdNotificationsEnable,
       bfdSessVersionNumber,
       bfdSessType,
       bfdSessIndexNext,
       bfdSessDiscriminator,
       bfdSessDestinationUdpPort,
       bfdSessSourceUdpPort,
       bfdSessEchoSourceUdpPort,
       bfdSessAdminStatus,
       bfdSessOperStatus,
       bfdSessOperMode,
       bfdSessDemandModeDesiredFlag,
       bfdSessControlPlaneIndepFlag,
       bfdSessMultipointFlag,
       bfdSessInterface,
       bfdSessSrcAddrType,
       bfdSessSrcAddr,
       bfdSessDstAddrType,
       bfdSessDstAddr,

Nadeau, et al. Standards Track [Page 32] RFC 7331 BFD-STD-MIB August 2014

       bfdSessGTSM,
       bfdSessGTSMTTL,
       bfdSessDesiredMinTxInterval,
       bfdSessReqMinRxInterval,
       bfdSessReqMinEchoRxInterval,
       bfdSessDetectMult,
       bfdSessAuthPresFlag,
       bfdSessAuthenticationType,
       bfdSessAuthenticationKeyID,
       bfdSessAuthenticationKey,
       bfdSessStorageType,
       bfdSessRowStatus
   }
   STATUS     current
   DESCRIPTION
       "Collection of objects needed for BFD sessions."
   ::= { bfdGroups 1 }

bfdSessionReadOnlyGroup OBJECT-GROUP

   OBJECTS {
       bfdSessRemoteDiscr,
       bfdSessState,
       bfdSessRemoteHeardFlag,
       bfdSessDiag,
       bfdSessNegotiatedInterval,
       bfdSessNegotiatedEchoInterval,
       bfdSessNegotiatedDetectMult,
       bfdSessDiscMapIndex,
       bfdSessIpMapIndex
   }
   STATUS     current
   DESCRIPTION
       "Collection of read-only objects needed for BFD sessions."
   ::= { bfdGroups 2 }

bfdSessionPerfGroup OBJECT-GROUP

   OBJECTS {
       bfdSessPerfCtrlPktIn,
       bfdSessPerfCtrlPktOut,
       bfdSessPerfCtrlPktDrop,
       bfdSessPerfCtrlPktDropLastTime,
       bfdSessPerfEchoPktIn,
       bfdSessPerfEchoPktOut,
       bfdSessPerfEchoPktDrop,
       bfdSessPerfEchoPktDropLastTime,
       bfdSessUpTime,
       bfdSessPerfLastSessDownTime,
       bfdSessPerfLastCommLostDiag,

Nadeau, et al. Standards Track [Page 33] RFC 7331 BFD-STD-MIB August 2014

       bfdSessPerfSessUpCount,
       bfdSessPerfDiscTime
   }
   STATUS     current
   DESCRIPTION
       "Collection of objects needed to monitor the
        performance of BFD sessions."
   ::= { bfdGroups 3 }

bfdSessionPerfHCGroup OBJECT-GROUP

   OBJECTS {
       bfdSessPerfCtrlPktInHC,
       bfdSessPerfCtrlPktOutHC,
       bfdSessPerfCtrlPktDropHC,
       bfdSessPerfEchoPktInHC,
       bfdSessPerfEchoPktOutHC,
       bfdSessPerfEchoPktDropHC
   }
   STATUS     current
   DESCRIPTION
       "Collection of objects needed to monitor the
        performance of BFD sessions for which the
        values of bfdSessPerfPktIn and bfdSessPerfPktOut
        wrap around too quickly."
   ::= { bfdGroups 4 }

bfdNotificationGroup NOTIFICATION-GROUP

   NOTIFICATIONS {
       bfdSessUp,
       bfdSessDown
   }
   STATUS     current
   DESCRIPTION
       "Set of notifications implemented in this
        module."
   ::= { bfdGroups 5 }

END

Nadeau, et al. Standards Track [Page 34] RFC 7331 BFD-STD-MIB August 2014

6. Security Considerations

 As BFD may be tied into the stability of the network infrastructure
 (such as routing protocols), the effects of an attack on a BFD
 session may be very serious.  This ultimately has denial-of-service
 effects, as links may be declared to be down (or falsely declared to
 be up.)  As such, improper manipulation of the objects represented by
 this MIB may result in denial of service to a large number of end
 users.
 There are a number of management objects defined in this MIB module
 with a MAX-ACCESS clause of read-write and/or read-create.  Such
 objects may be considered sensitive or vulnerable in some network
 environments.  The support for SET operations in a non-secure
 environment without proper protection can have a negative effect on
 network operations.  These are the tables and objects and their
 sensitivity/vulnerability:
 o  bfdAdminStatus -- Improper change of bfdAdminStatus, to
    disabled(2), adminDown(3), or down(4), can cause significant
    disruption of the connectivity to those portions of the Internet
    reached via all the applicable remote BFD peers.
 o  bfdSessAdminStatus -- Improper change of bfdSessAdminStatus, to
    disabled(2), adminDown(3), or down(4), can cause significant
    disruption of the connectivity to those portions of the Internet
    reached via all the applicable remote BFD peers.
 o  bfdSessDesiredMinTxInterval, bfdSessReqMinRxInterval,
    bfdSessReqMinEchoRxInterval, bfdSessDetectMult -- Improper change
    of this object can cause connections to be disrupted for extremely
    long time periods when otherwise they would be restored in a
    relatively short period of time.
 o  Some management objects define the BFD session whilst other
    management objects define the parameter of the BFD session.  It is
    particularly important to control the support for SET access to
    those management objects that define the BFD session, as changes
    to them can be disruptive.  Implementation SHOULD NOT allow
    changes to following management objects when bfdSessState is
    up(4):
  • bfdSessVersionNumber
  • bfdSessType
  • bfdSessDestinationUdpPort

Nadeau, et al. Standards Track [Page 35] RFC 7331 BFD-STD-MIB August 2014

  • bfdSessMultipointFlag
  • bfdSessInterface
  • bfdSessSrcAddrType
  • bfdSessSrcAddr
  • bfdSessDstAddrType
  • bfdSessDstAddr
 There are a number of management objects defined in this MIB module
 with a MAX-ACCESS clause of read-write and/or read-create.  Such
 objects may be considered sensitive or vulnerable in some network
 environments.  It is thus important to control even GET and/or NOTIFY
 access to these objects and possibly to even encrypt the values of
 these objects when sending them over the network via SNMP.
 o  The bfdSessTable may be used to directly configure BFD sessions.
    The bfdSessMapTable can be used indirectly in the same way.
    Unauthorized access to objects in this table could result in
    disruption of traffic on the network.  This is especially true if
    an unauthorized user configures enough tables to invoke a
    denial-of-service attack on the device where they are configured,
    or on a remote device where the sessions terminate.
 Some of the readable objects in this MIB module (i.e., objects with a
 MAX-ACCESS other than not-accessible) may be considered sensitive or
 vulnerable in some network environments.  It is thus important to
 control even GET and/or NOTIFY access to these objects and possibly
 to even encrypt the values of these objects when sending them over
 the network via SNMP.  These are the tables and objects and their
 sensitivity/vulnerability:
 o  The bfdSessPerfTable allows access to the performance
    characteristics of BFD sessions.  Network administrators not
    wishing to show this information should consider this table
    sensitive.
 The bfdSessAuthenticationType, bfdSessAuthenticationKeyID, and
 bfdSessAuthenticationKey objects hold security methods and associated
 security keys of BFD sessions.  These objects are highly sensitive.
 In order to prevent this sensitive information from being improperly
 accessed, implementers SHOULD disallow access to these objects.
 SNMP versions prior to SNMPv3 did not include adequate security.
 Even if the network itself is secure (for example by using IPsec),

Nadeau, et al. Standards Track [Page 36] RFC 7331 BFD-STD-MIB August 2014

 even then, there is no control as to who on the secure network is
 allowed to access and GET/SET (read/change/create/delete) the objects
 in this MIB module.
 It is RECOMMENDED that implementers consider the security features as
 provided by the SNMPv3 framework (see [RFC3410]), including full
 support for the SNMPv3 cryptographic mechanisms (for authentication
 and privacy).
 Further, deployment of SNMP versions prior to SNMPv3 is NOT
 RECOMMENDED.  Instead, it is RECOMMENDED to deploy SNMPv3 and to
 enable cryptographic security.  It is then a customer/operator
 responsibility to ensure that the SNMP entity giving access to an
 instance of this MIB module is properly configured to give access to
 the objects only to those principals (users) that have legitimate
 rights to indeed GET or SET (change/create/delete) them.

7. IANA Considerations

 The MIB module in this document uses the following IANA-assigned
 OBJECT IDENTIFIER value recorded in the "SMI Network Management MGMT
 Codes" registry:
      Descriptor        OBJECT IDENTIFIER value
      ----------        -----------------------
      bfdMIB            { mib-2 222 }

8. Acknowledgments

 The authors would like to thank Adrian Farrel and Jeffrey Haas for
 performing thorough reviews and providing a number of suggestions.
 The authors would also like to thank David Ward, Reshad Rahman, David
 Toscano, Sylvain Masse, Mark Tooker, Kiran Koushik Agrahara
 Sreenivasa, David Black, and Bert Wijnen for their comments and
 suggestions.

Nadeau, et al. Standards Track [Page 37] RFC 7331 BFD-STD-MIB August 2014

9. References

9.1. Normative References

 [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
            Requirement Levels", BCP 14, RFC 2119, March 1997.
 [RFC2578]  McCloghrie, K., Ed., Perkins, D., Ed., and J.
            Schoenwaelder, Ed., "Structure of Management Information
            Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
 [RFC2579]  McCloghrie, K., Ed., Perkins, D., Ed., and J.
            Schoenwaelder, Ed., "Textual Conventions for SMIv2", STD
            58, RFC 2579, April 1999.
 [RFC2580]  McCloghrie, K., Perkins, D., and J. Schoenwaelder,
            "Conformance Statements for SMIv2", STD 58, RFC 2580,
            April 1999.
 [RFC5082]  Gill, V., Heasley, J., Meyer, D., Savola, P., and C.
            Pignataro, "The Generalized TTL Security Mechanism
            (GTSM)", RFC 5082, October 2007.
 [RFC5880]  Katz, D. and D. Ward, "Bidirectional Forwarding Detection
            (BFD)", RFC 5880, June 2010.
 [RFC5881]  Katz, D. and D. Ward, "Bidirectional Forwarding Detection
            (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881, June
            2010.
 [RFC5883]  Katz, D. and D. Ward, "Bidirectional Forwarding Detection
            (BFD) for Multihop Paths", RFC 5883, June 2010.
 [RFC7130]  Bhatia, M., Chen, M., Boutros, S., Binderberger, M., and
            J. Haas, "Bidirectional Forwarding Detection (BFD) on Link
            Aggregation Group (LAG) Interfaces", RFC 7130, February
            2014.
 [RFC7330]  Nadeau, T., Ali, Z., and N. Akiya, "Definitions of Textual
            Conventions (TCs) for Bidirectional Forwarding Detection
            (BFD) Management", RFC 7330, August 2014.

Nadeau, et al. Standards Track [Page 38] RFC 7331 BFD-STD-MIB August 2014

9.2. Informative References

 [RFC2863]  McCloghrie, K. and F. Kastenholz, "The Interfaces Group
            MIB", RFC 2863, June 2000.
 [RFC3289]  Baker, F., Chan, K., and A. Smith, "Management Information
            Base for the Differentiated Services Architecture", RFC
            3289, May 2002.
 [RFC3410]  Case, J., Mundy, R., Partain, D., and B. Stewart,
            "Introduction and Applicability Statements for Internet-
            Standard Management Framework", RFC 3410, December 2002.
 [RFC3413]  Levi, D., Meyer, P., and B. Stewart, "Simple Network
            Management Protocol (SNMP) Applications", STD 62, RFC
            3413, December 2002.

Authors' Addresses

 Thomas D. Nadeau
 Brocade
 EMail: tnadeau@lucidvision.com
 Zafar Ali
 Cisco Systems
 EMail: zali@cisco.com
 Nobo Akiya
 Cisco Systems
 EMail: nobo@cisco.com

Nadeau, et al. Standards Track [Page 39]

/data/webs/external/dokuwiki/data/pages/rfc/rfc7331.txt · Last modified: 2014/08/14 18:25 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki