Inter-Domain Routing Working Group                               J. Haas
Internet-Draft                                             June 22, 2008
Intended status: Standards Track
Expires: December 24, 2008


Definitions of Managed Objects for the Fourth Version of Border Gateway
                    Protocol (BGP-4), Second Version
                      draft-ietf-idr-bgp4-mibv2-07

Status of This Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on December 24, 2008.

Copyright Notice

   Copyright (C) The IETF Trust (2008).

Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols.  In particular it defines
   objects for managing the Border Gateway Protocol, Version 4.







Haas                    Expires December 24, 2008               [Page 1]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  The Internet-Standard Management Framework . . . . . . . . . .  3
   3.  Conventions  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   4.  Overview . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
   5.  Structure of the MIB Module  . . . . . . . . . . . . . . . . .  4
     5.1.  Global Scalars . . . . . . . . . . . . . . . . . . . . . .  4
     5.2.  Tables . . . . . . . . . . . . . . . . . . . . . . . . . .  4
     5.3.  Obsoleted Tables . . . . . . . . . . . . . . . . . . . . .  5
     5.4.  Textual Conventions  . . . . . . . . . . . . . . . . . . .  5
     5.5.  Notifications  . . . . . . . . . . . . . . . . . . . . . .  6
     5.6.  Extensions . . . . . . . . . . . . . . . . . . . . . . . .  6
   6.  Relationship to Other MIB Modules  . . . . . . . . . . . . . .  6
     6.1.  Relationship to the TCP-MIB  . . . . . . . . . . . . . . .  6
     6.2.  MIB modules required for IMPORTS . . . . . . . . . . . . .  7
   7.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . . .  7
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 80
   9.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 82
   10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 82
   11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 82
   12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 84
     12.1. Normative References . . . . . . . . . . . . . . . . . . . 84
     12.2. Informative References . . . . . . . . . . . . . . . . . . 85



























Haas                    Expires December 24, 2008               [Page 2]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


1.  Introduction

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols.  In particular it defines
   objects for managing the Border Gateway Protocol, Version 4
   [RFC4271].

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,
   RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
   [RFC2580].

3.  Conventions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

4.  Overview

   As part of the IETF standardization effort for the BGP-4 protocol,
   [RFC4273] was written to address open issues in the previous version
   of the BGP-4 MIB, [RFC1657].  However, that RFC was primarily
   intended to address the base BGP-4 protocol as documented in
   [RFC4271].

   The BGP-4 protocol has greatly increased in scope over the years from
   its original definition.  Scaling mechanisms such as Route Reflection
   [RFC4456] and Confederations [RFC5065] have been introduced.  Multi-
   protocol extensions [RFC4760] were introduced which allowed
   advertisement of reachability such as IPv6 [RFC2545], MPLS Labeled
   routes [RFC3107], etc.

   This MIB addresses several of the deficiencies of the previous BGP-4
   MIB and provides an extension mechanism to permit additional MIB
   modules to be authored without requiring the base BGP-4 MIB to be
   updated.  This is seen as a desirable goal since the BGP-4 protocol
   continues to receive attention by those wishing to add to its



Haas                    Expires December 24, 2008               [Page 3]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


   functionality.

   In particular, this MIB addresses some specific weaknesses of the
   previous version:

   o  Add the ability to monitor IPv6 BGP-4 peering sessions and carry
      IPv6 reachability.  Other forms of reachability can be added at a
      later date courtesy of the address-family independent manner in
      which this was done.

   o  Add several counters of operational interest.  For example, the
      number of routes received from a given BGP peer.

   o  Replaces objects that were incapable of carrying the full range of
      their values with ones that can.

   o  Provides human-readable output for some complex data structures,
      such as the AS_PATH while also preserving a version of the data
      that is canonically machine readable.

5.  Structure of the MIB Module

5.1.  Global Scalars

   o  bgpVersion - A vector of supported BGP Versions.

   o  bgpIdentifier - The BGP identifier of the local system.

   o  bgpLocalAsNew - A 4-byte capable local AS number which replaces
      the bgpLocalAs object.

   o  bgpAfPathAttrCounter - The number of entries in the
      bgpAfPathAttrTable.

5.2.  Tables

   o  bgpPeerAfTable - The BGP peer table.  This table is capable of
      representing IPv6 and other address-family (Af) independent
      peering sessions.  This table replaces the bgpPeerTable from
      previous versions of this MIB.

   o  bgpPeerAfErrorsTable - A table of peering session errors.  This
      table covers information previously present in bgpPeerTable.

   o  bgpPeerAfEventTimesTable - A table of peer-specific event timers.
      This table covers information previously present in bgpPeerTable.





Haas                    Expires December 24, 2008               [Page 4]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


   o  bgpPeerAfConfiguredTimersTable - A table of the configured values
      of peer-specific event timers.  This table covers information
      previously present in bgpPeerTable.

   o  bgpPeerAfNegotiatedTimersTable - A table of per-peer negotiated
      timers.  This information covers information previously derived
      from the bgpPeerTable.

   o  bgpPerAfCountersTable - A table of per-peer counters for messages
      and the BGP FSM.

   o  bgpPrefixCountersTable - A table of per-peer per Address Family
      Identifer-Subsequent Address Family Identifier (AFI-SAFI)
      [RFC4760] counters for prefixes.

   o  bgpNlriTable - A table of per-peer per AFI-SAFI prefix data.  This
      table covers information previously present in bgp4PathAttrTable.

   o  bgpAdjRibsOutTable - A per-peer per AFI-SAFI table indicating what
      reachability has been advertised to a given peer.

   o  bgpAfPathAttrTable - A table of BGP Path Attribute information.

   o  bgpAsPathTable - A table that decomposes the elements of a BGP AS
      Path.

   o  bgpAfPathUnknownTable - A table that decomposes the unknown
      elements received in a BGP Path Attribute tuple.

5.3.  Obsoleted Tables

   o  bgpPeerTable - Replaced by the information in bgpPeerAfTable,
      bgpPeerAfErrorsTable, bgpPeerConfiguredTimersTable,
      bgpPeerAfNegotiatedTimersTable, bgpPeerAfCountersTable.

   o  bgpRcvPathAttrTable - Covered BGP-3 and earlier.

   o  bgp4PathAttrTable - Replaced by the information in bgpNlriTable,
      bgpAfPathAttrTable and bgpAfPathUnknownTable.

5.4.  Textual Conventions

   o  BgpIdentifierTC - Representation of a BGP Identifier

   o  BgpAddressFamilyIdentifierTC - Representation of a BGP Address
      Family Identifier





Haas                    Expires December 24, 2008               [Page 5]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


   o  BgpSubsequentAddressFamilyIdentifierTC - Representation of a BGP
      Subsequent Address Family Identifier

   o  BgpPathAttributeFlagsTC - Representation of BGP-4 Path Attribute
      Flags.

5.5.  Notifications

   o  bgpAfEstablishedNotification - Sent when a BGP peer transitions
      into the Established state.  Replaces the previous
      bgpEstablishedNotification, which was not address family
      independent.

   o  bgpAfBackwardTransitionNotification - Sent when a BGP peer
      transitions out of the Established state.  Replaces the previous
      bgpBackwardTransNotification, which was not addrss family
      independent.

   o  bgpEstablished - Erroneously added to an incorrect OID in a
      previous version of this MIB.

   o  bgpBackwardsTransition - Erroneously added to an incorrect OID in
      a previous version of this MIB.

5.6.  Extensions

   A feature of this MIB is the recognition that the BGP protocol
   continues to grow in functionality.  The bgpExtensions OID is defined
   to provide a place for IDR-approved MIB modules for BGP extensions to
   be added to the bgp MIB subtree.

   It is intended that, where possible, that tables added via extensions
   that add information via additional path attributes use
   bgpAfPathAttrIndex as a common index, either via INDEX or AUGMENTS.

6.  Relationship to Other MIB Modules

6.1.  Relationship to the TCP-MIB

   The bgpPeerAfLocalAddrType/bgpPeerAfLocalAddr/bgpPeerAfLocalPort and
   bgpPeerAfRemoteAddrType/bgpPeerAfRemoteAddr/bgpPeerAfRemotePort
   objects may provide a suitable index for monitoring the BGP peering
   session's TCP session via the TCP-MIB [RFC4022].

   Note that conducting BGP peering sessions over transport protocols
   other than TCP over IP are out of scope of the current BGP
   specifications.




Haas                    Expires December 24, 2008               [Page 6]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


6.2.  MIB modules required for IMPORTS

   The following MIB module IMPORTS objects from SNMPv2-SMI [RFC2578],
   SNMPv2-TC [RFC2579], SNMPv2-CONF [RFC2580], INET-ADDRESS-MIB
   [RFC4001] and SNMP-FRAMEWORK-MIB [RFC3411].

7.  Definitions

BGP4-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
        IpAddress, Counter32, Gauge32, mib-2, Unsigned32, Integer32
            FROM SNMPv2-SMI
        InetAddressType, InetAddress, InetPortNumber,
        InetAutonomousSystemNumber, InetAddressPrefixLength
            FROM INET-ADDRESS-MIB
        TEXTUAL-CONVENTION, TruthValue, RowPointer, TimeStamp
            FROM SNMPv2-TC
        MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
            FROM SNMPv2-CONF
        SnmpAdminString
            FROM SNMP-FRAMEWORK-MIB;

        bgp MODULE-IDENTITY
            LAST-UPDATED "200806220000Z"
            ORGANIZATION "IETF IDR Working Group"
            CONTACT-INFO "E-mail:  idr@ietf.org"

            DESCRIPTION
                    "The MIB module for the BGP-4 protocol.

                     Copyright (C) The IETF Trust (2008).  This
                     version of this MIB module is part of RFC XXX;
                     see the RFC itself for full legal notices."
-- RFC Editor - replace XXX with RFC number

            REVISION "200806220000Z"
            DESCRIPTION
                   "Changes from RFC 4273:

                    TODO"

            REVISION "200601110000Z"
            DESCRIPTION
                   "Changes from RFC 1657:

                    1) Fixed the definitions of the notifications



Haas                    Expires December 24, 2008               [Page 7]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


                       to make them equivalent to their initial
                       definition in RFC 1269.
                    2) Added compliance and conformance info.
                    3) Updated information for the values of
                       bgpPeerNegotiatedVersion, bgp4PathAttrLocalPref,
                       bgp4PathAttrCalcLocalPref,
                       bgp4PathAttrMultiExitDisc,
                       bgp4PathAttrASPathSegement.
                    4) Added additional clarification comments where
                       needed.
                    5) Noted where objects do not fully reflect
                       the protocol as Known Issues.
                    6) Updated the DESCRIPTION for the
                       bgp4PathAttrAtomicAggregate object.
                    7) The following objects have had their DESCRIPTION
                       clause modified to remove the text that suggested
                       (using 'should' verb) initializing the counter
                       to zero on a transition to the established state:
                         bgpPeerInUpdates, bgpPeerOutUpdates,
                         bgpPeerInTotalMessages, bgpPeerOutTotalMessages
                       Those implementations that still do this are
                       still compliant with this new wording.
                       Applications should not assume counters have
                       started at zero.

                     Published as RFC 4273."

            REVISION "199405050000Z"
            DESCRIPTION
                    "Translated to SMIv2 and published as RFC 1657."

            REVISION "199110261839Z"
            DESCRIPTION
                    "Initial version, published as RFC 1269."
            ::= { mib-2 15 }

    --
    -- Textual Conventions
    --


-- TODO: Separate into BGP4-TC-MIB
    BgpIdentifierTC ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "1d."
        STATUS       current
        DESCRIPTION
            "The representation of a BGP Identifier.  BGP Identifiers
             are presented in the received network byte order.



Haas                    Expires December 24, 2008               [Page 8]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


             The BGP Identifier is displayed as if it is an IP address,
             even if it would be an illegal one."
        REFERENCE
            "RFC 4273, Section 4.2"
        SYNTAX OCTET STRING(SIZE (4))


-- TODO: Separate into BGP4-TC-MIB
    BgpAddressFamilyIdentifierTC ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "d"
        STATUS       current
        DESCRIPTION
            "The representation of a BGP AFI"
        REFERENCE
            "RFC 4760, Section 3"
        SYNTAX Unsigned32(0..65535)


-- TODO: Separate into BGP4-TC-MIB
    BgpSubsequentAddressFamilyIdentifierTC ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "d"
        STATUS       current
        DESCRIPTION
            "The representation of a BGP SAFI"
        REFERENCE
            "RFC 4760, Section 3"
        SYNTAX Unsigned32(0..255)

    BgpPathAttributeFlagsTC ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION
            "The representation of BGP Path Attribute Flags.  Note that this
             textual convention is meant to directly map to a BGP Path
             Attribute's Flags and is thus constrained by protocol to have no
             more than 8 total bits in use."
        REFERENCE
            "RFC 4271, Sec. 4.3"
        SYNTAX BITS {
            optional(0),    -- When set, path attribute is optional instead of
                            -- well known.
            transitive(1),  -- Path attribute is transitive when set.
            partial(2),     -- Path attribute is partial when set.
            extLength(3)    -- Path attributes has extended length field.
            -- 4-7 are reserved
            -- values 8 or greater are illegal.
        }

    --



Haas                    Expires December 24, 2008               [Page 9]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


    -- Top level scalars for this MIB
    --

    bgpVersion OBJECT-TYPE
        SYNTAX     OCTET STRING (SIZE (1..255))
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Vector of supported BGP protocol version
             numbers.  Each peer negotiates the version
             from this vector.  Versions are identified
             via the string of bits contained within this
             object.  The first octet contains bits 0 to
             7, the second octet contains bits 8 to 15,
             and so on, with the most significant bit
             referring to the lowest bit number in the
             octet (e.g., the MSB of the first octet
             refers to bit 0).  If a bit, i, is present
             and set, then the version (i+1) of the BGP
             is supported."
        REFERENCE
            "RFC 4271, Section 4.2."
        ::= { bgp 1 }

    -- { bgp 2 } and { bgp 3 } have been deprecated and are documented
    -- elsewhere in this MIB

    bgpIdentifier OBJECT-TYPE
        SYNTAX     IpAddress
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The BGP Identifier of the local system.

             A SYNTAX of BgpIdentifierTC would be used here,
             however it would cause this object to be
             deprecated with no additional value.  The
             comments in the DESCRIPTION of BgpIdentifierTC
             apply here."
        REFERENCE
                "RFC 4271, Section 4.2."
        ::= { bgp 4 }

    bgpLocalAsNew OBJECT-TYPE
        SYNTAX     InetAutonomousSystemNumber
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION



Haas                    Expires December 24, 2008              [Page 10]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


            "The local autonomous system number.

             This object supports 4 byte ASes and replaces
             bgpLocalAs."
        REFERENCE
                 "RFC 4271, Section 4.2, 'My Autonomous System'.

                  RFC 4893, BGP Support for Four-octet AS Number
                  Space."
        ::= { bgp 9 }

    --
    -- Address Family (Af) independent per-peer management information.
    --

    bgpPeerAf
        OBJECT IDENTIFIER ::= { bgp 10 }

    --
    -- Address Family (Af) independent per-peer session management
    -- information.
    --

    bgpPeerAfTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF BgpPeerAfEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "BGP peer table.  This table contains, one entry per BGP
             peer, information about the connections with BGP peers.

             This table replaces bgpPeerTable."
        ::= { bgpPeerAf 1 }

    bgpPeerAfEntry OBJECT-TYPE
        SYNTAX     BgpPeerAfEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Entry containing information about the connection with
             a remote BGP peer."
        INDEX {
            bgpPeerAfInstance,
            bgpPeerAfLocalAddrType,
            bgpPeerAfLocalAddr,
            bgpPeerAfRemoteAddrType,
            bgpPeerAfRemoteAddr
        }



Haas                    Expires December 24, 2008              [Page 11]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        ::= { bgpPeerAfTable 1 }

    BgpPeerAfEntry ::= SEQUENCE {
        -- INDEX information
        bgpPeerAfInstance
            Unsigned32,
        bgpPeerAfLocalAddrType
            InetAddressType,
        bgpPeerAfLocalAddr
            InetAddress,
        bgpPeerAfRemoteAddrType
            InetAddressType,
        bgpPeerAfRemoteAddr
            InetAddress,

        -- Local
        bgpPeerAfLocalPort
            InetPortNumber,
        bgpPeerAfLocalAs
            InetAutonomousSystemNumber,

        -- Remote
        bgpPeerAfRemotePort
            InetPortNumber,
        bgpPeerAfRemoteAs
            InetAutonomousSystemNumber,
        bgpPeerAfIdentifier
            BgpIdentifierTC,

        -- Session status
        bgpPeerAfAdminStatus
            INTEGER,
        bgpPeerAfPeerState
            INTEGER,
        bgpPeerAfConfiguredVersion
            Unsigned32,
        bgpPeerAfNegotiatedVersion
            Unsigned32
    }

    bgpPeerAfInstance OBJECT-TYPE
        SYNTAX     Unsigned32 (1..4294967295)
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The routing instance index.

             Some BGP implementations permit the creation of



Haas                    Expires December 24, 2008              [Page 12]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


             multiple instances of a BGP routing process. An
             example includes routers running BGP/MPLS IP Virtual
             Private Networks.

             Implementations that do not support multiple
             routing instances should return 1 for this object."
        ::= { bgpPeerAfEntry 1 }

    bgpPeerAfLocalAddrType OBJECT-TYPE
        SYNTAX     InetAddressType
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The address family of the local end of the peering
             session."
        ::= { bgpPeerAfEntry 2 }

    bgpPeerAfLocalAddr OBJECT-TYPE
        SYNTAX     InetAddress
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The local IP address of this entry's BGP connection."
        ::= { bgpPeerAfEntry 3 }

    bgpPeerAfRemoteAddrType OBJECT-TYPE
        SYNTAX     InetAddressType
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The address family of the remote end of the peering
             session."
        ::= { bgpPeerAfEntry 4 }

    bgpPeerAfRemoteAddr OBJECT-TYPE
        SYNTAX     InetAddress
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The remote IP address of this entry's BGP peer."
        ::= { bgpPeerAfEntry 5 }

    bgpPeerAfLocalPort OBJECT-TYPE
        SYNTAX     InetPortNumber
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The local port for the TCP connection between the BGP



Haas                    Expires December 24, 2008              [Page 13]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


             peers."
        ::= { bgpPeerAfEntry 6 }

    bgpPeerAfLocalAs OBJECT-TYPE
        SYNTAX     InetAutonomousSystemNumber
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Some implementations of BGP can represent themselves
             as multiple ASes. This is the AS that this peering
             session is representing itself as to the remote peer."
        ::= { bgpPeerAfEntry 7 }

    bgpPeerAfRemotePort OBJECT-TYPE
        SYNTAX     InetPortNumber
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The remote port for the TCP connection between the BGP
             peers.

             Note that the objects bgpPeerAfLocalAddr,
             bgpPeerAfLocalPort, bgpPeerAfRemoteAddr and
             bgpPeerAfRemotePort provide the appropriate reference to
             the standard MIB TCP connection table, or even the ipv6
             TCP MIB as in RFC 4022."
        REFERENCE
            "RFC 2012 - SNMPv2 Management Information Base for the
             Transmission Control Protocol using SMIv2.
             RFC 4022 - IP Version 6 Management Information Base
             for the Transmission Control Protocol."
        ::= { bgpPeerAfEntry 8 }

    bgpPeerAfRemoteAs OBJECT-TYPE
        SYNTAX     InetAutonomousSystemNumber
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The remote autonomous system number received in the BGP
             OPEN message."
        REFERENCE
            "RFC 4271, Section 4.2."
        ::= { bgpPeerAfEntry 9 }

    bgpPeerAfIdentifier OBJECT-TYPE
        SYNTAX     BgpIdentifierTC
        MAX-ACCESS read-only
        STATUS     current



Haas                    Expires December 24, 2008              [Page 14]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        DESCRIPTION
            "The BGP Identifier of this entry's remote BGP peer.

             This entry should be 0.0.0.0 unless the
             bgpPeerAfPeerState is in the openconfirm or the
             established state."
        REFERENCE
            "RFC 4271, Section 4.2, 'BGP Identifier'."
        ::= { bgpPeerAfEntry 10 }

    bgpPeerAfAdminStatus OBJECT-TYPE
        SYNTAX     INTEGER {
            halted(1),
            running(2)
        }
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Whether or not the BGP FSM for this remote peer is
             halted or running. The BGP FSM for a remote peer is
             halted after processing a Stop event. Likewise, it is
             in the running state after a Start event.

             The bgpPeerAfState will generally be in the idle state
             when the FSM is halted, although some extensions such
             as Graceful Restart will leave the peer in the Idle
             state but with the FSM running."
        REFERENCE
            "RFC 4271, Section 8.1.2."
        ::= { bgpPeerAfEntry 11 }

    -- TODO - update according to new FSM
    bgpPeerAfPeerState OBJECT-TYPE
        SYNTAX     INTEGER {
            idle(1),
            connect(2),
            active(3),
            opensent(4),
            openconfirm(5),
            established(6)
        }
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The BGP peer connection state."
        REFERENCE
            "RFC 4271, Section 8.2.2."
        ::= { bgpPeerAfEntry 12 }



Haas                    Expires December 24, 2008              [Page 15]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


    bgpPeerAfConfiguredVersion OBJECT-TYPE
        SYNTAX     Unsigned32 (1..255)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The configured version to originally start with this
             remote peer. The BGP speaker may permit negotiation to a
             lower version number of the protocol."
        REFERENCE
            "RFC 4271, Section 4.2.
             RFC 4271, Section 7."
        ::= { bgpPeerAfEntry 13 }

    bgpPeerAfNegotiatedVersion OBJECT-TYPE
        SYNTAX     Unsigned32 (1..255)
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The negotiated version of BGP running between
             the two peers.

             This entry MUST be zero (0) unless the
             bgpPeerAfState is in the openconfirm or the
             established state.

             Note that legal values for this object are
             between 0 and 255."
        REFERENCE
            "RFC 4271, Section 4.2.
             RFC 4271, Section 7."
        ::= { bgpPeerAfEntry 14 }


    --
    -- Address Family (Af) independent per-peer error management
    -- information.
    --

    bgpPeerAfErrors
        OBJECT IDENTIFIER ::= { bgpPeerAf 2 }

    bgpPeerAfErrorsTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF BgpPeerAfErrorsEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "On a per-peer basis, this table reflects the last
             protocol-defined error encountered and reported on



Haas                    Expires December 24, 2008              [Page 16]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


             the peer session. If no entry for a given peer
             exists in this table, then no such errors have been
             observed, reported, and recorded on the session."
        ::= { bgpPeerAfErrors 1 }

    bgpPeerAfErrorsEntry OBJECT-TYPE
        SYNTAX     BgpPeerAfErrorsEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Each entry contains information about errors sent
             and received for a particular BGP peer."
        AUGMENTS {
            bgpPeerAfEntry
        }
        ::= { bgpPeerAfErrorsTable 1 }

    BgpPeerAfErrorsEntry ::= SEQUENCE {
        bgpPeerAfLastErrorCodeReceived
            OCTET STRING,
        bgpPeerAfLastErrorSubCodeReceived
            OCTET STRING,
        bgpPeerAfLastErrorReceivedTime
            TimeStamp,
        bgpPeerAfLastErrorReceivedText
            SnmpAdminString,
        bgpPeerAfLastErrorReceivedData
            OCTET STRING,
        bgpPeerAfLastErrorCodeSent
            OCTET STRING,
        bgpPeerAfLastErrorSubCodeSent
            OCTET STRING,
        bgpPeerAfLastErrorSentTime
            TimeStamp,
        bgpPeerAfLastErrorSentText
            SnmpAdminString,
        bgpPeerAfLastErrorSentData
            OCTET STRING
    }

    bgpPeerAfLastErrorCodeReceived OBJECT-TYPE
        SYNTAX     OCTET STRING (SIZE (1))
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The last error code received from this peer via NOTIFICATION
             message on this connection.  If no error has occurred, this
             field is zero."



Haas                    Expires December 24, 2008              [Page 17]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        REFERENCE
            "RFC 4271, Section 4.5.
             RFC 4486 optionally supported.
             RFC 3362, Section 5 optionally supported."
        ::= { bgpPeerAfErrorsEntry 1 }

    bgpPeerAfLastErrorSubCodeReceived OBJECT-TYPE
        SYNTAX     OCTET STRING (SIZE (1))
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The last subcode received from this peer via NOTIFICATION
             message on this connection.  If no error has occurred, this
             field is zero."
        REFERENCE
            "RFC 4271, Section 4.5.
             RFC 4486 optionally supported.
             RFC 3362, Section 5 optionally supported."
        ::= { bgpPeerAfErrorsEntry 2 }

    bgpPeerAfLastErrorReceivedTime OBJECT-TYPE
        SYNTAX     TimeStamp
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The timestamp that the last NOTIFICATION was received from
             this peer."
        REFERENCE
            "RFC 4271, Section 4.5."
        ::= { bgpPeerAfErrorsEntry 3 }

    bgpPeerAfLastErrorReceivedText OBJECT-TYPE
        SYNTAX     SnmpAdminString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object contains an implementation specific
             explanation of the error that was reported."
        ::= { bgpPeerAfErrorsEntry 4 }

    bgpPeerAfLastErrorReceivedData OBJECT-TYPE
        SYNTAX     OCTET STRING (SIZE(0..4075))
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The last error code's data seen by this peer.

             Per RFC 2578, some implementations may have limitations



Haas                    Expires December 24, 2008              [Page 18]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


             dealing with OCTET STRINGS larger than 255.  Thus, this
             data may be truncated."
        REFERENCE
            "RFC 4271, Section 4.5,
             RFC 2578, Section 7.1.2,
             RFC 4486 optionaly supported.
             RFC 3362, Section 5 optionally supported."
        ::= { bgpPeerAfErrorsEntry 5 }

    bgpPeerAfLastErrorCodeSent OBJECT-TYPE
        SYNTAX     OCTET STRING (SIZE (1))
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The last error code sent to this peer via NOTIFICATION
             message on this connection.  If no error has occurred, this
             field is zero."
        REFERENCE
            "RFC 4271, Section 4.5.
             RFC 4486 optionally supported.
             RFC 3362, Section 5 optionally supported."
        ::= { bgpPeerAfErrorsEntry 6 }

    bgpPeerAfLastErrorSubCodeSent OBJECT-TYPE
        SYNTAX     OCTET STRING (SIZE (1))
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The last subcode sent to this peer via NOTIFICATION
             message on this connection.  If no error has occurred, this
             field is zero."
        REFERENCE
            "RFC 4271, Section 4.5.
             RFC 4486 optionally supported.
             RFC 3362, Section 5 optionally supported."
        ::= { bgpPeerAfErrorsEntry 7 }

    bgpPeerAfLastErrorSentTime OBJECT-TYPE
        SYNTAX     TimeStamp
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The timestamp that the last NOTIFICATION was sent to
             this peer."
        REFERENCE
            "RFC 4271, Section 4.5."
        ::= { bgpPeerAfErrorsEntry 8 }




Haas                    Expires December 24, 2008              [Page 19]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


    bgpPeerAfLastErrorSentText OBJECT-TYPE
        SYNTAX     SnmpAdminString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object contains an implementation specific
             explanation of the error that is being reported."
        ::= { bgpPeerAfErrorsEntry 9 }

    bgpPeerAfLastErrorSentData OBJECT-TYPE
        SYNTAX     OCTET STRING (SIZE(0..4075))
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The last error code's data sent to this peer.

             Per RFC 2578, some implementations may have limitations
             dealing with OCTET STRINGS larger than 255.  Thus, this
             data may be truncated."
        REFERENCE
            "RFC 4271, Section 4.5,
             RFC 2578, Section 7.1.2
             RFC 4486 optionaly supported.
             RFC 3362, Section 5 optionally supported."
        ::= { bgpPeerAfErrorsEntry 10 }

    --
    -- Address Family (Af) independent per-peer timer information
    --

    bgpPeerAfTimers
        OBJECT IDENTIFIER ::= { bgpPeerAf 3 }

    --
    -- Per-peer Event Times
    --

    bgpPeerAfEventTimesTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF BgpPeerAfEventTimesEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "A table reporting the per-peering session amount
             of time elapsed and update events since the peering
             session advanced into the established state."
        ::= { bgpPeerAfTimers 1 }

    bgpPeerAfEventTimesEntry OBJECT-TYPE



Haas                    Expires December 24, 2008              [Page 20]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        SYNTAX     BgpPeerAfEventTimesEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Each row contains a set of statistics about time
             spent and events encountered in the peer session
             established state."
        AUGMENTS {
            bgpPeerAfEntry
        }
        ::= { bgpPeerAfEventTimesTable 1 }

    BgpPeerAfEventTimesEntry ::= SEQUENCE {
        bgpPeerAfFsmEstablishedTime
            Gauge32,
        bgpPeerAfInUpdatesElapsedTime
            Gauge32
    }

    bgpPeerAfFsmEstablishedTime OBJECT-TYPE
        SYNTAX     Gauge32
        UNITS      "seconds"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This timer indicates how long (in seconds) this peer
             has been in the established state or how long since this
             peer was last in the established state.  It is set to
             zero when a new peer is configured or when the router is
             booted.  If the peer has never reached the established
             state, the value remains zero."
        REFERENCE
            "RFC 4271, Section 8."
        ::= { bgpPeerAfEventTimesEntry 1 }

    bgpPeerAfInUpdatesElapsedTime OBJECT-TYPE
        SYNTAX     Gauge32
        UNITS      "seconds"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Elapsed time (in seconds) since the last BGP UPDATE
             message was received from the peer.  Each time
             bgpPeerInUpdates is incremented, the value of this
             object is set to zero (0)."
        REFERENCE
            "RFC 4271, Section 4.3.
             RFC 4271, Section 8.2.2, Established state."



Haas                    Expires December 24, 2008              [Page 21]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        ::= { bgpPeerAfEventTimesEntry 2 }

    --
    -- Per-Peer Configured Timers
    --

    bgpPeerAfConfiguredTimersTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF BgpPeerAfConfiguredTimersEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Per peer management data on BGP session timers."
        ::= { bgpPeerAfTimers 2 }

    bgpPeerAfConfiguredTimersEntry OBJECT-TYPE
        SYNTAX     BgpPeerAfConfiguredTimersEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Each entry corresponds to the current state of
             BGP timers on a given peering session."
        AUGMENTS {
            bgpPeerAfEntry
        }
        ::= { bgpPeerAfConfiguredTimersTable 1 }

    BgpPeerAfConfiguredTimersEntry ::= SEQUENCE {
        bgpPeerAfConnectRetryInterval
            Unsigned32,
        bgpPeerAfHoldTimeConfigured
            Unsigned32,
        bgpPeerAfKeepAliveConfigured
            Unsigned32,
        bgpPeerAfMinASOrigInterval
            Unsigned32,
        bgpPeerAfMinRouteAdverInterval
            Unsigned32
    }

    bgpPeerAfConnectRetryInterval OBJECT-TYPE
        SYNTAX     Unsigned32 (1..65535)
        UNITS      "seconds"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Time interval (in seconds) for the ConnectRetry timer.
             The suggested value for this timer is 120 seconds."
        REFERENCE



Haas                    Expires December 24, 2008              [Page 22]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


            "RFC 4271, Section 8.2.2.  This is the value used
             to initialize the 'ConnectRetryTimer'."
        ::= { bgpPeerAfConfiguredTimersEntry 1 }

    bgpPeerAfHoldTimeConfigured OBJECT-TYPE
        SYNTAX     Unsigned32 ( 0 | 3..65535 )
        UNITS      "seconds"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Time interval (in seconds) for the Hold Timer
             established with the peer.  The value of this object is
             calculated by this BGP speaker, using the smaller of the
             values in bgpPeerHoldTimeConfigured and the Hold Time
             received in the OPEN message.

             This value must be at least three seconds if it is not
             zero (0).

             If the Hold Timer has not been established with the
             peer this object MUST have a value of zero (0).

             If the bgpPeerHoldTimeConfigured object has a value of
             (0), then this object MUST have a value of (0)."
        REFERENCE
            "RFC 4271, Section 4.2."
        ::= { bgpPeerAfConfiguredTimersEntry 2 }

    bgpPeerAfKeepAliveConfigured OBJECT-TYPE
        SYNTAX     Unsigned32 ( 0 | 1..21845 )
        UNITS      "seconds"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Time interval (in seconds) for the KeepAlive timer
             configured for this BGP speaker with this peer.  The
             value of this object will only determine the KEEPALIVE
             messages' frequency relative to the value specified in
             bgpPeerHoldTimeConfigured; the actual time interval for
             the KEEPALIVE messages is indicated by bgpPeerKeepAlive.

             A reasonable maximum value for this timer would be one
             third of that of bgpPeerHoldTimeConfigured.

             If the value of this object is zero (0), no periodic
             KEEPALIVE messages are sent to the peer after the BGP
             connection has been established.  The suggested value
             for this timer is 30 seconds."



Haas                    Expires December 24, 2008              [Page 23]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        REFERENCE
            "RFC 4271, Section 4.4.
             RFC 4271, Section 10."
        ::= { bgpPeerAfConfiguredTimersEntry 3 }

    bgpPeerAfMinASOrigInterval OBJECT-TYPE
        SYNTAX     Unsigned32 (0..65535)
        UNITS      "seconds"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Time interval (in seconds) for the
             MinASOriginationInterval timer.

             The suggested value for this timer is 15 seconds."
        REFERENCE
            "RFC 4271, Section 9.2.1.2.
             RFC 4271, Section 10."
        ::= { bgpPeerAfConfiguredTimersEntry 4 }

    bgpPeerAfMinRouteAdverInterval OBJECT-TYPE
        SYNTAX     Unsigned32 (0..65535)
        UNITS      "seconds"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Time interval (in seconds) for the
             MinRouteAdvertisementInterval timer.

             The suggested value for this timer is 30 seconds for
             EBGP connections and 5 seconds for IBGP connections."
        REFERENCE
            "RFC 4271, Section 9.2.1.1.
             RFC 4271, Section 10."
        ::= { bgpPeerAfConfiguredTimersEntry 5 }

    --
    -- Per-Peer Negotiated Timers
    --

    bgpPeerAfNegotiatedTimersTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF BgpPeerAfNegotiatedTimersEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Configured values of per-peer timers are seen
             in the bgpPeerAfConfiguredTimersTable.




Haas                    Expires December 24, 2008              [Page 24]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


             Values in this table reflect the current
             operational values, after negotiation from values
             derived from initial configuration."
        ::= { bgpPeerAfTimers 3 }

    bgpPeerAfNegotiatedTimersEntry OBJECT-TYPE
        SYNTAX     BgpPeerAfNegotiatedTimersEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Each entry reflects a value of the currently
             operational, negotiated timer as reflected in the
             BgpPeerAfNegotiatedTimersEntry."
        AUGMENTS {
            bgpPeerAfEntry
        }
        ::= { bgpPeerAfNegotiatedTimersTable 1 }

    BgpPeerAfNegotiatedTimersEntry ::= SEQUENCE {
        bgpPeerAfHoldTime
            Unsigned32,
        bgpPeerAfKeepAlive
            Unsigned32
    }

    bgpPeerAfHoldTime OBJECT-TYPE
        SYNTAX     Unsigned32 ( 0 | 3..65535 )
        UNITS      "seconds"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The value of this object is calculated by this BGP
             Speaker as being;

             zero (0) - if this was the value sent by the peer and
             this value is permitted by this BGP Speaker. In this
             case, no keepalive messages are sent and the Hold Timer
             is not set.

             At least three (3). This value is the smaller of
             the value sent by this peer in the OPEN message and
             bgpPeerAfHoldTimeConfigured for this peer.

             This value is only defined when the peering session is
             in the Established state."
        REFERENCE
            "RFC 4271, Section 4.2."
        ::= { bgpPeerAfNegotiatedTimersEntry 1 }



Haas                    Expires December 24, 2008              [Page 25]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


    bgpPeerAfKeepAlive OBJECT-TYPE
        SYNTAX     Unsigned32 ( 0 | 1..21845 )
        UNITS      "seconds"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Time interval in seconds for the KeepAlive timer
             established with the peer. The value of this object
             is calculated by this BGP speaker such that, when
             compared with bgpPeerAfHoldTime, it has the same
             proportion as what bgpPeerAfKeepAliveConfigured has
             when compared with bgpPeerAfHoldTimeConfigured. If
             the value of this object is zero (0), it indicates
             that the KeepAlive timer has not been established
             with the peer, or, the value of
             bgpPeerAfKeepAliveConfigured is zero (0).

             This value is only defined when the peering session is
             in the Established state."
        REFERENCE
            "RFC 4271, Section 4.4."
        ::= { bgpPeerAfNegotiatedTimersEntry 2 }

    --
    -- Per-peer counters
    --

    bgpPeerAfCounters
        OBJECT IDENTIFIER ::= { bgpPeerAf 4 }

    bgpPeerAfCountersTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF BgpPeerAfCountersEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The counters associated with a BGP Peer."
        ::= { bgpPeerAfCounters 1 }

    bgpPeerAfCountersEntry OBJECT-TYPE
        SYNTAX     BgpPeerAfCountersEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Each entry contains counters of message transmissions
             and FSM transitions for a given BGP Peering session."
        AUGMENTS {
            bgpPeerAfEntry
        }



Haas                    Expires December 24, 2008              [Page 26]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        ::= { bgpPeerAfCountersTable 1 }

    BgpPeerAfCountersEntry ::= SEQUENCE {
        bgpPeerAfInUpdates
            Counter32,
        bgpPeerAfOutUpdates
            Counter32,
        bgpPeerAfInTotalMessages
            Counter32,
        bgpPeerAfOutTotalMessages
            Counter32,
        bgpPeerAfFsmEstablishedTransitions
            Counter32
    }

    bgpPeerAfInUpdates OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The number of BGP UPDATE messages received on this
             connection."
        ::= { bgpPeerAfCountersEntry 1 }

    bgpPeerAfOutUpdates OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The number of BGP UPDATE messages transmitted on this
             connection."
        ::= { bgpPeerAfCountersEntry 2 }

    bgpPeerAfInTotalMessages OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The total number of messages received from the remote
             peer on this connection."
        ::= { bgpPeerAfCountersEntry 3 }

    bgpPeerAfOutTotalMessages OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The total number of messages transmitted to the remote



Haas                    Expires December 24, 2008              [Page 27]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


             peer on this connection."
        ::= { bgpPeerAfCountersEntry 4 }

    bgpPeerAfFsmEstablishedTransitions OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The total number of times the BGP FSM transitioned into
             the established state for this peer."
        ::= { bgpPeerAfCountersEntry 5 }

    --
    -- Per-Peer Prefix Counters
    --

    bgpPrefixCountersTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF BgpPrefixCountersEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Additional per-peer, per AFI-SAFI counters for
             prefixes"
        ::= { bgpPeerAfCounters 2 }

    bgpPrefixCountersEntry OBJECT-TYPE
        SYNTAX     BgpPrefixCountersEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Entry containing information about a bgp-peers prefix
             counters."
        INDEX {
            bgpPeerAfInstance,
            bgpPeerAfLocalAddrType,
            bgpPeerAfLocalAddr,
            bgpPeerAfRemoteAddrType,
            bgpPeerAfRemoteAddr,
            bgpPrefixCountersAfi,
            bgpPrefixCountersSafi
        }
        ::= { bgpPrefixCountersTable 1 }

    BgpPrefixCountersEntry ::= SEQUENCE {
        bgpPrefixCountersAfi
            BgpAddressFamilyIdentifierTC,
        bgpPrefixCountersSafi
            BgpSubsequentAddressFamilyIdentifierTC,



Haas                    Expires December 24, 2008              [Page 28]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        bgpPrefixInPrefixes
            Gauge32,
        bgpPrefixInPrefixesAccepted
            Gauge32,
        bgpPrefixOutPrefixes
            Gauge32
    }

    bgpPrefixCountersAfi OBJECT-TYPE
        SYNTAX     BgpAddressFamilyIdentifierTC
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The AFI index of the per-peer, per prefix counters"
        ::= { bgpPrefixCountersEntry 1 }

    bgpPrefixCountersSafi OBJECT-TYPE
        SYNTAX     BgpSubsequentAddressFamilyIdentifierTC
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The SAFI index of the per-peer, per prefix counters"
        ::= { bgpPrefixCountersEntry 2 }

    bgpPrefixInPrefixes OBJECT-TYPE
        SYNTAX     Gauge32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The number of prefixes received from a peer and are
             stored in the Adj-Ribs-In for that peer.

             Note that this number does not reflect prefixes that
             have been discarded due to policy."
        REFERENCE
            "RFC 4271, Sections 3.2 and 9."
        ::= { bgpPrefixCountersEntry 3 }

    bgpPrefixInPrefixesAccepted OBJECT-TYPE
        SYNTAX     Gauge32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The number of prefixes for a peer that are installed
             in the Adj-Ribs-In and are eligible to become active
             in the Loc-Rib."
        REFERENCE
            "RFC 4271, Sections 3.2 and 9."



Haas                    Expires December 24, 2008              [Page 29]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        ::= { bgpPrefixCountersEntry 4 }

    bgpPrefixOutPrefixes OBJECT-TYPE
        SYNTAX     Gauge32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The number of prefixes for a peer that are installed
             in that peer's Adj-Ribs-Out."
        REFERENCE
            "RFC 4271, Sections 3.2 and 9."
        ::= { bgpPrefixCountersEntry 5 }

    --
    -- BGP NLRI Data
    --

    bgpRib
        OBJECT IDENTIFIER ::= { bgp 11 }

    --
    -- NLRI Table
    --

    bgpNlriTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF BgpNlriEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The BGP-4 Received Path Attribute Table contains
             information about paths to destination networks
             received from all BGP4 peers. Collectively, this
             represents the Adj-Ribs-In. The route where
             bgpNlriBest is true represents, for this NLRI,
             the route that is installed in the LocRib from the
             Adj-Ribs-In."
        REFERENCE
            "RFC 4271, Sections 3.2 and 9."
        ::= { bgpRib 1 }

    bgpNlriEntry OBJECT-TYPE
        SYNTAX     BgpNlriEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Information about a path to a network."
        INDEX {
            bgpNlriAfi,



Haas                    Expires December 24, 2008              [Page 30]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


            bgpNlriSafi,
            bgpNlriPrefix,
            bgpNlriPrefixLen,
            bgpNlriIndex,
            bgpPeerAfInstance,
            bgpPeerAfLocalAddrType,
            bgpPeerAfLocalAddr,
            bgpPeerAfRemoteAddrType,
            bgpPeerAfRemoteAddr
        }
        ::= { bgpNlriTable 1 }

    BgpNlriEntry ::= SEQUENCE {
        bgpNlriIndex
            Unsigned32,
        bgpNlriAfi
            BgpAddressFamilyIdentifierTC,
        bgpNlriSafi
            BgpSubsequentAddressFamilyIdentifierTC,
        bgpNlriPrefixType
            InetAddressType,
        bgpNlriPrefix
            InetAddress,
        bgpNlriPrefixLen
            InetAddressPrefixLength,
        bgpNlriBest
            TruthValue,
        bgpNlriCalcLocalPref
            Unsigned32,
        bgpAfPathAttrIndex
            Unsigned32,
        bgpAfPathAttrUnknownIndex
            Unsigned32
    }

    bgpNlriIndex OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "This index allows for multiple instances of a base
             prefix for a certain AFI-SAFI from a given peer.
             This is currently useful for two things:
             1. Allowing for a peer in future implementations to
                send more than a single route instance.
             2. Allow for extensions which extend the NLRI field
                to send the same prefix while utilizing other
                extension specific information. An example of



Haas                    Expires December 24, 2008              [Page 31]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


                this is RFC 3107 - Carrying MPLS labels in BGP."
        REFERENCE
            "RFC 3107 - Carrying Label Information in BGP-4."
        ::= { bgpNlriEntry 1 }

    bgpNlriAfi OBJECT-TYPE
        SYNTAX     BgpAddressFamilyIdentifierTC
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The address family of the prefix for this NLRI.

             Note that the AFI is not necessarily equivalent to
             the an InetAddressType."
        REFERENCE
            "RFC 4760 - Multiprotocol Extensions for BGP-4"
        ::= { bgpNlriEntry 2 }

    bgpNlriSafi OBJECT-TYPE
        SYNTAX     BgpSubsequentAddressFamilyIdentifierTC
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The subsequent address family of the prefix for
             this NLRI"
        REFERENCE
            "RFC 4760 - Multiprotocol Extensions for BGP-4"
        ::= { bgpNlriEntry 3 }

    bgpNlriPrefixType OBJECT-TYPE
        SYNTAX     InetAddressType
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The type of the IP address prefix in the
             Network Layer Reachability Information field.
             The value of this object is derived from the
             appropriate value from the bgpNlriAfi field.
             Where an appropriate InetAddressType is not
             available, the value of the object must be
             unknown(0)."
        ::= { bgpNlriEntry 4 }

    bgpNlriPrefix OBJECT-TYPE
        SYNTAX     InetAddress
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION



Haas                    Expires December 24, 2008              [Page 32]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


            "An IP address prefix in the Network Layer
             Reachability Information field. This object
             is an IP address containing the prefix with
             length specified by
             bgpAfPathAttrAddrPrefixLen.
             Any bits beyond the length specified by
             bgpAfPathAttrAddrPrefixLen are zeroed."
        REFERENCE
            "RFC 4271, Section 4.3."
        ::= { bgpNlriEntry 5 }

    bgpNlriPrefixLen OBJECT-TYPE
        SYNTAX     InetAddressPrefixLength
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Length in bits of the address prefix in
             the Network Layer Reachability Information field."
        ::= { bgpNlriEntry 6 }

    bgpNlriBest OBJECT-TYPE
        SYNTAX     TruthValue
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "An indication of whether or not this route
             was chosen as the best BGP4 route for this
             destination."
        REFERENCE
            "RFC 4271, Section 9.1.2."
        ::= { bgpNlriEntry 7 }

    bgpNlriCalcLocalPref OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The degree of preference calculated by the
             receiving BGP4 speaker for an advertised
             route.

             In the case where this prefix is ineligible, this
             object will be absent."
        REFERENCE
            "RFC 4271, Section 9.1.1"
        ::= { bgpNlriEntry 8 }

    bgpAfPathAttrIndex OBJECT-TYPE



Haas                    Expires December 24, 2008              [Page 33]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        SYNTAX     Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This value is a unique index for entries in the
             bgpAfPathAttrTable. It is assigned by the agent at the
             point of creation of the bgpAfPathAttrTable row entry.
             While its value is guaranteed to be unique at any time,
             it is otherwise opaque to the management application
             with respect to its value or the contiguity of
             bgpAfPathAttrIndex row instance values across rows of the
             bgpAfPathAttrTable.

             Note well that this index is used to distinguish unique
             sets of Path Attributes sent as part of BGP NLRI.  The
             implementor is thus encouraged to make this index unique
             per set of all received path attributes.  This value may
             be used to index tables in extension MIBs that share the
             property of belonging to the same received Path Attribute
             tuple."
        ::= { bgpNlriEntry 9 }

    bgpAfPathAttrUnknownIndex OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This value is a unique index for entries in the
             bgpAfPathAttrUnknownTable. It is assigned by the agent at
             the point of creation of the bgpAfPathAttrUnknownTable row
             entry.  While its value is guaranteed to be unique at
             any time, it is otherwise opaque to the management
             application with respect to its value or the contiguity
             of bgpAfPathAttrUnknownIndex row instance values across
             rows of the bgpAfPathAttrUnknownTable."
        ::= { bgpNlriEntry 10 }

    --
    -- Adj-Ribs-Out Table
    --

    bgpAdjRibsOutTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF BgpAdjRibsOutEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "This table contains on a per-peer basis one or more
             routes from the bgpNlriTable that have been



Haas                    Expires December 24, 2008              [Page 34]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


             placed in this peer's Adj-Ribs-Out."
        REFERENCE
            "RFC 4271, Section 3.2."
        ::= { bgpRib 2 }

    bgpAdjRibsOutEntry OBJECT-TYPE
        SYNTAX     BgpAdjRibsOutEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "List of BGP routes that have been placed into a
             peer's Adj-Ribs-Out."
        INDEX {
            bgpNlriAfi,
            bgpNlriSafi,
            bgpNlriPrefix,
            bgpNlriPrefixLen,
            bgpAdjRibsOutIndex,
            bgpPeerAfInstance,
            bgpPeerAfLocalAddrType,
            bgpPeerAfLocalAddr,
            bgpPeerAfRemoteAddrType,
            bgpPeerAfRemoteAddr
        }
        ::= { bgpAdjRibsOutTable 1 }

    BgpAdjRibsOutEntry ::= SEQUENCE {
        bgpAdjRibsOutIndex
            Unsigned32,
        bgpAdjRibsOutRoute
            RowPointer
    }

    bgpAdjRibsOutIndex OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Certain extensions to BGP permit multiple instance of
             a per afi, per safi prefix to be advertised to a peer.
             This object allows the enumeration of them."
        ::= { bgpAdjRibsOutEntry 1 }

    bgpAdjRibsOutRoute OBJECT-TYPE
        SYNTAX     RowPointer
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION



Haas                    Expires December 24, 2008              [Page 35]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


            "This object points to the route in the bgpNlriTable
             that corresponds to the entry in the peer's
             Adj-Rib-Out. Outgoing route maps are not
             reflected at this point as those are part of the
             Update-Send process."
        REFERENCE
            "RFC 4271, Section 9.2."
        ::= { bgpAdjRibsOutEntry 2 }

    --
    -- Path Attribute Counter
    --

    bgpAfPathAttrCounter OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The number of entries in the bgpAfPathAttrTable."
        ::= { bgpRib 3 }

    --
    -- Path Attributes Table
    --

    bgpAfPathAttrTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF BgpAfPathAttrEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Provides per advertised network-prefix attribute data,
             as advertised over a peering session."
        ::= { bgpRib 4 }

    bgpAfPathAttrEntry OBJECT-TYPE
        SYNTAX     BgpAfPathAttrEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Each entry contains data about path attributes
             associated with a given prefix in the bgpNlriTable."
        REFERENCE
             "RFC 4271, Section 5."
        INDEX {
            bgpAfPathAttrIndex
        }
        ::= { bgpAfPathAttrTable 1 }




Haas                    Expires December 24, 2008              [Page 36]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


    BgpAfPathAttrEntry ::= SEQUENCE {
        bgpAfPathAttrOrigin
            INTEGER,
        bgpAfPathAttrNextHopAddrType
            InetAddressType,
        bgpAfPathAttrNextHopAddr
            InetAddress,
        bgpAfPathAttrLinkLocalNextHopAddrType
            InetAddressType,
        bgpAfPathAttrLinkLocalNextHopAddr
            InetAddress,
        bgpAfPathAttrMedPresent
            TruthValue,
        bgpAfPathAttrMed
            Unsigned32,
        bgpAfPathAttrLocalPref
            Unsigned32,
        bgpAfPathAttrAtomicAggregate
            INTEGER,
        bgpAfPathAttrAggregatorAS
            InetAutonomousSystemNumber,
        bgpAfPathAttrAggregatorAddr
            BgpIdentifierTC,
        bgpAsPathCalcLength
            Unsigned32,
        bgpAsPathIndex
            Unsigned32,
        bgpAsPathString
            SnmpAdminString
    }

    bgpAfPathAttrOrigin OBJECT-TYPE
        SYNTAX     INTEGER {
            igp(1),-- networks are interior
            egp(2),-- networks learned via the EGP protocol
            incomplete(3) -- networks that
                          -- are learned by some other
                          -- means
            }
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The ultimate origin of the path information."
        REFERENCE
            "RFC 4271, Section 4.3.
             RFC 4271, Section 5.1.1."
        ::= { bgpAfPathAttrEntry 1 }




Haas                    Expires December 24, 2008              [Page 37]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


    bgpAfPathAttrNextHopAddrType OBJECT-TYPE
        SYNTAX     InetAddressType
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The address family of the address for
             the border router that should be used
             to access the destination network."
        ::= { bgpAfPathAttrEntry 2 }

    bgpAfPathAttrNextHopAddr OBJECT-TYPE
        SYNTAX     InetAddress (SIZE(4..20))
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The address of the border router that
             should be used to access the destination
             network. This address is the nexthop
             address received in the UPDATE packet associated with
             this prefix.

             Note that for RFC2545 style double nexthops,
             this object will always contain the global scope
             nexthop. bgpPathAttrLinkLocalNextHop will contain
             the linklocal scope nexthop, if it is present.

             In the case a mechanism is developed to use only a link
             local nexthop, bgpAfPathAttrNextHopAddr will contain the
             link local nexthop."
        REFERENCE
            "RFC 4271, Section 4.3,
             RFC 4271, Section 5.1.3,
             RFC 2545, Section 3."
        ::= { bgpAfPathAttrEntry 3 }

    bgpAfPathAttrLinkLocalNextHopAddrType OBJECT-TYPE
        SYNTAX     InetAddressType
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The address type for IPv6 link local addresses.
             This is present only when receiving RFC 2545
             style double nexthops.

             This object is optionally present in BGP
             implementations that do not support IPv6."
        REFERENCE
            "RFC 2545, Section 3."



Haas                    Expires December 24, 2008              [Page 38]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        ::= { bgpAfPathAttrEntry 4 }

    bgpAfPathAttrLinkLocalNextHopAddr OBJECT-TYPE
        SYNTAX     InetAddress
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This value contains an IPv6 link local address
             and is present only when receiving RFC 2545 style
             double nexthops.

             This object is optionally present in BGP
             implementations that do not support IPv6."
        REFERENCE
            "RFC 2545, Section 3."
        ::= { bgpAfPathAttrEntry 5 }

    bgpAfPathAttrMedPresent OBJECT-TYPE
        SYNTAX     TruthValue
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This value is true when the MED value was sent in
             the UPDATE message."
        ::= { bgpAfPathAttrEntry 6 }

    bgpAfPathAttrMed OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This metric is used to discriminate between multiple
             exit points to an adjacent autonomous system.  When the MED
             value is absent but has a calculated default value, this
             object will contain the calculated value."
        REFERENCE
            "RFC 4271, Section 4.3.
             RFC 4271, Section 5.1.4."
        ::= { bgpAfPathAttrEntry 7 }

    bgpAfPathAttrLocalPref OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The originating BGP4 speakers degree of preference for an
             advertised route.  If the route was not sent with a LOCAL_PREF
             value, this object will be absent."



Haas                    Expires December 24, 2008              [Page 39]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        REFERENCE
            "RFC 4271, Section 4.3.
             RFC 4271, Section 5.1.5."
        ::= { bgpAfPathAttrEntry 8 }

    bgpAfPathAttrAtomicAggregate OBJECT-TYPE
        SYNTAX     INTEGER {
            atomicAggregatePresent(1),
            atomicAggregateMissing(2)
            }
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "When this object is set to atomicAggregatePresent,
             the ATOMIC_AGGREGATE Path Attribute is present and
             indicates that the NLRI MUST NOT be made more
             specific."
        REFERENCE
            "RFC 4271, Sections 5.1.6 and 9.1.4."
        ::= { bgpAfPathAttrEntry 9 }

    bgpAfPathAttrAggregatorAS OBJECT-TYPE
        SYNTAX     InetAutonomousSystemNumber
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The AS number of the last BGP4 speaker that performed route
             aggregation. If the AGGREGATOR path attribute is absent, this
             object will not be present in the conceptual row."
        REFERENCE
            "RFC 4271, Section 5.1.7.
             RFC 4271, Section 9.2.2.2."
        ::= { bgpAfPathAttrEntry 10 }

    bgpAfPathAttrAggregatorAddr OBJECT-TYPE
        SYNTAX     BgpIdentifierTC
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The IP address of the last BGP4 speaker that performed route
             aggregation.  If the AGGREGATOR path attribute is absent, this
             object will not be present in the conceptual row."
        REFERENCE
            "RFC 4271, Section 5.1.7.
             RFC 4271, Section 9.2.2.2."
        ::= { bgpAfPathAttrEntry 11 }

    bgpAsPathCalcLength OBJECT-TYPE



Haas                    Expires December 24, 2008              [Page 40]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        SYNTAX     Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This value represents the calculated length of the
             AS Path according to the rules of the BGP
             specification.  This value is used in route selection."
        REFERENCE
            "RFC 4271, Section 9.1.2.2.a"
        ::= { bgpAfPathAttrEntry 12 }

    bgpAsPathIndex OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This value is a unique index for the decomposed AS Path
             in the bgpAsPathTable. It is assigned by the
             agent at the point of creation of the bgpAsPathTable
             row entry. While its value is guaranteed to be unique
             at any time, it is otherwise opaque to the management
             application with respect to its value or the contiguity
             of bgpAsPathIndex row instance values across rows
             of the bgpAsPathTable."
        ::= { bgpAfPathAttrEntry 13 }

    bgpAsPathString OBJECT-TYPE
        SYNTAX     SnmpAdminString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This is a string depicting the autonomous system
             path to this network which was received from the
             peer which advertised it. The format of the string
             is implementation-dependent, and should be designed
             for operator readability.

             Note that SnmpAdminString is only capable of
             representing a maximum of 255 characters.  This may
             lead to the string being truncated in the presence of
             a large AS Path.  The bgpAsPathTable will give access
             to the full AS Path."
        ::= { bgpAfPathAttrEntry 14 }


    --
    -- BGP 4 AS_PATH.  This table provides a platform netrual
    -- representation of the AS_PATH.



Haas                    Expires December 24, 2008              [Page 41]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


    --

    bgpAsPathTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF BgpAsPathEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The BGP-4 Path Attribute AS Path Table
             contains the per network path (NLRI)
             AS PATH data received from the
             advertising BGP peer.

             Note that the bgpAsPathElementValue is 4-byte AS capable.  This
             table and related objects in this MIB are meant to reflect the
             active AS_PATH for a 2-byte or a 4-byte AS speaker.  For a
             transitional 2-byte to 4-byte speaker, the received AS_PATH and
             AS4_PATH path attributes may be present in an extension MIB."
        REFERENCE
            "RFC 4271, Sections 4.3 and 5.1.2.
             RFC 4893, BGP Support for Four-octet AS Number Space"
        ::= { bgpRib 5 }

    bgpAsPathEntry OBJECT-TYPE
        SYNTAX     BgpAsPathEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Information about an AS path provided with a path to
             a network."
        INDEX {
            bgpAsPathIndex,
            bgpAsPathSegmentIndex,
            bgpAsPathElementIndex
        }
        ::= { bgpAsPathTable 1 }

    BgpAsPathEntry ::= SEQUENCE {
        bgpAsPathSegmentIndex
            Unsigned32,
        bgpAsPathElementIndex
            Unsigned32,
        bgpAsPathType
            INTEGER,
        bgpAsPathElementValue
            InetAutonomousSystemNumber
    }

    bgpAsPathSegmentIndex OBJECT-TYPE



Haas                    Expires December 24, 2008              [Page 42]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        SYNTAX     Unsigned32
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "A per-AS path segment index.  This will index a set of
             autonomous systems in an AS path which are part
             of the same sequence or set (as determined by
             the row value of bgpAsPathType, which
             should be the same value for each bgpAsPathTable
             entry indexed by the same bgpAsPathIndex."
        REFERENCE
            "RFC 4271, Sections 4.3 and 5.1.2."
        ::= { bgpAsPathEntry 1 }

    bgpAsPathElementIndex OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "A per-AS element index.  This will index a particular
             AS within a sequence or set of autonomous systems in
             an AS path."
        REFERENCE
            "RFC 4271, Sections 4.3 and 5.1.2."
        ::= { bgpAsPathEntry 2 }

    bgpAsPathType OBJECT-TYPE
        SYNTAX     INTEGER {
            asSet(1),
            asSequence(2),
            confedSequence(3),
            confedSet(4)
         }
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION
             "The path segment type advertised for the per-AS element.
              Note that all asPath row instances for a given
              bgpAsPathIndex index will have their
              bgpAsPathType set to the same value.
              The values for bgpAsPathType are
              interpreted as defined in the base BGP document
              and the BGP AS Confederations document."
        REFERENCE
            "RFC 4271, Sections 4.3 and 5.1.2,
             RFC 5065 - BGP AS Confederations"
        ::= { bgpAsPathEntry 3 }




Haas                    Expires December 24, 2008              [Page 43]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


    bgpAsPathElementValue OBJECT-TYPE
        SYNTAX     InetAutonomousSystemNumber
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "An AS the NLRI traversed in the propagation of its
             advertisement.  This value is to be interpreted in
             the context of the segment type of the bgpAsPathType
             in the same conceptual row."
        ::= { bgpAsPathEntry 4 }

    -- BGP 4 Path unknown attribute. There is one row in
    -- this table for each attribute not known by this BGP
    -- implementation (or agent instrumentation), but provided
    -- from a peer.

    bgpAfPathAttrUnknownTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF BgpAfPathAttrUnknownEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The BGP-4 Path Attribute Unknown Table
             contains the per network path (NLRI)
             data on the path attributes advertised
             with a route but not known to the local BGP
             implementation or not otherwise capable of being
             returned from this agent.

             The absence of row data for a given index value for
             bgpAfPathAttrIndex indicates a lack of such unknown
             attribute information for the indicated network path
             (as indexed by that bgpAfPathAttrIndex value in the
             bgpAfPathAttrTable)."
        REFERENCE
            "RFC 4271, Sections 4.3 and 5."
        ::= { bgpRib 6 }

    bgpAfPathAttrUnknownEntry OBJECT-TYPE
        SYNTAX     BgpAfPathAttrUnknownEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Information about an unknown attribute
             provided with a path to a network."
        INDEX {
            bgpAfPathAttrUnknownIndex,
            bgpAfPathAttrUnknownCode
        }



Haas                    Expires December 24, 2008              [Page 44]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        ::= { bgpAfPathAttrUnknownTable 1 }

    BgpAfPathAttrUnknownEntry ::= SEQUENCE {
        bgpAfPathAttrUnknownCode
            Unsigned32,
        bgpAfPathAttrUnknownFlags
            BgpPathAttributeFlagsTC,
        bgpAfPathAttrUnknownValue
            OCTET STRING
    }

    bgpAfPathAttrUnknownCode OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The path attribute code advertised with this unknown
             attribute by the peer."
        ::= { bgpAfPathAttrUnknownEntry 1 }

    -- Maximum size of the following is derived as
    -- 4096 max message size
    -- - 16 BGP message marker bytes
    -- - 2 BGP message size
    -- - 1 BGP message type (UPDATE with unknown attr)
    -- - 2 UPDATE routes length (even assuming no routes)
    -- - 2 UPDATE path attributes length
    -- - 1 path attribute flag octet
    -- - 1 unknown path attr type (in bgpAfPathAttrUnknownCode)
    -- ---------
    -- 4071 bytes maximum per-message attribute value data

    bgpAfPathAttrUnknownFlags OBJECT-TYPE
        SYNTAX     BgpPathAttributeFlagsTC
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The flags of the unknown path attribute."
        ::= { bgpAfPathAttrUnknownEntry 2 }

    bgpAfPathAttrUnknownValue OBJECT-TYPE
        SYNTAX     OCTET STRING (SIZE(0..4071))
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Value of path attribute not understood
             by the base BGP-4 document.




Haas                    Expires December 24, 2008              [Page 45]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


             Per RFC 2578, Section 7.1.2, some implementations
             may have limitations dealing with OCTET STRINGS
             larger than 255.  Thus, this data may be truncated.

             Octets beyond the maximum size, if any,
             are not recorded by this row object."
        ::= { bgpAfPathAttrUnknownEntry 3 }

    --
    -- Mount point for extensions
    --

    bgpExtensions OBJECT IDENTIFIER ::= { bgp 12 }

    --
    -- Discontinuity
    --
    bgpDiscontinuityTime OBJECT-TYPE
        SYNTAX     TimeStamp
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The value of sysUpTime at the most recent occasion at which
             this BGP management instance has suffered a discontinuity.

             In particular, tables with abstract indexes such as
             bgpAfPathAttrIndex, bgpAsPathIndex and
             bgpAfPathAttrUnknownIndex are not guaranteed to contain the
             same data across discontinuities."
         ::= { bgp 13 }

    --
    -- Notifications
    --

    bgpNotification OBJECT IDENTIFIER ::= { bgp 0 }

    -- bgpNotification 1 and 2 have been deprecated and are
    -- documented elsewhere in this MIB

    bgpAfEstablishedNotification NOTIFICATION-TYPE
        OBJECTS {
            bgpPeerAfPeerState,
            bgpPeerAfLocalPort,
            bgpPeerAfRemotePort
        }
        STATUS current
        DESCRIPTION



Haas                    Expires December 24, 2008              [Page 46]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


            "The BGP Established event is generated when
             the BGP FSM enters the established state."
        ::= { bgpNotification 3 }

    bgpAfBackwardTransitionNotification NOTIFICATION-TYPE
        OBJECTS {
            bgpPeerAfPeerState,
            bgpPeerAfLocalPort,
            bgpPeerAfRemotePort,
            bgpPeerAfLastErrorCodeReceived,
            bgpPeerAfLastErrorSubCodeReceived,
            bgpPeerAfLastErrorReceivedText
        }
        STATUS current
        DESCRIPTION
            "The BGPBackwardTransition Event is generated
             when the BGP FSM moves from a higher numbered
             state to a lower numbered state.

             Due to the nature of the BGP state machine, an implementation MAY
             rate limit the generation of this event.  An implementation MAY
             also generate this notification ONLY when the state machine moves
             out of the established state.  An implementation should document
             its specific behavior."
        ::= { bgpNotification 4 }

    --
    -- Conformance Information
    --

    bgpConformance
        OBJECT IDENTIFIER ::= { bgp 8 }

    bgp4MIBCompliances OBJECT IDENTIFIER ::=
        { bgpConformance 1 }

    bgp4MIBGroups OBJECT IDENTIFIER ::=
        { bgpConformance 2 }

    -- bgp4MIBCompliances 1 through 3 have been deprecated and are
    -- documented elsewhere in this MIB.

    bgpAfMIBCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
            "The compliance statement for entities which
            implement the BGP4 mib."
        MODULE -- this module



Haas                    Expires December 24, 2008              [Page 47]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        MANDATORY-GROUPS {
            bgpTimersGroup,
            bgpCountersGroup,
            bgpAsPathGroup,
            bgpBaseGroup,
            bgpErrorsGroup,
            bgpPeerAfGroup,
            bgpAfPathAttributesGroup,
            bgpAfMIBGlobalsGroup
            }
        GROUP bgpAsPathGroup
        DESCRIPTION
            "This group is optional for all agent implementations."
        GROUP bgpAfMIBNotificationGroup
        DESCRIPTION
            "Implementation of BGP Notifications are completely
             optional in this MIB."

        OBJECT bgpPeerAfLocalAddr
        SYNTAX InetAddress (SIZE(4|16|20))
        DESCRIPTION
            "An implementation is required to support IPv4 peering
             sessions.  An implementation MAY support IPv6 peering
             sessions.  IPv6 link-local peering sessions MAY be
             supported by this MIB."

        OBJECT bgpPeerAfRemoteAddr
        SYNTAX InetAddress (SIZE(4|16|20))
        DESCRIPTION
            "An implementation is required to support IPv4 peering
             sessions.  An implementation MAY support IPv6 peering
             sessions.  IPv6 link-local peering sessions MAY be
             supported by this MIB."

        OBJECT bgpNlriPrefix
        SYNTAX InetAddress (SIZE(0..16))
        DESCRIPTION
            "An implementation is required to support IPv4 prefixes.
             An implementation MAY support IPv6 prefixes."

        OBJECT bgpAfPathAttrLinkLocalNextHopAddrType
        SYNTAX InetAddressType
        DESCRIPTION
            "This object is only present when RFC 2545 double nexthops
             are sent for IPv6 reachability.  IPv6 is optionally
             supported.  When present, this object shall only have a
             value of ipv6z"




Haas                    Expires December 24, 2008              [Page 48]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        OBJECT bgpAfPathAttrLinkLocalNextHopAddr
        SYNTAX InetAddress (SIZE(20))
        DESCRIPTION
            "This object is only present when RFC 2545 double nexthops
             are sent for IPv6 reachability.  IPv6 is optionally
             supported.  When present, this object shall only have a
             size of 20."

        OBJECT bgpPeerAfInstance
        SYNTAX Unsigned32 (1..4294967295)
        DESCRIPTION
            "This object represents an abstract index which can utilize the
             full range of acceptable SNMP index values."

        OBJECT bgpNlriIndex
        SYNTAX Unsigned32 (1..4294967295)
        DESCRIPTION
            "This object represents an abstract index which can utilize the
             full range of acceptable SNMP index values."

        OBJECT bgpAdjRibsOutIndex
        SYNTAX Unsigned32 (1..4294967295)
        DESCRIPTION
            "This object represents an abstract index which can utilize the
             full range of acceptable SNMP index values."

        OBJECT bgpAfPathAttrIndex
        SYNTAX Unsigned32 (1..4294967295)
        DESCRIPTION
            "This object represents an abstract index which can utilize the
             full range of acceptable SNMP index values."

        OBJECT bgpAsPathIndex
        SYNTAX Unsigned32 (1..4294967295)
        DESCRIPTION
            "This object represents an abstract index which can utilize the
             full range of acceptable SNMP index values."

        OBJECT bgpAsPathSegmentIndex
        SYNTAX Unsigned32 (1..4294967295)
        DESCRIPTION
            "This object represents an abstract index which can utilize the
             full range of acceptable SNMP index values."

        OBJECT bgpAsPathElementIndex
        SYNTAX Unsigned32 (1..4294967295)
        DESCRIPTION
            "This object represents an abstract index which can utilize the



Haas                    Expires December 24, 2008              [Page 49]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


             full range of acceptable SNMP index values."

        OBJECT bgpAfPathAttrUnknownIndex
        SYNTAX Unsigned32 (1..4294967295)
        DESCRIPTION
            "This object represents an abstract index which can utilize the
             full range of acceptable SNMP index values."

        OBJECT bgpAfPathAttrUnknownCode
        SYNTAX Unsigned32 (0..255)
        DESCRIPTION
            "Path attribute codes are one octet."

        ::= { bgp4MIBCompliances 4 }

    bgpAfMIBDeprecatedCompliances MODULE-COMPLIANCE
        STATUS deprecated
        DESCRIPTION
            "The compliance statement for entities which
            implement the BGP4 mib."
         MODULE -- this module
        GROUP bgpAfMIBOldGlobalsGroup
        DESCRIPTION
            "Implementation of the bgp4MIBGlobalsGroup is OPTIONAL.
             If it is implemented, then bgp4MIBGlobalsGroup,
             bgp4MIBPeerGroup, bgp4MIBPathAttrGroup and
             bgp4MIBNotificationGroup MUST all be implemented."
        GROUP bgp4MIBPeerGroup
        DESCRIPTION
            "Implementation of the bgp4MIBPeerGroup is OPTIONAL.
             If it is implemented, then bgp4MIBGlobalsGroup,
             bgp4MIBPeerGroup, bgp4MIBPathAttrGroup and
             bgp4MIBNotificationGroup MUST all be implemented."
        GROUP bgp4MIBPathAttrGroup
        DESCRIPTION
            "Implementation of the bgp4MIBPathAttrGroup is OPTIONAL.
             If it is implemented, then bgp4MIBGlobalsGroup,
             bgp4MIBPeerGroup, bgp4MIBPathAttrGroup and
             bgp4MIBNotificationGroup MUST all be implemented."
        GROUP bgp4MIBNotificationGroup
        DESCRIPTION
            "Implementation of the bgp4MIBNotificationGroup is OPTIONAL.
             If it is implemented, then bgp4MIBGlobalsGroup,
             bgp4MIBPeerGroup, bgp4MIBPathAttrGroup and
             bgp4MIBNotificationGroup MUST all be implemented."
        ::= { bgp4MIBCompliances 5 }

    -- bgp4MIBGroups 1 through 7 have been deprecated and are documented



Haas                    Expires December 24, 2008              [Page 50]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


    -- elsewhere in this MIB.

    bgpAfMIBGlobalsGroup OBJECT-GROUP
        OBJECTS { bgpVersion,
                  bgpIdentifier,
                  bgpDiscontinuityTime }
        STATUS current
        DESCRIPTION
            "A collection of objects providing information on global
             BGP state.  This group covers objects that overlap the
             old bgp4MIBGlobalsGroup that are still current."
        ::= { bgp4MIBGroups 8 }

    bgpAfMIBOldGlobalsGroup OBJECT-GROUP
        OBJECTS { bgpLocalAs }
        STATUS deprecated
        DESCRIPTION
            "A collection of objects providing information on global
             BGP state.  This group covers objects that overlap the
             old bgp4MIBGlobalsGroup that are deprecated."
        ::= { bgp4MIBGroups 9 }

    bgpTimersGroup OBJECT-GROUP
        OBJECTS {
            bgpPeerAfFsmEstablishedTime,
            bgpPeerAfInUpdatesElapsedTime,
            bgpPeerAfConnectRetryInterval,
            bgpPeerAfHoldTimeConfigured,
            bgpPeerAfKeepAliveConfigured,
            bgpPeerAfMinASOrigInterval,
            bgpPeerAfMinRouteAdverInterval,
            bgpPeerAfHoldTime,
            bgpPeerAfKeepAlive
        }
        STATUS current
        DESCRIPTION
            "Objects associated with BGP peering timers."
        ::= { bgp4MIBGroups 10 }

    bgpCountersGroup OBJECT-GROUP
        OBJECTS {
            bgpPeerAfInUpdates,
            bgpPeerAfOutUpdates,
            bgpPeerAfInTotalMessages,
            bgpPeerAfOutTotalMessages,
            bgpPeerAfFsmEstablishedTransitions,
            bgpPrefixInPrefixes,
            bgpPrefixInPrefixesAccepted,



Haas                    Expires December 24, 2008              [Page 51]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


            bgpPrefixOutPrefixes
        }
        STATUS current
        DESCRIPTION
            "Objects to count discrete events and exchanges on BGP
             sessions."
         ::= { bgp4MIBGroups 11 }

    bgpAsPathGroup OBJECT-GROUP
        OBJECTS {
            bgpAsPathType,
            bgpAsPathElementValue
        }
        STATUS current
        DESCRIPTION
            "Objects to report AS paths received on BGP NLRIs."
        ::= { bgp4MIBGroups 12 }

    bgpBaseGroup OBJECT-GROUP
        OBJECTS {
            bgpLocalAsNew
        }
        STATUS current
        DESCRIPTION
            "Basic objects in local BGP implementation."
        ::= { bgp4MIBGroups 13 }

    bgpErrorsGroup OBJECT-GROUP
        OBJECTS {
            bgpPeerAfLastErrorCodeReceived,
            bgpPeerAfLastErrorSubCodeReceived,
            bgpPeerAfLastErrorReceivedData,
            bgpPeerAfLastErrorReceivedTime,
            bgpPeerAfLastErrorReceivedText,
            bgpPeerAfLastErrorCodeSent,
            bgpPeerAfLastErrorSubCodeSent,
            bgpPeerAfLastErrorSentData,
            bgpPeerAfLastErrorSentTime,
            bgpPeerAfLastErrorSentText
        }
        STATUS current
        DESCRIPTION
            "Errors received on BGP peering sessions."
        ::= { bgp4MIBGroups 14 }

    bgpPeerAfGroup OBJECT-GROUP
        OBJECTS {
            bgpPeerAfIdentifier,



Haas                    Expires December 24, 2008              [Page 52]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


            bgpPeerAfPeerState,
            bgpPeerAfAdminStatus,
            bgpPeerAfConfiguredVersion,
            bgpPeerAfNegotiatedVersion,
            bgpPeerAfLocalPort,
            bgpPeerAfLocalAs,
            bgpPeerAfRemotePort,
            bgpPeerAfRemoteAs
        }
        STATUS current
        DESCRIPTION
            "Core object types on BGP peering sessions."
        ::= { bgp4MIBGroups 15 }

    bgpAfPathAttributesGroup OBJECT-GROUP
        OBJECTS {
            bgpAfPathAttrCounter,
            bgpAsPathCalcLength,
            bgpAsPathElementValue,
            bgpAsPathIndex,
            bgpAsPathString,
            bgpAsPathType,
            bgpNlriBest,
            bgpNlriCalcLocalPref,
            bgpNlriPrefixType,
            bgpAdjRibsOutRoute,
            bgpAfPathAttrAggregatorAS,
            bgpAfPathAttrAggregatorAddr,
            bgpAfPathAttrAtomicAggregate,
            bgpAfPathAttrIndex,
            bgpAfPathAttrLocalPref,
            bgpAfPathAttrMed,
            bgpAfPathAttrMedPresent,
            bgpAfPathAttrNextHopAddr,
            bgpAfPathAttrNextHopAddrType,
            bgpAfPathAttrLinkLocalNextHopAddrType,
            bgpAfPathAttrLinkLocalNextHopAddr,
            bgpAfPathAttrOrigin,
            bgpAfPathAttrUnknownIndex,
            bgpAfPathAttrUnknownFlags,
            bgpAfPathAttrUnknownValue
        }
        STATUS current
        DESCRIPTION
            "Attributes received on BGP peering sessions."
        ::= { bgp4MIBGroups 16 }





Haas                    Expires December 24, 2008              [Page 53]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


    -- =========================================================
    --
    -- Objects that are deprecated from RFC 4273 follow below.
    --
    -- =========================================================

    bgpLocalAs OBJECT-TYPE
        SYNTAX     Integer32 (0..65535)
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The local autonomous system number.

                 This object has been replaced with bgpLocalAsNew
                 which can accomodate 4-byte AS numbers.  When
                 the Local AS number cannot be represented by
                 a 2-byte number, this object should return the
                 AS_TRANS value, 23456."
        REFERENCE
                 "RFC 4271, Section 4.2, 'My Autonomous System'.

                  RFC 4893, BGP Support for Four-octet AS Number
                  Space."
        ::= { bgp 2 }

    -- BGP Peer table.  This table contains, one entry per
    -- BGP peer, information about the BGP peer.

    bgpPeerTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF BgpPeerEntry
        MAX-ACCESS not-accessible
        STATUS     deprecated
        DESCRIPTION
                "BGP peer table.  This table contains,
                 one entry per BGP peer, information about the
                 connections with BGP peers.

                 This table has been replaced with bgpPeerAfTable."
        ::= { bgp 3 }

    bgpPeerEntry OBJECT-TYPE
        SYNTAX     BgpPeerEntry
        MAX-ACCESS not-accessible
        STATUS     deprecated
        DESCRIPTION
                "Entry containing information about the
                 connection with a BGP peer."
        INDEX { bgpPeerRemoteAddr }



Haas                    Expires December 24, 2008              [Page 54]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        ::= { bgpPeerTable 1 }

    BgpPeerEntry ::= SEQUENCE {
            bgpPeerIdentifier
                IpAddress,
            bgpPeerState
                INTEGER,
            bgpPeerAdminStatus
                INTEGER,
            bgpPeerNegotiatedVersion
                Integer32,
            bgpPeerLocalAddr
                IpAddress,
            bgpPeerLocalPort
                Integer32,
            bgpPeerRemoteAddr
                IpAddress,
            bgpPeerRemotePort
                Integer32,
            bgpPeerRemoteAs
                Integer32,
            bgpPeerInUpdates
                Counter32,
            bgpPeerOutUpdates
                Counter32,
            bgpPeerInTotalMessages
                Counter32,
            bgpPeerOutTotalMessages
                Counter32,
            bgpPeerLastError
                OCTET STRING,
            bgpPeerFsmEstablishedTransitions
                Counter32,
            bgpPeerFsmEstablishedTime
                Gauge32,
            bgpPeerConnectRetryInterval
                Integer32,
            bgpPeerHoldTime
                Integer32,
            bgpPeerKeepAlive
                Integer32,
            bgpPeerHoldTimeConfigured
                Integer32,
            bgpPeerKeepAliveConfigured
                Integer32,
            bgpPeerMinASOriginationInterval
                Integer32,
            bgpPeerMinRouteAdvertisementInterval



Haas                    Expires December 24, 2008              [Page 55]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


                Integer32,
            bgpPeerInUpdateElapsedTime
                Gauge32
            }

    bgpPeerIdentifier OBJECT-TYPE
        SYNTAX     IpAddress
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The BGP Identifier of this entry's BGP peer.
                 This entry MUST be 0.0.0.0 unless the
                 bgpPeerState is in the openconfirm or the
                 established state.

                 This object has been replaced with
                 bgpPeerAfIdentifier."
        REFERENCE
                "RFC 4271, Section 4.2, 'BGP Identifier'."
        ::= { bgpPeerEntry 1 }

    bgpPeerState OBJECT-TYPE
        SYNTAX     INTEGER {
                            idle(1),
                            connect(2),
                            active(3),
                            opensent(4),
                            openconfirm(5),
                            established(6)
                   }
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The BGP peer connection state.

                 This object has been replaced with
                 bgpPeerAfPeerState."
        REFERENCE
                "RFC 4271, Section 8.2.2."
        ::= { bgpPeerEntry 2 }

    bgpPeerAdminStatus OBJECT-TYPE
        SYNTAX     INTEGER {
                            stop(1),
                            start(2)
                   }
        MAX-ACCESS read-write
        STATUS     deprecated



Haas                    Expires December 24, 2008              [Page 56]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        DESCRIPTION
                "The desired state of the BGP connection.
                 A transition from 'stop' to 'start' will cause
                 the BGP Manual Start Event to be generated.
                 A transition from 'start' to 'stop' will cause
                 the BGP Manual Stop Event to be generated.
                 This parameter can be used to restart BGP peer
                 connections.  Care should be used in providing
                 write access to this object without adequate
                 authentication.

                 This object has been replaced with
                 bgpPeerAfAdminStatus."
        REFERENCE
                "RFC 4271, Section 8.1.2."
        ::= { bgpPeerEntry 3 }

    bgpPeerNegotiatedVersion OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The negotiated version of BGP running between
                 the two peers.

                 This entry MUST be zero (0) unless the
                 bgpPeerState is in the openconfirm or the
                 established state.

                 Note that legal values for this object are
                 between 0 and 255.

                 This object has been replaced with
                 bgpPeerAfNegotiatedVersion."
        REFERENCE
                "RFC 4271, Section 4.2.
                 RFC 4271, Section 7."
        ::= { bgpPeerEntry 4 }

    bgpPeerLocalAddr OBJECT-TYPE
        SYNTAX     IpAddress
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The local IP address of this entry's BGP
                 connection.

                 This object has been replaced with



Haas                    Expires December 24, 2008              [Page 57]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


                 bgpPeerAfLocalAddrType and bgpPeerAfLocalAddr."
        ::= { bgpPeerEntry 5 }

    bgpPeerLocalPort OBJECT-TYPE
        SYNTAX     Integer32 (0..65535)
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The local port for the TCP connection between
                 the BGP peers.

                 This object has been replaced with
                 bgpPeerAfLocalPort."
        ::= { bgpPeerEntry 6 }

    bgpPeerRemoteAddr OBJECT-TYPE
        SYNTAX     IpAddress
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The remote IP address of this entry's BGP
                 peer.

                 This object has been replaced with
                 bgpPeerAfRemoteAddrType and bgpPeerAfRemoteAddr."
        ::= { bgpPeerEntry 7 }

    bgpPeerRemotePort OBJECT-TYPE
        SYNTAX     Integer32 (0..65535)
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The remote port for the TCP connection
                 between the BGP peers.  Note that the
                 objects bgpPeerLocalAddr,
                 bgpPeerLocalPort, bgpPeerRemoteAddr, and
                 bgpPeerRemotePort provide the appropriate
                 reference to the standard MIB TCP
                 connection table.

                 This object has been replaced with
                 bgpPeerAfRemotePort."
        ::= { bgpPeerEntry 8 }

    bgpPeerRemoteAs OBJECT-TYPE
        SYNTAX     Integer32 (0..65535)
        MAX-ACCESS read-only
        STATUS     deprecated



Haas                    Expires December 24, 2008              [Page 58]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        DESCRIPTION
                "The remote autonomous system number received in
                 the BGP OPEN message.

                 This object has been replaced with
                 bgpPeerAfRemoteAs."
        REFERENCE
                "RFC 4271, Section 4.2."
        ::= { bgpPeerEntry 9 }

    bgpPeerInUpdates OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The number of BGP UPDATE messages
                 received on this connection.

                 This object has been replaced with
                 bgpPeerAfInUpdates."
        REFERENCE
                "RFC 4271, Section 4.3."
        ::= { bgpPeerEntry 10 }

    bgpPeerOutUpdates OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The number of BGP UPDATE messages
                 transmitted on this connection.

                 This object has been replaced with
                 bgpPeerAfOutUpdates."
        REFERENCE
                "RFC 4271, Section 4.3."
        ::= { bgpPeerEntry 11 }

    bgpPeerInTotalMessages OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The total number of messages received
                 from the remote peer on this connection.

                 This object has been replaced with
                 bgpPeerAfInTotalMessages."



Haas                    Expires December 24, 2008              [Page 59]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        REFERENCE
                "RFC 4271, Section 4."
        ::= { bgpPeerEntry 12 }

    bgpPeerOutTotalMessages OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The total number of messages transmitted to
                 the remote peer on this connection.

                 This object has been replaced with
                 bgpPeerAfOutTotalMessages."
        REFERENCE
                "RFC 4271, Section 4."
        ::= { bgpPeerEntry 13 }

    bgpPeerLastError OBJECT-TYPE
        SYNTAX     OCTET STRING (SIZE (2))
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The last error code and subcode seen by this
                 peer on this connection.  If no error has
                 occurred, this field is zero.  Otherwise, the
                 first byte of this two byte OCTET STRING
                 contains the error code, and the second byte
                 contains the subcode.

                 This object has been replaced by
                 bgpPeerAfLastErrorCodeRecieved and
                 bgpPeerAfLastErrorSubCodeReceived.  Further, this
                 data has been supplemented by additional objects
                 in the bgpPeerAfErrorsTable."
        REFERENCE
                "RFC 4271, Section 4.5."
        ::= { bgpPeerEntry 14 }

    bgpPeerFsmEstablishedTransitions OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The total number of times the BGP FSM
                 transitioned into the established state
                 for this peer.




Haas                    Expires December 24, 2008              [Page 60]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


                 This object has been replaced by
                 bgpPeerAfFsmEstablishedTransitions."
        REFERENCE
                "RFC 4271, Section 8."
        ::= { bgpPeerEntry 15 }

    bgpPeerFsmEstablishedTime OBJECT-TYPE
        SYNTAX     Gauge32
        UNITS      "seconds"
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "This timer indicates how long (in
                 seconds) this peer has been in the
                 established state or how long
                 since this peer was last in the
                 established state.  It is set to zero when
                 a new peer is configured or when the router is
                 booted.

                 This object has been replaced by
                 bgpPeerAfFsmEstablishedTime."
        REFERENCE
                "RFC 4271, Section 8."
        ::= { bgpPeerEntry 16 }

    bgpPeerConnectRetryInterval OBJECT-TYPE
        SYNTAX     Integer32 (1..65535)
        UNITS      "seconds"
        MAX-ACCESS read-write
        STATUS     deprecated
        DESCRIPTION
                "Time interval (in seconds) for the
                 ConnectRetry timer.  The suggested value
                 for this timer is 120 seconds.

                 This object has been replaced by
                 bgpPeerAfConnectRetryInterval."
        REFERENCE
                "RFC 4271, Section 8.2.2.  This is the value used
                 to initialize the 'ConnectRetryTimer'."
        ::= { bgpPeerEntry 17 }

    bgpPeerHoldTime OBJECT-TYPE
        SYNTAX     Integer32  ( 0 | 3..65535 )
        UNITS      "seconds"
        MAX-ACCESS read-only
        STATUS     deprecated



Haas                    Expires December 24, 2008              [Page 61]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        DESCRIPTION
                "Time interval (in seconds) for the Hold
                 Timer established with the peer.  The
                 value of this object is calculated by this
                 BGP speaker, using the smaller of the
                 values in bgpPeerHoldTimeConfigured and the
                 Hold Time received in the OPEN message.

                 This value must be at least three seconds
                 if it is not zero (0).

                 If the Hold Timer has not been established
                 with the peer this object MUST have a value
                 of zero (0).

                 If the bgpPeerHoldTimeConfigured object has
                 a value of (0), then this object MUST have a
                 value of (0).

                 This object has been replaced by
                 bgpPeerAfHoldTime."
        REFERENCE
                "RFC 4271, Section 4.2."
        ::= { bgpPeerEntry 18 }

    bgpPeerKeepAlive OBJECT-TYPE
        SYNTAX     Integer32 ( 0 | 1..21845 )
        UNITS      "seconds"
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "Time interval (in seconds) for the KeepAlive
                 timer established with the peer.  The value
                 of this object is calculated by this BGP
                 speaker such that, when compared with
                 bgpPeerHoldTime, it has the same proportion
                 that bgpPeerKeepAliveConfigured has,
                 compared with bgpPeerHoldTimeConfigured.

                 If the KeepAlive timer has not been established
                 with the peer, this object MUST have a value
                 of zero (0).

                 If the of bgpPeerKeepAliveConfigured object
                 has a value of (0), then this object MUST have
                 a value of (0).

                 This object has been replaced by



Haas                    Expires December 24, 2008              [Page 62]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


                 bgpPeerAfKeepAlive."
        REFERENCE
                "RFC 4271, Section 4.4."
        ::= { bgpPeerEntry 19 }

    bgpPeerHoldTimeConfigured OBJECT-TYPE
        SYNTAX     Integer32 ( 0 | 3..65535 )
        UNITS      "seconds"
        MAX-ACCESS read-write
        STATUS     deprecated
        DESCRIPTION
                "Time interval (in seconds) for the Hold Time
                 configured for this BGP speaker with this
                 peer.  This value is placed in an OPEN
                 message sent to this peer by this BGP
                 speaker, and is compared with the Hold
                 Time field in an OPEN message received
                 from the peer when determining the Hold
                 Time (bgpPeerHoldTime) with the peer.
                 This value must not be less than three
                 seconds if it is not zero (0).  If it is
                 zero (0), the Hold Time is NOT to be
                 established with the peer.  The suggested
                 value for this timer is 90 seconds.

                 This object has been replaced by
                 bgpPeerAfHoldTimeConfigured."
        REFERENCE
                "RFC 4271, Section 4.2.
                 RFC 4271, Section 10."
        ::= { bgpPeerEntry 20 }

    bgpPeerKeepAliveConfigured OBJECT-TYPE
        SYNTAX     Integer32 ( 0 | 1..21845 )
        UNITS      "seconds"
        MAX-ACCESS read-write
        STATUS     deprecated
        DESCRIPTION
                "Time interval (in seconds) for the
                 KeepAlive timer configured for this BGP
                 speaker with this peer.  The value of this
                 object will only determine the
                 KEEPALIVE messages' frequency relative to
                 the value specified in
                 bgpPeerHoldTimeConfigured; the actual
                 time interval for the KEEPALIVE messages is
                 indicated by bgpPeerKeepAlive.  A
                 reasonable maximum value for this timer



Haas                    Expires December 24, 2008              [Page 63]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


                 would be one third of that of
                 bgpPeerHoldTimeConfigured.
                 If the value of this object is zero (0),
                 no periodic KEEPALIVE messages are sent
                 to the peer after the BGP connection has
                 been established.  The suggested value for
                 this timer is 30 seconds.

                 This object has been replaced by
                 bgpPeerAfKeepAliveConfigured."
        REFERENCE
                "RFC 4271, Section 4.4.
                 RFC 4271, Section 10."
        ::= { bgpPeerEntry 21 }

    bgpPeerMinASOriginationInterval OBJECT-TYPE
        SYNTAX     Integer32 (1..65535)
        UNITS      "seconds"
        MAX-ACCESS read-write
        STATUS     deprecated
        DESCRIPTION
                "Time interval (in seconds) for the
                 MinASOriginationInterval timer.
                 The suggested value for this timer is 15
                 seconds.

                 This object has been replaced by
                 bgpPeerAfMinASOrigInterval."
        REFERENCE
                "RFC 4271, Section 9.2.1.2.
                 RFC 4271, Section 10."
        ::= { bgpPeerEntry 22 }

    bgpPeerMinRouteAdvertisementInterval OBJECT-TYPE
        SYNTAX     Integer32 (1..65535)
        UNITS      "seconds"
        MAX-ACCESS read-write
        STATUS     deprecated
        DESCRIPTION
                "Time interval (in seconds) for the
                 MinRouteAdvertisementInterval timer.
                 The suggested value for this timer is 30
                 seconds for EBGP connections and 5
                 seconds for IBGP connections.

                 This object has been replaced by
                 bgpPeerAfMinRouteAdverInterval."
        REFERENCE



Haas                    Expires December 24, 2008              [Page 64]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


                "RFC 4271, Section 9.2.1.1.
                 RFC 4271, Section 10."
        ::= { bgpPeerEntry 23 }

    bgpPeerInUpdateElapsedTime OBJECT-TYPE
        SYNTAX     Gauge32
        UNITS      "seconds"
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "Elapsed time (in seconds) since the last BGP
                 UPDATE message was received from the peer.
                 Each time bgpPeerInUpdates is incremented,
                 the value of this object is set to zero (0).

                 This object has been replaced by
                 bgpPeerAfInUpdatesElapsedTime."
        REFERENCE
                "RFC 4271, Section 4.3.
                 RFC 4271, Section 8.2.2, Established state."
        ::= { bgpPeerEntry 24 }


    -- BGP Received Path Attribute Table.  This table contains
    -- one entry per path to a network, and path attributes
    -- received from all peers running BGP version 3 or less.
    -- This table is obsolete, having been replaced in
    -- functionality by the bgp4PathAttrTable.

    bgpRcvdPathAttrTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF BgpPathAttrEntry
        MAX-ACCESS not-accessible
        STATUS     obsolete
        DESCRIPTION
                "The BGP Received Path Attribute Table
                 contains information about paths to
                 destination networks, received from all
                 peers running BGP version 3 or less."
        ::= { bgp 5 }

    bgpPathAttrEntry OBJECT-TYPE
        SYNTAX     BgpPathAttrEntry
        MAX-ACCESS not-accessible
        STATUS     obsolete
        DESCRIPTION
                "Information about a path to a network."
        INDEX { bgpPathAttrDestNetwork,
                bgpPathAttrPeer        }



Haas                    Expires December 24, 2008              [Page 65]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        ::= { bgpRcvdPathAttrTable 1 }

    BgpPathAttrEntry ::= SEQUENCE {
        bgpPathAttrPeer
             IpAddress,
        bgpPathAttrDestNetwork
             IpAddress,
        bgpPathAttrOrigin
             INTEGER,
        bgpPathAttrASPath
             OCTET STRING,
        bgpPathAttrNextHop
             IpAddress,
        bgpPathAttrInterASMetric
             Integer32
    }

    bgpPathAttrPeer OBJECT-TYPE
        SYNTAX     IpAddress
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
                "The IP address of the peer where the path
                 information was learned."
        ::= { bgpPathAttrEntry 1 }

    bgpPathAttrDestNetwork OBJECT-TYPE
        SYNTAX     IpAddress
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
                "The address of the destination network."
        REFERENCE
                "RFC 1267, Section 4.3."
        ::= { bgpPathAttrEntry 2 }

    bgpPathAttrOrigin OBJECT-TYPE
        SYNTAX     INTEGER {
                       igp(1),-- networks are interior
                       egp(2),-- networks learned via the
                              -- EGP protocol
                       incomplete(3) -- networks that
                              -- are learned by some other
                              -- means
                   }
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION



Haas                    Expires December 24, 2008              [Page 66]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


                "The ultimate origin of the path information."
        REFERENCE
                "RFC 1267, Section 4.3.
                 RFC 1267, Section 5."
        ::= { bgpPathAttrEntry 3 }

    bgpPathAttrASPath OBJECT-TYPE
        SYNTAX     OCTET STRING (SIZE (2..255))
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
                "The set of ASes that must be traversed to reach
                 the network.  This object is probably best
                 represented as SEQUENCE OF INTEGER.  For SMI
                 compatibility, though, it is represented as
                 OCTET STRING.  Each AS is represented as a pair
                 of octets according to the following algorithm:

                    first-byte-of-pair = ASNumber / 256;
                    second-byte-of-pair = ASNumber & 255;"
        REFERENCE
                "RFC 1267, Section 4.3.
                 RFC 1267, Section 5."
        ::= { bgpPathAttrEntry 4 }

    bgpPathAttrNextHop OBJECT-TYPE
        SYNTAX     IpAddress
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
                "The address of the border router that should
                 be used for the destination network."
        REFERENCE
                "RFC 1267, Section 4.3.
                 RFC 1267, Section 5."
        ::= { bgpPathAttrEntry 5 }

    bgpPathAttrInterASMetric OBJECT-TYPE
        SYNTAX     Integer32
        MAX-ACCESS read-only
        STATUS     obsolete
        DESCRIPTION
                "The optional inter-AS metric.  If this
                 attribute has not been provided for this route,
                 the value for this object is 0."
        REFERENCE
                "RFC 1267, Section 4.3.
                 RFC 1267, Section 5."



Haas                    Expires December 24, 2008              [Page 67]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        ::= { bgpPathAttrEntry 6 }

    -- BGP-4 Received Path Attribute Table.  This table
    -- contains one entry per path to a network, and path
    -- attributes received from all peers running BGP-4.

    bgp4PathAttrTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF Bgp4PathAttrEntry
        MAX-ACCESS not-accessible
        STATUS     deprecated
        DESCRIPTION
                "The BGP-4 Received Path Attribute Table
                 contains information about paths to
                 destination networks, received from all
                 BGP4 peers.

                 This table has been replaced by the functionality
                 provided under the bgpRib OID."
        ::= { bgp 6 }

    bgp4PathAttrEntry OBJECT-TYPE
        SYNTAX     Bgp4PathAttrEntry
        MAX-ACCESS not-accessible
        STATUS     deprecated
        DESCRIPTION
                "Information about a path to a network."
        INDEX { bgp4PathAttrIpAddrPrefix,
                bgp4PathAttrIpAddrPrefixLen,
                bgp4PathAttrPeer            }
        ::= { bgp4PathAttrTable 1 }

    Bgp4PathAttrEntry ::= SEQUENCE {
        bgp4PathAttrPeer
             IpAddress,
        bgp4PathAttrIpAddrPrefixLen
             Integer32,
        bgp4PathAttrIpAddrPrefix
             IpAddress,
        bgp4PathAttrOrigin
             INTEGER,
        bgp4PathAttrASPathSegment
             OCTET STRING,
        bgp4PathAttrNextHop
             IpAddress,
        bgp4PathAttrMultiExitDisc
             Integer32,
        bgp4PathAttrLocalPref
             Integer32,



Haas                    Expires December 24, 2008              [Page 68]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        bgp4PathAttrAtomicAggregate
             INTEGER,
        bgp4PathAttrAggregatorAS
             Integer32,
        bgp4PathAttrAggregatorAddr
             IpAddress,
        bgp4PathAttrCalcLocalPref
             Integer32,
        bgp4PathAttrBest
             INTEGER,
        bgp4PathAttrUnknown
             OCTET STRING
    }

    bgp4PathAttrPeer OBJECT-TYPE
        SYNTAX     IpAddress
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The IP address of the peer where the path
                 information was learned.

                 This object has been replaced by the following
                 tuples of objects: bgpPeerAfInstance,
                 bgpPeerAfLocalAddrType, bgpPeerAfLocalAddr,
                 bgpPeerAfRemoteAddrType, bgpPeerAfRemoteAddr."
        ::= { bgp4PathAttrEntry 1 }

    bgp4PathAttrIpAddrPrefixLen OBJECT-TYPE
        SYNTAX     Integer32 (0..32)
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "Length in bits of the IP address prefix in
                 the Network Layer Reachability
                 Information field.

                 This object has been replaced by bgpNlriPrefixLen."
        ::= { bgp4PathAttrEntry 2 }

    bgp4PathAttrIpAddrPrefix OBJECT-TYPE
        SYNTAX     IpAddress
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "An IP address prefix in the Network Layer
                 Reachability Information field.  This object
                 is an IP address containing the prefix with



Haas                    Expires December 24, 2008              [Page 69]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


                 length specified by
                 bgp4PathAttrIpAddrPrefixLen.
                 Any bits beyond the length specified by
                 bgp4PathAttrIpAddrPrefixLen are zeroed.

                 This object has been replaced by bgpNlriPrefixType
                 and bgpNlriPrefix."
        REFERENCE
                "RFC 4271, Section 4.3."
        ::= { bgp4PathAttrEntry 3 }

    bgp4PathAttrOrigin OBJECT-TYPE
        SYNTAX     INTEGER {
                       igp(1),-- networks are interior
                       egp(2),-- networks learned via the
                              -- EGP protocol
                       incomplete(3) -- networks that
                              -- are learned by some other
                              -- means
                   }
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The ultimate origin of the path
                 information.

                 This object has been replaced by bgpAfPathAttrOrigin."
        REFERENCE
                "RFC 4271, Section 4.3.
                 RFC 4271, Section 5.1.1."
        ::= { bgp4PathAttrEntry 4 }

    bgp4PathAttrASPathSegment OBJECT-TYPE
        SYNTAX     OCTET STRING (SIZE (2..255))
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The sequence of AS path segments.  Each AS
                 path segment is represented by a triple
                 <type, length, value>.

                 The type is a 1-octet field that has two
                 possible values:
                     1      AS_SET: unordered set of ASes that a
                                 route in the UPDATE message
                                 has traversed

                     2      AS_SEQUENCE: ordered set of ASes that



Haas                    Expires December 24, 2008              [Page 70]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


                                 a route in the UPDATE message
                                 has traversed.

                 The length is a 1-octet field containing the
                 number of ASes in the value field.

                 The value field contains one or more AS
                 numbers.  Each AS is represented in the octet
                 string as a pair of octets according to the
                 following algorithm:

                    first-byte-of-pair = ASNumber / 256;
                    second-byte-of-pair = ASNumber & 255;

                 Known Issues:
                 o BGP Confederations will result in
                   a type of either 3 or 4.
                 o An AS Path may be longer than 255 octets.
                   This may result in this object containing
                   a truncated AS Path.

                 This object has been replaced by the bgpAsPathTable
                 and supplemented by a human readable object,
                 bgpAsPathString."
        REFERENCE
                "RFC 4271, Section 4.3.
                 RFC 4271, Section 5.1.2."
        ::= { bgp4PathAttrEntry 5 }

    bgp4PathAttrNextHop OBJECT-TYPE
        SYNTAX     IpAddress
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The address of the border router that
                 should be used for the destination
                 network.  This address is the NEXT_HOP
                 address received in the UPDATE packet.

                 This object has been replaced by
                 bgpAfPathAttrNextHop."
        REFERENCE
                "RFC 4271, Section 4.3.
                 RFC 4271, Section 5.1.3."
        ::= { bgp4PathAttrEntry 6 }

    bgp4PathAttrMultiExitDisc OBJECT-TYPE
        SYNTAX     Integer32 (-1..2147483647)



Haas                    Expires December 24, 2008              [Page 71]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "This metric is used to discriminate
                 between multiple exit points to an
                 adjacent autonomous system.  A value of -1
                 indicates the absence of this attribute.

                 Known Issues:
                 o The BGP-4 specification uses an
                   unsigned 32 bit number.  Thus, this
                   object cannot represent the full
                   range of the protocol.

                 This object has been replaced by bgpAfPathAttrMed
                 and bgpAfPathAttrMedPresent."
        REFERENCE
                "RFC 4271, Section 4.3.
                 RFC 4271, Section 5.1.4."
        ::= { bgp4PathAttrEntry 7 }

    bgp4PathAttrLocalPref OBJECT-TYPE
        SYNTAX     Integer32 (-1..2147483647)
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The originating BGP4 speaker's degree of
                 preference for an advertised route.  A
                 value of -1 indicates the absence of this
                 attribute.

                 Known Issues:
                 o The BGP-4 specification uses an
                   unsigned 32 bit number and thus this
                   object cannot represent the full
                   range of the protocol.

                 This object has been replaced by bgpAfPathAttrLocalPref."
        REFERENCE
                "RFC 4271, Section 4.3.
                 RFC 4271, Section 5.1.5."
        ::= { bgp4PathAttrEntry 8 }

    bgp4PathAttrAtomicAggregate OBJECT-TYPE
        SYNTAX     INTEGER {
                       lessSpecificRouteNotSelected(1),
                           -- Typo corrected from RFC 1657
                       lessSpecificRouteSelected(2)



Haas                    Expires December 24, 2008              [Page 72]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


                   }
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "If the ATOMIC_AGGREGATE attribute is present
                 in the Path Attributes then this object MUST
                 have a value of 'lessSpecificRouteNotSelected'.

                 If the ATOMIC_AGGREGATE attribute is missing
                 in the Path Attributes then this object MUST
                 have a value of 'lessSpecificRouteSelected'.

                 Note that ATOMIC_AGGREGATE is now a primarily
                 informational attribute.

                 This object has been replaced by
                 bgpAfPathAttrAtomicAggregate."
        REFERENCE
                "RFC 4271, Sections 5.1.6 and 9.1.4."
        ::= { bgp4PathAttrEntry 9 }

    bgp4PathAttrAggregatorAS OBJECT-TYPE
        SYNTAX     Integer32 (0..65535)
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The AS number of the last BGP4 speaker that
                 performed route aggregation.  A value of
                 zero (0) indicates the absence of this
                 attribute.

                 Note that propagation of AS of zero is illegal
                 in the Internet.

                 This object has been replaced by
                 bgpAfPathAttrAggregatorAS."
        REFERENCE
                "RFC 4271, Section 5.1.7.
                 RFC 4271, Section 9.2.2.2."
        ::= { bgp4PathAttrEntry 10 }

    bgp4PathAttrAggregatorAddr OBJECT-TYPE
        SYNTAX     IpAddress
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The IP address of the last BGP4 speaker
                 that performed route aggregation.  A



Haas                    Expires December 24, 2008              [Page 73]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


                 value of 0.0.0.0 indicates the absence
                 of this attribute.

                 This object has been replaced by
                 bgpAfPathAttrAggregatorAddr."
        REFERENCE
                "RFC 4271, Section 5.1.7.
                 RFC 4271, Section 9.2.2.2."
        ::= { bgp4PathAttrEntry 11 }

    bgp4PathAttrCalcLocalPref OBJECT-TYPE
        SYNTAX     Integer32 (-1..2147483647)
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The degree of preference calculated by the
                 receiving BGP4 speaker for an advertised
                 route.  A value of -1 indicates the
                 absence of this attribute.

                 Known Issues:
                 o The BGP-4 specification uses an
                   unsigned 32 bit number and thus this
                   object cannot represent the full
                   range of the protocol.

                 This object has been replaced by
                 bgpNlriCalcLocalPref."
        REFERENCE
                "RFC 4271, Section 9.1.1."
        ::= { bgp4PathAttrEntry 12 }

    bgp4PathAttrBest OBJECT-TYPE
        SYNTAX     INTEGER {
                       false(1),-- not chosen as best route
                       true(2) -- chosen as best route
                   }
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "An indication of whether this route
                 was chosen as the best BGP4 route for this
                 destination.

                 This object has been replaced by bgpNlriBest."
        REFERENCE
                "RFC 4271, Section 9.1.2."
        ::= { bgp4PathAttrEntry 13 }



Haas                    Expires December 24, 2008              [Page 74]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


    bgp4PathAttrUnknown OBJECT-TYPE
        SYNTAX     OCTET STRING (SIZE(0..255))
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "One or more path attributes not understood by
                 this BGP4 speaker.

                 Path attributes are recorded in the Update Path
                 attribute format of type, length, value.

                 Size zero (0) indicates the absence of such
                 attributes.

                 Octets beyond the maximum size, if any, are not
                 recorded by this object.

                 Known Issues:
                 o Attributes understood by this speaker, but not
                   represented in this MIB, are unavailable to
                   the agent.

                 This object has been replaced by the contents of
                 bgpAfPathAttrUnknownTable."
        REFERENCE
                "RFC 4271, Section 5."
        ::= { bgp4PathAttrEntry 14 }


    -- Traps.
    -- Note that in RFC 1657, bgpTraps was incorrectly
    -- assigned a value of { bgp 7 } and each of the
    -- traps had the bgpPeerRemoteAddr object inappropriately
    -- removed from their OBJECTS clause.  The following
    -- definitions restore the semantics of the traps as
    -- they were initially defined in RFC 1269.

    bgpEstablishedNotification NOTIFICATION-TYPE
        OBJECTS { bgpPeerRemoteAddr,
                  bgpPeerLastError,
                  bgpPeerState      }
        STATUS  deprecated
        DESCRIPTION
                "The bgpEstablishedNotification event is generated
                 when the BGP FSM enters the established state.

                 This Notification replaces the bgpEstablished
                 Notification and has been replaced by



Haas                    Expires December 24, 2008              [Page 75]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


                 bgpAfEstablishedNotification."
        ::= { bgpNotification 1 }

    bgpBackwardTransNotification NOTIFICATION-TYPE
        OBJECTS { bgpPeerRemoteAddr,
                  bgpPeerLastError,
                  bgpPeerState      }
        STATUS  deprecated
        DESCRIPTION
                "The bgpBackwardTransNotification event is
                 generated when the BGP FSM moves from a higher
                 numbered state to a lower numbered state.

                 This Notification replaces the
                 bgpBackwardsTransition Notification and has
                 been replaced by bgpAfBackwardsNotification."
        ::= { bgpNotification 2 }

    -- { bgp 7 } is deprecated.  Do not allocate new objects or
    --           notifications underneath this branch.

    bgpTraps        OBJECT IDENTIFIER ::= { bgp 7 } -- deprecated

    bgpEstablished NOTIFICATION-TYPE
        OBJECTS { bgpPeerLastError,
                  bgpPeerState      }
        STATUS  deprecated
        DESCRIPTION
                "The bgpEstablished event is generated when
                 the BGP FSM enters the established state.

                 This Notification has been replaced by the
                 bgpEstablishedNotification Notification."
        ::= { bgpTraps 1 }

    bgpBackwardTransition NOTIFICATION-TYPE
        OBJECTS { bgpPeerLastError,
                  bgpPeerState      }
        STATUS  deprecated
        DESCRIPTION
                "The bgpBackwardTransition event is generated
                 when the BGP FSM moves from a higher numbered
                 state to a lower numbered state.

                 This Notification has been replaced by the
                 bgpBackwardTransNotification Notification."
        ::= { bgpTraps 2 }




Haas                    Expires December 24, 2008              [Page 76]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


    -- Obsolete Compliance statements

    bgp4MIBCompliance MODULE-COMPLIANCE
        STATUS  obsolete
        DESCRIPTION
                "The compliance statement for entities which
                 implement the BGP4 mib.

                 This compliance statement is obsoleted by
                 bgpAfMIBCompliance."
        MODULE  -- this module
            MANDATORY-GROUPS { bgp4MIBGlobalsGroup,
                               bgp4MIBPeerGroup,
                               bgp4MIBPathAttrGroup }
            GROUP bgp4MIBNotificationGroup
            DESCRIPTION
                    "Implementation of BGP Notifications are
                     completely optional in this MIB."
        ::= { bgp4MIBCompliances 1 }

    bgp4MIBDeprecatedCompliances MODULE-COMPLIANCE
        STATUS  obsolete
        DESCRIPTION
                "The compliance statement documenting deprecated
                 objects in the BGP4 mib.

                 This compliance statement is obsoleted
                 by bgpAfMIBCompliance."
        MODULE  -- this module
            GROUP bgp4MIBTrapGroup
            DESCRIPTION
                "Group containing TRAP objects that were
                 improperly converted from SMIv1 in RFC 1657.
                 The proper semantics have been restored
                 with the objects in bgp4MIBNotificationGroup."
        ::= { bgp4MIBCompliances 2 }

    bgp4MIBObsoleteCompliances MODULE-COMPLIANCE
        STATUS  obsolete
        DESCRIPTION
                "The compliance statement documenting obsolete
                 objects in the BGP4 mib."
        MODULE  -- this module
            GROUP bgpRcvdPathAttrGroup
            DESCRIPTION
                "Group containing objects relevant to BGP-3
                 and earlier objects."
        ::= { bgp4MIBCompliances 3 }



Haas                    Expires December 24, 2008              [Page 77]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


    -- Units of conformance

    bgp4MIBGlobalsGroup OBJECT-GROUP
        OBJECTS { bgpVersion,
                  bgpLocalAs,
                  bgpIdentifier }
        STATUS  obsolete
        DESCRIPTION
                "A collection of objects providing
                 information on global BGP state.

                 This group has been replaced by
                 bgpAfMIBGlobalsGroup and bgpAfMIBOldGlobalsGroup."
        ::= { bgp4MIBGroups 1 }

    bgp4MIBPeerGroup OBJECT-GROUP
        OBJECTS { bgpPeerIdentifier,
                  bgpPeerState,
                  bgpPeerAdminStatus,
                  bgpPeerNegotiatedVersion,
                  bgpPeerLocalAddr,
                  bgpPeerLocalPort,
                  bgpPeerRemoteAddr,
                  bgpPeerRemotePort,
                  bgpPeerRemoteAs,
                  bgpPeerInUpdates,
                  bgpPeerOutUpdates,
                  bgpPeerInTotalMessages,
                  bgpPeerOutTotalMessages,
                  bgpPeerLastError,
                  bgpPeerFsmEstablishedTransitions,
                  bgpPeerFsmEstablishedTime,
                  bgpPeerConnectRetryInterval,
                  bgpPeerHoldTime,
                  bgpPeerKeepAlive,
                  bgpPeerHoldTimeConfigured,
                  bgpPeerKeepAliveConfigured,
                  bgpPeerMinASOriginationInterval,
                  bgpPeerMinRouteAdvertisementInterval,
                  bgpPeerInUpdateElapsedTime }
        STATUS  deprecated
        DESCRIPTION
                "A collection of objects for managing BGP peers
                 from the previous version of this MIB.  The
                 individual objects are deprecated and their support
                 is OPTIONAL."
        ::= { bgp4MIBGroups 2 }




Haas                    Expires December 24, 2008              [Page 78]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


    bgpRcvdPathAttrGroup OBJECT-GROUP
        OBJECTS { bgpPathAttrPeer,
                  bgpPathAttrDestNetwork,
                  bgpPathAttrOrigin,
                  bgpPathAttrASPath,
                  bgpPathAttrNextHop,
                  bgpPathAttrInterASMetric }
        STATUS  obsolete
        DESCRIPTION
                "A collection of objects for managing BGP-3 and
                earlier path entries.

                This conformance group, like BGP-3, is obsolete."
        ::= { bgp4MIBGroups 3 }

    bgp4MIBPathAttrGroup OBJECT-GROUP
        OBJECTS { bgp4PathAttrPeer,
                  bgp4PathAttrIpAddrPrefixLen,
                  bgp4PathAttrIpAddrPrefix,
                  bgp4PathAttrOrigin,
                  bgp4PathAttrASPathSegment,
                  bgp4PathAttrNextHop,
                  bgp4PathAttrMultiExitDisc,
                  bgp4PathAttrLocalPref,
                  bgp4PathAttrAtomicAggregate,
                  bgp4PathAttrAggregatorAS,
                  bgp4PathAttrAggregatorAddr,
                  bgp4PathAttrCalcLocalPref,
                  bgp4PathAttrBest,
                  bgp4PathAttrUnknown }
        STATUS  deprecated
        DESCRIPTION
                "A collection of objects for managing BGP path
                 entries from the previous version of this MIB.  This
                 individual objects are deprecated and their support
                 is OPTIONAL."
        ::= { bgp4MIBGroups 4 }

    bgp4MIBTrapGroup NOTIFICATION-GROUP
        NOTIFICATIONS { bgpEstablished,
                        bgpBackwardTransition }
        STATUS  deprecated
        DESCRIPTION
                "A collection of notifications for signaling
                 changes in BGP peer relationships.

                 Obsoleted by bgp4MIBNotificationGroup.  Support of
                 the objects in this group is OPTIONAL."



Haas                    Expires December 24, 2008              [Page 79]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


        ::= { bgp4MIBGroups 5 }

    bgp4MIBNotificationGroup NOTIFICATION-GROUP
        NOTIFICATIONS { bgpEstablishedNotification,
                        bgpBackwardTransNotification }
        STATUS deprecated
        DESCRIPTION
                "A collection of notifications for signaling
                 changes in BGP peer relationships.

                 Obsoletes bgp4MIBTrapGroup.  Obsoleted by
                 bgpAfMIBNotificationGroup.  Support for objects in
                 this group is OPTIONAL."
        ::= { bgp4MIBGroups 6 }

    bgpAfMIBNotificationGroup NOTIFICATION-GROUP
        NOTIFICATIONS { bgpAfEstablishedNotification,
                        bgpAfBackwardTransitionNotification }
        STATUS current
        DESCRIPTION
                "A collection of notifications for signaling
                 changes in BGP peer relationships.

                 Obsoletes bgp4MIBNotificationGroup."
        ::= { bgp4MIBGroups 7 }

END

8.  Security Considerations

   This MIB relates to a system providing inter-domain routing.  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:

      bgpPeerAdminStatus - Improper change of bgpPeerAdminStatus, from
      start to stop, can cause significant disruption of the
      connectivity to those portions of the Internet reached via the
      applicable remote BGP peer.





Haas                    Expires December 24, 2008              [Page 80]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


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

      bgpPeerHoldTimeConfigured, bgpPeerKeepAliveConfigured -
      Misconfiguration of these objects can make BGP sessions more
      fragile and less resilient to denial of service attacks on the
      inter-domain routing system.

      bgpPeerMinASOriginationInterval,
      bgpPeerMinRouteAdvertisementInterval - Misconfiguration of these
      objects may adversely affect global Internet convergence of the
      routes advertised by this BGP speaker.  This may result in long-
      lived routing loops and blackholes for the portions of the
      Internet that utilize these routes.

   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  bgpPeerAfLocalAddrType, bgpPeerAfLocalAddr,bgpPeerAfLocalPort
      bgpPeerAfRemoteAddrType, bgpPeerAfRemoteAddr, bgpPeerAfRemotePort,
      bgpPeerLocalAddr, bgpPeerLocalPort, bgpPeerRemoteAddr,
      bgpPeerRemotePort - A BGP peer's local and remote addresses might
      be sensitive for ISPs who want to keep interface addresses on
      routers confidential in order to prevent router addresses used for
      a denial of service attack or spoofing.  Note that other tables
      which share elements of these objects as indexes may similarly
      expose sensitive information.

   o  bgpNlriTable, bgpAdjRibsOutTable, bgpAfPathAttrTable,
      bgpAsPathTable, bgpRcvdPathAttrTable, bgp4PathAttrTable - A BGP
      peer's routing information may be sensitive for ISPs as the
      contents of their routing tables may expose details related to
      business relationships as implemented in Internet routing.

   SNMP versions prior to SNMPv3 did not include adequate security.
   Even if the network itself is secure (for example by using IPSec),
   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



Haas                    Expires December 24, 2008              [Page 81]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


   provided by the SNMPv3 framework (see [RFC3410], section 8),
   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.

9.  IANA Considerations

   This document includes an OID, bgpExtensions, which defines a name
   space for future BGP extensions.  IANA is requested to create a new
   registry for new OIDs under bgpExtensions that will define the root
   OID of future MIB modules for bgp extensions.  The assignment OIDs
   should be done based upon IDR working group consensus.

10.  Contributors

   This document owes significant thanks over the years to Wayne
   Tackabury, Susan Hares and the members of the idr and ops-nm mailing
   lists.  This document represents several years of negotiating
   operational needs, Internet operational security considerations and
   the sheer messiness of representing the BGP protocol in SMIv2.

   I owe particular thanks to Susan Hares as a mentor who let me dive
   head-first into the world of Internet standards work by saying, "We
   have this MIB that just needs a little cleanup to advance in the
   standards process."

11.  Acknowledgements

   We would like to acknowledge the assistance of all the members of the
   Inter-Domain Routing Working Group, and particularly the following
   individuals:

      Yakov Rekhter, Juniper Networks

      Rob Coltun, Redback

      Guy Almes, Internet2

      Jeff Honig, BSDi





Haas                    Expires December 24, 2008              [Page 82]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


      Marshall T. Rose, Dover Beach Consulting, Inc.

      Dennis Ferguson, Juniper Networks

      Matt Mathis, PSC

      John Krawczyk, Bay Networks

      Curtis Villamizar, Avici

      Dave LeRoy, Pencom Systems

      Paul Traina, Juniper Networks

      Andrew Partan, MFN

      Robert Snyder, Cisco Systems

      Dimitry Haskin, Nortel

      Peder Chr Norgaard, Telebit Communications A/S

      Joel Halpern, CTO Longitude Systems, Inc.

      Nick Thille, RedBack Networks

      Bert Wijnen, Lucent

      Shane Wright, NextHop Technologies

      Mike McFadden, Riverstone Networks, Inc.

      Jon Saperia, JDS Consulting, Inc.

      Wayne Tackabury, Gold Wire Technology, Inc.

      Bill Fenner, AT&T Research

      RJ Atkinson, Extreme Networks

      Dan Romascanu, Avaya

      Mathew Richardson, NextHop Technologies

      The origin of this document is from RFC 1269 "Definitions of
      Managed Objects for the Border Gateway Protocol (Version 3)"
      written by Steve Willis and John Burruss, which was updated by
      John Chu to support BGP-4 in RFC 1657.  The editors wish to



Haas                    Expires December 24, 2008              [Page 83]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


      acknowledge the fine work of these original authors.

12.  References

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

   [RFC3411]  Harrington, D., Presuhn, R., and B. Wijnen, "An
              Architecture for Describing Simple Network Management
              Protocol (SNMP) Management Frameworks", STD 62, RFC 3411,
              December 2002.

   [RFC4271]  Rekhter, Y., Li, T., and S. Hares, "A Border Gateway
              Protocol 4 (BGP-4)", RFC 4271, January 2006.

   [RFC4273]  Haas, J. and S. Hares, "Definitions of Managed Objects for
              BGP-4", RFC 4273, January 2006.

   [RFC2545]  Marques, P. and F. Dupont, "Use of BGP-4 Multiprotocol
              Extensions for IPv6 Inter-Domain Routing", RFC 2545,
              March 1999.

   [RFC4001]  Daniele, M., Haberman, B., Routhier, S., and J.
              Schoenwaelder, "Textual Conventions for Internet Network
              Addresses", RFC 4001, February 2005.

   [RFC4760]  Bates, T., Chandra, R., Katz, D., and Y. Rekhter,
              "Multiprotocol Extensions for BGP-4", RFC 4760,
              January 2007.

   [RFC5065]  Traina, P., McPherson, D., and J. Scudder, "Autonomous
              System Confederations for BGP", RFC 5065, August 2007.





Haas                    Expires December 24, 2008              [Page 84]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


12.2.  Informative References

   [RFC3410]  Case, J., Mundy, R., Partain, D., and B. Stewart,
              "Introduction and Applicability Statements for Internet-
              Standard Management Framework", RFC 3410, December 2002.

   [RFC1657]  Willis, S., Burruss, J., and J. Chu, "Definitions of
              Managed Objects for the Fourth Version of the Border
              Gateway Protocol (BGP-4) using SMIv2", RFC 1657,
              July 1994.

   [RFC3107]  Rekhter, Y. and E. Rosen, "Carrying Label Information in
              BGP-4", RFC 3107, May 2001.

   [RFC4022]  Raghunarayan, R., "Management Information Base for the
              Transmission Control Protocol (TCP)", RFC 4022,
              March 2005.

   [RFC4456]  Bates, T., Chen, E., and R. Chandra, "BGP Route
              Reflection: An Alternative to Full Mesh Internal BGP
              (IBGP)", RFC 4456, April 2006.

Author's Address

   Jeffrey Haas


   Phone:
   EMail: jhaas@pfrc.org






















Haas                    Expires December 24, 2008              [Page 85]


Internet-Draft            BGP-4 MIB, Version 2                 June 2008


Full Copyright Statement

   Copyright (C) The IETF Trust (2008).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.

Acknowledgement

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).







Haas                    Expires December 24, 2008              [Page 86]