Inter-Domain Routing Working Group J. Haas Internet-Draft November 11, 2007 Intended status: Standards Track Expires: May 14, 2008 Definitions of Managed Objects for the Fourth Version of Border Gateway Protocol (BGP-4), Second Version draft-ietf-idr-bgp4-mibv2-06 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 May 14, 2008. Copyright Notice Copyright (C) The IETF Trust (2007). 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 May 14, 2008 [Page 1] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 . . . . . . . . . . . . . 6 7. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 7 8. Security Considerations . . . . . . . . . . . . . . . . . . . 75 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 76 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 76 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 77 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 78 12.1. Normative References . . . . . . . . . . . . . . . . . . . 78 12.2. Informative References . . . . . . . . . . . . . . . . . . 79 Haas Expires May 14, 2008 [Page 2] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 along 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 May 14, 2008 [Page 3] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 bgpAfPathAttrCount - 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 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 May 14, 2008 [Page 4] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 AFI-SAFI 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 BgpAfiTC - Representation of a BGP Address Family Identifier o BgpSafiTC - Representation of a BGP Subsequent Address Family Identifier Haas Expires May 14, 2008 [Page 5] Internet-Draft BGP-4 MIB, Version 2 November 2007 o BgoPathAttrFlagsTC - 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 bgpAfBackwardTransNotification - 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 that TCP over IP are out of scope of the current BGP specifications. 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 Haas Expires May 14, 2008 [Page 6] Internet-Draft BGP-4 MIB, Version 2 November 2007 [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 "200711070000Z" ORGANIZATION "IETF IDR Working Group" CONTACT-INFO "E-mail: idr@ietf.org" DESCRIPTION "The MIB module for the BGP-4 protocol. Copyright (C) The Internet Society (2007). 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 "200711110000Z" DESCRIPTION "Changes from RFC 4273: TODO" REVISION "200601110000Z" DESCRIPTION "Changes from RFC 1657: 1) Fixed the definitions of the notifications to make them equivalent to their initial definition in RFC 1269. 2) Added compliance and conformance info. 3) Updated information for the values of Haas Expires May 14, 2008 [Page 7] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 -- BgpIdentifierTC ::= TEXTUAL-CONVENTION DISPLAY-HINT "1d." STATUS current DESCRIPTION "The representation of a BGP Identifier. The BGP Identifier should be represented in the OCTET STRING as with the first OCTET of the string containing the first OCTET of the BGP Identifier received or sent in the OPEN packet and so on. The BGP Identifier is displayed as if it is an IP address, even if it would be an illegal one." Haas Expires May 14, 2008 [Page 8] Internet-Draft BGP-4 MIB, Version 2 November 2007 REFERENCE "RFC 4273, Section 4.2" SYNTAX OCTET STRING(SIZE (4)) BgpAfiTC ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "The representation of a BGP AFI" REFERENCE "RFC 4760, Section 3" SYNTAX Unsigned32(0..65535) BgpSafiTC ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "The representation of a BGP SAFI" REFERENCE "RFC 4760, Section 3" SYNTAX Unsigned32(0..255) BgpPathAttrFlagsTC ::= 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. } -- -- Top level scalars for this MIB -- bgpVersion OBJECT-TYPE Haas Expires May 14, 2008 [Page 9] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 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 "The local autonomous system number. This object supports 4 byte ASes and replaces bgpLocalAs." Haas Expires May 14, 2008 [Page 10] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 } ::= { bgpPeerAfTable 1 } BgpPeerAfEntry ::= SEQUENCE { bgpPeerAfInstance Haas Expires May 14, 2008 [Page 11] Internet-Draft BGP-4 MIB, Version 2 November 2007 Unsigned32, bgpPeerAfIdentifier BgpIdentifierTC, bgpPeerAfPeerState INTEGER, bgpPeerAfAdminStatus INTEGER, bgpPeerAfConfiguredVersion Unsigned32, bgpPeerAfNegotiatedVersion Unsigned32, bgpPeerAfLocalAddrType InetAddressType, bgpPeerAfLocalAddr InetAddress, bgpPeerAfLocalPort InetPortNumber, bgpPeerAfLocalAs InetAutonomousSystemNumber, bgpPeerAfRemoteAddrType InetAddressType, bgpPeerAfRemoteAddr InetAddress, bgpPeerAfRemotePort InetPortNumber, bgpPeerAfRemoteAs InetAutonomousSystemNumber } bgpPeerAfInstance OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The routing instance index. Some BGP implementations permit the creation of 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 } bgpPeerAfIdentifier OBJECT-TYPE SYNTAX BgpIdentifierTC MAX-ACCESS read-only Haas Expires May 14, 2008 [Page 12] Internet-Draft BGP-4 MIB, Version 2 November 2007 STATUS current 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 2 } -- 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 3 } 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." Haas Expires May 14, 2008 [Page 13] Internet-Draft BGP-4 MIB, Version 2 November 2007 ::= { bgpPeerAfEntry 4 } 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 5 } 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 6 } bgpPeerAfLocalAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The address family of the local end of the peering session." ::= { bgpPeerAfEntry 7 } bgpPeerAfLocalAddr OBJECT-TYPE SYNTAX InetAddress (SIZE(4..20)) MAX-ACCESS not-accessible STATUS current DESCRIPTION Haas Expires May 14, 2008 [Page 14] Internet-Draft BGP-4 MIB, Version 2 November 2007 "The local IP address of this entry's BGP connection." ::= { bgpPeerAfEntry 8 } bgpPeerAfLocalPort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-only STATUS current DESCRIPTION "The local port for the TCP connection between the BGP peers." ::= { bgpPeerAfEntry 9 } 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 10 } bgpPeerAfRemoteAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The address family of the remote end of the peering session." ::= { bgpPeerAfEntry 11 } bgpPeerAfRemoteAddr OBJECT-TYPE SYNTAX InetAddress (SIZE(4..20)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The remote IP address of this entry's BGP peer." ::= { bgpPeerAfEntry 12 } 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, Haas Expires May 14, 2008 [Page 15] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 13 } 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 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 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 Haas Expires May 14, 2008 [Page 16] Internet-Draft BGP-4 MIB, Version 2 November 2007 and received for a particular BGP peer." AUGMENTS { bgpPeerAfEntry } ::= { bgpPeerAfErrorsTable 1 } BgpPeerAfErrorsEntry ::= SEQUENCE { bgpPeerAfLastErrorReceived OCTET STRING, bgpPeerAfLastErrorSent OCTET STRING, bgpPeerAfLastErrorReceivedTime TimeStamp, bgpPeerAfLastErrorSentTime TimeStamp, bgpPeerAfLastErrorReceivedText SnmpAdminString, bgpPeerAfLastErrorSentText SnmpAdminString, bgpPeerAfLastErrorReceivedData OCTET STRING, bgpPeerAfLastErrorSentData OCTET STRING } bgpPeerAfLastErrorReceived OBJECT-TYPE SYNTAX OCTET STRING (SIZE (2)) MAX-ACCESS read-only STATUS current DESCRIPTION "The last error code and subcode received from this peer via NOTIFICATION message 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." REFERENCE "RFC 4271, Section 4.5. RFC 4486 optionally supported. RFC 3362, Section 5 optionally supported." ::= { bgpPeerAfErrorsEntry 1 } bgpPeerAfLastErrorSent OBJECT-TYPE SYNTAX OCTET STRING (SIZE (2)) MAX-ACCESS read-only STATUS current DESCRIPTION "The last error code and subcode sent by this BGP Speaker via NOTIFICATION message on this connection. Haas Expires May 14, 2008 [Page 17] Internet-Draft BGP-4 MIB, Version 2 November 2007 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." REFERENCE "RFC 4271, Section 4.5. RFC 4486 optionaly 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 } 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 4 } 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 5 } 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." Haas Expires May 14, 2008 [Page 18] Internet-Draft BGP-4 MIB, Version 2 November 2007 ::= { bgpPeerAfErrorsEntry 6 } 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 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 7 } 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 8 } -- -- Address Family (Af) independent per-peer timer information -- bgpPeerAfTimers OBJECT IDENTIFIER ::= { bgpPeerAf 3 } -- -- Per-peer Event Times -- bgpPeerAfEventTimesTable OBJECT-TYPE Haas Expires May 14, 2008 [Page 19] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 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." REFERENCE "RFC 4271, Section 8." ::= { bgpPeerAfEventTimesEntry 1 } bgpPeerAfInUpdatesElapsedTime OBJECT-TYPE SYNTAX Gauge32 UNITS "seconds" MAX-ACCESS read-only Haas Expires May 14, 2008 [Page 20] Internet-Draft BGP-4 MIB, Version 2 November 2007 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." ::= { 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 } Haas Expires May 14, 2008 [Page 21] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 "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 Haas Expires May 14, 2008 [Page 22] Internet-Draft BGP-4 MIB, Version 2 November 2007 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." 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 -- Haas Expires May 14, 2008 [Page 23] Internet-Draft BGP-4 MIB, Version 2 November 2007 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. 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 Haas Expires May 14, 2008 [Page 24] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 } 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 Haas Expires May 14, 2008 [Page 25] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 } ::= { bgpPeerAfCountersTable 1 } BgpPeerAfCountersEntry ::= SEQUENCE { bgpPeerAfInUpdates Counter32, bgpPeerAfOutUpdates Counter32, bgpPeerAfInTotalMessages Counter32, bgpPeerAfOutTotalMessages Counter32, bgpPeerAfFsmEstablishedTrans Counter32 } bgpPeerAfInUpdates OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of BGP UPDATE messages received on this connection. This object should be initialized to zero (0) when the connection is established." ::= { bgpPeerAfCountersEntry 1 } bgpPeerAfOutUpdates OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of BGP UPDATE messages transmitted on this connection. This object should be initialized to zero (0) when the connection is established." ::= { bgpPeerAfCountersEntry 2 } bgpPeerAfInTotalMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current Haas Expires May 14, 2008 [Page 26] Internet-Draft BGP-4 MIB, Version 2 November 2007 DESCRIPTION "The total number of messages received from the remote peer on this connection. This object should be initialized to zero when the connection is established." ::= { bgpPeerAfCountersEntry 3 } bgpPeerAfOutTotalMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of messages transmitted to the remote peer on this connection. This object should be initialized to zero when the connection is established." ::= { bgpPeerAfCountersEntry 4 } bgpPeerAfFsmEstablishedTrans 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, Haas Expires May 14, 2008 [Page 27] Internet-Draft BGP-4 MIB, Version 2 November 2007 bgpPeerAfLocalAddr, bgpPeerAfRemoteAddrType, bgpPeerAfRemoteAddr, bgpPrefixCountersAfi, bgpPrefixCountersSafi } ::= { bgpPrefixCountersTable 1 } BgpPrefixCountersEntry ::= SEQUENCE { bgpPrefixCountersAfi BgpAfiTC, bgpPrefixCountersSafi BgpSafiTC, bgpPrefixInPrefixes Gauge32, bgpPrefixInPrefixesAccepted Gauge32, bgpPrefixOutPrefixes Gauge32 } bgpPrefixCountersAfi OBJECT-TYPE SYNTAX BgpAfiTC MAX-ACCESS not-accessible STATUS current DESCRIPTION "The AFI index of the per-peer, per prefix counters" ::= { bgpPrefixCountersEntry 1 } bgpPrefixCountersSafi OBJECT-TYPE SYNTAX BgpSafiTC 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." ::= { bgpPrefixCountersEntry 3 } Haas Expires May 14, 2008 [Page 28] Internet-Draft BGP-4 MIB, Version 2 November 2007 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." ::= { 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." ::= { 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." ::= { bgpRib 1 } bgpNlriEntry OBJECT-TYPE SYNTAX BgpNlriEntry MAX-ACCESS not-accessible STATUS current Haas Expires May 14, 2008 [Page 29] Internet-Draft BGP-4 MIB, Version 2 November 2007 DESCRIPTION "Information about a path to a network." INDEX { bgpNlriAfi, bgpNlriSafi, bgpNlriPrefix, bgpNlriPrefixLen, bgpNlriIndex, bgpPeerAfInstance, bgpPeerAfLocalAddrType, bgpPeerAfLocalAddr, bgpPeerAfRemoteAddrType, bgpPeerAfRemoteAddr } ::= { bgpNlriTable 1 } BgpNlriEntry ::= SEQUENCE { bgpNlriIndex Unsigned32, bgpNlriAfi BgpAfiTC, bgpNlriSafi BgpSafiTC, 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 Haas Expires May 14, 2008 [Page 30] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 this is RFC 3107 - Carrying MPLS labels in BGP." REFERENCE "RFC 3107 - Carrying Label Information in BGP-4." ::= { bgpNlriEntry 1 } bgpNlriAfi OBJECT-TYPE SYNTAX BgpAfiTC 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 BgpSafiTC 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 not-accessible 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 Haas Expires May 14, 2008 [Page 31] Internet-Draft BGP-4 MIB, Version 2 November 2007 SYNTAX InetAddress (SIZE (4..20)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "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 Haas Expires May 14, 2008 [Page 32] Internet-Draft BGP-4 MIB, Version 2 November 2007 "RFC 4271, Section 9.1.1" ::= { bgpNlriEntry 8 } bgpAfPathAttrIndex OBJECT-TYPE 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 Haas Expires May 14, 2008 [Page 33] Internet-Draft BGP-4 MIB, Version 2 November 2007 STATUS current DESCRIPTION "This table contains on a per-peer basis one or more routes from the bgpNlriTable that have been 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 { bgpPeerAfInstance, bgpPeerAfLocalAddrType, bgpPeerAfLocalAddr, bgpPeerAfRemoteAddrType, bgpPeerAfRemoteAddr, bgpNlriAfi, bgpNlriSafi, bgpNlriPrefix, bgpNlriPrefixLen, bgpAdjRibsOutIndex } ::= { 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 Haas Expires May 14, 2008 [Page 34] Internet-Draft BGP-4 MIB, Version 2 November 2007 SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "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 -- bgpAfPathAttrCount 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 { Haas Expires May 14, 2008 [Page 35] Internet-Draft BGP-4 MIB, Version 2 November 2007 bgpAfPathAttrIndex } ::= { bgpAfPathAttrTable 1 } BgpAfPathAttrEntry ::= SEQUENCE { bgpAfPathAttrOrigin INTEGER, bgpAfPathAttrNextHopAddrType InetAddressType, bgpAfPathAttrNextHop InetAddress, bgpAfPathAttrLinkLocalNextHop 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." Haas Expires May 14, 2008 [Page 36] Internet-Draft BGP-4 MIB, Version 2 November 2007 ::= { bgpAfPathAttrEntry 1 } 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 } bgpAfPathAttrNextHop 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, bgpAfPathAttrNextHop will contain the link local nexthop." REFERENCE "RFC 4271, Section 4.3, RFC 4271, Section 5.1.3, RFC 2545, Section 3." ::= { bgpAfPathAttrEntry 3 } bgpAfPathAttrLinkLocalNextHop OBJECT-TYPE SYNTAX InetAddress (SIZE(20)) MAX-ACCESS read-only STATUS current DESCRIPTION "This value contains an IPv6 link local address of InetAddressType of type ipv6z and is present only when receiving RFC 2545 style double nexthops. This object is optionally present in BGP implementations that do not support IPv6." Haas Expires May 14, 2008 [Page 37] Internet-Draft BGP-4 MIB, Version 2 November 2007 REFERENCE "RFC 2545, Section 3." ::= { bgpAfPathAttrEntry 4 } bgpAfPathAttrMedPresent OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Whether or not the MED value was sent in the UPDATE message." ::= { bgpAfPathAttrEntry 5 } 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 6 } 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." REFERENCE "RFC 4271, Section 4.3. RFC 4271, Section 5.1.5." ::= { bgpAfPathAttrEntry 7 } bgpAfPathAttrAtomicAggregate OBJECT-TYPE SYNTAX INTEGER { atomicAggregatePresent(1), atomicAggregateMissing(2) } MAX-ACCESS read-only STATUS current DESCRIPTION Haas Expires May 14, 2008 [Page 38] Internet-Draft BGP-4 MIB, Version 2 November 2007 "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 8 } 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 9 } 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 10 } bgpAsPathCalcLength OBJECT-TYPE 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 11 } bgpAsPathIndex OBJECT-TYPE SYNTAX Unsigned32 Haas Expires May 14, 2008 [Page 39] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 12 } 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 13 } -- -- BGP 4 AS_PATH. This table provides a platform netrual -- representation of the AS_PATH. -- 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 Haas Expires May 14, 2008 [Page 40] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 6 } bgpAsPathTableEntry 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 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." ::= { bgpAsPathTableEntry 1 } Haas Expires May 14, 2008 [Page 41] Internet-Draft BGP-4 MIB, Version 2 November 2007 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." ::= { bgpAsPathTableEntry 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" ::= { bgpAsPathTableEntry 3 } 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." ::= { bgpAsPathTableEntry 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 Haas Expires May 14, 2008 [Page 42] Internet-Draft BGP-4 MIB, Version 2 November 2007 -- 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 7 } 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 } ::= { bgpAfPathAttrUnknownTable 1 } BgpAfPathAttrUnknownEntry ::= SEQUENCE { bgpAfPathAttrUnknownCode Unsigned32, bgpAfPathAttrUnknownFlags OCTET STRING, bgpAfPathAttrUnknownValue OCTET STRING } bgpAfPathAttrUnknownCode OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible Haas Expires May 14, 2008 [Page 43] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 -- - 2 unknown path attr type (in bgpAfPathAttrUnknownCode) -- --------- -- 4070 bytes maximum per-message attribute value data bgpAfPathAttrUnknownFlags OBJECT-TYPE SYNTAX BgpPathAttrFlagsTC MAX-ACCESS read-only STATUS current DESCRIPTION "The flags of the unknown path attribute." ::= { bgpAfPathAttrUnknownEntry 2 } bgpAfPathAttrUnknownValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..4070)) MAX-ACCESS read-only STATUS current DESCRIPTION "Value of path attribute not understood by the base BGP-4 document. 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 } Haas Expires May 14, 2008 [Page 44] Internet-Draft BGP-4 MIB, Version 2 November 2007 -- -- 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 "The BGP Established event is generated when the BGP FSM enters the established state." ::= { bgpNotification 3 } bgpAfBackwardTransNotification NOTIFICATION-TYPE OBJECTS { bgpPeerAfPeerState, bgpPeerAfLocalPort, bgpPeerAfRemotePort, bgpPeerAfLastErrorReceived, 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 } Haas Expires May 14, 2008 [Page 45] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 MANDATORY-GROUPS { bgpTimersGroup, bgpCountersGroup, bgpAsPathGroup, bgpBaseGroup, bgpErrorsGroup, bgpPeerAfGroup, bgpAfPathAttributesGroup } GROUP bgpAfMIBGlobalsGroup DESCRIPTION "This group is mandatory for all agent implementations." GROUP bgpTimersGroup DESCRIPTION "This group is mandatory for all agent implementations." GROUP bgpCountersGroup DESCRIPTION "This group is mandatory for all agent implementations." GROUP bgpAsPathGroup DESCRIPTION "This group is mandatory for all agent implementations." GROUP bgpBaseGroup DESCRIPTION "This group is mandatory for all agent implementations." GROUP bgpErrorsGroup DESCRIPTION "This group is mandatory for all agent implementations." GROUP bgpPeerAfGroup DESCRIPTION "This group is mandatory for all agent implementations." GROUP bgpAfPathAttributesGroup DESCRIPTION "This group is mandatory for all agent implementations." Haas Expires May 14, 2008 [Page 46] Internet-Draft BGP-4 MIB, Version 2 November 2007 GROUP bgpAfMIBNotificationGroup DESCRIPTION "Implementation of BGP Notifications are completely optional in this MIB." ::= { 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 -- elsewhere in this MIB. bgpAfMIBGlobalsGroup OBJECT-GROUP OBJECTS { bgpVersion, bgpIdentifier } STATUS current DESCRIPTION "A collection of objects providing information on global BGP state. This group covers objects that overlap the Haas Expires May 14, 2008 [Page 47] Internet-Draft BGP-4 MIB, Version 2 November 2007 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, bgpPeerAfFsmEstablishedTrans, bgpPrefixInPrefixes, bgpPrefixInPrefixesAccepted, bgpPrefixOutPrefixes } STATUS current DESCRIPTION "Objects to count discrete events and exchanges on BGP sessions." ::= { bgp4MIBGroups 11 } bgpAsPathGroup OBJECT-GROUP OBJECTS { Haas Expires May 14, 2008 [Page 48] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 { bgpPeerAfLastErrorReceived, bgpPeerAfLastErrorReceivedData, bgpPeerAfLastErrorReceivedTime, bgpPeerAfLastErrorReceivedText, bgpPeerAfLastErrorSent, bgpPeerAfLastErrorSentData, bgpPeerAfLastErrorSentTime, bgpPeerAfLastErrorSentText } STATUS current DESCRIPTION "Errors received on BGP peering sessions." ::= { bgp4MIBGroups 14 } bgpPeerAfGroup OBJECT-GROUP OBJECTS { bgpPeerAfIdentifier, bgpPeerAfPeerState, bgpPeerAfAdminStatus, bgpPeerAfConfiguredVersion, bgpPeerAfNegotiatedVersion, bgpPeerAfLocalPort, bgpPeerAfLocalAs, bgpPeerAfRemotePort, bgpPeerAfRemoteAs } STATUS current DESCRIPTION "Core object types on BGP peering sessions." Haas Expires May 14, 2008 [Page 49] Internet-Draft BGP-4 MIB, Version 2 November 2007 ::= { bgp4MIBGroups 15 } bgpAfPathAttributesGroup OBJECT-GROUP OBJECTS { bgpAfPathAttrCount, bgpAsPathCalcLength, bgpAsPathElementValue, bgpAsPathIndex, bgpAsPathString, bgpAsPathType, bgpNlriBest, bgpNlriCalcLocalPref, bgpAdjRibsOutRoute, bgpAfPathAttrAggregatorAS, bgpAfPathAttrAggregatorAddr, bgpAfPathAttrAtomicAggregate, bgpAfPathAttrIndex, bgpAfPathAttrLocalPref, bgpAfPathAttrMed, bgpAfPathAttrMedPresent, bgpAfPathAttrNextHop, bgpAfPathAttrNextHopAddrType, bgpAfPathAttrLinkLocalNextHop, bgpAfPathAttrOrigin, bgpAfPathAttrUnknownIndex, bgpAfPathAttrUnknownFlags, bgpAfPathAttrUnknownValue } STATUS current DESCRIPTION "Attributes received on BGP peering sessions." ::= { bgp4MIBGroups 16 } -- ========================================================= -- -- 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 Haas Expires May 14, 2008 [Page 50] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 } ::= { bgpPeerTable 1 } BgpPeerEntry ::= SEQUENCE { bgpPeerIdentifier IpAddress, bgpPeerState INTEGER, bgpPeerAdminStatus INTEGER, bgpPeerNegotiatedVersion Integer32, bgpPeerLocalAddr IpAddress, bgpPeerLocalPort Haas Expires May 14, 2008 [Page 51] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 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." Haas Expires May 14, 2008 [Page 52] Internet-Draft BGP-4 MIB, Version 2 November 2007 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." REFERENCE "RFC 4271, Section 8.2.2." ::= { bgpPeerEntry 2 } bgpPeerAdminStatus OBJECT-TYPE SYNTAX INTEGER { stop(1), start(2) } MAX-ACCESS read-write STATUS deprecated 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." REFERENCE "RFC 4271, Section 8.1.2." ::= { bgpPeerEntry 3 } bgpPeerNegotiatedVersion OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS deprecated DESCRIPTION Haas Expires May 14, 2008 [Page 53] Internet-Draft BGP-4 MIB, Version 2 November 2007 "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." 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." ::= { 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." ::= { bgpPeerEntry 6 } bgpPeerRemoteAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The remote IP address of this entry's BGP peer." ::= { 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 Haas Expires May 14, 2008 [Page 54] Internet-Draft BGP-4 MIB, Version 2 November 2007 objects bgpPeerLocalAddr, bgpPeerLocalPort, bgpPeerRemoteAddr, and bgpPeerRemotePort provide the appropriate reference to the standard MIB TCP connection table." ::= { bgpPeerEntry 8 } bgpPeerRemoteAs OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The remote autonomous system number received in the BGP OPEN message." 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." 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." 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." REFERENCE Haas Expires May 14, 2008 [Page 55] Internet-Draft BGP-4 MIB, Version 2 November 2007 "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." 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." 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." 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 Haas Expires May 14, 2008 [Page 56] Internet-Draft BGP-4 MIB, Version 2 November 2007 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." 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." 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 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 Haas Expires May 14, 2008 [Page 57] Internet-Draft BGP-4 MIB, Version 2 November 2007 "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)." 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." REFERENCE Haas Expires May 14, 2008 [Page 58] Internet-Draft BGP-4 MIB, Version 2 November 2007 "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 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." 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." REFERENCE "RFC 4271, Section 9.2.1.2. RFC 4271, Section 10." ::= { bgpPeerEntry 22 } bgpPeerMinRouteAdvertisementInterval OBJECT-TYPE Haas Expires May 14, 2008 [Page 59] Internet-Draft BGP-4 MIB, Version 2 November 2007 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." REFERENCE "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)." 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 } Haas Expires May 14, 2008 [Page 60] Internet-Draft BGP-4 MIB, Version 2 November 2007 bgpPathAttrEntry OBJECT-TYPE SYNTAX BgpPathAttrEntry MAX-ACCESS not-accessible STATUS obsolete DESCRIPTION "Information about a path to a network." INDEX { bgpPathAttrDestNetwork, bgpPathAttrPeer } ::= { 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 Haas Expires May 14, 2008 [Page 61] Internet-Draft BGP-4 MIB, Version 2 November 2007 -- EGP protocol incomplete(3) -- networks that -- are learned by some other -- means } MAX-ACCESS read-only STATUS obsolete DESCRIPTION "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 Haas Expires May 14, 2008 [Page 62] Internet-Draft BGP-4 MIB, Version 2 November 2007 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." ::= { 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, Haas Expires May 14, 2008 [Page 63] Internet-Draft BGP-4 MIB, Version 2 November 2007 bgp4PathAttrASPathSegment OCTET STRING, bgp4PathAttrNextHop IpAddress, bgp4PathAttrMultiExitDisc Integer32, bgp4PathAttrLocalPref Integer32, 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." ::= { 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." ::= { 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 Haas Expires May 14, 2008 [Page 64] Internet-Draft BGP-4 MIB, Version 2 November 2007 is an IP address containing the prefix with length specified by bgp4PathAttrIpAddrPrefixLen. Any bits beyond the length specified by bgp4PathAttrIpAddrPrefixLen are zeroed." 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." 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 . 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 a route in the UPDATE message has traversed. The length is a 1-octet field containing the Haas Expires May 14, 2008 [Page 65] Internet-Draft BGP-4 MIB, Version 2 November 2007 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." 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." REFERENCE "RFC 4271, Section 4.3. RFC 4271, Section 5.1.3." ::= { bgp4PathAttrEntry 6 } bgp4PathAttrMultiExitDisc OBJECT-TYPE SYNTAX Integer32 (-1..2147483647) 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 Haas Expires May 14, 2008 [Page 66] Internet-Draft BGP-4 MIB, Version 2 November 2007 object cannot represent the full range of the protocol." 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." 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) } 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." REFERENCE "RFC 4271, Sections 5.1.6 and 9.1.4." Haas Expires May 14, 2008 [Page 67] Internet-Draft BGP-4 MIB, Version 2 November 2007 ::= { 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." 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 value of 0.0.0.0 indicates the absence of this attribute." 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." Haas Expires May 14, 2008 [Page 68] Internet-Draft BGP-4 MIB, Version 2 November 2007 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." REFERENCE "RFC 4271, Section 9.1.2." ::= { bgp4PathAttrEntry 13 } 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." 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 Haas Expires May 14, 2008 [Page 69] Internet-Draft BGP-4 MIB, Version 2 November 2007 -- 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 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 Haas Expires May 14, 2008 [Page 70] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 } -- 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 Haas Expires May 14, 2008 [Page 71] Internet-Draft BGP-4 MIB, Version 2 November 2007 "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 } -- 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, Haas Expires May 14, 2008 [Page 72] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 } 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 } Haas Expires May 14, 2008 [Page 73] Internet-Draft BGP-4 MIB, Version 2 November 2007 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." ::= { 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, bgpAfBackwardTransNotification } STATUS current DESCRIPTION "A collection of notifications for signaling changes in BGP peer relationships. Obsoletes bgp4MIBNotificationGroup." ::= { bgp4MIBGroups 7 } END Haas Expires May 14, 2008 [Page 74] Internet-Draft BGP-4 MIB, Version 2 November 2007 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. 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 Haas Expires May 14, 2008 [Page 75] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 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 Haas Expires May 14, 2008 [Page 76] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 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 Haas Expires May 14, 2008 [Page 77] Internet-Draft BGP-4 MIB, Version 2 November 2007 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 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 Haas Expires May 14, 2008 [Page 78] Internet-Draft BGP-4 MIB, Version 2 November 2007 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. 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 May 14, 2008 [Page 79] Internet-Draft BGP-4 MIB, Version 2 November 2007 Full Copyright Statement Copyright (C) The IETF Trust (2007). 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 May 14, 2008 [Page 80]