Inter-Domain Routing Working Group J. Haas Internet Draft NextHop S. Hares NextHop W. Tackabury Gold Wire Technology November 21, 2001 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 (2001). 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 May 21, 2002 [Page 1] Internet Draft BGP-MIB v2 November 21, 2001 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 May 21, 2002 [Page 2] Internet Draft BGP-MIB v2 November 21, 2001 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 May 21, 2002 [Page 3] Internet Draft BGP-MIB v2 November 21, 2001 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 assiged by IANA (for example, multi- protocol 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 May 21, 2002 [Page 4] Internet Draft BGP-MIB v2 November 21, 2001 3.1. bgpBaseScalars The bgpBaseScalars 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 'bgpBaseNotifica- 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 bgpVersionTable. Similarly, sup- port for multiple capabilities and authentication mechanisms, as identified by their assigned numbers, are reported in the bgpSupport- edCapabilitiesTable and bgpSupportedAuthTable respectively. In the MIB document, there are currently basic scalar extension mech- anisms to allow the agent to report membership of a local BGP Confed- eration [21] or Route Reflection Cluster ID [24]. These are consis- tent with the non-capability based extension section indexing guide- lines as presented above. 3.2. bgpPeerData The bgpPeerData section is per-peer object type definitions. The pre- dominant table in that section (bgpPeerTable) describes the session, negotiation state, and authentication state on a per peer basis. A second table (bgpPrefixCountersTable) exposes information about indi- vidual route prefixes received over each peer session. A separate subsection and its subordinate table (bgpPeerErrorsTable) reports information about the last error encountered on a given peering ses- sion. Further subsections report authentication state with the peer and elapsed time it has taken to advance the peering session into various states defined in the protocol FSM. The bgpPeerConfiguredTimersTable reports and allows dynamic reset of key timers on the peer session. These currently allow reset of hold time and keepalive timer, for compatibility wity the same capabili- ties in RFC 1657 [17]. For these resettable timers, their end-to-end negotiated current values are reflected in the bgpPeerNegotiated- TimersTable. Various Authors Expires May 21, 2002 [Page 5] Internet Draft BGP-MIB v2 November 21, 2001 3.2.1. bgpPeerCapabilities bgpPeerCapabilitiesData has objects and tables to describe BGP capa- bilities locally supported, and those reported and negotiated over each peer session. For tables supporting each of these capability sets, capability code and data value are provided. Attention must be given to the fact that multiple instances of a given capability can be transmitted between BGP speakers. 3.2.2. bgpPeerCounters The bgpCountersTable and bgpPrefixCountersTable report protocol exhanges/FSM transitions, and discrete number of NLRIs exchanged per peering session, respectively. This is independent of actual exhanged path attributes, which are tabularized later in the MIB mod- ule. 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. 3.3. BGP Routing Information Base Data An important table for providing index information for other tables in the MIB module is the bgpNlriTable. This discriminates on a given network prefix (by AFI/SAFI), and the peer which advertised the pre- fix (since it can be heard of from multiple spakers). The bgpPathAt- trIndex 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. The bgpPathAttrTable provides discrete BGP NLRI attributes which were recieved 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 bgpAsPathTable. Finally, where attributes which were unable to be reported in the bgpPathAttrTable, the AS Path table, or any defined per-NLRI tables in the agent were recieved with the prefix, those attributes are reported via the bgpPathAttrUnknownTable. 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 bgpPathAttrUnknownValue column of this table. Various Authors Expires May 21, 2002 [Page 6] Internet Draft BGP-MIB v2 November 21, 2001 3.3.1. Routing Information Base Extensions There are two extension sections and five subordinate tables to the bgp4PathAttrTable and RIB data OBJECT IDENTIFIER-delimited MIB module section. The bgpPathAttrRouteReflectionExts and its contained bgp- PathAttrOriginatorIdTable report on the originating route reflector. The bgpPathAttrClusterTable specifically reports on the reflection route a NLRI has traversed to get to the local BGP routing process. The bgpPathAttrCommunityExts section deals with extended and non- exteded communities for network routes. The bgpPathAttrCommTable bgpPathAttrExtCommTable contained herein report community membership (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 bgpPrefixCountersTable as they relate to the entry in the bgpPeerTable to which they are related. More compelling is the case of the one-to-many relationship between a row entry in the bgpPeerTable and the bgp4PathAttrTable, 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" bgpPeerTable 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 bgp4PathAttrClusterTable (for example) would extend out some 50 bytes if there was no direct index linkage to the "governing" bgp4PathAt- 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 the management application (or, for that matter, even to the Various Authors Expires May 21, 2002 [Page 7] Internet Draft BGP-MIB v2 November 21, 2001 organization of the "dependent" table[s]). 4. Definitions BGP4-V2-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Integer32, Counter32, Gauge32, mib-2, Unsigned32 FROM SNMPv2-SMI InetAddressType, InetAddress FROM INET-ADDRESS-MIB TEXTUAL-CONVENTION, TruthValue, DisplayString, RowStatus FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF; bgp MODULE-IDENTITY LAST-UPDATED "200111200000Z" ORGANIZATION "IETF IDR Working Group" CONTACT-INFO "E-mail: idr@merit.net Jeff Haas (Editor) 517 W. William Street Ann Arbor, MI 48103-4943 Tel: +1 734 973-2200 Fax: +1 734 615-3241 E-mail: jhaas@nexthop.com" DESCRIPTION "This MIB module defines management objects for the Border Gateway Protocol, Version 4." ::= { mib-2 XXX } BgpIdentifier ::= TEXTUAL-CONVENTION DISPLAY-HINT "1d:" -- jmh - is this right? STATUS current DESCRIPTION "The representation of a BGP Identifier." SYNTAX OCTET STRING(SIZE (4)) BgpSafi ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION Various Authors Expires May 21, 2002 [Page 8] Internet Draft BGP-MIB v2 November 21, 2001 "The representation of a BGP Safi" SYNTAX Unsigned32(0..255) BgpAutonomousSystemNumber ::= TEXTUAL-CONVENTION -- JMH - how is Cisco et al. representing the 4byte -- versions? DISPLAY-HINT "d" STATUS current DESCRIPTION "An autonomous System Number. If bgpAsSize is two-octet, the range is 0..65535. If it is four-octet, it is the full range of Unsigned32." SYNTAX Unsigned32 bgpBaseScalars OBJECT IDENTIFIER ::= { bgp 1 } bgpBaseNotifications OBJECT IDENTIFIER ::= { bgpBaseScalars 0 } bgpEstablished NOTIFICATION-TYPE OBJECTS { bgpPeerLocalAddrType, bgpPeerLocalAddr, bgpPeerRemoteAddrType, bgpPeerRemoteAddr, bgpPeerLastError, bgpPeerState } STATUS current DESCRIPTION "The BGP Established event is generated when the BGP FSM enters the ESTABLISHED state." ::= { bgpBaseNotifications 1 } bgpBackwardTransition NOTIFICATION-TYPE OBJECTS { bgpPeerLocalAddrType, bgpPeerLocalAddr, bgpPeerRemoteAddrType, bgpPeerRemoteAddr, bgpPeerLastError, bgpPeerState } STATUS current DESCRIPTION Various Authors Expires May 21, 2002 [Page 9] Internet Draft BGP-MIB v2 November 21, 2001 "The BGPBackwardTransition Event is generated when the BGP FSM moves from a higher numbered state to a lower numbered state." ::= { bgpBaseNotifications 2 } bgpVersion OBJECT IDENTIFIER ::= { bgpBaseScalars 1 } -- -- BGP Supported Version Table -- bgpVersionTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpVersionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table of supported BGP versions." ::= { bgpVersion 1 } bgpVersionEntry OBJECT-TYPE SYNTAX BgpVersionEntry 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 { bgpVersionIndex } ::= { bgpVersionTable 1 } BgpVersionEntry ::= SEQUENCE { bgpVersionIndex Unsigned32, bgpVersionSupported TruthValue } bgpVersionIndex OBJECT-TYPE SYNTAX Unsigned32(0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The version number of the BGP Protocol." ::= { bgpVersionEntry 1 } Various Authors Expires May 21, 2002 [Page 10] Internet Draft BGP-MIB v2 November 21, 2001 bgpVersionSupported OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This value is TRUE if the version of the BGP protocol identified in 'bgpVersionIndex' is supported." ::= { bgpVersionEntry 2 } bgpSupportedAuthentication OBJECT IDENTIFIER ::= { bgpBaseScalars 2 } -- -- Supported authentication mechanisms -- bgpSupportedAuthTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpSupportedAuthEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The supported BGP authentication mechanisms." ::= { bgpSupportedAuthentication 1 } bgpSupportedAuthEntry OBJECT-TYPE SYNTAX BgpSupportedAuthEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing information whether a given BGP authentication mechanism is supported by this implementation." INDEX { bgpSupportedAuthCode } ::= { bgpSupportedAuthTable 1 } BgpSupportedAuthEntry ::= SEQUENCE { bgpSupportedAuthCode Unsigned32, bgpSupportedAuthValue TruthValue } bgpSupportedAuthCode OBJECT-TYPE SYNTAX Unsigned32(0..255) MAX-ACCESS read-only STATUS current DESCRIPTION Various Authors Expires May 21, 2002 [Page 11] Internet Draft BGP-MIB v2 November 21, 2001 "The BGP authentication code." ::= { bgpSupportedAuthEntry 1 } bgpSupportedAuthValue 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." ::= { bgpSupportedAuthEntry 2 } bgpSupportedCapabilities OBJECT IDENTIFIER ::= { bgpBaseScalars 3 } -- -- Supported BGP Capabilities -- bgpCapabilitySupportAvailable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This variable determines whether BGP-4 capabilities are supported in this implementation. This variable may be set to false to disable capability support." ::= { bgpSupportedCapabilities 1 } bgpSupportedCapabilitiesTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpSupportedCapabilityEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table of supported BGP-4 capabilities." ::= { bgpSupportedCapabilities 2 } bgpSupportedCapabilitiesEntry OBJECT-TYPE SYNTAX BgpSupportedCapabilityEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about supported capabilities indexed by capability number." Various Authors Expires May 21, 2002 [Page 12] Internet Draft BGP-MIB v2 November 21, 2001 INDEX { bgpSupportedCapabilityIndex } ::= { bgpSupportedCapabilitiesTable 1 } BgpSupportedCapabilityEntry ::= SEQUENCE { bgpSupportedCapabilityIndex Unsigned32, bgpSupportedCapability TruthValue } bgpSupportedCapabilityIndex 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." ::= { bgpSupportedCapabilitiesEntry 1 } bgpSupportedCapability OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This value is True if this capability is supported, False otherwise." ::= { bgpSupportedCapabilitiesEntry 2 } bgpAsSize OBJECT-TYPE SYNTAX INTEGER { twoOctet(1), fourOctet(2) } 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" Various Authors Expires May 21, 2002 [Page 13] Internet Draft BGP-MIB v2 November 21, 2001 ::= { bgpBaseScalars 4 } bgpLocalAs OBJECT-TYPE SYNTAX BgpAutonomousSystemNumber MAX-ACCESS read-write STATUS current DESCRIPTION "The local autonomous system number. If the bgpAsSize is twoOctet, then the range is constrained to be 0-65535." ::= { bgpBaseScalars 5 } bgpLocalIdentifier OBJECT-TYPE SYNTAX BgpIdentifier MAX-ACCESS read-write STATUS current DESCRIPTION "The BGP Identifier of the local system. Current practice is trending away from this value being treated as an IP address and more as a generic identifier." ::= { bgpBaseScalars 6 } -- -- Base Scalar Extensions -- bgpBaseScalarExtensions OBJECT IDENTIFIER ::= { bgpBaseScalars 7 } bgpBaseScalarNonCapExts OBJECT IDENTIFIER ::= { bgpBaseScalarExtensions 1 } bgpBaseScalarCapExts OBJECT IDENTIFIER ::= { bgpBaseScalarExtensions 2 } -- -- Base Scalar AS Confederation Extensions -- bgpBaseScalarASConfederationExts OBJECT IDENTIFIER ::= { bgpBaseScalarNonCapExts 1965 } bgpConfederationId OBJECT-TYPE SYNTAX BgpAutonomousSystemNumber MAX-ACCESS read-write Various Authors Expires May 21, 2002 [Page 14] Internet Draft BGP-MIB v2 November 21, 2001 STATUS current DESCRIPTION "The local Confederation Identification Number. A value of zero (0) indicates the absence of this value." REFERENCE "RFC 3065 - Autonomous System Confederations for BGP" ::= { bgpBaseScalarASConfederationExts 1 } -- -- Base Scalar Route Reflection Extensions -- bgpBaseScalarRouteReflectionExts OBJECT IDENTIFIER ::= { bgpBaseScalarNonCapExts 1966 } bgpClusterId OBJECT-TYPE SYNTAX BgpIdentifier MAX-ACCESS read-write STATUS current DESCRIPTION "The configured Cluster-ID of the local router. A value of 0.0.0.0 indicates the absence of this value." REFERENCE "RFC 2796 - BGP Route Reflection" ::= { bgpBaseScalarRouteReflectionExts 1 } bgpPeer OBJECT IDENTIFIER ::= { bgp 2 } bgpPeerData OBJECT IDENTIFIER ::= { bgpPeer 1 } -- -- BGP Peer Data -- bgpPeerTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPeerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION Various Authors Expires May 21, 2002 [Page 15] Internet Draft BGP-MIB v2 November 21, 2001 "BGP peer table. This table contains, one entry per BGP peer, and information about the connections with BGP peers." ::= { bgpPeerData 1 } bgpPeerEntry OBJECT-TYPE SYNTAX BgpPeerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing information about the connection with a BGP peer." INDEX { -- JMH We should only need one AddrType? bgpPeerLocalAddrType, bgpPeerLocalAddr, bgpPeerRemoteAddrType, bgpPeerRemoteAddr } ::= { bgpPeerTable 1 } BgpPeerEntry ::= SEQUENCE { bgpPeerIdentifier BgpIdentifier, bgpPeerState INTEGER, bgpPeerAdminStatus INTEGER, bgpPeerConfiguredVersion Unsigned32, bgpPeerNegotiatedVersion Unsigned32, bgpPeerLocalAddrType InetAddressType, bgpPeerLocalAddr InetAddress, bgpPeerLocalPort Integer32, bgpPeerLocalAs BgpAutonomousSystemNumber, bgpPeerRemoteAddrType InetAddressType, bgpPeerRemoteAddr InetAddress, bgpPeerRemotePort Various Authors Expires May 21, 2002 [Page 16] Internet Draft BGP-MIB v2 November 21, 2001 Integer32, bgpPeerRemoteAs BgpAutonomousSystemNumber, bgpPeerIndex Unsigned32, bgpPeerRowEntryStatus RowStatus } bgpPeerIdentifier OBJECT-TYPE SYNTAX BgpIdentifier 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 bgpPeerState is in the openconfirm or the established state." ::= { bgpPeerEntry 1 } bgpPeerState 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." ::= { bgpPeerEntry 2 } -- JMH -- The work here is done by a transition. -- This implies that we stay in a state even though -- automatic start/stop events imply strobing something -- even when the state machine is running. bgpPeerAdminStatus OBJECT-TYPE SYNTAX INTEGER { stop(1), start(2) } Various Authors Expires May 21, 2002 [Page 17] Internet Draft BGP-MIB v2 November 21, 2001 MAX-ACCESS read-write STATUS current DESCRIPTION "The desired state of the BGP connection. A transition from 'stop' to 'start' will cause the BGP Start Event to be generated. A transition from 'start' to 'stop' will cause the BGP Stop Event to be generated. This parameter can be used to restart BGP peer connections. Care should be used in providing write access to this object without adequate authentication." ::= { bgpPeerEntry 3 } -- JMH -- Added this bgpPeerConfiguredVersion OBJECT-TYPE SYNTAX Unsigned32 (1..255) MAX-ACCESS read-write 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." ::= { bgpPeerEntry 4 } bgpPeerNegotiatedVersion OBJECT-TYPE SYNTAX Unsigned32 (1..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The negotiated version of BGP running between the two peers." ::= { bgpPeerEntry 5 } bgpPeerLocalAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-write STATUS current DESCRIPTION "The address family of the local end of the peering session." ::= { bgpPeerEntry 6 } Various Authors Expires May 21, 2002 [Page 18] Internet Draft BGP-MIB v2 November 21, 2001 bgpPeerLocalAddr OBJECT-TYPE SYNTAX InetAddress (SIZE (20)) MAX-ACCESS read-write STATUS current DESCRIPTION "The address of the local end of the peering session." ::= { bgpPeerEntry 7 } bgpPeerLocalPort OBJECT-TYPE SYNTAX Integer32 (-1 | 0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The local port for the transport 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." ::= { bgpPeerEntry 8 } bgpPeerLocalAs OBJECT-TYPE SYNTAX BgpAutonomousSystemNumber MAX-ACCESS read-write 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." ::= { bgpPeerEntry 9 } bgpPeerRemoteAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-write STATUS current DESCRIPTION "The address family of the remote end of the peering session." ::= { bgpPeerEntry 10 } bgpPeerRemoteAddr OBJECT-TYPE SYNTAX InetAddress (SIZE (20)) MAX-ACCESS read-write STATUS current DESCRIPTION "The address of the remote end of the peering session." Various Authors Expires May 21, 2002 [Page 19] Internet Draft BGP-MIB v2 November 21, 2001 ::= { bgpPeerEntry 11 } bgpPeerRemotePort OBJECT-TYPE SYNTAX Integer32 (-1 | 0..65535) MAX-ACCESS read-write 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. -- JMH - this text needs updating Note that the objects bgpPeerLocalAddr, bgpPeerLocalPort, bgpPeerRemoteAddr and bgpPeerRemotePort provide the appropriate reference to the standard MIB TCP connection table. or even the ipv6 tcp MIB as in rfc2452." ::= { bgpPeerEntry 12 } bgpPeerRemoteAs OBJECT-TYPE SYNTAX BgpAutonomousSystemNumber MAX-ACCESS read-write STATUS current DESCRIPTION "The remote autonomous system number." ::= { bgpPeerEntry 13 } bgpPeerIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This value is a unique index for the peer entry in the bgpPeerTable. It is assigned by the agent at the point of creation of the bgpPeerTable 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 bgpPeerIndex row instance values across rows of the bgpPeerTable. It is used to provide an index structure for other tables whose data is logically per-peer." -- +++wayne (from Tom Nadeau): need text describing fate sharing of index, if -- peering session comes up, peer disconnects, and then this or other peer Various Authors Expires May 21, 2002 [Page 20] Internet Draft BGP-MIB v2 November 21, 2001 -- connects again. Will this grow monotonically? (I think that's the question) ::= { bgpPeerEntry 14 } bgpPeerRowEntryStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-only STATUS current DESCRIPTION "This object type reflects the status of the row within the agent. Note that this is independent of the bgpPeerAdminStatus which reflects the underlying peering session itself. An instance of this row is returned by the agent to reflect the validity of the current state of this row. The valid RowStatus enumeration values for this are 'active', 'notInService', and 'notReady'." -- +++wayne need better definition of the three states, better analysis of -- whether this should be read-write, and what, if any, the interaction of setting -- bgpPeerAdminStatus to 'stop'. At some point, the entry should age out of the -- agent, and this needs to track that (in addition to its creation from -- bgpPeerCfgTable row data). ::= { bgpPeerEntry 15 } bgpPeerErrors OBJECT IDENTIFIER ::= { bgpPeer 2 } bgpPeerErrorsTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPeerErrorsEntry 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 bgpPeerIndex, exists in this table, then no such errors have been observed, reported, and recorded on the session." ::= { bgpPeerErrors 1 } bgpPeerErrorsEntry OBJECT-TYPE SYNTAX BgpPeerErrorsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry contains information about an error on a given BGP peer session." INDEX { bgpPeerIndex } ::= { bgpPeerErrorsTable 1 } BgpPeerErrorsEntry ::= SEQUENCE { Various Authors Expires May 21, 2002 [Page 21] Internet Draft BGP-MIB v2 November 21, 2001 bgpPeerLastError OCTET STRING, bgpPeerLastErrorData Unsigned32 } bgpPeerLastError OBJECT-TYPE SYNTAX OCTET STRING (SIZE (2)) MAX-ACCESS read-only STATUS current DESCRIPTION "The last error code and subcode seen by this peer on this connection. If no error has occurred, this field is zero. Otherwise, the first byte of this two byte OCTET STRING contains the error code, and the second byte contains the subcode." REFERENCE "draft-ietf-bgp4-15.txt, Sec. 4.5" ::= { bgpPeerErrorsEntry 1 } bgpPeerLastErrorData OBJECT-TYPE SYNTAX Unsigned32 (0..4075) MAX-ACCESS read-only STATUS current DESCRIPTION "The last error code's data seen by this peer on this connection." ::= { bgpPeerErrorsEntry 2 } bgpPeerAuthentication OBJECT IDENTIFIER ::= { bgpPeer 3 } -- -- Peer Authentication -- bgpPeerAuthTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPeerAuthEntry 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." ::= { bgpPeerAuthentication 1 } Various Authors Expires May 21, 2002 [Page 22] Internet Draft BGP-MIB v2 November 21, 2001 bgpPeerAuthEntry OBJECT-TYPE SYNTAX BgpPeerAuthEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing information about the authentication with a BGP peer." INDEX { bgpPeerIndex } ::= { bgpPeerAuthTable 1 } BgpPeerAuthEntry ::= SEQUENCE { bgpPeerAuthSent TruthValue, bgpPeerAuthSentCode Unsigned32, bgpPeerAuthSentValue OCTET STRING, bgpPeerAuthRcvd TruthValue, bgpPeerAuthRcvdCode Unsigned32, bgpPeerAuthRcvdValue OCTET STRING } bgpPeerAuthSent OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "The local peer has sent authentication to the remote peer in the BGP Authentication field." ::= { bgpPeerAuthEntry 1 } bgpPeerAuthSentCode OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION "The code of the authentication information sent the remote peer." ::= { bgpPeerAuthEntry 2 } Various Authors Expires May 21, 2002 [Page 23] Internet Draft BGP-MIB v2 November 21, 2001 bgpPeerAuthSentValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..255)) -- jmh length is too much -- +++wayne get value from...IPSec MIB? Any opaque TC there to use? MAX-ACCESS read-write STATUS current DESCRIPTION "The payload of the authentication information from the remote peer." ::= { bgpPeerAuthEntry 3 } bgpPeerAuthRcvd OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "The local peer has received authentication from the remote peer in the BGP Authentication field." ::= { bgpPeerAuthEntry 4 } bgpPeerAuthRcvdCode OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The code of the authentication information from the remote peer." ::= { bgpPeerAuthEntry 5 } bgpPeerAuthRcvdValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..255)) -- jmh length is too much MAX-ACCESS read-only STATUS current DESCRIPTION "The payload of the authentication information from the remote peer." ::= { bgpPeerAuthEntry 6 } bgpPeerTimers OBJECT IDENTIFIER ::= { bgpPeer 4 } -- Various Authors Expires May 21, 2002 [Page 24] Internet Draft BGP-MIB v2 November 21, 2001 -- Peer Event Times -- bgpPeerEventTimesTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPeerEventTimesEntry 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." ::= { bgpPeerTimers 1 } bgpPeerEventTimesEntry OBJECT-TYPE SYNTAX BgpPeerEventTimesEntry 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." INDEX { bgpPeerIndex } ::= { bgpPeerEventTimesTable 1 } BgpPeerEventTimesEntry ::= SEQUENCE { bgpPeerFsmEstablishedTime Gauge32, bgpPeerInUpdatesElapsedTime Gauge32 } bgpPeerFsmEstablishedTime 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." ::= { bgpPeerEventTimesEntry 1 } bgpPeerInUpdatesElapsedTime OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current Various Authors Expires May 21, 2002 [Page 25] Internet Draft BGP-MIB v2 November 21, 2001 DESCRIPTION "Elapsed time in seconds since the last BGP message was received from the peer. Each time bgpPeerInUpdates is incremented, the value of this object is set to zero (0)." ::= { bgpPeerEventTimesEntry 2 } -- -- Peer Configured Timers -- bgpPeerConfiguredTimersTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPeerConfiguredTimersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Per peer management data on BGP session timers." ::= { bgpPeerTimers 2 } bgpPeerConfiguredTimersEntry OBJECT-TYPE SYNTAX BgpPeerConfiguredTimersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry corresponds to the current state of BGP timers on a given peering session." INDEX { bgpPeerIndex } ::= { bgpPeerConfiguredTimersTable 1 } BgpPeerConfiguredTimersEntry ::= SEQUENCE { bgpPeerConnectRetryInterval Unsigned32, bgpPeerHoldTimeConfigured Unsigned32, bgpPeerKeepAliveConfigured Unsigned32, bgpPeerMinASOriginationInterval Unsigned32, bgpPeerMinRouteAdvertiseInterval Unsigned32 } bgpPeerConnectRetryInterval OBJECT-TYPE SYNTAX Unsigned32 (1..65535) MAX-ACCESS read-write STATUS current DESCRIPTION Various Authors Expires May 21, 2002 [Page 26] Internet Draft BGP-MIB v2 November 21, 2001 "Time interval in seconds for the ConnectRetry timer. The suggested value for this timer is 120 seconds." ::= { bgpPeerConfiguredTimersEntry 1 } bgpPeerHoldTimeConfigured OBJECT-TYPE SYNTAX Unsigned32 ( 0 | 3..65535 ) MAX-ACCESS read-write 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 (bgpPeerHoldTime) 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 "RFC 1771, p. 9" ::= { bgpPeerConfiguredTimersEntry 2 } bgpPeerKeepAliveConfigured OBJECT-TYPE SYNTAX Unsigned32 ( 0 | 1..21845 ) MAX-ACCESS read-write STATUS current DESCRIPTION "Time interval in seconds for the KeepAlive configured for this BGP speaker with this peer. The value of this object will only determine the KEEPALIVE messages' frequency relative to the value specified in bgpPeerHoldTimeConfigured; the actual time interval for the KEEPALIVE messages is indicated by bgpPeerKeepAlive. A reasonable maximum value for this timer would be configured to be one third of that of bgpPeerHoldTimeConfigured. 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. Various Authors Expires May 21, 2002 [Page 27] Internet Draft BGP-MIB v2 November 21, 2001 The suggested value for this timer is 30 seconds." REFERENCE "RFC 1771, pp. 17-18" ::= { bgpPeerConfiguredTimersEntry 3 } bgpPeerMinASOriginationInterval OBJECT-TYPE SYNTAX Unsigned32 (1..65535) MAX-ACCESS read-write STATUS current DESCRIPTION "Time interval in seconds for the timer. The suggested value for this timer is 15 seconds." ::= { bgpPeerConfiguredTimersEntry 4 } bgpPeerMinRouteAdvertiseInterval OBJECT-TYPE SYNTAX Unsigned32 (1..65535) MAX-ACCESS read-write STATUS current DESCRIPTION "Time interval in seconds for the MinRouteAdvertisementInterval timer. The value for this timer is 30 seconds." ::= { bgpPeerConfiguredTimersEntry 5 } -- -- Peer Negotiated Timers -- bgpPeerNegotiatedTimersTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPeerNegotiatedTimersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Current values of per-peer timers which can be dynamically set in the bgpPeerConfiguredTimersTable. Values reflected in this table are the current operational values, after negotiation from values derived from initial configuration or last set from bgpPeerConfiguredTimersTable row instances." ::= { bgpPeerTimers 3 } bgpPeerNegotiatedTimersEntry OBJECT-TYPE SYNTAX BgpPeerNegotiatedTimersEntry MAX-ACCESS not-accessible STATUS current Various Authors Expires May 21, 2002 [Page 28] Internet Draft BGP-MIB v2 November 21, 2001 DESCRIPTION "Each entry reflects a value of the currently operational, negotiated timers as reflected in the BgpPeerNegotiatedTimersEntry." INDEX { bgpPeerIndex } ::= { bgpPeerNegotiatedTimersTable 1 } BgpPeerNegotiatedTimersEntry ::= SEQUENCE { bgpPeerHoldTime Integer32, bgpPeerKeepAlive Integer32 } bgpPeerHoldTime OBJECT-TYPE SYNTAX Integer32 ( 0 | 3..65535 ) MAX-ACCESS read-only STATUS current DESCRIPTION "Time interval in seconds for the Hold Timer established with the peer. The value of this is calculated by this BGP speaker by using the smaller of the value in bgpPeerHoldTimeConfigured and the Hold Time received in the OPEN message. This value must be at least three seconds if it is not zero (0) in which case the Hold Timer has not been established with the peer, or, the value of bgpPeerHoldTimeConfigured is zero (0)." -- +++wayne (from Tom Nadeau) would like to see enumerated cases of -- description as this has too many subcases. ::= { bgpPeerNegotiatedTimersEntry 1 } bgpPeerKeepAlive OBJECT-TYPE SYNTAX Integer32 ( 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 is calculated by this BGP speaker such that, when compared with bgpPeerHoldTime, it has the same proportion as what bgpPeerKeepAliveConfigured has when compared with bgpPeerHoldTimeConfigured. 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 bgpPeerKeepAliveConfigured is zero (0)." ::= { bgpPeerNegotiatedTimersEntry 2 } Various Authors Expires May 21, 2002 [Page 29] Internet Draft BGP-MIB v2 November 21, 2001 bgpPeerCapabilities OBJECT IDENTIFIER ::= { bgpPeer 5 } -- -- Peer Capabilities -- -- -- Announced Capabilities -- bgpPeerCapsAnnouncedTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPeerCapsAnnouncedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains contains the capabilities that are supported for a given peer." ::= { bgpPeerCapabilities 1 } bgpPeerCapsAnnouncedEntry OBJECT-TYPE SYNTAX BgpPeerCapsAnnouncedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "These entries are keyed by a BGP-4 peer remote address and the BGP Capability Code" INDEX { bgpPeerIndex, bgpPeerCapAnnouncedCode, bgpPeerCapAnnouncedIndex } ::= { bgpPeerCapsAnnouncedTable 1 } BgpPeerCapsAnnouncedEntry ::= SEQUENCE { bgpPeerCapAnnouncedCode Unsigned32, bgpPeerCapAnnouncedIndex Unsigned32, bgpPeerCapAnnouncedLength Unsigned32, bgpPeerCapAnnouncedValue OCTET STRING } Various Authors Expires May 21, 2002 [Page 30] Internet Draft BGP-MIB v2 November 21, 2001 bgpPeerCapAnnouncedCode OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The BGP Capability Advertisement Capability Code." ::= { bgpPeerCapsAnnouncedEntry 1 } bgpPeerCapAnnouncedIndex 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." ::= { bgpPeerCapsAnnouncedEntry 2 } bgpPeerCapAnnouncedLength OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The length of the announced capability." ::= { bgpPeerCapsAnnouncedEntry 3 } bgpPeerCapAnnouncedValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of the announced capability." ::= { bgpPeerCapsAnnouncedEntry 4 } -- -- Received Capabilities -- bgpPeerCapsReceivedTable OBJECT-TYPE SYNTAX SEQUENCE OF Bgp4PeerCapsReceivedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains contains the capabilities Various Authors Expires May 21, 2002 [Page 31] Internet Draft BGP-MIB v2 November 21, 2001 that are supported for a given peer." ::= { bgpPeerCapabilities 2 } bgpPeerCapsReceivedEntry OBJECT-TYPE SYNTAX Bgp4PeerCapsReceivedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "These entries are keyed by a BGP-4 peer remote address and the BGP Capability Code" INDEX { bgpPeerRemoteAddrType, bgpPeerRemoteAddr, bgpPeerCapReceivedCode, bgpPeerCapReceivedIndex } ::= { bgpPeerCapsReceivedTable 1 } Bgp4PeerCapsReceivedEntry ::= SEQUENCE { bgpPeerCapReceivedCode Unsigned32, bgpPeerCapReceivedIndex Unsigned32, bgpPeerCapReceivedLength Unsigned32, bgpPeerCapReceivedValue OCTET STRING } bgpPeerCapReceivedCode OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The BGP Capability Advertisement Capability Code." ::= { bgpPeerCapsReceivedEntry 1 } bgpPeerCapReceivedIndex 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." Various Authors Expires May 21, 2002 [Page 32] Internet Draft BGP-MIB v2 November 21, 2001 ::= { bgpPeerCapsReceivedEntry 2 } bgpPeerCapReceivedLength OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The length of the announced capability." ::= { bgpPeerCapsReceivedEntry 3 } bgpPeerCapReceivedValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of the announced capability." ::= { bgpPeerCapsReceivedEntry 4 } bgpPeerCounters OBJECT IDENTIFIER ::= { bgpPeer 6 } bgpPeerCountersTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPeerCountersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The counters associated with a BGP Peer." ::= { bgpPeerCounters 1 } bgpPeerCountersEntry OBJECT-TYPE SYNTAX BgpPeerCountersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry contains counters of messsage transmissions and FSM transitions for a given BGP Peering session." INDEX { bgpPeerIndex } ::= { bgpPeerCountersTable 1 } BgpPeerCountersEntry ::= SEQUENCE { bgpPeerInUpdates Counter32, bgpPeerOutUpdates Various Authors Expires May 21, 2002 [Page 33] Internet Draft BGP-MIB v2 November 21, 2001 Counter32, bgpPeerInTotalMessages Counter32, bgpPeerOutTotalMessages Counter32, bgpPeerFsmEstablishedTransitions Counter32 } -- +++wayne need to describe what happens if connection is broken -- and then reestablished. Does the prior counter value accumulate? bgpPeerInUpdates 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." ::= { bgpPeerCountersEntry 1 } bgpPeerOutUpdates OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of BGP UPDATE messages transmitted on this connection. This object should be initialized to zero (0) when the connection is established." ::= { bgpPeerCountersEntry 2 } bgpPeerInTotalMessages 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." ::= { bgpPeerCountersEntry 3 } bgpPeerOutTotalMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only Various Authors Expires May 21, 2002 [Page 34] Internet Draft BGP-MIB v2 November 21, 2001 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." ::= { bgpPeerCountersEntry 4 } bgpPeerFsmEstablishedTransitions 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." ::= { bgpPeerCountersEntry 5 } -- -- Per-Peer Prefix Counters -- bgpPrefixCountersTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPrefixCountersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Additional per-peer, per AFI/SAFI counters for prefixes" ::= { bgpPeerCounters 2 } bgpPrefixCountersEntry OBJECT-TYPE SYNTAX BgpPrefixCountersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing information about a bgp-peer's prefix counters." INDEX { bgpPeerIndex, bgpPrefixCountersAfi, bgpPrefixCountersSafi } ::= { bgpPrefixCountersTable 1 } BgpPrefixCountersEntry ::= SEQUENCE { -- JMH Various Authors Expires May 21, 2002 [Page 35] Internet Draft BGP-MIB v2 November 21, 2001 -- do we really need AFI and safi in the table? bgpPrefixCountersAfi InetAddressType, bgpPrefixCountersSafi BgpSafi, bgpPrefixInPrefixes Gauge32, bgpPrefixInPrefixesAccepted Gauge32, bgpPrefixInPrefixesRejected Gauge32, bgpPrefixOutPrefixes Gauge32 } bgpPrefixCountersAfi OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The AFI index of the per-peer, per prefix counters" ::= { bgpPrefixCountersEntry 1 } bgpPrefixCountersSafi OBJECT-TYPE SYNTAX BgpSafi MAX-ACCESS read-only STATUS current DESCRIPTION "The SAFI index of the per-peer, per prefix counters" ::= { bgpPrefixCountersEntry 2 } bgpPrefixInPrefixes OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of prefixes received from a peer and are stored in the Adj-Ribs-In for that peer." -- jmh - note that we're allowing stuff to be discarded ::= { bgpPrefixCountersEntry 7 } bgpPrefixInPrefixesAccepted OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only Various Authors Expires May 21, 2002 [Page 36] Internet Draft BGP-MIB v2 November 21, 2001 STATUS current DESCRIPTION "The number of prefixes for a peer that are installed in the Adj-Ribs-In and are eligible to become active in the Loc-Rib." ::= { bgpPrefixCountersEntry 8 } bgpPrefixInPrefixesRejected 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." ::= { bgpPrefixCountersEntry 9 } bgpPrefixOutPrefixes OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of prefixes for a peer that are installed in that peer's Adj-Ribs-Out." ::= { bgpPrefixCountersEntry 10 } bgpPeerExtensions OBJECT IDENTIFIER ::= { bgpPeer 7 } bgpPeerNonCapExts OBJECT IDENTIFIER ::= { bgpPeerExtensions 1 } bgpPeerCapExts OBJECT IDENTIFIER ::= { bgpPeerExtensions 2 } -- -- Peer Route Reflection Extensions -- bgpPeerRouteReflectionExts OBJECT IDENTIFIER ::= { bgpPeerNonCapExts 1966 } bgpPeerReflectorClient OBJECT-TYPE SYNTAX INTEGER { Various Authors Expires May 21, 2002 [Page 37] Internet Draft BGP-MIB v2 November 21, 2001 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(0) indicates that this peer is not a reflector client. A value of client(1) indicates that this peer is a reflector client that is not fully meshed with other reflector clients. A value of meshedClient(2) indicates that the peer is a reflector client and is fully meshed with all other reflector clients." REFERENCE "RFC 2796 - BGP Route Reflection" ::= { bgpPeerRouteReflectionExts 1 } -- -- Peer AS Confederations Extensions -- bgpPeerASConfederationExts OBJECT IDENTIFIER ::= { bgpPeerNonCapExts 1965 } bgpPeerConfederationMember 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" ::= { bgpPeerASConfederationExts 1 } bgpRib OBJECT IDENTIFIER ::= { bgp 3 } -- -- BGP NLRI Data -- bgpNlriTable OBJECT-TYPE Various Authors Expires May 21, 2002 [Page 38] Internet Draft BGP-MIB v2 November 21, 2001 SYNTAX SEQUENCE OF BgpNlriEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The BGP-4 Received Path Attribute Table contains information about paths to destination networks received from all BGP4 peers." ::= { bgpRib 1 } bgpNlriEntry OBJECT-TYPE SYNTAX BgpNlriEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about a path to a network." INDEX { bgpPeerIndex, bgpNlriAfi, bgpNlriSafi, bgpNlriPrefixLen, bgpNlriPrefix } ::= { bgpNlriTable 1 } BgpNlriEntry ::= SEQUENCE { bgpNlriAfi InetAddressType, bgpNlriSafi BgpSafi, bgpNlriPrefixLen Unsigned32, bgpNlriPrefix InetAddress, bgpNlriBest TruthValue, bgpPathAttrIndex Unsigned32, bgpNlriASPathStr DisplayString } bgpNlriAfi OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only Various Authors Expires May 21, 2002 [Page 39] Internet Draft BGP-MIB v2 November 21, 2001 STATUS current DESCRIPTION "The address family of the prefix for this NLRI." ::= { bgpNlriEntry 1 } bgpNlriSafi OBJECT-TYPE SYNTAX BgpSafi 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" ::= { bgpNlriEntry 2 } bgpNlriPrefixLen OBJECT-TYPE SYNTAX Unsigned32 (1..128) MAX-ACCESS read-only STATUS current DESCRIPTION "Length in bits of the IP address prefix in the Network Layer Reachability Information field." ::= { bgpNlriEntry 3 } -- JMH - this is going to vary based on AFI/SAFI !!! -- JMH - InetAddress is wrong now! bgpNlriPrefix OBJECT-TYPE SYNTAX InetAddress (SIZE (4..16)) 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 bgpPathAttrAddrPrefixLen. Any bits beyond the length specified by bgpPathAttrAddrPrefixLen are zeroed." ::= { bgpNlriEntry 4 } bgpNlriBest OBJECT-TYPE SYNTAX TruthValue Various Authors Expires May 21, 2002 [Page 40] Internet Draft BGP-MIB v2 November 21, 2001 MAX-ACCESS read-only STATUS current DESCRIPTION "An indication of whether or not this route was chosen as the best BGP4 route." ::= { bgpNlriEntry 5 } bgpPathAttrIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This value is a unique index for the per-NLRI entry in the bgpPeerAttrTable. It is assigned by the agent at the point of creation of the bgpPeerAttrTable 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 bgpPeerAttrIndex row instance values across rows of the bgpPeerAttrTable. It is used to provide an index structure for other tables whose data is logically per-peer, per-NLRI." ::= { bgpNlriEntry 6 } bgpNlriASPathStr 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." ::= { bgpNlriEntry 7 } -- -- BGP Rib Path Attributes Table -- bgpPathAttrTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPathAttrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Provides per advertised network-prefix attribute data, as advertised over a peering session." ::= { bgpRib 2 } Various Authors Expires May 21, 2002 [Page 41] Internet Draft BGP-MIB v2 November 21, 2001 bgpPathAttrEntry OBJECT-TYPE SYNTAX BgpPathAttrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry contains data about a given network prefix, per-prefix and per-advertising peer." INDEX { bgpPathAttrIndex } ::= { bgpPathAttrTable 1 } BgpPathAttrEntry ::= SEQUENCE { bgpPathAttrOrigin INTEGER, bgpPathAttrNextHopAddrType InetAddressType, bgpPathAttrNextHop InetAddress, bgpPathAttrMultiExitDiscPresent TruthValue, bgpPathAttrMultiExitDisc Unsigned32, bgpPathAttrLocalPrefPresent TruthValue, bgpPathAttrLocalPref Unsigned32, bgpPathAttrAtomicAggregate INTEGER, bgpPathAttrAggregatorAS BgpAutonomousSystemNumber, bgpPathAttrAggregatorAddr BgpIdentifier, bgpPathAttrCalcLocalPref Unsigned32 } bgpPathAttrOrigin OBJECT-TYPE SYNTAX INTEGER { igp(1),-- networks are interior egp(2),-- networks learned -- via EGP incomplete(3) -- undetermined } MAX-ACCESS read-only STATUS current DESCRIPTION "The ultimate origin of the path Various Authors Expires May 21, 2002 [Page 42] Internet Draft BGP-MIB v2 November 21, 2001 information." ::= { bgpPathAttrEntry 2 } bgpPathAttrNextHopAddrType 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." ::= { bgpPathAttrEntry 3 } -- JMH - this is wrong for RFC2545! bgpPathAttrNextHop OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the border router that should be used to access the destination network. This address is the nexthop address received in the UPDATE packet. The address family of this object will be the same as that of the prefix in this row." ::= { bgpPathAttrEntry 4 } bgpPathAttrMultiExitDiscPresent 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 bgpPathAttrMultiExitDisc object has no useful value and should be set to 0." ::= { bgpPathAttrEntry 5 } bgpPathAttrMultiExitDisc OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This metric is used to discriminate between multiple exit points to an Various Authors Expires May 21, 2002 [Page 43] Internet Draft BGP-MIB v2 November 21, 2001 adjacent autonomous system." ::= { bgpPathAttrEntry 6 } bgpPathAttrLocalPrefPresent OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Whether or not the LOCAL_PREF value is present. If it is not present, the bgpPathAttrLocalPref object has no useful value and should be set to 0." ::= { bgpPathAttrEntry 7 } bgpPathAttrLocalPref OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The originating BGP4 speaker's degree of preference for an advertised route." ::= { bgpPathAttrEntry 8 } -- JMH -- See comment in v1 draft about this. bgpPathAttrAtomicAggregate 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." ::= { bgpPathAttrEntry 9 } bgpPathAttrAggregatorAS OBJECT-TYPE SYNTAX BgpAutonomousSystemNumber MAX-ACCESS read-only STATUS current DESCRIPTION "The AS number of the last BGP4 speaker that Various Authors Expires May 21, 2002 [Page 44] Internet Draft BGP-MIB v2 November 21, 2001 performed route aggregation. A value of zero (0) indicates the absence of this attribute." ::= { bgpPathAttrEntry 10 } bgpPathAttrAggregatorAddr OBJECT-TYPE SYNTAX BgpIdentifier 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. Note propagation of AS of zero is illegal in the Internet." ::= { bgpPathAttrEntry 11 } bgpPathAttrCalcLocalPref OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The degree of preference calculated by the receiving BGP4 speaker for an advertised route." ::= { bgpPathAttrEntry 12 } -- BGP 4 Path attribute AS Path Table. There is one row in -- this table for each AS which is advertised for a given -- route as provided from a peer. -- JMH -- We need one of these for the NewAsPath for the 4byte draft bgpAsPathTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpAsPathEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The BGP-4 Path Attribute AS Path Table contains the per network path (NLRI) AS Path data recieved from the advertising BGP peer." ::= { bgpRib 3 } Various Authors Expires May 21, 2002 [Page 45] Internet Draft BGP-MIB v2 November 21, 2001 bgpAsPathTableEntry OBJECT-TYPE SYNTAX BgpAsPathEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about an AS path segment provided with a path to a network." INDEX { bgpPathAttrIndex, bgpAsPathIndex, bgpAsPathElementValue } ::= { bgpAsPathTable 1 } BgpAsPathEntry ::= SEQUENCE { bgpAsPathIndex Unsigned32, bgpAsPathType INTEGER, bgpAsPathElementValue BgpAutonomousSystemNumber } bgpAsPathIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "A per-AS path index. This will index a set of autonomous systems in an AS path that are part of the same sequence or set (as determined by the row value of bgpAsPathType, which should be the same value for each bgpAsPathTable entry indexed by the same pair)." ::= { bgpAsPathTableEntry 1 } bgpAsPathType OBJECT-TYPE SYNTAX INTEGER { asSet(1), asSequence(2), confedSequence(3), confedSet(4) } MAX-ACCESS read-only Various Authors Expires May 21, 2002 [Page 46] Internet Draft BGP-MIB v2 November 21, 2001 STATUS current DESCRIPTION "The type of sequence in which this asPath was advertised as an attribute. Note that all asPath row instances for a given index pair will have their bgpAsPathType set to the same value. The values for bgpAsPathType are interpreted as defined in the base BGP document and the BGP AS Confederations document." REFERENCE "draft-ietf-idr-bgp4-16 RFC 3065 - BGP AS Confederations" ::= { bgpAsPathTableEntry 2 } bgpAsPathElementValue OBJECT-TYPE SYNTAX BgpAutonomousSystemNumber MAX-ACCESS read-only STATUS current DESCRIPTION "An AS value for an AS the related NLRI traversed in the propagation of its advertisement. This value is to be interpreted in the context of the sequence implied by bgpAsPathIndex and bgpAsPathType (and, in sequence of the other table rows with the same value of bgpPathAttrIndex and bgpAsPathIndex)." ::= { bgpAsPathTableEntry 3 } -- BGP 4 Path unknown attribute. There is one row in -- this table for each attribute not known by this BGP -- implementation (or agent instrumentation), but provided -- from a peer. bgpPathAttrUnknownTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPathAttrUnknownEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The BGP-4 Path Attribute Unknown Table contains the per network path (NLRI) data on the path attributes advertised with a route but not known to the local BGP implementation or not otherwise capable of being returned from this agent. The absence of row data for a given index value for Various Authors Expires May 21, 2002 [Page 47] Internet Draft BGP-MIB v2 November 21, 2001 bgpPathAttrIndex indicates a lack of such unknown attribute information for the indicated network path (as indexed by that bgpPathAttrIndex value in the bgpPathAttrTable)." ::= { bgpRib 4 } bgpPathAttrUnknownEntry OBJECT-TYPE SYNTAX BgpPathAttrUnknownEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about an unknown attribute provided with a path to a network." INDEX { bgpPathAttrIndex, bgpPathAttrUnknownIndex } ::= { bgpPathAttrUnknownTable 1 } BgpPathAttrUnknownEntry ::= SEQUENCE { bgpPathAttrUnknownIndex Unsigned32, bgpPathAttrUnknownType Unsigned32, bgpPathAttrUnknownValue OCTET STRING } bgpPathAttrUnknownIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "An integer index for a row in this table." ::= { bgpPathAttrUnknownEntry 1 } bgpPathAttrUnknownType OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The attribute type advertised with this 'unnkown' attribute by the peer." ::= { bgpPathAttrUnknownEntry 2 } -- Maximum size of the following is derived as -- 4096 max message size -- - 16 BGP message marker bytes Various Authors Expires May 21, 2002 [Page 48] Internet Draft BGP-MIB v2 November 21, 2001 -- - 2 BGP message size -- - 1 BGP message type (UPDATE with unknown attr) -- - 2 UPDATE routes length (even assuming no routes) -- - 2 UPDATE path attributes length -- - 1 path attribute flag octet -- - 2 unknown path attr type (in bgpPathAttrUnknownType) -- --------- -- 4070 bytes maximum per-message attribute value data -- +++wayne ideas as to how to make this a reliably smaller/more broken up -- string eagerly solicited here bgpPathAttrUnknownValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..4070)) MAX-ACCESS read-only STATUS current DESCRIPTION "Value of path attribute not understood by the base BGP-4 document. Octets beyond the maximum size, if any, are not recorded by this row object. " ::= { bgpPathAttrUnknownEntry 3 } -- -- Path Attribute Extensions -- bgpPathAttrExtensions OBJECT IDENTIFIER ::= { bgpRib 5 } bgpPathAttrNonCapExts OBJECT IDENTIFIER ::= { bgpPathAttrExtensions 1 } bgpPathAttrCapExts OBJECT IDENTIFIER ::= { bgpPathAttrExtensions 2 } -- -- Path Attribute Route Reflection Extensions -- -- -- Originator ID Table -- . This table is overkill, but seems to fit into -- . the current paradigm. Various Authors Expires May 21, 2002 [Page 49] Internet Draft BGP-MIB v2 November 21, 2001 -- bgpPathAttrRouteReflectionExts OBJECT IDENTIFIER ::= { bgpPathAttrNonCapExts 1966 } bgpPathAttrOriginatorIdTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPathAttrOriginatorIdEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Per prefix data pertinent to advertisement of a network prefix through an originator." REFERENCE "RFC 2796 - BGP Route Reflection" ::= { bgpPathAttrRouteReflectionExts 1 } bgpPathAttrOriginatorIdEntry OBJECT-TYPE SYNTAX BgpPathAttrOriginatorIdEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry contains data pertinent to a network prefix as received through its originating BGP route reflector." REFERENCE "RFC 2796 - BGP Route Reflection" INDEX { bgpPathAttrIndex } ::= { bgpPathAttrOriginatorIdTable 1 } BgpPathAttrOriginatorIdEntry ::= SEQUENCE { bgpPathAttrOriginatorId BgpIdentifier } bgpPathAttrOriginatorId OBJECT-TYPE SYNTAX BgpIdentifier MAX-ACCESS read-only STATUS current DESCRIPTION "The Originator-ID identifying the router that initially advertised this destination to a Route Reflector. A value of 0.0.0.0 indicates the absence of this attribute." REFERENCE "This attribute is defined in [RFC2796]." ::= { bgpPathAttrOriginatorIdEntry 1 } -- Various Authors Expires May 21, 2002 [Page 50] Internet Draft BGP-MIB v2 November 21, 2001 -- Cluster table -- bgpPathAttrClusterTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPathAttrClusterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The BGP-4 Path Attribute Cluster Table contains the per network path (NLRI) data on the reflection path which a route has traversed. The absence of row data for a given index value for bgpPathAttrIndex indicates a lack of this attribute information for the indicated network path (as indexed by that bgpPathAttrIndex value in the bgpPathAttrTable)." ::= { bgpPathAttrRouteReflectionExts 2 } bgpPathAttrClusterEntry OBJECT-TYPE SYNTAX BgpPathAttrClusterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about a cluster traversal provided with a path to a network." INDEX { bgpPathAttrIndex, bgpPathAttrClusterIndex } ::= { bgpPathAttrClusterTable 1 } BgpPathAttrClusterEntry ::= SEQUENCE { bgpPathAttrClusterIndex Unsigned32, bgpPathAttrClusterValue Unsigned32 } bgpPathAttrClusterIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "An integral index for a row in this table." ::= { bgpPathAttrClusterEntry 1 } Various Authors Expires May 21, 2002 [Page 51] Internet Draft BGP-MIB v2 November 21, 2001 -- +++wayne following changed from OCTET STRING/BgpIdentifier per tdn bgpPathAttrClusterValue OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "A four octet long value representing a part of the reflection path that the route has passed. Each such four octet long value represents the ID of a cluster that the route has traversed. The sequence of this path as received in the route advertisement will be preserved in the sequence of bgpPathAttrClusterTable rows (and the bgpPathAttrClusterValue's in each row) as returned for a given bgpPathAttrIndex value, and the monotonically increasing sequence of bgpPathAttrClusterIndex values for that bgpPathAttrIndex." REFERENCE "This attribute is defined in [RFC2796]." ::= { bgpPathAttrClusterEntry 2 } -- -- BGP Communities -- bgpPathAttrCommunityExts OBJECT IDENTIFIER ::= { bgpPathAttrNonCapExts 1997 } bgpPathAttrCommTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPathAttrCommEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The BGP-4 Path Attribute Community Table contains the per network path (NLRI) data on the community membership advertised with a route. The absence of row data for a given index value for bgpPathAttrIndex indicates a lack of this attribute information for the indicated network path (as indexed by that bgpPathAttrIndex value in the bgpPathAttrTable)." ::= { bgpPathAttrCommunityExts 1 } bgpPathAttrCommEntry OBJECT-TYPE SYNTAX BgpPathAttrCommEntry MAX-ACCESS not-accessible STATUS current Various Authors Expires May 21, 2002 [Page 52] Internet Draft BGP-MIB v2 November 21, 2001 DESCRIPTION "Information about a community association provided with a path to a network." INDEX { bgpPathAttrIndex, bgpPathAttrCommIndex } ::= { bgpPathAttrCommTable 1 } BgpPathAttrCommEntry ::= SEQUENCE { bgpPathAttrCommIndex Unsigned32, bgpPathAttrCommValue OCTET STRING } bgpPathAttrCommIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "An integer index for a row in this table." ::= { bgpPathAttrCommEntry 1 } -- JMH -- Should we be using a display hint for this object? bgpPathAttrCommValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE(4)) MAX-ACCESS read-only STATUS current DESCRIPTION "A value representing a community. There are certain 4-octet long values which could be returned in this columnar row data that carry additional semantics." REFERENCE "RFC 1997 - BGP Communities Attribute" ::= { bgpPathAttrCommEntry 2 } -- -- BGP Extended Communities -- bgpPathAttrExtCommTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPathAttrExtCommEntry MAX-ACCESS not-accessible Various Authors Expires May 21, 2002 [Page 53] Internet Draft BGP-MIB v2 November 21, 2001 STATUS current DESCRIPTION "The BGP-4 Path Attribute Community Table contains the per network path (NLRI) data on the extended community membership advertised with a route. The absence of row data for a given index value for bgpPathAttrIndex indicates a lack of this attribute information for the indicated network path (as indexed by that bgpPathAttrIndex value in the bgpPathAttrTable). XXX JMH - can't assign the OID until an RFC is published." ::= { bgpPathAttrNonCapExts XXX } bgpPathAttrExtCommEntry OBJECT-TYPE SYNTAX BgpPathAttrExtCommEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about an extended community association provided with a path to a network." INDEX { bgpPathAttrIndex, bgpPathAttrExtCommIndex } ::= { bgpPathAttrExtCommTable 1 } BgpPathAttrExtCommEntry ::= SEQUENCE { bgpPathAttrExtCommIndex Unsigned32, bgpPathAttrExtCommValue OCTET STRING } bgpPathAttrExtCommIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "An integral index for a row in this table." ::= { bgpPathAttrExtCommEntry 1 } -- JMH -- Again, do we want a display hint for this? Various Authors Expires May 21, 2002 [Page 54] Internet Draft BGP-MIB v2 November 21, 2001 bgpPathAttrExtCommValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE(8)) MAX-ACCESS read-only STATUS current DESCRIPTION "A value representing an extended community which was received with the route implied by the bgpPathAttr Index value of this row data. There are certain 8-octet long values which could be returned in this columnar row data that carry additional semantics." REFERENCE "BGP-EXTCOMM - BGP Extended Communities Attribute" ::= { bgpPathAttrExtCommEntry 2 } bgpConformance OBJECT IDENTIFIER ::= { bgp 4 } -- conformance information bgpMIBCompliances OBJECT IDENTIFIER ::= { bgpConformance 1 } bgpMIBGroups OBJECT IDENTIFIER ::= { bgpConformance 2 } bgpMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the BGP4 mib." MODULE -- this module MANDATORY-GROUPS { bgpTimersGroup, bgpCountersGroup, bgpAsPathGroup, bgpAs4byteGroup, bgpBaseGroup, bgpErrorsGroup, bgpPeerGroup, bgpPathAttributesGroup } GROUP bgpAuthenticationGroup DESCRIPTION "The authentication group is mandatory only for those implementations which support sending and receiving authentication information with peers in the BGP Authentication Field." Various Authors Expires May 21, 2002 [Page 55] Internet Draft BGP-MIB v2 November 21, 2001 GROUP bgpCommunitiesGroup DESCRIPTION "The communities group is mandatory only for those which support the BGP community attribute." GROUP bgpExtCommunitiesGroup DESCRIPTION "The communities group is mandatory only for those which support the BGP extended community attribute." GROUP bgpRouteReflectionGroup DESCRIPTION "The communities group is mandatory only for those which support the BGP route reflection relationships." GROUP bgpAsConfederationGroup DESCRIPTION "The communities group is mandatory only for those which support the BGP confederation membership." GROUP bgpTimersGroup DESCRIPTION "This group is mandatory for all agent implementations." GROUP bgpCountersGroup DESCRIPTION "This group is mandatory for all agent implementations." GROUP bgpCapabilitiesGroup DESCRIPTION "This group is mandatory for all agent implementations." GROUP bgpAsPathGroup DESCRIPTION "This group is mandatory for all agent implementations." GROUP bgpAs4byteGroup DESCRIPTION "This group is mandatory for all agent implementations." GROUP bgpBaseGroup DESCRIPTION "This group is mandatory for all agent implementations." GROUP bgpErrorsGroup DESCRIPTION "This group is mandatory for all agent implementations." GROUP bgpPeerGroup DESCRIPTION "This group is mandatory for all agent implementations." GROUP bgpPathAttributesGroup DESCRIPTION "This group is mandatory for all agent implementations." GROUP bgpPeerGroup DESCRIPTION "This group is mandatory for all agent implementations." ::= { bgpMIBCompliances 1 } Various Authors Expires May 21, 2002 [Page 56] Internet Draft BGP-MIB v2 November 21, 2001 bgpAuthenticationGroup OBJECT-GROUP OBJECTS { bgpSupportedAuthCode, bgpSupportedAuthValue, bgpSupportedAuthCode, bgpSupportedAuthValue, bgpPeerAuthSent, bgpPeerAuthSentCode, bgpPeerAuthSentValue, bgpPeerAuthRcvd, bgpPeerAuthRcvdCode, bgpPeerAuthRcvdValue } STATUS current DESCRIPTION "Objects associated with BGP authentication." ::= { bgpMIBGroups 1 } bgpCommunitiesGroup OBJECT-GROUP OBJECTS { bgpPathAttrCommIndex, bgpPathAttrCommValue } STATUS current DESCRIPTION "Objects associated with BGP communities." ::= { bgpMIBGroups 2 } bgpExtCommunitiesGroup OBJECT-GROUP OBJECTS { bgpPathAttrExtCommIndex, bgpPathAttrExtCommValue } STATUS current DESCRIPTION "Objects associated with BGP extended communities." ::= { bgpMIBGroups 3 } bgpRouteReflectionGroup OBJECT-GROUP OBJECTS { bgpClusterId, bgpPeerReflectorClient, bgpPathAttrOriginatorId, bgpPathAttrClusterIndex, bgpPathAttrClusterValue } STATUS current DESCRIPTION Various Authors Expires May 21, 2002 [Page 57] Internet Draft BGP-MIB v2 November 21, 2001 "Objects associated with BGP route reflection." ::= { bgpMIBGroups 4 } bgpAsConfederationGroup OBJECT-GROUP OBJECTS { bgpConfederationId, bgpPeerConfederationMember } STATUS current DESCRIPTION "Objects associated with BGP confederation membership." ::= { bgpMIBGroups 5 } bgpTimersGroup OBJECT-GROUP OBJECTS { bgpPeerFsmEstablishedTime, bgpPeerInUpdatesElapsedTime, bgpPeerConnectRetryInterval, bgpPeerHoldTimeConfigured, bgpPeerKeepAliveConfigured, bgpPeerMinASOriginationInterval, bgpPeerMinRouteAdvertiseInterval, bgpPeerHoldTime, bgpPeerKeepAlive } STATUS current DESCRIPTION "Objects associated with BGP peering timers." ::= { bgpMIBGroups 6 } bgpCountersGroup OBJECT-GROUP OBJECTS { bgpPeerInUpdates, bgpPeerOutUpdates, bgpPeerInTotalMessages, bgpPeerOutTotalMessages, bgpPeerFsmEstablishedTransitions, bgpPrefixCountersAfi, bgpPrefixCountersSafi, bgpPrefixInPrefixes, bgpPrefixInPrefixesAccepted, bgpPrefixInPrefixesRejected, bgpPrefixOutPrefixes } STATUS current DESCRIPTION "Objects to count discrete events and exchanges on BGP sessions." Various Authors Expires May 21, 2002 [Page 58] Internet Draft BGP-MIB v2 November 21, 2001 ::= { bgpMIBGroups 7 } bgpCapabilitiesGroup OBJECT-GROUP OBJECTS { bgpCapabilitySupportAvailable, bgpSupportedCapabilityIndex, bgpSupportedCapability, bgpPeerCapAnnouncedCode, bgpPeerCapAnnouncedIndex, bgpPeerCapAnnouncedLength, bgpPeerCapAnnouncedValue, bgpPeerCapReceivedCode, bgpPeerCapReceivedIndex, bgpPeerCapReceivedLength, bgpPeerCapReceivedValue, bgpPeerCapAnnouncedCode, bgpPeerCapAnnouncedIndex, bgpPeerCapAnnouncedLength, bgpPeerCapAnnouncedValue, bgpPeerCapReceivedCode, bgpPeerCapReceivedIndex, bgpPeerCapReceivedLength, bgpPeerCapReceivedValue } STATUS current DESCRIPTION "Objects to report capabilities as received on BGP sessions." ::= { bgpMIBGroups 8 } bgpAsPathGroup OBJECT-GROUP OBJECTS { bgpAsPathIndex, bgpAsPathType, bgpAsPathElementValue } STATUS current DESCRIPTION "Objects to report AS paths received on BGP NLRIs." ::= { bgpMIBGroups 9 } bgpAs4byteGroup OBJECT-GROUP OBJECTS { bgpAsSize } STATUS current DESCRIPTION Various Authors Expires May 21, 2002 [Page 59] Internet Draft BGP-MIB v2 November 21, 2001 "AS Size objects." ::= { bgpMIBGroups 10 } bgpBaseGroup OBJECT-GROUP OBJECTS { bgpLocalAs, bgpLocalIdentifier, bgpVersionIndex, bgpVersionSupported } STATUS current DESCRIPTION "Basic objects in local BGP implementation." ::= { bgpMIBGroups 11 } bgpErrorsGroup OBJECT-GROUP OBJECTS { bgpPeerLastError, bgpPeerLastErrorData } STATUS current DESCRIPTION "Errors received on BGP peering sessions." ::= { bgpMIBGroups 12 } bgpPeerGroup OBJECT-GROUP OBJECTS { bgpPeerIdentifier, bgpPeerState, bgpPeerAdminStatus, bgpPeerConfiguredVersion, bgpPeerNegotiatedVersion, bgpPeerLocalAddrType, bgpPeerLocalAddr, bgpPeerLocalPort, bgpPeerLocalAs, bgpPeerRemoteAddrType, bgpPeerRemoteAddr, bgpPeerRemotePort, bgpPeerRemoteAs, bgpPeerIndex, bgpPeerRowEntryStatus } STATUS current DESCRIPTION "Core object types on BGP peering sessions." ::= { bgpMIBGroups 13 } Various Authors Expires May 21, 2002 [Page 60] Internet Draft BGP-MIB v2 November 21, 2001 bgpPathAttributesGroup OBJECT-GROUP OBJECTS { bgpNlriAfi, bgpNlriSafi, bgpNlriPrefixLen, bgpNlriPrefix, bgpNlriBest, bgpPathAttrIndex, bgpNlriASPathStr, bgpPathAttrOrigin, bgpPathAttrNextHopAddrType, bgpPathAttrNextHop, bgpPathAttrMultiExitDiscPresent, bgpPathAttrMultiExitDisc, bgpPathAttrLocalPrefPresent, bgpPathAttrLocalPref, bgpPathAttrAtomicAggregate, bgpPathAttrAggregatorAS, bgpPathAttrAggregatorAddr, bgpPathAttrCalcLocalPref, bgpAsPathIndex, bgpAsPathType, bgpAsPathElementValue, bgpPathAttrUnknownIndex, bgpPathAttrUnknownType, bgpPathAttrUnknownValue } STATUS current DESCRIPTION "Attributes recieved on BGP peering sessions." ::= { bgpMIBGroups 14 } bgpMIBNotificationsGroup NOTIFICATION-GROUP NOTIFICATIONS { bgpEstablished, bgpBackwardTransition } STATUS current DESCRIPTION "This group contains objects for notifications supported by this MIB module." ::= { bgpMIBGroups 15 } END Various Authors Expires May 21, 2002 [Page 61] Internet Draft BGP-MIB v2 November 21, 2001 5. Security Considerations This MIB module contains controls which relate to core services for interdomain routing using the Border Gateway Protocol. In particu- lar, this MIB allows configuration of operational elements for those services. If such configuration is done without consideration for the effects of such configuration activity, or malicious configura- tion activity is allowed on the managed elements, the effect could be denial of service to the processes and end users in the affected domain(s). SNMPv1 is not considered a sufficiently secure environment for the deployment of such configuration ability. Even if the management data path is secure at the network protocol layer (by the deployment of secure IP, for example), there are still points of exposure around such issues as to what operators and applications are allowed to access and modify the configuration as exposed through this MIB mod- ule. It is strongly recommended that the agent implementor considers the security features afforded by the SNMP Version 3 framework in expos- ing the configuration features of this MIB module. In particular, the availability and usage of the User-based Security Model [12] and/or the View-based Access Control Model [15] is highly recom- mended. It is then incumbent upon the customer deploying network management applications which make use of these configuration features to also consider and deploy a security discipline to make use of these SNMP Version 3 security features. In particular, the operational staff who have access to the configuration controls in their ability to create, set, and delete them, should be carefully considered. 6. Intellectual Property The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to per- tain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards- related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat. Various Authors Expires May 21, 2002 [Page 62] Internet Draft BGP-MIB v2 November 21, 2001 7. Acknowledgements Tom Nadeau, Cisco Systems, Inc. Jon Saperia, JDS Consulting, Inc. Bill Fenner, AT&T Research Mike McFaden, Riverstone Networks, Inc. Joel Krauska, Exodus Networks, Inc. Carl W. Kalbfleisch, Verio Networks, Inc. Joe Dupre, Gold Wire Technology others TBD... 8. Open Issues This section will be removed from the document prior to being issued to IDR working group last call (at the latest). * Configuration is discussed, but not currently implemented in a thorough way in the MIB. * Is 32 bits nearly enough indexing space for a row in the bgp4PathAttrTable? Row Pointers are a little more heavyweight for a management application to work with, but would a Row Pointer index type here be more appropriate regardless? 9. References [1] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999. [2] Rose, M., and K. McCloghrie, "Structure and Identification of Man- agement Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990. [3] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991. [4] Rose, M., "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991. [5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. Various Authors Expires May 21, 2002 [Page 63] Internet Draft BGP-MIB v2 November 21, 2001 [6] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [8] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, May 1990. [9] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Introduc- tion to Community-based SNMPv2", RFC 1901, January 1996. [10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996. [11] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message Pro- cessing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, April 1999. [12] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999. [13] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996. [14] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2573, April 1999. [15] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access Con- trol Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, April 1999. [16] McCloghrie, K. and M. Rose, Editors, "Management Information Base for Network Management of TCP/IP-based Internets: MIB-II", STD 17, RFC 1213, Hughes LAN Systems, Performance Systems International, March 1991. [17] Willis, S., Burruss, J., and Chu, J., "Definitions of Managed Objects for the Fourth Version of the Border Gateway Protocol (BGP-4) using SMIv2", RFC 1657, July 1994. [18] Hares, S., Haas, J., Willis, S., Burruss, J., and Chu, J., "Defini- tions of Managed Objects for the Fourth Version of Border Gateway Various Authors Expires May 21, 2002 [Page 64] Internet Draft BGP-MIB v2 November 21, 2001 Protocol (BGP-4)", draft-ietf-idr-bgp4-mib-06.txt, Work-in- progress. [19] Rekhter, Y., Li, T., "A Border Gateway Protocol 4 (BGP-4)", RFC 1771, March 1995. [20] Rekhter, Y., Gross, P., "Application of the Border Gateway Proto- col in the Internet", RFC 1772, March 1995. [21] Traina, P., McPherson, D., and Scudder, J., "Autonomous System Confederations for BGP", RFC 3065, February, 2001. [22] Chandra, R., Traina, P., and Li, T., "BGP Communities Attribute", RFC 1997, August, 1996. [23] Bates, T., Rekhter, Y., Chandra, R., and Katz, D., "Multiprotocol Extensions for BGP-4", June, 2000. [24] Bates, T., Chandra, R., and Chen, E., "BGP Route Reflection - An Alternative to Full Mesh IBGP", RFC 2796, April 2000. [25] Sangli, S., Tappan, D., and Rekhter, Y., "BGP Extended Communities Attribute", Work-in-progress. 10. Authors' Addresses Jeff Haas NextHop Technologies 517 Williams Ann Arbor, MI 48103-4943 Phone: +1 734 936 2095 Fax: +1 734 615-3241 Email: jhaas@nexthop.com Susan Hares NextHop Technologies 517 Williams Ann Arbor, MI 48103-4943 Phone: +1 734 936 2095 Fax: +1 734 615-3241 Email: skh@nexthop.com Various Authors Expires May 21, 2002 [Page 65] Internet Draft BGP-MIB v2 November 21, 2001 Wayne Tackabury Gold Wire Technology 411 Waverley Oaks Rd. Waltham, MA 02452-8401 Phone: +1 781 398-8819 Fax: +1 781 398-8811 Email: wayne@goldwiretech.com 11. Full Copyright Statement Copyright (C) The Internet Society (2001). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this doc- ument itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of develop- ing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MER- CHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Protocol Extensions . . . . . . . . . . . . . . . . . . . . . . 3 2.2. Mechanisms for MIB Extensibility . . . . . . . . . . . . . . . 3 2.3. BGP Configuration . . . . . . . . . . . . . . . . . . . . . . . 4 Various Authors Expires May 21, 2002 [Page 66] Internet Draft BGP-MIB v2 November 21, 2001 3. MIB Organization . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1. bgpBaseScalars . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2. bgpPeerData . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2.1. bgpPeerCapabilities . . . . . . . . . . . . . . . . . . . . . 6 3.2.2. bgpPeerCounters . . . . . . . . . . . . . . . . . . . . . . . 6 3.2.3. Peering Data Extensions . . . . . . . . . . . . . . . . . . . 6 3.3. BGP Routing Information Base Data . . . . . . . . . . . . . . . 6 3.3.1. Routing Information Base Extensions . . . . . . . . . . . . . 7 3.4. Considerations on Table Indexing . . . . . . . . . . . . . . . 7 4. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5. Security Considerations . . . . . . . . . . . . . . . . . . . . . 62 6. Intellectual Property . . . . . . . . . . . . . . . . . . . . . . 62 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 63 8. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 10. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 65 11. Full Copyright Statement . . . . . . . . . . . . . . . . . . . . 66 Various Authors Expires May 21, 2002 [Page 67]