Inter-Domain Routing Working Group J. Haas Internet Draft NextHop S. Hares NextHop W. Tackabury Gold Wire Technology February 28, 2002 Definitions of Managed Objects for the Fourth Version of Border Gateway Protocol (BGP-4), Second Version Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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 mate- rial 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. Copyright Notice Copyright (C) The Internet Society (2002). All Rights Reserved. Abstract This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in TCP/IP-based internets. In particular, this MIB defines objects that facilitate the Various Authors Expires August 28, 2002 [Page 1] Internet Draft BGP-MIB v2 February 28, 2002 management of the Border Gateway Protocol Version 4 (BGP4). Distribution of this memo is unlimited. 1. Introduction This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects used for managing the Border Gateway Protocol Version 4. The SNMP Management Framework presently consists of five major compo- nents: o An overall architecture, described in RFC 2571 [1]. o Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and described in STD 16, RFC 1155 [2], STD 16, RFC 1212 [3] and RFC 1215 [4]. The second version, called SMIv2, is described in STD 58, RFC 2578 [5], RFC 2579 [6] and RFC 2580 [7]. o Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in STD 15, RFC 1157 [8]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [9] and RFC 1906 [10]. The third version of the message proto- col is called SNMPv3 and described in RFC 1906 [10], RFC 2572 [11] and RFC 2574 [12]. o Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in STD 15, RFC 1157 [8]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [13]. o A set of fundamental applications described in RFC 2573 [14] and the view-based access control mechanism described in RFC 2575 [15]. A more detailed introduction to the current SNMP Management Framework can be found in RFC 2570 [18]. Various Authors Expires August 28, 2002 [Page 2] Internet Draft BGP-MIB v2 February 28, 2002 Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the mechanisms defined in the SMI. 2. Objectives This MIB Module is meant to broadly update and replace a prior MIB Module defined in RFC 1657 [12]. Additionally, there is another effort underway to address very specific limited objectives in updat- ing points in the RFC 1657 object definition and managed object attributes [13]. The MIB Module described herein is intended to fully serve the functions and scope of RFC 1657 and these RFC 1657 updates. 2.1. Protocol Extensions Additionally, however, there are a number of ways in which the BGP Protocol has been enhanced through its ability for added capabili- ties. Implementations of those capabilities have not been able to have any management capabilities present in RFC 1657-compliant MIB module agents, since the capabilities themselves postdated the adop- tion of RFC 1657. For several significant capabilities, in the form of BGP Communities [17], Autonomous System Confederation [16] , BGP Multiprotocol Extensions [18], and Route Reflection [19], the MIB Module defined in this document exposes object types to manage those extended capabilities and their operation. One of these extensions in particular (the multiprotocol extensions) requires a thorough redefinition of MIB table row indices from the RFC 1657 state. This allows transport-independent address indices consistent with the Address Family Identifier (AFI) and Subsequent Address Family Identifier (SAFI) mechanisms of that extension. 2.2. Mechanisms for MIB Extensibility Moreover, the requirement for the incremental update of support for capabilities such as these begs the issue of placing modular extensi- bility for protocol extensions within the framework of the MIB itself. Going forward, it would be very desirable to have attributes of the MIB structure, and administrative procedures, to allow the incremental update of the MIB scope to cover any such new protocol extensions, without requiring a reissue of the entire MIB. In this sense, we seek to structure the MIB much like the underlying BGP4 itself, allowing capability-by-capability update. Various Authors Expires August 28, 2002 [Page 3] Internet Draft BGP-MIB v2 February 28, 2002 2.3. BGP Configuration Finally, the definition and adoption of Version 3 of the SNMP has occurred since the adoption of the RFC 1657 MIB. As a result, the ability to deploy secure configuration of managed elements via SNMP in a standardized way has become a reality for managed networks. In this MIB definition effort, we seek to expose a more thorough capac- ity for configuration of BGP4 and its capabilities than was present in RFC 1657 or than was common practice at the time of its adoption. 3. MIB Organization The MIB is broken down into several top level sections. This sec- tionalization is important to create an organization for extensibil- ity. In general, a top level section of the MIB module will identify some number of "core" scalar and tabular objects rooted off of it. If there is sufficient depth within a subsection of one of these top- level sections, the "core" subdivision off of the top level section may provide multiple levels to the OBJECT IDENTIFIER scope necessary to define its management data. Once this core section is defined, however, each top-level section has an explicit provision for an 'extensions' section OBJECT IDENTI- FIER. The intent of the extensions section is to be containment for discrete per-extension sections. By 'extension' here, we refer to protocol mechanisms, capabilities, and exchanges which are not defined in the base Border Gateway Protocol definition, or is not configuration for protocol operations of similarly 'core' status. Currently, we propose keying the identification within the per-exten- sion section in one of two ways. Where the extension is keyed to a defined capability which has an associated BGP capability number assigned by IANA (for example, mul- tiprotocol BGP extensions), the per extension section will be that defined IANA capability number. Where the extension has management information suitable for a MIB extension but does not correspond to an exchanged protocol capability (for example, BGP Route Reflection), the extension section shall have its final OBJECT IDENTIFIER fragment correspond to the RFC number which first uniquely defined the exten- sion (i.e., not requiring renumbering at the time a defining RFC for a protocol mechanism is outdated by a later RFC). Various Authors Expires August 28, 2002 [Page 4] Internet Draft BGP-MIB v2 February 28, 2002 3.1. bgpM2BaseScalars The bgpM2BaseScalars section (and corresponding OBJECT IDENTIFIER) is used to delineate object types used for basic management and monitor- ing of the protocol implementation. These are core parameters for the local configuration. While notifications are designed to be extensible into any other section in the MIB module, the currently defined traps are located here, in a subsection 'bgpM2BaseNotifica- tions'. This is rooted at index level zero (0) here, owing to con- ventions established in [4]. Support for multiple concurrently supported versions of BGP is exposed through the entries of the bgpM2VersionTable. Similarly, support for multiple capabilities and authentication mechanisms, as identified by their assigned numbers, are reported in the bgpM2Sup- portedCapabilitiesTable and bgpM2SupportedAuthTable respectively. In the MIB document, there are currently scalar extension mechanisms to allow the agent to report membership of a local BGP Confederation [21] or Route Reflection Cluster ID [24], as well as whether these capabilities are in fact supported by the implementation. These are consistent with the non-capability based extension section indexing guidelines as presented above. bgpM2BaseScalars also is the root for a subsection, bgpM2BaseScalar- Configuration, which contains the companion configuration objects for the base scalar objects delineated in the preceding paragraphs. These are presented as a series of scalar read-write objects, with a single OBJECT-TYPE of syntax StorageType to designate the persistence of the instance value data for these configuration scalars. 3.2. bgpM2PeerData The bgpM2PeerData section is per-peer object type definitions. The predominant table of read-only STATUS object types in that section (bgpM2PeerTable) describes the session, negotiation state, and authentication state on a per peer basis. A second table (bgpM2Pre- fixCountersTable) exposes information about individual route prefixes received over each peer session. A separate subsection and its sub- ordinate table (bgpM2PeerErrorsTable) reports information about the last error encountered on a given peering session. Further subsections report authentication state with the peer, peer- ing session detected errors, and elapsed time it has taken to advance the peering session into various states defined in the proto- col FSM. Various Authors Expires August 28, 2002 [Page 5] Internet Draft BGP-MIB v2 February 28, 2002 The bgpM2PeerConfiguredTimersTable reports and allows dynamic reset of key timers on the peer session. These currently allow reset of hold time and keepalive timer, for compatibility with the same capa- bilities in RFC 1657 [17]. For these resettable timers, their end-to- end negotiated current values are reflected in the bgpM2PeerNegotiat- edTimersTable. As currently defined, these tables describing authentication, error state, and timer values (in addition to the configuration tables for session timers) are tightly coupled enough to the logical per-row view exposed in the bgpM2PeerTable row entries on a session that these subordinate "tables" are defined as AUGMENTing the bgpM2PeerTable itself. The other primary design criterion behind this decision is that using this AUGMENTation does not increase the per-row-data requirements of bgpM2PeerTable instance retrieval so as to make such per-row retrieval unwieldy for the management applica- tion. 3.2.1. bgpM2PeerCapabilities bgpM2PeerCapabilitiesData has objects and tables to describe BGP capabilities locally supported, and those reported and negotiated over each peer session. For tables supporting each of these capa- bility sets, capability code and data value are provided. Attention must be given to the fact that multiple instances of a given capabil- ity can be transmitted between BGP speakers. 3.2.2. bgpM2PeerCounters The bgpM2CountersTable and bgpM2PrefixCountersTable report protocol exchanges/FSM transitions, and discrete number of NLRIs exchanged per peering session, respectively. This is independent of actual exchanged path attributes, which are tabularized later in the MIB module. Note that session transitions as reflected in changes of instances within this table may also be reflected in issuance of bgpM2Established and bgpM2BackwardTransition NOTIFICATION-TYPE PDUs. 3.2.3. Peering Data Extensions Route reflector status on a per-peer basis (whether the peer is a client or nonClient of the local BGP router's reflected route propa- gation), and peer confederation membership is reported in non capa- bility extensions of the peering data section. Various Authors Expires August 28, 2002 [Page 6] Internet Draft BGP-MIB v2 February 28, 2002 3.2.4. Configuring Peering Sessions The MIB has several tables indexed on a per-peer level of granularity to control creation and activation of new peering sessions, and to allow control on running sessions (those reflected in bgpM2PeerTable row instances) regardless of what caused their creation in the BGP routing process. The bgpM2CfgPeerAdminStatusTable allows creation and specification of a row by a bgpM2PeerIndex value (which is how its associated row instance is identified in the bgpM2PeerTable). For each such row instance, the set of the bgpM2CfgPeerAdminStatus OBJECT-TYPE of MAX- ACCESS read-write can allow management application start and stop of the session. This is contrasted with the function of the bgpM2CfgPeerTable, and its related AUGMENTed tables bgpM2CfgPeerTimersTable and bgpM2Cfg- PeerAuthTable. These are used to facilitate direct creation of peer- ing sessions by the management application. The function of columnar OBJECT-TYPEs within the bgpM2CfgPeerTable for local and remote address, version negotiation, and various row-administrative attributes (RowStatus and StorageType SYNTAXes) are straightforward enough. The only subtlety with respect to how peering sessions are activated from usage of this table, and how the activated sessions are reflected through their bgpM2PeerTable and bgpM2CfgPeerAdminSta- tusTable entries, is in the usage of the bgpM2CfgPeerTable columnar object bgpM2CfgPeerStatus. bgpM2CfgPeerStatus can take on two val- ues. When a peering session, as reflected through its row instance in the bgpM2CfgPeerTable, has the bgpM2CfgPeerStatus instance value in that row set to running(2) at the time of the SYNTAX RowStatus object instance of bgpM2CfgPeerRowEntryStatus set to active(1), the peering session will in fact be activated in the BGP routing process (in addition to having its row instance created in the bgpM2Cfg- PeerTable and bgpM2CfgPeerAdminStatusTable). In this case, the asso- ciated row of the bgpM2CfgPeerAdminStatusTable row bgpM2CfgPeerAdmin- Status instance would have the value of start(2). If, in the prior example, the bgpM2CfgPeerStatus is halted(1) at the time of the bgpM2CfgPeerRowEntryStatus instance set to active(1), only the peer- ing table entries would be created at this time of activation, with- out the peering session being automatically started. The bgpM2Cfg- PeerAdminStatusTable row bgpM2CfgPeerAdminStatus instance associated with the session would in this case reflect a value of stop(1). Since the row entries of the per-peer configuration tables which AUG- MENT the bgpM2CfgPeerTable logically fate-share the row instances in the bgpM2CfgPeerTable which they are AUGMENTing, they also share the same StorageType and RowStatus SYNTAX object sense of the Various Authors Expires August 28, 2002 [Page 7] Internet Draft BGP-MIB v2 February 28, 2002 bgpM2CfgPeerTable rows which they augment. 3.3. BGP Routing Information Base Data An important table for providing index information for other tables in the MIB module is the bgpM2NlriTable. This discriminates on a given network prefix (by AFI/SAFI), and the peer which advertised the prefix (since it can be heard of from multiple speakers). The bgpM2PathAttrIndex column which identifies each row in this table is used as an index for other per-attribute tables through the remainder of the MIB module. RFC 3107 [26] specifies a capability for exchanged routes between BGP peers to attach attribute information to a route indicating, specifi- cally, related MPLS label path information. The MIB supports the presentation of this attribute information by generalizing how these attributes are presented to accommodate further extensions of this particular type. Within a given bgpM2NlriTable entry, we speak of attribute data of this type as being 'opaque' to BGP, and use the columnar OBJECT-TYPEs bgpM2NlriOpaqueType and bgpM2NlriOpaquePointer to refer to it. In the case of the RFC 3107 MPLS label encoding (which is the only usage of these columnar fields in the bgpM2NlriTa- ble right now), a MPLS label stack would be referenced by bgpM2Nlri- OpaquePointer by its per-NLRI instance pointing to a row instance in the MPLS LSR MIB mplsLabelStackTable, and the bgpM2NlriOpaqueType instance having a value of bgpMplsLabelStack(1). The bgpM2AdjRibsOutTable row entries reflect data on routes which have been placed, per peering session, in the Adj-Rib-Out for adver- tisement to the associated peer. The bgpM2PathAttrTable provides discrete BGP NLRI attributes which were received with the advertisement of the prefix by its advertising peer. Specific information about the autonomous system path (AS Path) advertised with the NLRI, on a per AS value, is to be found in the bgpM2AsPathTable. Finally, where attributes which were unable to be reported in the bgpM2PathAttrTable, the AS Path table, or any defined per-NLRI tables in the agent were received with the prefix, those attributes are reported via the bgpM2PathAttrUnknownTable. Short of advertised attribute type, no semantic breakdown of the unknown attribute data is provided. That data is only available as a raw OCTET STRING in the bgpM2PathAttrUnknownValue column of this table. Various Authors Expires August 28, 2002 [Page 8] Internet Draft BGP-MIB v2 February 28, 2002 3.3.1. Routing Information Base Extensions There are two extension sections and five subordinate tables to the bgpM2PathAttrTable and RIB data OBJECT IDENTIFIER-delimited MIB mod- ule section. The bgpM2PathAttrRouteReflectionExts and its contained bgpM2PathAttrOriginatorIdTable report on the originating route reflector. The bgpM2PathAttrClusterTable specifically reports on the reflection route a NLRI has traversed to get to the local BGP routing process. The bgpM2PathAttrCommunityExts section deals with extended and non- extended communities for network routes. The bgpM2PathAttrCommTable bgpM2PathAttrExtCommTable contained herein report community member- ship (if any) on a per network-prefix basis. 3.4. Consideration On Table Indexing There are certain efficiency concerns for row index management for management applications which are useful to take into consideration, given the nature of some of the tables implied in the preceding sec- tion. In the first place, it is valuable to exploit the direct relationship of entries in, for example, the bgpM2PrefixCountersTable as they relate to the entry in the bgpM2PeerTable to which they are related. More compelling is the example case of the one-to-many relationship between a row entry in the bgpM2PeerTable and the bgpM2PathAttrTable, the latter of which maintains per-row entries for potentially many NLRIs as received from a peer in a BGP UPDATE message. From the point of view of normalizing these relationships, it would be useful to have a direct reference to the "governing" bgpM2PeerTable row entry for the peer which is a "dependency" for the subordinate table row entry for other peer data. Second, the nature of protocol-independent addressing makes the indexing of these entries indirectly even more compelling. Even accounting for the addressing requirements of IPv6 and the provision of AFI and SAFI qualifiers, the logical addressing of a row in the bgpPathAttrClusterTable (for example) would extend out some 50 bytes if there was no direct index linkage to the "governing" bgpPathAt- trTable, and bgpPeerTable entries. For this reason, the tables are structured in such a way that, where there is such a linkage to a "dependent" table (where, for example, the bgpPrefixCountersTable "depends on" the bgpPeerTable), a table will contain a per-row numeric index (e.g., bgpPeerIndex), which the "dependent" table will use as one of its own row index values. These indices are manufactured by the agent, and are otherwise opaque to Various Authors Expires August 28, 2002 [Page 9] Internet Draft BGP-MIB v2 February 28, 2002 the management application (or, for that matter, even to the organi- zation of the "dependent" table[s]). Where considerations of per-row retrieval overhead (in terms of typi- cal row instance data size, as a function of liability to have a sin- gle row retrieval exceed PDU size, for example), and those of general logical data organization permit, certain tables logically at the sub-peering-session level have been specified as AUGMENTing the pri- mary tables (bgpM2PeerTable and bgpM2CfgPeerTable) to which those sub-peering-session row entries relate. This is to facilitate ease on the part of a management application of assembling (for example, via GET-BULK operations across a lexicographically contiguous row scope) a management image of control information on a given peering session. 1. BGP4-V2-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Counter32, Gauge32, mib-2, Unsigned32, Integer32 FROM SNMPv2-SMI -- Note that the following reference to INET-ADDRESS-MIB -- refers to the version as published in the RFC 2851 -- update internet draft. InetAddressType, InetAddress, InetPortNumber, InetAutonomousSystemNumber, InetAddressPrefixLength FROM INET-ADDRESS-MIB TEXTUAL-CONVENTION, TruthValue, DisplayString, RowPointer, StorageType, RowStatus FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF; bgpM2 MODULE-IDENTITY LAST-UPDATED "200202270000Z" ORGANIZATION "IETF IDR Working Group" CONTACT-INFO "E-mail: idr@merit.net Jeffrey Haas (Editor) 825 Victors Way, Suite 100 Ann Arbor, MI 48108 Tel: +1 734 973-2200 Fax: +1 734 615-3241 E-mail: jhaas@nexthop.com" Various Authors Expires August 28, 2002 [Page 10] Internet Draft BGP-MIB v2 February 28, 2002 DESCRIPTION "This MIB module defines management objects for the Border Gateway Protocol, Version 4." ::= { mib-2 XXX } BgpM2Identifier ::= 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. Even though the BGP Identifier is trending away from an IP address it is still displayed as if it was one, even when it would be an illegal IP address." SYNTAX OCTET STRING(SIZE (4)) BgpM2Safi ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "The representation of a BGP Safi" SYNTAX Unsigned32(0..255) BgpM2Community ::= TEXTUAL-CONVENTION DISPLAY-HINT "2d:" STATUS current DESCRIPTION "The representation of a BGP Community." SYNTAX OCTET STRING(SIZE(4)) BgpM2ExtendedCommunity ::= TEXTUAL-CONVENTION DISPLAY-HINT "1x:1x:1x1x1x1x1x1x" STATUS current DESCRIPTION "The representation of a BGP Extended Community." SYNTAX OCTET STRING(SIZE(8)) bgpM2BaseScalars OBJECT IDENTIFIER ::= { bgp 1 } Various Authors Expires August 28, 2002 [Page 11] Internet Draft BGP-MIB v2 February 28, 2002 -- -- Notifications -- bgpM2BaseNotifications OBJECT IDENTIFIER ::= { bgpM2BaseScalars 0 } bgpM2Established NOTIFICATION-TYPE OBJECTS { bgpM2PeerLocalAddrType, bgpM2PeerLocalAddr, bgpM2PeerRemoteAddrType, bgpM2PeerRemoteAddr, bgpM2PeerLastErrorReceived, bgpM2PeerState } STATUS current DESCRIPTION "The BGP Established event is generated when the BGP FSM enters the ESTABLISHED state." ::= { bgpM2BaseNotifications 1 } bgpM2BackwardTransition NOTIFICATION-TYPE OBJECTS { bgpM2PeerLocalAddrType, bgpM2PeerLocalAddr, bgpM2PeerRemoteAddrType, bgpM2PeerRemoteAddr, bgpM2PeerLastErrorReceived, bgpM2PeerLastErrorReceivedText, bgpM2PeerState } STATUS current DESCRIPTION "The BGPBackwardTransition Event is generated when the BGP FSM moves from a higher numbered state to a lower numbered state." ::= { bgpM2BaseNotifications 2 } -- -- BGP Supported Version Table -- bgpM2Version OBJECT IDENTIFIER ::= { bgpM2BaseScalars 1 } Various Authors Expires August 28, 2002 [Page 12] Internet Draft BGP-MIB v2 February 28, 2002 bgpM2VersionTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2VersionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table of supported BGP versions." ::= { bgpM2Version 1 } bgpM2VersionEntry OBJECT-TYPE SYNTAX BgpM2VersionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing data on a given supported version of the Border Gateway Protocol and the level of support provided. It is expected that any agent implementation supporting this MIB module will report support for Version 4 of the Border Gateway Protocol at the very minimum." INDEX { bgpM2VersionIndex } ::= { bgpM2VersionTable 1 } BgpM2VersionEntry ::= SEQUENCE { bgpM2VersionIndex Unsigned32, bgpM2VersionSupported TruthValue } bgpM2VersionIndex OBJECT-TYPE SYNTAX Unsigned32(0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The version number of the BGP Protocol." ::= { bgpM2VersionEntry 1 } bgpM2VersionSupported OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION Various Authors Expires August 28, 2002 [Page 13] Internet Draft BGP-MIB v2 February 28, 2002 "This value is TRUE if this version of the BGP protocol identified in 'bgpM2VersionIndex' is supported. The absence of a row for a particular bgpM2VersionIndex indicates that that bgpM2VersionIndex protocol version number is not supported." ::= { bgpM2VersionEntry 2 } -- -- Supported authentication mechanisms -- bgpM2SupportedAuthentication OBJECT IDENTIFIER ::= { bgpM2BaseScalars 2 } bgpM2SupportedAuthTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2SupportedAuthEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The supported BGP authentication mechanisms." ::= { bgpM2SupportedAuthentication 1 } bgpM2SupportedAuthEntry OBJECT-TYPE SYNTAX BgpM2SupportedAuthEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing information whether a given BGP authentication mechanism is supported by this implementation." INDEX { bgpM2SupportedAuthCode } ::= { bgpM2SupportedAuthTable 1 } BgpM2SupportedAuthEntry ::= SEQUENCE { bgpM2SupportedAuthCode Unsigned32, bgpM2SupportedAuthValue TruthValue } bgpM2SupportedAuthCode OBJECT-TYPE Various Authors Expires August 28, 2002 [Page 14] Internet Draft BGP-MIB v2 February 28, 2002 SYNTAX Unsigned32(0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The BGP authentication code." ::= { bgpM2SupportedAuthEntry 1 } bgpM2SupportedAuthValue OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This value is TRUE if a given authentication method is supported by the local implementation." ::= { bgpM2SupportedAuthEntry 2 } -- -- Supported BGP Capabilities -- bgpM2SupportedCapabilities OBJECT IDENTIFIER ::= { bgpM2BaseScalars 3 } bgpM2CapabilitySupportAvailable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This value is TRUE if capability support is available and is enabled." ::= { bgpM2SupportedCapabilities 1 } bgpM2SupportedCapabilitiesTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2SupportedCapabilityEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table of supported BGP-4 capabilities." ::= { bgpM2SupportedCapabilities 2 } bgpM2SupportedCapabilitiesEntry OBJECT-TYPE SYNTAX BgpM2SupportedCapabilityEntry MAX-ACCESS not-accessible Various Authors Expires August 28, 2002 [Page 15] Internet Draft BGP-MIB v2 February 28, 2002 STATUS current DESCRIPTION "Information about supported capabilities indexed by capability number." INDEX { bgpM2SupportedCapabilityCode } ::= { bgpM2SupportedCapabilitiesTable 1 } BgpM2SupportedCapabilityEntry ::= SEQUENCE { bgpM2SupportedCapabilityCode Unsigned32, bgpM2SupportedCapability TruthValue } bgpM2SupportedCapabilityCode OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "Index of supported capability. The index directly corresponds with the BGP-4 Capability Advertisement Capability Code." ::= { bgpM2SupportedCapabilitiesEntry 1 } bgpM2SupportedCapability OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This value is True if this capability is supported, False otherwise." ::= { bgpM2SupportedCapabilitiesEntry 2 } -- -- Base Scalars -- bgpM2AsSize OBJECT-TYPE SYNTAX INTEGER { twoOctet(1), fourOctet(2) Various Authors Expires August 28, 2002 [Page 16] Internet Draft BGP-MIB v2 February 28, 2002 } MAX-ACCESS read-only STATUS current DESCRIPTION "The size of the AS value in this implementation. The semantics of this are determined as per the as-4bytes draft." REFERENCE "draft-ietf-idr-as4bytes-04" ::= { bgpM2BaseScalars 4 } bgpM2LocalAs OBJECT-TYPE SYNTAX InetAutonomousSystemNumber MAX-ACCESS read-only STATUS current DESCRIPTION "The local autonomous system number. If the bgpM2AsSize is twoOctet, then the range is constrained to be 0-65535." ::= { bgpM2BaseScalars 5 } bgpM2LocalIdentifier OBJECT-TYPE SYNTAX BgpM2Identifier MAX-ACCESS read-only STATUS current DESCRIPTION "The BGP Identifier of local system. Current practice is trending away from this value being treated as an IP address and more as a generic identifier." ::= { bgpM2BaseScalars 6 } -- -- Base Scalar Extensions -- bgpM2BaseScalarExtensions OBJECT IDENTIFIER ::= { bgpM2BaseScalars 7 } bgpM2BaseScalarNonCapExts OBJECT IDENTIFIER ::= { bgpM2BaseScalarExtensions 1 } Various Authors Expires August 28, 2002 [Page 17] Internet Draft BGP-MIB v2 February 28, 2002 bgpM2BaseScalarCapExts OBJECT IDENTIFIER ::= { bgpM2BaseScalarExtensions 2 } -- -- Base Scalar Route Reflection Extensions -- bgpM2BaseScalarRouteReflectExts OBJECT IDENTIFIER ::= { bgpM2BaseScalarNonCapExts 2796 } bgpM2RouteReflector OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This value is TRUE if this implementation supports the BGP Route Reflection Extension and is enabled as a route reflector. If the BGP Route Reflection extension is not supported this value must be FALSE." REFERENCE "RFC 2796 - BGP Route Reflection" ::= { bgpM2BaseScalarRouteReflectExts 1 } bgpM2ClusterId OBJECT-TYPE SYNTAX BgpM2Identifier MAX-ACCESS read-only STATUS current DESCRIPTION "The configured Cluster-ID of the BGP Speaker. This will default to the BGP Speaker's BgpM2Identifier if this speaker is functioning as a route reflector and an explicit Cluster-ID has not been configured. A value of 0.0.0.0 will be present if Route Reflection is not enabled." REFERENCE "RFC 2796 - BGP Route Reflection" ::= { bgpM2BaseScalarRouteReflectExts 2 } -- -- Base Scalar AS Confederation Extensions -- bgpM2BaseScalarASConfedExts OBJECT IDENTIFIER ::= Various Authors Expires August 28, 2002 [Page 18] Internet Draft BGP-MIB v2 February 28, 2002 { bgpM2BaseScalarNonCapExts 3065 } bgpM2ConfederationRouter OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This value is TRUE if this implementation supports the BGP AS Confederations Extension and this router is configured to be in a confederation." REFERENCE "RFC 3065 - Autonomous System Confederations for BGP" ::= { bgpM2BaseScalarASConfedExts 1 } bgpM2ConfederationId OBJECT-TYPE SYNTAX InetAutonomousSystemNumber MAX-ACCESS read-only STATUS current DESCRIPTION "The local Confederation Identification Number. This value will be zero (0) if this BGP Speaker is not a confederation router." REFERENCE "RFC 3065 - Autonomous System Confederations for BGP" ::= { bgpM2BaseScalarASConfedExts 2 } -- -- Base Configuration Objects -- bgpM2BaseScalarConfiguration OBJECT IDENTIFIER ::= { bgpM2BaseScalars 8 } bgpM2CfgBaseScalarStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the intended storage type for all configurable base scalars." ::= { bgpM2BaseScalarConfiguration 1 } Various Authors Expires August 28, 2002 [Page 19] Internet Draft BGP-MIB v2 February 28, 2002 bgpM2CfgLocalAs OBJECT-TYPE SYNTAX InetAutonomousSystemNumber MAX-ACCESS read-write STATUS current DESCRIPTION "The local autonomous system number. If the bgpM2AsSize is twoOctet, then the range is constrained to be 0-65535." ::= { bgpM2BaseScalarConfiguration 2 } bgpM2CfgLocalIdentifier OBJECT-TYPE SYNTAX BgpM2Identifier MAX-ACCESS read-write STATUS current DESCRIPTION "The BGP Identifier of local system. Current practice is trending away from this value being treated as an IP address and more as a generic identifier." ::= { bgpM2BaseScalarConfiguration 3 } -- -- Base Scalar Extensions -- bgpM2CfgBaseScalarExtensions OBJECT IDENTIFIER ::= { bgpM2BaseScalarConfiguration 4 } bgpM2CfgBaseScalarNonCapExts OBJECT IDENTIFIER ::= { bgpM2CfgBaseScalarExtensions 1 } bgpM2CfgBaseScalarCapExts OBJECT IDENTIFIER ::= { bgpM2CfgBaseScalarExtensions 2 } -- -- Base Scalar Route Reflection Extensions -- bgpM2CfgBaseScalarReflectorExts OBJECT IDENTIFIER ::= { bgpM2CfgBaseScalarNonCapExts 2796 } Various Authors Expires August 28, 2002 [Page 20] Internet Draft BGP-MIB v2 February 28, 2002 bgpM2CfgRouteReflector OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This value is set to true if this implementation will be supporting route reflection." REFERENCE "RFC 2796 - BGP Route Reflection" ::= { bgpM2CfgBaseScalarReflectorExts 1 } bgpM2CfgClusterId OBJECT-TYPE SYNTAX BgpM2Identifier MAX-ACCESS read-write STATUS current DESCRIPTION "The configured Cluster-ID of the BGP Speaker. This will default to the BGP Speaker's BgpM2Identifier if this speaker is functioning as a route reflector and an explicit Cluster-ID has not been configured. A value of 0.0.0.0 will be present if Route Reflection is not enabled." REFERENCE "RFC 2796 - BGP Route Reflection" ::= { bgpM2CfgBaseScalarReflectorExts 2 } -- -- Base Scalar AS Confederation Extensions -- bgpM2CfgBaseScalarASConfedExts OBJECT IDENTIFIER ::= { bgpM2CfgBaseScalarNonCapExts 3065 } bgpM2CfgConfederationRouter OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This value is set to true if this implementation will be supporting BGP AS Confederations." REFERENCE "RFC 3065 - Autonomous System Confederations for BGP" ::= { bgpM2CfgBaseScalarASConfedExts 1 } Various Authors Expires August 28, 2002 [Page 21] Internet Draft BGP-MIB v2 February 28, 2002 bgpM2CfgConfederationId OBJECT-TYPE SYNTAX InetAutonomousSystemNumber MAX-ACCESS read-write STATUS current DESCRIPTION "The local Confederation Identification Number. This value will be zero (0) if this BGP Speaker is not a confederation router." REFERENCE "RFC 3065 - Autonomous System Confederations for BGP" ::= { bgpM2CfgBaseScalarASConfedExts 2 } -- -- BGP Peer Data -- bgpM2Peer OBJECT IDENTIFIER ::= { bgp 2 } bgpM2PeerData OBJECT IDENTIFIER ::= { bgpM2Peer 1 } bgpM2PeerTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2PeerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "BGP peer table. This table contains, one entry per BGP peer, and information about the connections with BGP peers." ::= { bgpM2PeerData 1 } bgpM2PeerEntry OBJECT-TYPE SYNTAX BgpM2PeerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing information about the connection with a BGP peer." INDEX { bgpM2PeerLocalAddrType, Various Authors Expires August 28, 2002 [Page 22] Internet Draft BGP-MIB v2 February 28, 2002 bgpM2PeerLocalAddr, bgpM2PeerRemoteAddrType, bgpM2PeerRemoteAddr } ::= { bgpM2PeerTable 1 } BgpM2PeerEntry ::= SEQUENCE { bgpM2PeerIdentifier BgpM2Identifier, bgpM2PeerState INTEGER, bgpM2PeerStatus INTEGER, bgpM2PeerConfiguredVersion Unsigned32, bgpM2PeerNegotiatedVersion Unsigned32, bgpM2PeerLocalAddrType InetAddressType, bgpM2PeerLocalAddr InetAddress, bgpM2PeerLocalPort InetPortNumber, bgpM2PeerLocalAs InetAutonomousSystemNumber, bgpM2PeerRemoteAddrType InetAddressType, bgpM2PeerRemoteAddr InetAddress, bgpM2PeerRemotePort InetPortNumber, bgpM2PeerRemoteAs InetAutonomousSystemNumber, bgpM2PeerIndex Unsigned32 } bgpM2PeerIdentifier OBJECT-TYPE SYNTAX BgpM2Identifier MAX-ACCESS read-only STATUS current DESCRIPTION "The BGP Identifier of this entry's BGP peer. This entry should be 0.0.0.0 unless the bgpM2PeerState is in the OpenConfirm or the Established state." Various Authors Expires August 28, 2002 [Page 23] Internet Draft BGP-MIB v2 February 28, 2002 REFERENCE "draft-ietf-idr-bgp4-17.txt, Sec. 4.2" ::= { bgpM2PeerEntry 1 } bgpM2PeerState 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's FSM state." REFERENCE "draft-ietf-idr-bgp4-17.txt, Sec. 8" ::= { bgpM2PeerEntry 2 } bgpM2PeerStatus OBJECT-TYPE SYNTAX INTEGER { halted(1), running(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Whether or not the BGP FSM for this peer is halted or running. The BGP FSM for a peer is halted after processing a Stop event. Likewise, it is in the running state after a Start event. The bgpM2PeerState 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." ::= { bgpM2PeerEntry 3 } bgpM2PeerConfiguredVersion OBJECT-TYPE SYNTAX Unsigned32 (1..255) MAX-ACCESS read-only STATUS current DESCRIPTION Various Authors Expires August 28, 2002 [Page 24] Internet Draft BGP-MIB v2 February 28, 2002 "The configured version to originally start with this peer. The BGP speaker may permit negotiation to a lower version number of the protocol." ::= { bgpM2PeerEntry 4 } bgpM2PeerNegotiatedVersion OBJECT-TYPE SYNTAX Unsigned32 (1..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The negotiated version of BGP running between the two peers." ::= { bgpM2PeerEntry 5 } bgpM2PeerLocalAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The address family of the local end of the peering session." ::= { bgpM2PeerEntry 6 } bgpM2PeerLocalAddr OBJECT-TYPE SYNTAX InetAddress (SIZE(4..20)) MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the local end of the peering session." ::= { bgpM2PeerEntry 7 } bgpM2PeerLocalPort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-only STATUS current DESCRIPTION "The local port for the TCP connection between the BGP peers." ::= { bgpM2PeerEntry 8 } bgpM2PeerLocalAs OBJECT-TYPE SYNTAX InetAutonomousSystemNumber MAX-ACCESS read-only Various Authors Expires August 28, 2002 [Page 25] Internet Draft BGP-MIB v2 February 28, 2002 STATUS current DESCRIPTION "Some implementations of BGP can represent themselves as multiple ASs. This is the AS that this peering session is representing itself as to the remote peer." ::= { bgpM2PeerEntry 9 } bgpM2PeerRemoteAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The address family of the remote end of the peering session." ::= { bgpM2PeerEntry 10 } bgpM2PeerRemoteAddr OBJECT-TYPE SYNTAX InetAddress (SIZE(4..20)) MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the remote end of the peering session." ::= { bgpM2PeerEntry 11 } bgpM2PeerRemotePort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-only STATUS current DESCRIPTION "The remote port for the TCP connection between the BGP peers. In the case of a transport for which the notion of 'port' is irrelevant, an instance value of -1 should be returned by the agent for this object. Note that the objects bgpM2PeerLocalAddr, bgpM2PeerLocalPort, bgpM2PeerRemoteAddr and bgpM2PeerRemotePort provide the appropriate reference to the standard MIB TCP connection table. or even the ipv6 TCP MIB as in rfc2452." REFERENCE "RFC 2012 - SNMPv2 Management Information Base for the Transmission Control Protocol using SMIv2. RFC 2542 - IP Version 6 Management Information Base for the Transmission Control Protocol." ::= { bgpM2PeerEntry 12 } Various Authors Expires August 28, 2002 [Page 26] Internet Draft BGP-MIB v2 February 28, 2002 bgpM2PeerRemoteAs OBJECT-TYPE SYNTAX InetAutonomousSystemNumber MAX-ACCESS read-only STATUS current DESCRIPTION "The remote autonomous system number." ::= { bgpM2PeerEntry 13 } bgpM2PeerIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This value is a unique index for the peer entry in the bgpM2PeerTable. It is assigned by the agent at the point of creation of the bgpM2PeerTable 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 bgpM2PeerIndex row instance values across rows of the bgpM2PeerTable. It is used to provide an index structure for other tables whose data is logically per-peer. For explicitly configured peers, this value will remain consistent until this row is deleted by deleting the configured peers. Unconfigured peers will generate a monotonically increasing number when a BGP FSM is built to process the peering session. Values in the bgpM2PeerTable and other tables utilizing bgpM2PeerIndex are expected to remain in existence for an arbitrary time after the unconfigured peer has been deleted in order to allow management applications to extract useful management information for those peers. Thus, an unconfigured peer using the same indices as the bgpM2PeerTable that comes up while this row still exists will re-utilize the same row." ::= { bgpM2PeerEntry 14 } -- -- Errors -- bgpM2PeerErrors OBJECT IDENTIFIER ::= { bgpM2Peer 2 } bgpM2PeerErrorsTable OBJECT-TYPE Various Authors Expires August 28, 2002 [Page 27] Internet Draft BGP-MIB v2 February 28, 2002 SYNTAX SEQUENCE OF BgpM2PeerErrorsEntry 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, by its bgpM2PeerIndex, exists in this table, then no such errors have been observed, reported, and recorded on the session." ::= { bgpM2PeerErrors 1 } bgpM2PeerErrorsEntry OBJECT-TYPE SYNTAX BgpM2PeerErrorsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry contains information about errors sent and received for a particular BGP peer." AUGMENTS { bgpM2PeerEntry } ::= { bgpM2PeerErrorsTable 1 } BgpM2PeerErrorsEntry ::= SEQUENCE { bgpM2PeerLastErrorReceived OCTET STRING, bgpM2PeerLastErrorSent OCTET STRING, bgpM2PeerLastErrorReceivedTime TimeTicks, bgpM2PeerLastErrorSentTime TimeTicks, bgpM2PeerLastErrorReceivedText DisplayString, bgpM2PeerLastErrorSentText DisplayString, bgpM2PeerLastErrorReceivedData OCTET STRING, bgpM2PeerLastErrorSentData OCTET STRING } bgpM2PeerLastErrorReceived OBJECT-TYPE SYNTAX OCTET STRING (SIZE (2)) Various Authors Expires August 28, 2002 [Page 28] Internet Draft BGP-MIB v2 February 28, 2002 MAX-ACCESS read-only STATUS current DESCRIPTION "The last error code and subcode received by this BGP Speaker via a NOTIFICATION message for this peer. 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 "draft-ietf-idr-bgp4-15.txt, Sec. 4.5" ::= { bgpM2PeerErrorsEntry 1 } bgpM2PeerLastErrorSent 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 a NOTIFICATION message to this peer. 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 "draft-ietf-idr-bgp4-15.txt, Sec. 4.5" ::= { bgpM2PeerErrorsEntry 2 } bgpM2PeerLastErrorReceivedTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The timestamp that the last NOTIFICATION was received from this peer." REFERENCE "draft-ietf-idr-bgp4-15.txt, Sec. 4.5" ::= { bgpM2PeerErrorsEntry 3 } bgpM2PeerLastErrorSentTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The timestamp that the last NOTIFICATION was sent to Various Authors Expires August 28, 2002 [Page 29] Internet Draft BGP-MIB v2 February 28, 2002 this peer." REFERENCE "draft-ietf-idr-bgp4-15.txt, Sec. 4.5" ::= { bgpM2PeerErrorsEntry 4 } bgpM2PeerLastErrorReceivedText OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an implementation specific explanation of the error that was reported." ::= { bgpM2PeerErrorsEntry 5 } bgpM2PeerLastErrorSentText OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an implementation specific explanation of the error that is being reported." ::= { bgpM2PeerErrorsEntry 6 } bgpM2PeerLastErrorReceivedData 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." REFERENCE "draft-ietf-idr-bgp4-15.txt, Sec. 4.5" ::= { bgpM2PeerErrorsEntry 7 } bgpM2PeerLastErrorSentData 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." REFERENCE "draft-ietf-idr-bgp4-15.txt, Sec. 4.5" ::= { bgpM2PeerErrorsEntry 8 } Various Authors Expires August 28, 2002 [Page 30] Internet Draft BGP-MIB v2 February 28, 2002 -- -- Peer Authentication -- bgpM2PeerAuthentication OBJECT IDENTIFIER ::= { bgpM2Peer 3 } bgpM2PeerAuthTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2PeerAuthEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "BGP peer authentication table. This table contains, one entry per BGP peer, information about the authentication with BGP peers." ::= { bgpM2PeerAuthentication 1 } bgpM2PeerAuthEntry OBJECT-TYPE SYNTAX BgpM2PeerAuthEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing information about the authentication with a BGP peer." AUGMENTS { bgpM2PeerEntry } ::= { bgpM2PeerAuthTable 1 } BgpM2PeerAuthEntry ::= SEQUENCE { bgpM2PeerAuthSent TruthValue, bgpM2PeerAuthSentCode Unsigned32, bgpM2PeerAuthSentValue OCTET STRING, bgpM2PeerAuthRcvd TruthValue, bgpM2PeerAuthRcvdCode Unsigned32, bgpM2PeerAuthRcvdValue OCTET STRING } Various Authors Expires August 28, 2002 [Page 31] Internet Draft BGP-MIB v2 February 28, 2002 bgpM2PeerAuthSent OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "The local peer has sent authentication information to the remote peer in the BGP Authentication field." ::= { bgpM2PeerAuthEntry 1 } bgpM2PeerAuthSentCode OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The code of the authentication information sent to the remote peer." ::= { bgpM2PeerAuthEntry 2 } bgpM2PeerAuthSentValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..252)) MAX-ACCESS read-only STATUS current DESCRIPTION "The payload of the authentication information from the remote peer." ::= { bgpM2PeerAuthEntry 3 } bgpM2PeerAuthRcvd OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "The local peer has received authentication information from the remote peer in the BGP Authentication field." ::= { bgpM2PeerAuthEntry 4 } bgpM2PeerAuthRcvdCode OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The code of the authentication information received from the remote peer." ::= { bgpM2PeerAuthEntry 5 } Various Authors Expires August 28, 2002 [Page 32] Internet Draft BGP-MIB v2 February 28, 2002 bgpM2PeerAuthRcvdValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..252)) MAX-ACCESS read-only STATUS current DESCRIPTION "The payload of the authentication information from the remote peer." ::= { bgpM2PeerAuthEntry 6 } -- -- Peer Event Times -- bgpM2PeerTimers OBJECT IDENTIFIER ::= { bgpM2Peer 4 } bgpM2PeerEventTimesTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2PeerEventTimesEntry 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." ::= { bgpM2PeerTimers 1 } bgpM2PeerEventTimesEntry OBJECT-TYPE SYNTAX BgpM2PeerEventTimesEntry 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 { bgpM2PeerEntry } ::= { bgpM2PeerEventTimesTable 1 } BgpM2PeerEventTimesEntry ::= SEQUENCE { bgpM2PeerFsmEstablishedTime Gauge32, bgpM2PeerInUpdatesElapsedTime Gauge32 Various Authors Expires August 28, 2002 [Page 33] Internet Draft BGP-MIB v2 February 28, 2002 } bgpM2PeerFsmEstablishedTime OBJECT-TYPE SYNTAX Gauge32 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 the router is booted." ::= { bgpM2PeerEventTimesEntry 1 } bgpM2PeerInUpdatesElapsedTime OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "Elapsed time in seconds since the last BGP UPDATE message was received from the peer. Each time bgpM2PeerInUpdates is incremented, the value of this object is set to zero (0). This value shall also be zero (0) when the peer is not in the Established state" ::= { bgpM2PeerEventTimesEntry 2 } -- -- Peer Configured Timers -- bgpM2PeerConfiguredTimersTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2PeerConfiguredTimersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Per peer management data on BGP session timers." ::= { bgpM2PeerTimers 2 } bgpM2PeerConfiguredTimersEntry OBJECT-TYPE SYNTAX BgpM2PeerConfiguredTimersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry corresponds to the current state of BGP timers on a given peering session." Various Authors Expires August 28, 2002 [Page 34] Internet Draft BGP-MIB v2 February 28, 2002 AUGMENTS { bgpM2PeerEntry } ::= { bgpM2PeerConfiguredTimersTable 1 } BgpM2PeerConfiguredTimersEntry ::= SEQUENCE { bgpM2PeerConnectRetryInterval Unsigned32, bgpM2PeerHoldTimeConfigured Unsigned32, bgpM2PeerKeepAliveConfigured Unsigned32, bgpM2PeerMinASOrigInterval Unsigned32, bgpM2PeerMinRouteAdverInterval Unsigned32 } bgpM2PeerConnectRetryInterval OBJECT-TYPE SYNTAX Unsigned32 (1..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "Time interval in seconds for the ConnectRetry timer. The suggested value for this timer is 120 seconds." ::= { bgpM2PeerConfiguredTimersEntry 1 } bgpM2PeerHoldTimeConfigured OBJECT-TYPE SYNTAX Unsigned32 ( 0 | 3..65535 ) MAX-ACCESS read-only STATUS current 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 (bgpM2PeerHoldTime) with the peer. This value must not be less than three seconds if it is not zero (0) in which case the Hold Time is NOT to be established with the peer. The suggested value for this timer is 90 seconds." REFERENCE Various Authors Expires August 28, 2002 [Page 35] Internet Draft BGP-MIB v2 February 28, 2002 "draft-ietf-idr-bgp4-17.txt, Appendix 6.4" ::= { bgpM2PeerConfiguredTimersEntry 2 } bgpM2PeerKeepAliveConfigured OBJECT-TYPE SYNTAX Unsigned32 ( 0 | 1..21845 ) 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 bgpM2PeerHoldTimeConfigured; the actual time interval for the KEEPALIVE messages is indicated by bgpM2PeerKeepAlive. A reasonable maximum value for this timer would be configured to be one third of that of bgpM2PeerHoldTimeConfigured. If the value of this object is zero (0), no periodical KEEPALIVE messages are sent to the peer after the BGP connection has been established. The suggested value for this timer is 30 seconds." REFERENCE "draft-ietf-idr-bgp4-17.txt, Appendix 6.4" ::= { bgpM2PeerConfiguredTimersEntry 3 } bgpM2PeerMinASOrigInterval OBJECT-TYPE SYNTAX Unsigned32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "Time interval in seconds for the MinASOriginationInterval timer. The suggested value for this timer is 15 seconds." ::= { bgpM2PeerConfiguredTimersEntry 4 } bgpM2PeerMinRouteAdverInterval OBJECT-TYPE SYNTAX Unsigned32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "Time interval in seconds for the MinRouteAdvertisementInterval timer. The suggested value for this timer is 30 seconds." ::= { bgpM2PeerConfiguredTimersEntry 5 } Various Authors Expires August 28, 2002 [Page 36] Internet Draft BGP-MIB v2 February 28, 2002 -- -- Peer Negotiated Timers -- bgpM2PeerNegotiatedTimersTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2PeerNegotiatedTimersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Current values of per-peer timers which can be dynamically set in the bgpM2PeerConfiguredTimersTable. Values reflected in this table are the current operational values, after negotiation from values derived from initial configuration or last set from bgpM2PeerConfiguredTimersTable row instances." ::= { bgpM2PeerTimers 3 } bgpM2PeerNegotiatedTimersEntry OBJECT-TYPE SYNTAX BgpM2PeerNegotiatedTimersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry reflects a value of the currently operational, negotiated timers as reflected in the BgpM2PeerNegotiatedTimersEntry." AUGMENTS { bgpM2PeerEntry } ::= { bgpM2PeerNegotiatedTimersTable 1 } BgpM2PeerNegotiatedTimersEntry ::= SEQUENCE { bgpM2PeerHoldTime Unsigned32, bgpM2PeerKeepAlive Unsigned32 } bgpM2PeerHoldTime OBJECT-TYPE SYNTAX Unsigned32 ( 0 | 3..65535 ) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of this object is calculated by this BGP Speaker as being; Various Authors Expires August 28, 2002 [Page 37] Internet Draft BGP-MIB v2 February 28, 2002 zero (0) - if this was the value sent by the peer and this value is permitted by this BGP Speaker. In this case, no keepalive messages are sent and the Hold Timer is not set. At least three (3). This value is the smaller of the value sent by this peer in the OPEN message and bgpM2PeerHoldTimeConfigured for this peer. This value is only defined when the peering session is in the Established state." REFERENCE "draft-ietf-idr-bgp4-17.txt, Sec. 4.2" ::= { bgpM2PeerNegotiatedTimersEntry 1 } bgpM2PeerKeepAlive OBJECT-TYPE SYNTAX Unsigned32 ( 0 | 1..21845 ) 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 bgpM2PeerHoldTime, it has the same proportion as what bgpM2PeerKeepAliveConfigured has when compared with bgpM2PeerHoldTimeConfigured. 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 bgpM2PeerKeepAliveConfigured is zero (0). This value is only defined when the peering session is in the Established state." REFERENCE "draft-ietf-idr-bgp4-17, Sec. 4.4" ::= { bgpM2PeerNegotiatedTimersEntry 2 } -- -- Peer Capabilities -- bgpM2PeerCapabilities OBJECT IDENTIFIER ::= { bgpM2Peer 5 } -- Various Authors Expires August 28, 2002 [Page 38] Internet Draft BGP-MIB v2 February 28, 2002 -- Announced Capabilities -- bgpM2PeerCapsAnnouncedTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2PeerCapsAnnouncedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the capabilities that are supported for a given peer." ::= { bgpM2PeerCapabilities 1 } bgpM2PeerCapsAnnouncedEntry OBJECT-TYPE SYNTAX BgpM2PeerCapsAnnouncedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "These entries are keyed by a BGP-4 peer remote address and the BGP Capability Code" INDEX { bgpM2PeerIndex, bgpM2PeerCapAnnouncedCode, bgpM2PeerCapAnnouncedIndex } ::= { bgpM2PeerCapsAnnouncedTable 1 } BgpM2PeerCapsAnnouncedEntry ::= SEQUENCE { bgpM2PeerCapAnnouncedCode Unsigned32, bgpM2PeerCapAnnouncedIndex Unsigned32, bgpM2PeerCapAnnouncedValue OCTET STRING } bgpM2PeerCapAnnouncedCode OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The BGP Capability Advertisement Capability Code." ::= { bgpM2PeerCapsAnnouncedEntry 1 } bgpM2PeerCapAnnouncedIndex OBJECT-TYPE Various Authors Expires August 28, 2002 [Page 39] Internet Draft BGP-MIB v2 February 28, 2002 SYNTAX Unsigned32 (1..128) MAX-ACCESS read-only STATUS current DESCRIPTION "Multiple instances of a given capability may be sent bgp a BGP speaker. This variable is used to index them." ::= { bgpM2PeerCapsAnnouncedEntry 2 } bgpM2PeerCapAnnouncedValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of the announced capability." ::= { bgpM2PeerCapsAnnouncedEntry 3 } -- -- Received Capabilities -- bgpM2PeerCapsReceivedTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM24PeerCapsReceivedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the capabilities that are supported for a given peer." ::= { bgpM2PeerCapabilities 2 } bgpM2PeerCapsReceivedEntry OBJECT-TYPE SYNTAX BgpM24PeerCapsReceivedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "These entries are keyed by a BGP-4 peer remote address and the BGP Capability Code" INDEX { bgpM2PeerIndex, bgpM2PeerCapReceivedCode, bgpM2PeerCapReceivedIndex } ::= { bgpM2PeerCapsReceivedTable 1 } BgpM24PeerCapsReceivedEntry ::= SEQUENCE { Various Authors Expires August 28, 2002 [Page 40] Internet Draft BGP-MIB v2 February 28, 2002 bgpM2PeerCapReceivedCode Unsigned32, bgpM2PeerCapReceivedIndex Unsigned32, bgpM2PeerCapReceivedValue OCTET STRING } bgpM2PeerCapReceivedCode OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The BGP Capability Advertisement Capability Code." ::= { bgpM2PeerCapsReceivedEntry 1 } bgpM2PeerCapReceivedIndex OBJECT-TYPE SYNTAX Unsigned32 (1..128) MAX-ACCESS read-only STATUS current DESCRIPTION "Multiple instances of a given capability may be sent bgp a BGP speaker. This variable is used to index them." ::= { bgpM2PeerCapsReceivedEntry 2 } bgpM2PeerCapReceivedValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of the announced capability." ::= { bgpM2PeerCapsReceivedEntry 3 } -- -- Per-peer counters -- bgpM2PeerCounters OBJECT IDENTIFIER ::= { bgpM2Peer 6 } bgpM2PeerCountersTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2PeerCountersEntry MAX-ACCESS not-accessible Various Authors Expires August 28, 2002 [Page 41] Internet Draft BGP-MIB v2 February 28, 2002 STATUS current DESCRIPTION "The counters associated with a BGP Peer." ::= { bgpM2PeerCounters 1 } bgpM2PeerCountersEntry OBJECT-TYPE SYNTAX BgpM2PeerCountersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry contains counters of message transmissions and FSM transitions for a given BGP Peering session." AUGMENTS { bgpM2PeerEntry } ::= { bgpM2PeerCountersTable 1 } BgpM2PeerCountersEntry ::= SEQUENCE { bgpM2PeerInUpdates Counter32, bgpM2PeerOutUpdates Counter32, bgpM2PeerInTotalMessages Counter32, bgpM2PeerOutTotalMessages Counter32, bgpM2PeerFsmEstablishedTrans Counter32 } -- +++wayne need to describe what happens if connection is broken -- and then reestablished. Does the prior counter value accumulate? bgpM2PeerInUpdates 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." ::= { bgpM2PeerCountersEntry 1 } bgpM2PeerOutUpdates OBJECT-TYPE SYNTAX Counter32 Various Authors Expires August 28, 2002 [Page 42] Internet Draft BGP-MIB v2 February 28, 2002 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." ::= { bgpM2PeerCountersEntry 2 } bgpM2PeerInTotalMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current 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." ::= { bgpM2PeerCountersEntry 3 } bgpM2PeerOutTotalMessages 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." ::= { bgpM2PeerCountersEntry 4 } bgpM2PeerFsmEstablishedTrans 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." ::= { bgpM2PeerCountersEntry 5 } -- -- Per-Peer Prefix Counters -- bgpM2PrefixCountersTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2PrefixCountersEntry Various Authors Expires August 28, 2002 [Page 43] Internet Draft BGP-MIB v2 February 28, 2002 MAX-ACCESS not-accessible STATUS current DESCRIPTION "Additional per-peer, per AFI SAFI counters for prefixes" ::= { bgpM2PeerCounters 2 } bgpM2PrefixCountersEntry OBJECT-TYPE SYNTAX BgpM2PrefixCountersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing information about a bgp-peers prefix counters." INDEX { bgpM2PeerIndex, bgpM2PrefixCountersAfi, bgpM2PrefixCountersSafi } ::= { bgpM2PrefixCountersTable 1 } BgpM2PrefixCountersEntry ::= SEQUENCE { bgpM2PrefixCountersAfi InetAddressType, bgpM2PrefixCountersSafi BgpM2Safi, bgpM2PrefixInPrefixes Gauge32, bgpM2PrefixInPrefixesAccepted Gauge32, bgpM2PrefixInPrefixesRejected Gauge32, bgpM2PrefixOutPrefixes Gauge32 } bgpM2PrefixCountersAfi OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The AFI index of the per-peer, per prefix counters" ::= { bgpM2PrefixCountersEntry 1 } bgpM2PrefixCountersSafi OBJECT-TYPE Various Authors Expires August 28, 2002 [Page 44] Internet Draft BGP-MIB v2 February 28, 2002 SYNTAX BgpM2Safi MAX-ACCESS read-only STATUS current DESCRIPTION "The SAFI index of the per-peer, per prefix counters" ::= { bgpM2PrefixCountersEntry 2 } bgpM2PrefixInPrefixes 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." -- jmh - note that we are allowing stuff to be discarded ::= { bgpM2PrefixCountersEntry 7 } bgpM2PrefixInPrefixesAccepted 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." ::= { bgpM2PrefixCountersEntry 8 } bgpM2PrefixInPrefixesRejected 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 NOT eligible to become active in the Loc-Rib." ::= { bgpM2PrefixCountersEntry 9 } bgpM2PrefixOutPrefixes OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of prefixes for a peer that are installed in that peers Adj-Ribs-Out." Various Authors Expires August 28, 2002 [Page 45] Internet Draft BGP-MIB v2 February 28, 2002 ::= { bgpM2PrefixCountersEntry 10 } bgpM2PeerExtensions OBJECT IDENTIFIER ::= { bgpM2Peer 7 } bgpM2PeerNonCapExts OBJECT IDENTIFIER ::= { bgpM2PeerExtensions 1 } bgpM2PeerCapExts OBJECT IDENTIFIER ::= { bgpM2PeerExtensions 2 } -- -- Peer Route Reflection Extensions -- bgpM2PeerRouteReflectionExts OBJECT IDENTIFIER ::= { bgpM2PeerNonCapExts 2796 } bgpM2PeerReflectorClientTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2PeerReflectorClientEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table of route reflection client settings on a per-peer basis." REFERENCE "RFC 2796 - BGP Route Reflection" ::= { bgpM2PeerRouteReflectionExts 1 } bgpM2PeerReflectorClientEntry OBJECT-TYPE SYNTAX BgpM2PeerReflectorClientEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing data on a per-peer basis on whether the peer is configured as a route reflector client." REFERENCE "RFC 2796 - BGP Route Reflection" AUGMENTS { bgpM2PeerEntry } Various Authors Expires August 28, 2002 [Page 46] Internet Draft BGP-MIB v2 February 28, 2002 ::= { bgpM2PeerReflectorClientTable 1 } BgpM2PeerReflectorClientEntry ::= SEQUENCE { bgpM2PeerReflectorClient INTEGER } bgpM2PeerReflectorClient OBJECT-TYPE SYNTAX INTEGER { nonClient(0), client(1), meshedClient(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "This value indicates whether the given peer is a reflector client of this router, or not. A value of nonClient indicates that this peer is not a reflector client. A value of client indicates that this peer is a reflector client that is not fully meshed with other reflector clients. A value of meshedClient indicates that the peer is a reflector client and is fully meshed with all other reflector clients. This value must be nonClient (0) for BGP external peers." REFERENCE "RFC 2796 - BGP Route Reflection" ::= { bgpM2PeerReflectorClientEntry 1 } -- -- Peer AS Confederations Extensions -- bgpM2PeerASConfederationExts OBJECT IDENTIFIER ::= { bgpM2PeerNonCapExts 3065 } bgpM2PeerConfedMemberTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2PeerConfedMemberEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table of confederation member settings on a per-peer basis." REFERENCE Various Authors Expires August 28, 2002 [Page 47] Internet Draft BGP-MIB v2 February 28, 2002 "RFC 3065 - BGP Confederations" ::= { bgpM2PeerASConfederationExts 1 } bgpM2PeerConfedMemberEntry OBJECT-TYPE SYNTAX BgpM2PeerConfedMemberEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing data on a per-peer basis on whether the peer is configured as a BGP confederation member." REFERENCE "RFC 3065 - BGP Confederations" AUGMENTS { bgpM2PeerEntry } ::= { bgpM2PeerConfedMemberTable 1 } BgpM2PeerConfedMemberEntry ::= SEQUENCE { bgpM2PeerConfedMember TruthValue } bgpM2PeerConfedMember OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This value indicates whether the given peer is in our confederation or not." REFERENCE "RFC 3065 - BGP Confederations" ::= { bgpM2PeerConfedMemberEntry 1 } -- -- Peer configuration objects -- bgpM2PeerConfiguration OBJECT IDENTIFIER ::= { bgpM2Peer 8 } -- -- Administering activated peering sessions -- Various Authors Expires August 28, 2002 [Page 48] Internet Draft BGP-MIB v2 February 28, 2002 bgpM2CfgPeerAdminStatusTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2CfgPeerAdminStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table containing rows for administratively starting and stopping peering sessions." ::= { bgpM2PeerConfiguration 1 } bgpM2CfgPeerAdminStatusEntry OBJECT-TYPE SYNTAX BgpM2CfgPeerAdminStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing row for administratively starting and stopping peers." INDEX { bgpM2PeerIndex } ::= { bgpM2CfgPeerAdminStatusTable 1 } BgpM2CfgPeerAdminStatusEntry ::= SEQUENCE { bgpM2CfgPeerAdminStatus INTEGER } bgpM2CfgPeerAdminStatus OBJECT-TYPE SYNTAX INTEGER { stop(1), start(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object allows the Manual Stop and Manual Start events to be sent to an activated peering session." ::= { bgpM2CfgPeerAdminStatusEntry 1 } -- -- Peer Configuration -- bgpM2CfgPeerNextIndex OBJECT-TYPE SYNTAX Integer32 (0..65535) Various Authors Expires August 28, 2002 [Page 49] Internet Draft BGP-MIB v2 February 28, 2002 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the next appropriate value to use as an index for creation of a row instance in in the bgpM2CfgPeerTable. If the number of available entries in the bgpM2CfgPeerTable is exhausted, a retrieval value of this object instance will return 0. A value of 0 may also be returned if the agent is otherwise incapable of bgpM2CfgPeerTable row creation at the time of bgpM2CfgPeerNextIndex retrieval." ::= { bgpM2PeerConfiguration 2 } bgpM2CfgPeerTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2CfgPeerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "BGP configuration peer table. This table allows the configuration of the parameters for a session with a BGP peer. +++wayne provide description of how config should be done for a peer per table." ::= { bgpM2PeerConfiguration 3 } bgpM2CfgPeerEntry OBJECT-TYPE SYNTAX BgpM2CfgPeerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing information set up by a management entity to configure a connection with a BGP peer." INDEX { bgpM2CfgPeerIndex } ::= { bgpM2CfgPeerTable 1 } BgpM2CfgPeerEntry ::= SEQUENCE { bgpM2CfgPeerConfiguredVersion Unsigned32, bgpM2CfgAllowVersionNegotiation TruthValue, bgpM2CfgPeerLocalAddrType InetAddressType, bgpM2CfgPeerLocalAddr Various Authors Expires August 28, 2002 [Page 50] Internet Draft BGP-MIB v2 February 28, 2002 InetAddress, bgpM2CfgPeerLocalAs InetAutonomousSystemNumber, bgpM2CfgPeerRemoteAddrType InetAddressType, bgpM2CfgPeerRemoteAddr InetAddress, bgpM2CfgPeerRemotePort Integer32, bgpM2CfgPeerRemoteAs InetAutonomousSystemNumber, bgpM2CfgPeerEntryStorageType StorageType, bgpM2CfgPeerError INTEGER, bgpM2CfgPeerBgpPeerEntry RowPointer, bgpM2CfgPeerRowEntryStatus RowStatus, bgpM2CfgPeerIndex Integer32, bgpM2CfgPeerStatus INTEGER } bgpM2CfgPeerConfiguredVersion OBJECT-TYPE SYNTAX Unsigned32 (1..255) MAX-ACCESS read-create STATUS current DESCRIPTION "The configured version to originally start with this peer. The BGP speaker may permit negotiation to a lower version number of the protocol depending on the set value of bgpM2CfgAllowVersionNegotiation." DEFVAL { 4 } ::= { bgpM2CfgPeerEntry 1 } bgpM2CfgAllowVersionNegotiation OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If set to true, during session establishment with this peer, negotiation to a version lower than that specified in bgpM2CfgPeerConfiguredVersion will be allowed." DEFVAL { false } Various Authors Expires August 28, 2002 [Page 51] Internet Draft BGP-MIB v2 February 28, 2002 ::= { bgpM2CfgPeerEntry 2 } bgpM2CfgPeerLocalAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "The address family of the speakers of this BGP session." ::= { bgpM2CfgPeerEntry 3 } bgpM2CfgPeerLocalAddr OBJECT-TYPE SYNTAX InetAddress (SIZE (4..20)) MAX-ACCESS read-create STATUS current DESCRIPTION "The address of the local end of the peering session." ::= { bgpM2CfgPeerEntry 4 } bgpM2CfgPeerLocalAs OBJECT-TYPE SYNTAX InetAutonomousSystemNumber MAX-ACCESS read-create STATUS current DESCRIPTION "Autonomous system represented to peer on peering session initialization. Some implementations of BGP can represent themselves as multiple ASes. These implementations can set this to an alternate autonomous system. If this object is set to zero (0) at the point this row instance is set to active, then the implementation will initialize this session representing itself as the value of bgpM2CfgLocalAs." DEFVAL { 0 } ::= { bgpM2CfgPeerEntry 5 } bgpM2CfgPeerRemoteAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "The address family of the speakers of the remote BGP session." ::= { bgpM2CfgPeerEntry 6 } Various Authors Expires August 28, 2002 [Page 52] Internet Draft BGP-MIB v2 February 28, 2002 bgpM2CfgPeerRemoteAddr OBJECT-TYPE SYNTAX InetAddress (SIZE(4..20)) MAX-ACCESS read-create STATUS current DESCRIPTION "The address of the remote end (destination address of peer) for peering session." ::= { bgpM2CfgPeerEntry 7 } -- JMH - this isn't compatible with InetPortNumber bgpM2CfgPeerRemotePort OBJECT-TYPE SYNTAX Integer32 (-1 | 0..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "This is the remote port for the transport connection between the BGP peers. In the case of a transport for which the notion of port is irrelevant, the value of -1 can be defaulted or set." DEFVAL { -1 } ::= { bgpM2CfgPeerEntry 8 } bgpM2CfgPeerRemoteAs OBJECT-TYPE SYNTAX InetAutonomousSystemNumber MAX-ACCESS read-create STATUS current DESCRIPTION "Autonomous system number of the remote peer." ::= { bgpM2CfgPeerEntry 9 } bgpM2CfgPeerEntryStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This object type specifies the intended storage type for the bgpM2CfgPeerEntry row instance." ::= { bgpM2CfgPeerEntry 10 } -- JMH - Can we mix caps the enumerations? bgpM2CfgPeerError OBJECT-TYPE SYNTAX INTEGER { unknown(0), notactivated (1), Various Authors Expires August 28, 2002 [Page 53] Internet Draft BGP-MIB v2 February 28, 2002 errduplicatepeeringsession (2), activated (3) -- +++wayne more to follow } MAX-ACCESS read-only STATUS current DESCRIPTION "This value indicates the current error status of the row denoting the configured error status. If this row is still under creation (has not been activated bgpM2CfgPeerRowEntryStatus), then this instance will be set to not-activated (1). At the point that the row is activated, bgpM2CfgPeerError will reflect the error status of the row data itself. If there is another session already activated with the same local and remote addresses as denoted by {bgpM2CfgPeerLocalAddrType, bgpM2CfgPeerLocalAddr, bgpM2CfgPeerRemoteAddr, bgpM2CfgPeerRemotePort}, then the value of this will be set to err-duplicate-peering-session (2). If this row is associated with a peer session whose initialization has been attempted, the value will be set to activated (3) (and, bgpM2PeerCfgPeerEntry will be set to the row instance of the entry in the bgpM2PeerTable which reflects the state of the peering session). Note that this object only reflects the error as a function of the attempted activation of this row as containing data for a bgp peering session. The actual state of the session at the point of any protocol exchange or session state machine initiation is reflected in the bgpM2PeerTable row instance (as reflected through bgpM2CfgPeerPeerEntry) associated with this row instance." ::= { bgpM2CfgPeerEntry 11 } bgpM2CfgPeerBgpPeerEntry OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "Upon activation of the session data contained in this row instance, this object points to an instance of a row within the bgpM2PeerTable reflecting the session in its Various Authors Expires August 28, 2002 [Page 54] Internet Draft BGP-MIB v2 February 28, 2002 initializing or operational state. Retrieval of this column instance will always yield a value of {0.0} unless the session has successfully been activated (via bgpM2CfgPeerRowEntryStatus). Such row instances will always have a value of bgpM2CfgPeerError which is activated (3)." ::= { bgpM2CfgPeerEntry 12 } bgpM2CfgPeerRowEntryStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object type is used to control creation, activation, and deletion of this row instance." -- +++wayne need better directions for agent auto-removal -- of row instances which have moved to active or error -- state ::= { bgpM2CfgPeerEntry 13 } bgpM2CfgPeerIndex OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "Uniquely identifies an instance of a peer row, as an element of configuration." ::= { bgpM2CfgPeerEntry 14 } bgpM2CfgPeerStatus OBJECT-TYPE SYNTAX INTEGER { halted(1), running(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "This specifies the state of the peering session upon activation. If disabled, the FSM is in the halted state and no Automatic Start events are generated. If enabled, the FSM is in the running state and Automatic Start events may be generated." ::= { bgpM2CfgPeerEntry 15 } -- Various Authors Expires August 28, 2002 [Page 55] Internet Draft BGP-MIB v2 February 28, 2002 -- Per-peer authentication table. -- bgpM2CfgPeerAuthTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2CfgPeerAuthEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table contain per peer configuration for BGP Authentication." ::= { bgpM2PeerConfiguration 4 } bgpM2CfgPeerAuthEntry OBJECT-TYPE SYNTAX BgpM2CfgPeerAuthEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing information about a peer's BGP Authentication configuration." AUGMENTS { bgpM2CfgPeerEntry } ::= { bgpM2CfgPeerAuthTable 1 } BgpM2CfgPeerAuthEntry ::= SEQUENCE { bgpM2CfgPeerAuthEnabled TruthValue, bgpM2CfgPeerAuthCode Unsigned32, bgpM2CfgPeerAuthValue OCTET STRING } bgpM2CfgPeerAuthEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This value is true if BGP Authentication is enabled for this peer. This is the authentication mechanism documented in the base BGP specification, not the MD5 session protection mechanism." DEFVAL { false } ::= { bgpM2CfgPeerAuthEntry 1 } Various Authors Expires August 28, 2002 [Page 56] Internet Draft BGP-MIB v2 February 28, 2002 bgpM2CfgPeerAuthCode OBJECT-TYPE SYNTAX Unsigned32(0..255) MAX-ACCESS read-create STATUS current DESCRIPTION "The authentication code for the BGP Authentication mechanism." REFERENCE "draft-ietf-idr-bgp4-17.txt, Sec. 4.1.a" ::= { bgpM2CfgPeerAuthEntry 2 } bgpM2CfgPeerAuthValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..252)) MAX-ACCESS read-create STATUS current DESCRIPTION "The authentication payload for the BGP authentication mechanism. This value has semantic meaning within the context of the authentication code." REFERENCE "draft-ietf-idr-bgp4-17.txt, Sec. 4.1.a" ::= { bgpM2CfgPeerAuthEntry 3 } -- -- Per-peer timers table -- bgpM2CfgPeerTimersTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2CfgPeerTimersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table for configuration of per-peer timers." ::= { bgpM2PeerConfiguration 5 } bgpM2CfgPeerTimersEntry OBJECT-TYPE SYNTAX BgpM2CfgPeerTimersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing per-peer timer configuration." AUGMENTS { bgpM2CfgPeerEntry } ::= { bgpM2CfgPeerTimersTable 1 } Various Authors Expires August 28, 2002 [Page 57] Internet Draft BGP-MIB v2 February 28, 2002 BgpM2CfgPeerTimersEntry ::= SEQUENCE { bgpM2CfgPeerConnectRetryInterval Unsigned32, bgpM2CfgPeerHoldTimeConfigured Unsigned32, bgpM2CfgPeerKeepAliveConfigured Unsigned32, bgpM2CfgPeerMinASOrigInterval Unsigned32, bgpM2CfgPeerMinRouteAdverInter Unsigned32 } bgpM2CfgPeerConnectRetryInterval OBJECT-TYPE SYNTAX Unsigned32 (1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "Time interval in seconds for the ConnectRetry timer. The suggested value for this timer is 120 seconds." DEFVAL { 120 } ::= { bgpM2CfgPeerTimersEntry 1 } bgpM2CfgPeerHoldTimeConfigured OBJECT-TYPE SYNTAX Unsigned32 ( 0 | 3..65535 ) MAX-ACCESS read-create STATUS current 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 (bgpM2PeerHoldTime) with the peer. This value must not be less than three seconds if it is not zero (0) in which case the Hold Time is NOT to be established with the peer. The suggested value for this timer is 90 seconds." REFERENCE "draft-ietf-idr-bgp4-17.txt, Appendix 6.4" DEFVAL { 90 Various Authors Expires August 28, 2002 [Page 58] Internet Draft BGP-MIB v2 February 28, 2002 } ::= { bgpM2CfgPeerTimersEntry 2 } bgpM2CfgPeerKeepAliveConfigured OBJECT-TYPE SYNTAX Unsigned32 ( 0 | 1..21845 ) MAX-ACCESS read-create 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 bgpM2PeerHoldTimeConfigured; the actual time interval for the KEEPALIVE messages is indicated by bgpM2PeerKeepAlive. A reasonable maximum value for this timer would be configured to be one third of that of bgpM2PeerHoldTimeConfigured. If the value of this object is zero (0), no periodical KEEPALIVE messages are sent to the peer after the BGP connection has been established. The suggested value for this timer is 30 seconds." REFERENCE "draft-ietf-idr-bgp4-17.txt, Appendix 6.4" DEFVAL { 30 } ::= { bgpM2CfgPeerTimersEntry 3 } bgpM2CfgPeerMinASOrigInterval OBJECT-TYPE SYNTAX Unsigned32 (0..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "Time interval in seconds for the MinASOriginationInterval timer. The suggested value for this timer is 15 seconds." DEFVAL { 15 } ::= { bgpM2CfgPeerTimersEntry 4 } bgpM2CfgPeerMinRouteAdverInter OBJECT-TYPE SYNTAX Unsigned32 (0..65535) MAX-ACCESS read-create Various Authors Expires August 28, 2002 [Page 59] Internet Draft BGP-MIB v2 February 28, 2002 STATUS current DESCRIPTION "Time interval in seconds for the MinRouteAdvertisementInterval timer. The suggested value for this timer is 30 seconds." DEFVAL { 30 } ::= { bgpM2CfgPeerTimersEntry 5 } -- -- Per-peer configuration extensions -- bgpM2CfgPeerExtensions OBJECT IDENTIFIER ::= { bgpM2PeerConfiguration 6 } bgpM2CfgPeerNonCapExts OBJECT IDENTIFIER ::= { bgpM2CfgPeerExtensions 1 } bgpM2CfgPeerCapExts OBJECT IDENTIFIER ::= { bgpM2CfgPeerExtensions 2 } -- -- Peer route reflection configuration -- bgpM2CfgPeerRouteReflectionExts OBJECT IDENTIFIER ::= { bgpM2CfgPeerNonCapExts 2796 } bgpM2CfgPeerReflectorClientTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2CfgPeerReflectorClientEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table of route reflection client settings on a per-peer basis." REFERENCE "RFC 2796 - BGP Route Reflection" ::= { bgpM2CfgPeerRouteReflectionExts 1 } bgpM2CfgPeerReflectorClientEntry OBJECT-TYPE Various Authors Expires August 28, 2002 [Page 60] Internet Draft BGP-MIB v2 February 28, 2002 SYNTAX BgpM2CfgPeerReflectorClientEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing data on a per-peer basis on whether the peer is configured as a route reflector client." REFERENCE "RFC 2796 - BGP Route Reflection" AUGMENTS { bgpM2CfgPeerEntry } ::= { bgpM2CfgPeerReflectorClientTable 1 } BgpM2CfgPeerReflectorClientEntry ::= SEQUENCE { bgpM2CfgPeerReflectorClient INTEGER } bgpM2CfgPeerReflectorClient OBJECT-TYPE SYNTAX INTEGER { nonClient(0), client(1), meshedClient(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "This value indicates whether the given peer is a reflector client of this router, or not. A value of nonClient indicates that this peer is not a reflector client. A value of client indicates that this peer is a reflector client that is not fully meshed with other reflector clients. A value of meshedClient indicates that the peer is a reflector client and is fully meshed with all other reflector clients. This value must be nonClient (0) for BGP external peers." REFERENCE "RFC 2796 - BGP Route Reflection" ::= { bgpM2CfgPeerReflectorClientEntry 1 } -- -- Peer AS Confederations Extensions -- bgpM2CfgPeerASConfederationExts Various Authors Expires August 28, 2002 [Page 61] Internet Draft BGP-MIB v2 February 28, 2002 OBJECT IDENTIFIER ::= { bgpM2CfgPeerNonCapExts 3065 } bgpM2CfgPeerConfedMemberTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2CfgPeerConfedMemberEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table of confederation member settings on a per-peer basis." REFERENCE "RFC 3065 - BGP Confederations" ::= { bgpM2CfgPeerASConfederationExts 1 } bgpM2CfgPeerConfedMemberEntry OBJECT-TYPE SYNTAX BgpM2CfgPeerConfedMemberEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing data on a per-peer basis on whether the peer is configured as a BGP confederation member." REFERENCE "RFC 3065 - BGP Confederations" AUGMENTS { bgpM2PeerEntry } ::= { bgpM2CfgPeerConfedMemberTable 1 } BgpM2CfgPeerConfedMemberEntry ::= SEQUENCE { bgpM2CfgPeerConfedMember TruthValue } bgpM2CfgPeerConfedMember OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This value indicates whether the given peer is in our confederation or not." REFERENCE "RFC 3065 - BGP Confederations" ::= { bgpM2CfgPeerConfedMemberEntry 1 } Various Authors Expires August 28, 2002 [Page 62] Internet Draft BGP-MIB v2 February 28, 2002 -- -- BGP NLRI Data -- bgpM2Rib OBJECT IDENTIFIER ::= { bgp 3 } -- -- NLRI Table -- bgpM2NlriTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2NlriEntry 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 bgpM2NlriBest is TRUE represents, for this NLRI, the route that is installed in the LocRib from the Adj-Ribs-In." ::= { bgpM2Rib 1 } bgpM2NlriEntry OBJECT-TYPE SYNTAX BgpM2NlriEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about a path to a network." INDEX { bgpM2PeerIndex, bgpM2NlriAfi, bgpM2NlriSafi, bgpM2NlriPrefixLen, bgpM2NlriPrefix, bgpM2NlriIndex } ::= { bgpM2NlriTable 1 } BgpM2NlriEntry ::= SEQUENCE { bgpM2NlriIndex Unsigned32, bgpM2NlriAfi Various Authors Expires August 28, 2002 [Page 63] Internet Draft BGP-MIB v2 February 28, 2002 InetAddressType, bgpM2NlriSafi BgpM2Safi, bgpM2NlriPrefixLen InetAddressPrefixLength, bgpM2NlriPrefix InetAddress, bgpM2NlriBest TruthValue, bgpM2NlriCalcLocalPref Unsigned32, bgpM2PathAttrIndex Unsigned32, bgpM2NlriOpaqueType INTEGER, bgpM2NlriOpaquePointer RowPointer } bgpM2NlriIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This index allows for multiple instances of a base prefix for a certain AFI SAFI from a given peer. This is currently useful for two things: 1. Allowing for a peer in future implementations to send more than a single route instance. 2. Allow for extensions which extend the NLRI field to send the same prefix while utilizing other extension specific information. An example of this is RFC 3107 - Carrying MPLS labels in BGP." REFERENCE "RFC 3107 - Carrying Label Information in BGP-4" ::= { bgpM2NlriEntry 1 } bgpM2NlriAfi OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The address family of the prefix for this NLRI." ::= { bgpM2NlriEntry 2 } Various Authors Expires August 28, 2002 [Page 64] Internet Draft BGP-MIB v2 February 28, 2002 bgpM2NlriSafi OBJECT-TYPE SYNTAX BgpM2Safi MAX-ACCESS read-only STATUS current DESCRIPTION "The subsequent address family of the prefix for this NLRI" REFERENCE "RFC 2858 - Multiprotocol Extensions for BGP-4" ::= { bgpM2NlriEntry 3 } bgpM2NlriPrefixLen OBJECT-TYPE SYNTAX InetAddressPrefixLength MAX-ACCESS read-only STATUS current DESCRIPTION "Length in bits of the address prefix in the Network Layer Reachability Information field." ::= { bgpM2NlriEntry 4 } bgpM2NlriPrefix OBJECT-TYPE SYNTAX InetAddress (SIZE (4..20)) MAX-ACCESS read-only 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 bgpM2PathAttrAddrPrefixLen. Any bits beyond the length specified by bgpM2PathAttrAddrPrefixLen are zeroed." ::= { bgpM2NlriEntry 5 } bgpM2NlriBest 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." ::= { bgpM2NlriEntry 6 } bgpM2NlriCalcLocalPref OBJECT-TYPE Various Authors Expires August 28, 2002 [Page 65] Internet Draft BGP-MIB v2 February 28, 2002 SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The degree of preference calculated by the receiving BGP4 speaker for an advertised route." ::= { bgpM2NlriEntry 7 } bgpM2PathAttrIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This value is a unique index for the per-NLRI entry in the bgpM2PeerAttrTable. It is assigned by the agent at the point of creation of the bgpM2PeerAttrTable 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 bgpM2PeerAttrIndex row instance values across rows of the bgpM2PeerAttrTable. It is used to provide an index structure for other tables whose data is logically per-peer, per-NLRI." ::= { bgpM2NlriEntry 8 } bgpM2NlriOpaqueType OBJECT-TYPE SYNTAX INTEGER { none(0), bgpMplsLabelStack(1) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object enumerates the type of the row that is pointed to in the table row bgpM2NlriOpaquePointer instance, if bgpM2NlriOpaquePointer is in fact not a zero length. bgpM2NlriOpaqueType is necessary since the data referenced by bgpM2NlriOpaquePointer is opaque to BGP. For example, in the case of RFC 3107, the label stack that is pointed to may occur in the mplsLabelStackTable from the MPLS-LSR-MIB, and the instance value of bgpM2NlriOpaqueType would be bgpMplsLabelStack(1)." REFERENCE "RFC 3107 - Carrying Label Information in BGP-4 Various Authors Expires August 28, 2002 [Page 66] Internet Draft BGP-MIB v2 February 28, 2002 draft-ietf-mpls-lsr-mib-08.txt" ::= { bgpM2NlriEntry 9 } bgpM2NlriOpaquePointer OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "Pointer to a row that decomposes the data that is opaque to the BGP MIB but is sent in the NLRI. This RowPointer has zero (0) length data instance if bgpM2NlriOpaqueType is none." ::= { bgpM2NlriEntry 10 } -- -- Adj-Ribs-Out Table -- bgpM2AdjRibsOutTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2AdjRibsOutEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains on a per-peer basis one or more routes from the bgpM2NlriTable that have been placed in this peer's Adj-Ribs-Out." REFERENCE "draft-ietf-idr-bgp4-17.txt, Sec. 3.2" ::= { bgpM2Rib 2 } bgpM2AdjRibsOutEntry OBJECT-TYPE SYNTAX BgpM2AdjRibsOutEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "List of BGP routes that have been placed into a peer's Adj-Ribs-Out." INDEX { bgpM2PeerIndex, bgpM2NlriAfi, bgpM2NlriSafi, bgpM2NlriPrefixLen, bgpM2NlriPrefix, bgpM2AdjRibsOutIndex } Various Authors Expires August 28, 2002 [Page 67] Internet Draft BGP-MIB v2 February 28, 2002 ::= { bgpM2AdjRibsOutTable 1 } BgpM2AdjRibsOutEntry ::= SEQUENCE { bgpM2AdjRibsOutIndex Unsigned32, bgpM2AdjRibsOutRoute RowPointer } bgpM2AdjRibsOutIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only 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." ::= { bgpM2AdjRibsOutEntry 1 } bgpM2AdjRibsOutRoute OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "This object points to the route in the bgpM2NlriTable 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 "draft-ietf-idr-bgp4-17.txt, Sec. 9.2" ::= { bgpM2AdjRibsOutEntry 2 } -- -- BGP Rib Path Attributes Table -- -- -- Path Attribute Counter -- bgpM2PathAttrCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only Various Authors Expires August 28, 2002 [Page 68] Internet Draft BGP-MIB v2 February 28, 2002 STATUS current DESCRIPTION "The number of entries in the bgpM2PathAttrTable." ::= { bgpM2Rib 3 } -- -- Path Attributes Table -- bgpM2PathAttrTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2PathAttrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Provides per advertised network-prefix attribute data, as advertised over a peering session." ::= { bgpM2Rib 4 } bgpM2PathAttrEntry OBJECT-TYPE SYNTAX BgpM2PathAttrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry contains data about a given network prefix, per-prefix and per-advertising peer." INDEX { bgpM2PathAttrIndex } ::= { bgpM2PathAttrTable 1 } BgpM2PathAttrEntry ::= SEQUENCE { bgpM2PathAttrOrigin INTEGER, bgpM2PathAttrNextHopAddrType InetAddressType, bgpM2PathAttrNextHop InetAddress, bgpM2PathAttrMedPresent TruthValue, bgpM2PathAttrMed Unsigned32, bgpM2PathAttrLocalPrefPresent TruthValue, bgpM2PathAttrLocalPref Unsigned32, Various Authors Expires August 28, 2002 [Page 69] Internet Draft BGP-MIB v2 February 28, 2002 bgpM2PathAttrAtomicAggregate INTEGER, bgpM2PathAttrAggregatorAS InetAutonomousSystemNumber, bgpM2PathAttrAggregatorAddr BgpM2Identifier, bgpM2AsPathCalcLength Unsigned32, bgpM2AsPathString DisplayString, bgpM2AsPathIndex Unsigned32 } bgpM2PathAttrOrigin OBJECT-TYPE SYNTAX INTEGER { igp(1),-- networks are interior egp(2),-- networks learned via the EGP protocol incomplete(3) -- undetermined } MAX-ACCESS read-only STATUS current DESCRIPTION "The ultimate origin of the path information." ::= { bgpM2PathAttrEntry 1 } bgpM2PathAttrNextHopAddrType 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." ::= { bgpM2PathAttrEntry 2 } -- JMH - this is wrong for RFC2545! -- We need to extend InetAddressType so we have a valid InetAddress -- for this. bgpM2PathAttrNextHop OBJECT-TYPE SYNTAX InetAddress (SIZE(4..20)) MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the border router that Various Authors Expires August 28, 2002 [Page 70] Internet Draft BGP-MIB v2 February 28, 2002 should be used to access the destination network. This address is the nexthop address received in the UPDATE packet. The address family of this object will be the same as that of the prefix in this row." ::= { bgpM2PathAttrEntry 3 } bgpM2PathAttrMedPresent OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Whether or not the MED value is present. If it is not present, the bgpM2PathAttrMed object has no useful value and should be set to 0." ::= { bgpM2PathAttrEntry 4 } bgpM2PathAttrMed 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." ::= { bgpM2PathAttrEntry 5 } bgpM2PathAttrLocalPrefPresent OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Whether or not the LocalPref value is present. If it is not present, the bgpM2PathAttrLocalPref object has no useful value and should be set to 0." ::= { bgpM2PathAttrEntry 6 } bgpM2PathAttrLocalPref OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The originating BGP4 speakers degree of preference for an advertised route." Various Authors Expires August 28, 2002 [Page 71] Internet Draft BGP-MIB v2 February 28, 2002 ::= { bgpM2PathAttrEntry 7 } -- JMH -- See comment in v1 draft about this. bgpM2PathAttrAtomicAggregate OBJECT-TYPE SYNTAX INTEGER { lessSpecificRouteNotSelected(1), lessSpecificRouteSelected(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Whether or not a system has selected a less specific route without selecting a more specific route." ::= { bgpM2PathAttrEntry 8 } bgpM2PathAttrAggregatorAS OBJECT-TYPE SYNTAX InetAutonomousSystemNumber MAX-ACCESS read-only STATUS current 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 propagation of AS of zero is illegal in the Internet." ::= { bgpM2PathAttrEntry 9 } bgpM2PathAttrAggregatorAddr OBJECT-TYPE SYNTAX BgpM2Identifier MAX-ACCESS read-only STATUS current 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." ::= { bgpM2PathAttrEntry 10 } bgpM2AsPathCalcLength OBJECT-TYPE Various Authors Expires August 28, 2002 [Page 72] Internet Draft BGP-MIB v2 February 28, 2002 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 "draft-ietf-idr-bgp4-17.txt, Sec. 9.1.2.2.a" ::= { bgpM2PathAttrEntry 11 } bgpM2AsPathString OBJECT-TYPE SYNTAX DisplayString 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." ::= { bgpM2PathAttrEntry 12 } bgpM2AsPathIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This value is a unique index for the decomposed AS Path in the bgpM2AsPathTable. It is assigned by the agent at the point of creation of the bgpM2AsPathTable 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 bgpM2AsPathIndex row instance values across rows of the bgpM2AsPathTable." ::= { bgpM2PathAttrEntry 13 } -- -- As-4 byte AS_PATH -- bgpM2AsPath4byteTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpM2AsPath4byteEntry MAX-ACCESS not-accessible Various Authors Expires August 28, 2002 [Page 73] Internet Draft BGP-MIB v2 February 28, 2002 STATUS current DESCRIPTION "This table is present for BGP speakers that support the AS 4byte specification and are functioning as a router between 2-byte and 4-byte AS space." REFERENCE "draft-ietf-idr-as4bytes-04.txt - BGP support for four-octet AS number space" ::= { bgpM2Rib 5 } bgpM2AsPath4byteEntry OBJECT-TYPE SYNTAX BgpM2AsPath4byteEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each row contains the information for the AS 4-byte extension's NEW_AS_PATH and NEW_AGGREGATOR attributes." AUGMENTS { bgpM2PathAttrEntry } ::= { bgpM2AsPath4byteTable 1 } BgpM2AsPath4byteEntry ::= SEQUENCE { bgpM2AsPath4bytePathPresent TruthValue, bgpM2AsPath4byteAggregatorAS InetAutonomousSystemNumber, bgpM2AsPath4byteCalcLength Unsigned32, bgpM2AsPath4byteString DisplayString, bgpM2AsPath4byteIndex Unsigned32 } bgpM2AsPath4bytePathPresent OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This value may only be true if this BGP Speaker is functioning as a router between ASs that are in 2-byte and 4-byte AS space. If this value is true, then the NEW_AS_PATH attributes are present and the 4-byte versions of the Various Authors Expires August 28, 2002 [Page 74] Internet Draft BGP-MIB v2 February 28, 2002 appropriate path attributes are in this row. If this value is false, then the following values will be present in the row: bgpM2