Internet Draft BGP-MIB v2 July 13, 2001 Network Working Group S. Hares Internet Draft NextHop J. Haas NextHop W. Tackabury Gold Wire Technology 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 material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Copyright Notice Copyright (C) The Internet Society (2001). All Rights Reserved. Various Authors Expires July 13, 2002 [Page 1] Internet Draft BGP-MIB v2 July 13, 2001 1. 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 management of the Border Gateway Protocol Version 4 (BGP4). Distribution of this memo is unlimited. 2. 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 components: 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 protocol 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]. Various Authors Expires July 13, 2002 [Page 2] Internet Draft BGP-MIB v2 July 13, 2001 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]. 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. 3. 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 updating 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. Additionally, however, there are a number of ways in which the BGP Protocol has been enhanced through its ability for added capabilities, where 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 adoption of RFC 1657. For several significant capabilities of BGP Communities [17], Autonomous System Confederation [16] , BGP Multiprotocol Extensions [18], and Route Reflection [19], the MIB Module defines herein objects to manage those extended capabilities and their operation. One of these extensions in particular (the multiprotocol extensions) requires a thorough redefinition of MIB objects from the RFC 1657 state, so as to allow transport-independent address exposure consistent with the Address Family Identifier (AFI) and Subsequent Address Family Identifier (SAFI) mechanisms of that extension. Moreover, the requirement for the incremental update of support for capabilities such as these begs the issue of placing modular extensibility 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. 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 capacity for configuration of BGP4 and its capabilities than was Various Authors Expires July 13, 2002 [Page 3] Internet Draft BGP-MIB v2 July 13, 2001 present in RFC 1657 or than was common practice at the time of its adoption. 4. MIB Organization The MIB is broken down into several top level sections. This sectionalization is important to create an organization for extensibility: * The bgpBaseScalars section (and corresponding OBJECT IDENTIFIER) is used to delineate objects used for basic management and monitoring of the protocol implementation. These are core parameters for the local configuration. * The bgpPeerData section is per-peer object definitions. The predominant 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 individual route prefixes received over each peer session. * bgpCapabilitiesData has objects and tables to describe BGP capabilities locally supported, and those reported and negotiated over each peer session. * bgpPathAttributesData contains objects describing destination networks and paths to those networks, independent of the peer from which the information on each network was received. Each section is further given an OBJECT IDENTIFIER allowing a section of containment for the per-capability extensions of the scope of the section. 4.1 Preliminary State of Work The MIB herein is the first, very rough, step in the refinement of the managed object definition this effort seeks to define. It is being offered to the community at this moment to get a read as to the general directions and ideas being pursued. Reviewers are urged not to focus too much on certain details, or the inevitable roughness of their specification. Attention to those details is promised with the next revision or two of this internet-draft. Various Authors Expires July 13, 2002 [Page 4] Internet Draft BGP-MIB v2 July 13, 2001 5. Definitions BGP4-V2-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, IpAddress, Integer32, Counter32, Gauge32, mib-2, experimental, Unsigned32 FROM SNMPv2-SMI InetAddressType, InetAddress FROM INET-ADDRESS-MIB TEXTUAL-CONVENTION, TruthValue FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF; bgp MODULE-IDENTITY LAST-UPDATED "200107060000Z" 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 ??? } 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 "The representation of a BGP Safi" SYNTAX Integer32(0..255) Various Authors Expires July 13, 2002 [Page 5] Internet Draft BGP-MIB v2 July 13, 2001 BgpAutonomousSystemNumber ::= TEXTUAL-CONVENTION 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 } -- notifications and derivations from the SNMPv1 'trap' in general -- must be rooted at suboid 0 bgpBaseTraps OBJECT IDENTIFIER ::= { bgpBaseScalars 0 } bgpEstablished NOTIFICATION-TYPE OBJECTS { bgpPeerRemoteAddrType, bgpPeerRemoteAddr, bgpPeerLastError, bgpPeerState } STATUS current DESCRIPTION "The BGP Established event is generated when the BGP FSM enters the ESTABLISHED state." ::= { bgpBaseTraps 1 } bgpBackwardTransition NOTIFICATION-TYPE OBJECTS { bgpPeerRemoteAddrType, bgpPeerRemoteAddr, bgpPeerLastError, bgpPeerState } STATUS current DESCRIPTION "The BGPBackwardTransition Event is generated when the BGP FSM moves from a higher numbered state to a lower numbered state." ::= { bgpBaseTraps 2 } -- -- -- Various Authors Expires July 13, 2002 [Page 6] Internet Draft BGP-MIB v2 July 13, 2001 bgpVersion OBJECT-TYPE SYNTAX OCTET STRING (SIZE (1..32)) MAX-ACCESS read-only STATUS current DESCRIPTION "Vector of supported BGP protocol version numbers. Each peer negotiates the version from this vector. Versions are identified via the string of bits contained within this object. The first octet contains bits 0 to 7, the second octet contains bits 8 to 15, and so on, with the most significant bit referring to the lowest bit number in the octet (e.g., the MSB of the first octet refers to bit 0). If a bit, i, is present and set, then the version (i+1) of the BGP is supported." ::= { bgpBaseScalars 1 } -- -- -- 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." ::= { bgpBaseScalars 2 } -- -- -- bgpLocalAs OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The local autonomous system number. If the bgpAsSize is twoOctet, then the range is constrained to be 0-65535." ::= { bgpBaseScalars 3 } -- -- -- Various Authors Expires July 13, 2002 [Page 7] Internet Draft BGP-MIB v2 July 13, 2001 bgpLocalIdentifier OBJECT-TYPE SYNTAX BgpIdentifier 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." ::= { bgpBaseScalars 4 } bgpBaseScalarExtensions OBJECT IDENTIFIER ::= { bgpBaseScalars 5 } bgpBaseScalarRouteReflectionExtensions ::= { bgpBaseScalarExtensions 1 } bgp4ClusterId OBJECT-TYPE SYNTAX BgpIdentifier MAX-ACCESS read-only STATUS current DESCRIPTION "The configured Cluster-ID of the local router. A value of 0.0.0.0 indicates the absence of this value." -- jmh calling it a value of "0.0.0.0" doesn't quite make sense if its -- an octet string rather than an ip address? REFERENCE "RFC 2796 - BGP Route Reflection" ::= { bgpBaseScalarRouteReflectionExtensions 5 } bgpBaseScalarASConfederationExtensions ::= { bgpBaseScalarExtensions 2 } bgp4ConfederationId OBJECT-TYPE SYNTAX BgpAutonomousSystemNumber MAX-ACCESS read-only 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" ::= { bgpBaseScalarASConfederationExtensions 6 } Various Authors Expires July 13, 2002 [Page 8] Internet Draft BGP-MIB v2 July 13, 2001 -- BGP Peer table. This table contains, one entry per -- BGP peer, information about the BGP peer. bgpPeerData OBJECT IDENTIFIER ::= { bgp 2 } bgpPeerTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPeerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "BGP peer table. This table contains, one entry per BGP peer, information about the connections with BGP peers." ::= { 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 { bgpPeerRemoteAddrType, bgpPeerRemoteAddr } ::= { bgpPeerTable 1 } BgpPeerEntry ::= SEQUENCE { bgpPeerIdentifier OCTET STRING, bgpPeerState INTEGER, bgpPeerAdminStatus INTEGER, bgpPeerNegotiatedVersion Integer32, bgpPeerLocalAddrType InetAddressType, bgpPeerLocalAddr InetAddress, bgpPeerLocalPort Integer32, bgpPeerLocalAs BgpAutonomousSystemNumber, bgpPeerRemoteAddrType InetAddressType, bgpPeerRemoteAddr InetAddress, bgpPeerRemotePort Integer32, bgpPeerRemoteAs BgpAutonomousSystemNumber, bgpPeerReflectorClient INTEGER, Various Authors Expires July 13, 2002 [Page 9] Internet Draft BGP-MIB v2 July 13, 2001 bgpPeerConfederationMember TruthValue, -- jmh add in a spot for unrecognized optional parameters? bgpPeerInUpdates Counter32, bgpPeerOutUpdates Counter32, bgpPeerInTotalMessages Counter32, bgpPeerOutTotalMessages Counter32, bgpPeerLastError OCTET STRING, bgpPeerFsmEstablishedTransitions Counter32, bgpPeerFsmEstablishedTime Gauge32, bgpPeerConnectRetryInterval Integer32, bgpPeerHoldTime Integer32, bgpPeerKeepAlive Integer32, bgpPeerHoldTimeConfigured Integer32, bgpPeerKeepAliveConfigured Integer32, bgpPeerMinASOriginationInterval Integer32, bgpPeerMinRouteAdvertisementInterval Integer32, bgpPeerInUpdateElapsedTime Gauge32, bgpPeerAuthenticationSent TruthValue, bgpPeerAuthenticationSentCode Integer32, bgpPeerAuthenticationSentValue OCTET STRING, bgpPeerAuthenticationReceived TruthValue, bgpPeerAuthenticationReceivedCode Integer32, bgpPeerAuthenticationReceivedValue OCTET STRING } Various Authors Expires July 13, 2002 [Page 10] Internet Draft BGP-MIB v2 July 13, 2001 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 connection state." ::= { bgpPeerEntry 2 } bgpPeerAdminStatus OBJECT-TYPE SYNTAX INTEGER { stop(1), start(2) } 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 } Various Authors Expires July 13, 2002 [Page 11] Internet Draft BGP-MIB v2 July 13, 2001 bgpPeerNegotiatedVersion OBJECT-TYPE SYNTAX Integer32 (1..255) -- jmh we may want this r/w MAX-ACCESS read-only STATUS current DESCRIPTION "The negotiated version of BGP running between the two peers." ::= { bgpPeerEntry 4 } bgpPeerLocalAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The address family of the local end of the peering session." ::= { bgpPeerEntry 5 } bgpPeerLocalAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the local end of the peering session." ::= { bgpPeerEntry 6 } bgpPeerLocalPort OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The local port for the TCP connection between the BGP peers. If we're not running IP, could this be some generic value? What size is the OSI NSAP?" ::= { bgpPeerEntry 7 } bgpPeerLocalAs OBJECT-TYPE SYNTAX BgpAutonomousSystemNumber MAX-ACCESS read-only 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 8 } Various Authors Expires July 13, 2002 [Page 12] Internet Draft BGP-MIB v2 July 13, 2001 bgpPeerRemoteAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The address family of the remote end of the peering session." ::= { bgpPeerEntry 9 } bgpPeerRemoteAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the remote end of the peering session." ::= { bgpPeerEntry 10 } bgpPeerRemotePort OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The remote port for the TCP connection between the BGP peers. If we're not running IP, this should be a generic transport endpoint. 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. Is there an analog for non IP technologies?" ::= { bgpPeerEntry 11 } bgpPeerRemoteAs OBJECT-TYPE SYNTAX BgpAutonomousSystemNumber MAX-ACCESS read-only STATUS current DESCRIPTION "The remote autonomous system number." ::= { bgpPeerEntry 12 } Various Authors Expires July 13, 2002 [Page 13] Internet Draft BGP-MIB v2 July 13, 2001 bgpPeerReflectorClient 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." REFERENCE "RFC 2796 - BGP Route Reflection" ::= { bgpPeerEntry 13 } 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" ::= { bgpPeerEntry 14 } 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." ::= { bgpPeerEntry 15 } 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." ::= { bgpPeerEntry 16 } Various Authors Expires July 13, 2002 [Page 14] Internet Draft BGP-MIB v2 July 13, 2001 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." ::= { bgpPeerEntry 17 } bgpPeerOutTotalMessages 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." ::= { bgpPeerEntry 18 } 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." ::= { bgpPeerEntry 19 } 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." ::= { bgpPeerEntry 20 } Various Authors Expires July 13, 2002 [Page 15] Internet Draft BGP-MIB v2 July 13, 2001 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." ::= { bgpPeerEntry 21 } bgpPeerConnectRetryInterval OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS read-write STATUS current DESCRIPTION "Time interval in seconds for the ConnectRetry timer. The suggested value for this timer is 120 seconds." ::= { bgpPeerEntry 22 } 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 object 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 lease 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)." ::= { bgpPeerEntry 23 } Various Authors Expires July 13, 2002 [Page 16] Internet Draft BGP-MIB v2 July 13, 2001 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 object 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)." ::= { bgpPeerEntry 24 } bgpPeerHoldTimeConfigured OBJECT-TYPE SYNTAX Integer32 ( 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." ::= { bgpPeerEntry 25 } bgpPeerKeepAliveConfigured OBJECT-TYPE SYNTAX Integer32 ( 0 | 1..21845 ) MAX-ACCESS read-write STATUS current DESCRIPTION "Time interval in seconds for the KeepAlive timer configured for this BGP speaker with this peer. The value of this object will only determine the KEEPALIVE messages' frequency relative to the value specified in bgpPeerHoldTimeConfigured; the actual time interval for the KEEPALIVE messages is indicated by bgpPeerKeepAlive. A reasonable maximum value for this timer would be configured to be one Various Authors Expires July 13, 2002 [Page 17] Internet Draft BGP-MIB v2 July 13, 2001 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. The suggested value for this timer is 30 seconds." ::= { bgpPeerEntry 26 } bgpPeerMinASOriginationInterval OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS read-write STATUS current DESCRIPTION "Time interval in seconds for the MinASOriginationInterval timer. The suggested value for this timer is 15 seconds." ::= { bgpPeerEntry 27 } bgpPeerMinRouteAdvertisementInterval OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS read-write STATUS current DESCRIPTION "Time interval in seconds for the MinRouteAdvertisementInterval timer. The suggested value for this timer is 30 seconds." ::= { bgpPeerEntry 28 } bgpPeerInUpdateElapsedTime 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 bgpPeerInUpdates is incremented, the value of this object is set to zero (0)." ::= { bgpPeerEntry 29 } bgpPeerAuthenticationSent OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "The local peer has sent authentication information to the remote peer in the BGP Authentication field." ::= { bgpPeerEntry 30 } Various Authors Expires July 13, 2002 [Page 19] Internet Draft BGP-MIB v2 July 13, 2001 bgpPeerAuthenticationSentCode OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION "The code of the authentication information sent to the remote peer." ::= { bgpPeerEntry 31 } bgpPeerAuthenticationSentValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..255)) -- jmh length is too much MAX-ACCESS read-write STATUS current DESCRIPTION "The payload of the authentication information received from the remote peer." ::= { bgpPeerEntry 32 } bgpPeerAuthenticationReceived OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "The local peer has received authentication information from the remote peer in the BGP Authentication field." ::= { bgpPeerEntry 33 } bgpPeerAuthenticationReceivedCode OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION "The code of the authentication information received from the remote peer." ::= { bgpPeerEntry 34 } bgpPeerAuthenticationReceivedValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..255)) -- jmh length is too much MAX-ACCESS read-write STATUS current DESCRIPTION "The payload of the authentication information received from the remote peer." ::= { bgpPeerEntry 35 } -- -- new counters -- bgpPrefixCountersTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPrefixCountersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Additional per-peer, per AFI/SAFI counters for prefixes" ::= { bgpPeerData 2 } Various Authors Expires July 13, 2002 [Page 20] Internet Draft BGP-MIB v2 July 13, 2001 bgpPrefixCountersEntry OBJECT-TYPE SYNTAX BgpPrefixCountersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry containing information about a bgp-peer's prefix counters." INDEX { bgpPeerRemoteAddrType, bgpPeerRemoteAddr, bgpPrefixCountersAfi, bgpPrefixCountersSafi } ::= { bgpPrefixCountersTable 1 } BgpPrefixCountersEntry ::= SEQUENCE { bgpPrefixCountersAfi InetAddressType, bgpPrefixCountersSafi BgpSafi, bgpPrefixCountersPrefixesReceived Counter32, bgpPrefixCountersPrefixesSent Counter32, bgpPrefixCountersWithdrawsReceived Counter32, bgpPrefixCountersWithdrawsSent Counter32, bgpPrefixCountersInPrefixes Gauge32, bgpPrefixCountersInPrefixesAccepted Gauge32, bgpPrefixCountersInPrefixesRejected Gauge32, bgpPrefixCountersOutPrefixes 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 } Various Authors Expires July 13, 2002 [Page 20] Internet Draft BGP-MIB v2 July 13, 2001 -- +++wayne the following two showed up in the table, but not in the -- enumerated table columns. Is this the idea of what they were -- supposed to be about? This sounds like a *lot* of state for the -- router to be maintaining (withdrawn local and peer prefixes... bgpPrefixCountersPrefixesReceived OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of discrete prefixes received from this peer. The value in bgpPrefixCountersPrefixesReceived will be greater than or equal to what is in bgpPrefixCountersInPrefixes, since it will reflect prefixes received from this peer which may have been subsquently withdrawn, and hence will no longer be stored in the Adj-Ribs-In for that peer." ::= { bgpPrefixCountersEntry 3 } bgpPrefixCountersPrefixesSent OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of prefixes which the local BGP speaker has announced to this peer. The value for bgpPrefixCountersPrefixesSent will be greater than or equal to bgpPrefixCountersOutPrefixes, since it reflects prefixes which have been subsequently withdrawn after their announcement (assuming any such withdrawn prefixes exist)." ::= { bgpPrefixCountersEntry 4 } bgpPrefixCountersWithdrawsReceived OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of prefixes withdrawn by this peer. Specifically, this is the total number of withdrawn-routes which have been received in UPDATE messages from this peer." ::= { bgpPrefixCountersEntry 5 } bgpPrefixCountersWithdrawsSent OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of prefixes which have been reported as withdrawn by the local BGP speaker to the peer in locally generated UPDATE messages to the peer." ::= { bgpPrefixCountersEntry 6 } Various Authors Expires July 13, 2002 [Page 21] Internet Draft BGP-MIB v2 July 13, 2001 bgpPrefixCountersInPrefixes 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 } bgpPrefixCountersInPrefixesAccepted OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of prefixes for a peer that are installed in the Adj-Ribs-In and are eligible to become active in the Loc-Rib." ::= { bgpPrefixCountersEntry 8 } bgpPrefixCountersInPrefixesRejected 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 } bgpPrefixCountersOutPrefixes 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 } -- This is the point at which per-protocol extension subsections -- would root their branches off of to define per-extension-based -- tables, scalar management objects. bgpPerPeerExtensions OBJECT IDENTIFIER ::= { bgpPeerData 3 } Various Authors Expires July 13, 2002 [Page 22] Internet Draft BGP-MIB v2 July 13, 2001 -- -- capabilities -- -- Mount this in its own subtree -- bgpCapabilitiesData OBJECT IDENTIFIER ::= { bgp 3 } -- -- -- bgp4SupportedCapabilitiesTable OBJECT-TYPE SYNTAX SEQUENCE OF Bgp4SupportedCapabilityEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table of supported BGP-4 capabilities." ::= { bgpCapabilitiesData 1 } bgp4SupportedCapabilitiesEntry OBJECT-TYPE SYNTAX Bgp4SupportedCapabilityEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about supported capabilities indexed by capability number."" INDEX { bgp4SupportedCapabilityIndex } ::= { bgp4SupportedCapabilitiesTable 1 } Bgp4SupportedCapabilityEntry ::= SEQUENCE { bgp4SupportedCapabilityIndex Integer32, bgp4SupportedCapability TruthValue } bgp4SupportedCapabilityIndex OBJECT-TYPE SYNTAX Integer32 (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." ::= { bgp4SupportedCapabilitiesEntry 1 } Various Authors Expires July 13, 2002 [Page 23] Internet Draft BGP-MIB v2 July 13, 2001 bgp4SupportedCapability OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This value is True if this capability is supported, otherwise." ::= { bgp4SupportedCapabilitiesEntry 2 } -- -- -- bgp4PeerCapsAnnouncedTable OBJECT-TYPE SYNTAX SEQUENCE OF Bgp4PeerCapsAnnouncedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains contains the capabilities that are supported for a given peer." ::= { bgpCapabilitiesData 3 } bgp4PeerCapsAnnouncedEntry OBJECT-TYPE SYNTAX Bgp4PeerCapsAnnouncedEntry 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, bgp4PeerCapAnnouncedCode, bgp4PeerCapAnnouncedIndex } ::= { bgp4PeerCapsAnnouncedTable 1 } Bgp4PeerCapsAnnouncedEntry ::= SEQUENCE { bgp4PeerCapAnnouncedCode Integer32, bgp4PeerCapAnnouncedIndex Integer32, bgp4PeerCapAnnouncedLength Integer32, bgp4PeerCapAnnouncedValue OCTET STRING } bgp4PeerCapAnnouncedCode OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The BGP Capability Advertisement Capability Code." ::= { bgp4PeerCapsAnnouncedEntry 1 } Various Authors Expires July 13, 2002 [Page 24] Internet Draft BGP-MIB v2 July 13, 2001 bgp4PeerCapAnnouncedIndex OBJECT-TYPE SYNTAX Integer32 (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." ::= { bgp4PeerCapsAnnouncedEntry 2 } bgp4PeerCapAnnouncedLength OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The length of the announced capability." ::= { bgp4PeerCapsAnnouncedEntry 3 } bgp4PeerCapAnnouncedValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of the announced capability." ::= { bgp4PeerCapsAnnouncedEntry 4 } -- -- -- bgp4PeerCapsReceivedTable OBJECT-TYPE SYNTAX SEQUENCE OF Bgp4PeerCapsReceivedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains contains the capabilities that are supported for a given peer." ::= { bgpCapabilitiesData 3 } bgp4PeerCapsReceivedEntry 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, bgp4PeerCapReceivedCode, bgp4PeerCapReceivedIndex } ::= { bgp4PeerCapsReceivedTable 1 } Various Authors Expires July 13, 2002 [Page 25] Internet Draft BGP-MIB v2 July 13, 2001 Bgp4PeerCapsReceivedEntry ::= SEQUENCE { bgp4PeerCapReceivedCode Integer32, bgp4PeerCapReceivedIndex Integer32, bgp4PeerCapReceivedLength Integer32, bgp4PeerCapReceivedValue OCTET STRING } bgp4PeerCapReceivedCode OBJECT-TYPE SYNTAX Integer32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The BGP Capability Advertisement Capability Code." ::= { bgp4PeerCapsReceivedEntry 1 } bgp4PeerCapReceivedIndex OBJECT-TYPE SYNTAX Integer32 (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." ::= { bgp4PeerCapsReceivedEntry 2 } bgp4PeerCapReceivedLength OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The length of the announced capability." ::= { bgp4PeerCapsReceivedEntry 3 } bgp4PeerCapReceivedValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of the announced capability." ::= { bgp4PeerCapsReceivedEntry 4 } bgp4CapabilitySupportAvailable 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." ::= { bgpCapabilitiesData 4 } Various Authors Expires July 13, 2002 [Page 26] Internet Draft BGP-MIB v2 July 13, 2001 -- This is the point at which per-protocol extension subsections -- would root their branches off of to define per-extension- -- based tables, scalar management objects. bgpCapabilitiesExtensions OBJECT IDENTIFIER ::= { bgpCapabilitiesData 5 } -- -- -- bgpPathAttributesData OBJECT IDENTIFIER ::= { bgp 4 } -- BGP-4 Received Path Attribute Table. This table -- contains, one entry per path to a network, path -- attributes received from all peers running BGP-4. bgp4PathAttrTable OBJECT-TYPE SYNTAX SEQUENCE OF Bgp4PathAttrEntry 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." ::= { bgpPathAttributesData 1 } bgp4PathAttrEntry OBJECT-TYPE SYNTAX Bgp4PathAttrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about a path to a network." INDEX { bgp4PathAttrAddrPrefixType, bgp4PathAttrAddrPrefixSafi, bgp4PathAttrAddrPrefix, bgp4PathAttrAddrPrefixLen, bgp4PathAttrPeerType, bgp4PathAttrPeer } ::= { bgp4PathAttrTable 1 } Bgp4PathAttrEntry ::= SEQUENCE { bgp4PathAttrPeerType InetAddressType, bgp4PathAttrPeer InetAddress, bgp4PathAttrAddrPrefixType InetAddressType, bgp4PathAttrAddrPrefixSafi BgpSafi, Various Authors Expires July 13, 2002 [Page 27] Internet Draft BGP-MIB v2 July 13, 2001 bgp4PathAttrAddrPrefixType InetAddressType, bgp4PathAttrAddrPrefix InetAddress, bgp4PathAttrAddrPrefixLen Integer32, bgp4PathAttrOrigin INTEGER, bgp4PathAttrASPathSegment OCTET STRING, bgp4PathAttrNextHop InetAddress, bgp4PathAttrMultiExitDiscPresent TruthValue, bgp4PathAttrMultiExitDisc Unsigned32, bgp4PathAttrLocalPrefPresent TruthValue, bgp4PathAttrLocalPref Unsigned32, bgp4PathAttrAtomicAggregate INTEGER, bgp4PathAttrAggregatorAS Integer32, bgp4PathAttrAggregatorAddr BgpIdentifer, bgp4PathAttrCalcLocalPrefPresent TruthValue, bgp4PathAttrCalcLocalPref Unsigned32, bgp4PathAttrOriginatorId OCTET STRING, bgp4PathAttrClusterList OCTET STRING, bgp4PathAttrCommunity OCTET STRING, bgp4PathAttrExtCommunity OCTET STRING, bgp4PathAttrBest TruthValue, bgp4PathAttrUnknown OCTET STRING } bgp4PathAttrPeerType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The AFI of the address of the peer from which the path information was learned." ::= { bgp4PathAttrEntry 1 } Various Authors Expires July 13, 2002 [Page 28] Internet Draft BGP-MIB v2 July 13, 2001 bgp4PathAttrPeer OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the peer where the path information was learned." ::= { bgp4PathAttrEntry 2 } bgp4PathAttrIpAddrPrefixType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The address family of the prefix for this NLRI." ::= { bgp4PathAttrEntry 3 } bgp4PathAttrIpAddrPrefixSafi 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" ::= { bgp4PathAttrEntry 4 } bgp4PathAttrIpAddrPrefix OBJECT-TYPE SYNTAX InetAddress 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 bgp4PathAttrIpAddrPrefixLen. Any bits beyond the length specified by bgp4PathAttrIpAddrPrefixLen are zeroed." -- jmh this doesn't encode very small on the wire? ::= { bgp4PathAttrEntry 5 } bgp4PathAttrIpAddrPrefixLen OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "Length in bits of the IP address prefix in the Network Layer Reachability Information field." ::= { bgp4PathAttrEntry 6 } Various Authors Expires July 13, 2002 [Page 29] Internet Draft BGP-MIB v2 July 13, 2001 bgp4PathAttrOrigin 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 information." ::= { bgp4PathAttrEntry 7 } bgp4PathAttrASPathSegment OBJECT-TYPE SYNTAX OCTET STRING (SIZE (2..4096)) -- jmh could be shorter - find a reasonable ceiling MAX-ACCESS read-only STATUS current DESCRIPTION "The sequence of AS path segments. Each AS path segment is represented by a triple: type, length, value. The type is a 1-octet field which has two possible values: 1 AS_SET: unordered set of ASs a route in the UPDATE message has traversed 2 AS_SEQUENCE: ordered set of ASs a route in the UPDATE message has traversed. 3 CONFED_SEQUENCE: ordered set of ASs a route has traversed within a confederation. These MUST occur before AS_SETs and AS_SEQUENCES 4 CONFED_SET: unordered set of ASs a route has traversed within a confederation. These MUST occur before AS_SETs and AS_SEQUENCES Other types may be defined in the future and will be displayed in this variable. The length is a 1-octet field containing the number of ASs in the value field. -- jmh - this is a spec error Various Authors Expires July 13, 2002 [Page 29] Internet Draft BGP-MIB v2 July 13, 2001 The value field contains one or more AS numbers, each AS is represented in the octet string as a pair of octets according to the following algorithm: If the bgpAsSize is twoOctet: first-byte-of-pair = ASNumber / 256; second-byte-of-pair = ASNumber & 255; If the bgpAsSize is fourOctet: first-byte-of-quad = (ASNumber / 16777216); second-byte-of-quad = (ASNumber / 65536) & 255; third-byte-of-quad = (ASNumber / 256) & 255; fourth-byte-of-quad = ASNumber & 255;" ::= { bgp4PathAttrEntry 8 } -- jmh we need the new_as_path here now bgp4PathAttrNextHop OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the border router that should be used for 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." ::= { bgp4PathAttrEntry 9 } bgp4PathAttrMultiExitDiscPresent 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 bgp4PathAttrMultiExitDisc object has no useful value and should be set to 0." ::= { bgp4PathAttrEntry 10 } bgp4PathAttrMultiExitDisc 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." ::= { bgp4PathAttrEntry 11 } Various Authors Expires July 13, 2002 [Page 30] Internet Draft BGP-MIB v2 July 13, 2001 bgp4PathAttrLocalPrefPresent 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 bgp4PathAttrLocalPref object has no useful value and should be set to 0." ::= { bgp4PathAttrEntry 12 } bgp4PathAttrLocalPref OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The originating BGP4 speaker's degree of preference for an advertised route." ::= { bgp4PathAttrEntry 13 } bgp4PathAttrAtomicAggregate 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." ::= { bgp4PathAttrEntry 14 } bgp4PathAttrAggregatorAS OBJECT-TYPE SYNTAX BgpAutonomousSystemNumber 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." ::= { bgp4PathAttrEntry 15 } bgp4PathAttrAggregatorAddr 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." ::= { bgp4PathAttrEntry 16 } Various Authors Expires July 13, 2002 [Page 31] Internet Draft BGP-MIB v2 July 13, 2001 bgp4PathAttrCalcLocalPrefPresent OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Whether or not the bgp4PathAttrCalcLocalPref is present." ::= { bgp4PathAttrEntry 17 } bgp4PathAttrCalcLocalPref 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." ::= { bgp4PathAttrEntry 18 } bgp4PathAttrOriginatorId 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]." ::= { bgp4PathAttrEntry 19 } bgp4PathAttrClusterList OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..4096)) MAX-ACCESS read-only STATUS current DESCRIPTION "A sequence of four octet long values representing the reflection path that the route has passed. Each four octet long value represents the ID of a cluster that the route has traversed. A length of zero (0) indicates the absence of this attribute." REFERENCE "This attribute is defined in [RFC2796]." ::= { bgp4PathAttrEntry 20 } Various Authors Expires July 13, 2002 [Page 32] Internet Draft BGP-MIB v2 July 13, 2001 bgp4PathAttrCommunity OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..4096)) MAX-ACCESS read-only STATUS current DESCRIPTION "A list of 4-octet long values, each representing a community. Size zero (0) indicates the absence of such attributes. Octets beyond the maximum size, if any, are not recorded by this object. There are certain 4-octet long values that carry additional semantics." REFERENCE "RFC 1997 - BGP Communities Attribute" ::= { bgp4PathAttrEntry 21 } bgp4PathAttrExtCommunity OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..4096)) MAX-ACCESS read-only STATUS current DESCRIPTION "A sequence of values each eight octets long, and each representing an extended community that was received with the route. The values of each of the individual octets may have semantic meaning. A length of zero (0) indicates the absence of this attribute." REFERENCE "BGP-EXTCOMM - BGP Extended Communities Attribute" ::= { bgp4PathAttrEntry 22 } bgp4PathAttrBest 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." -- jmh - this changes the original semantics ::= { bgp4PathAttrEntry 23 } bgp4PathAttrUnknown OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..4096)) MAX-ACCESS read-only STATUS current DESCRIPTION "One or more path attributes not understood by the base BGP-4 document. Path attributes are recorded in the Update Path attribute format of type, length, value. Size zero (0) indicates the absence of such attribute(s). Octets beyond the maximum size, if any, are not recorded by this object. " ::= { bgp4PathAttrEntry 24 } Various Authors Expires July 13, 2002 [Page 33] Internet Draft BGP-MIB v2 July 13, 2001 -- conformance information bgpMIBConformance OBJECT IDENTIFIER ::= { bgp 5 } bgpMIBCompliances OBJECT IDENTIFIER ::= { bgpMIBConformance 1 } bgpMIBGroups OBJECT IDENTIFIER ::= { bgpMIBConformance 2 } bgpMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the BGP4 mib." MODULE -- this module MANDATORY-GROUPS { bgp4MIBBasicConfigGroup, } ::= { bgpMIBCompliances 1 } bgp4MIBBasicConfigGroup OBJECT-GROUP OBJECTS { bgpVersion, bgpAsSize, bgpLocalAs, bgpLocalIdentifier, bgp4ClusterId, bgp4ConfederationID, bgp4CapabilitySupportAvailable } STATUS current DESCRIPTION "A collection of objects providing information on the basic overall BGP configuration." ::= { bgpMIBGroups 1 } bgp4MIBPeerGroup OBJECT-GROUP OBJECTS { bgpPeerIdentifier, bgpPeerState, bgpPeerAdminStatus, bgpPeerNegotiatedVersion, bgpPeerLocalAddrType, bgpPeerLocalAddr, bgpPeerLocalPort, bgpPeerLocalAs, bgpPeerRemoteAddrType, bgpPeerRemoteAddr, bgpPeerRemotePort, bgpPeerRemoteAs, bgpPeerReflectorClient, bgpPeerConfederationMember, bgpPeerInUpdates, bgpPeerOutUpdates, bgpPeerInTotalMessages, bgpPeerOutTotalMessages, bgpPeerLastError, Various Authors Expires July 13, 2002 [Page 34] Internet Draft BGP-MIB v2 July 13, 2001 bgpPeerFsmEstablishedTransitions, bgpPeerFsmEstablishedTime, bgpPeerConnectRetryInterval, bgpPeerHoldTime, bgpPeerKeepAlive, bgpPeerMinASOriginationInterval, bgpPeerMinRouteAdvertisementInterval, bgpPeerInUpdateElapsedTime, bgpPrefixCountersAfi, bgpPrefixCountersSafi, bgpPrefixCountersPrefixesReceived, bgpPrefixCountersPrefixesSent, bgpPrefixCountersWithdrawsReceived, bgpPrefixCountersWithdrawsSent, bgpPrefixCountersWithdrawsSent, bgpPrefixCountersInPrefixes, bgpPrefixCountersInPrefixesAccepted, bgpPrefixCountersInPrefixesRejected, bgpPrefixCountersOutPrefixes } STATUS current DESCRIPTION "All objects reflecting management information by BGP peer and sessions to BGP peers." ::= { bgpMIBGroups 2} bgp4MIBPeerConfigManagementGroup OBJECT-GROUP OBJECTS { bgpPeerHoldTimeConfigured, bgpPeerKeepAliveConfigured } STATUS current DESCRIPTION DESCRIPTION "All objects reflecting controls capable of being set on BGP peer sessions." ::= { bgpMIBGroups 3} bgp4MIBPeerAuthenticationGroup OBJECT-GROUP OBJECTS { bgpPeerAuthenticationSent, bgpPeerAuthenticationSentCode, bgpPeerAuthenticationSentValue, bgpPeerAuthenticationReceived, bgpPeerAuthenticationReceivedCode, bgpPeerAuthenticationReceivedValue } STATUS current DESCRIPTION DESCRIPTION "This group contains objects reflecting the state of authentication negotiations and other per-peer authentication data." ::= { bgpMIBGroups 4} Various Authors Expires July 13, 2002 [Page 35] Internet Draft BGP-MIB v2 July 13, 2001 bgp4MIBCapabilitiesGroup OBJECT-GROUP OBJECTS { bgp4SupportedCapabilityIndex, bgp4SupportedCapability, bgp4PeerCapAnnouncedCode, bgp4PeerCapAnnouncedIndex, bgp4PeerCapAnnouncedLength, bgp4PeerCapAnnouncedValue, bgp4PeerCapReceivedCode, bgp4PeerCapReceivedIndex, bgp4PeerCapReceivedLength, bgp4PeerCapReceivedValue } STATUS current DESCRIPTION "This group contains per BGP-4 capability management information objects." ::= { bgpMIBGroups 5} bgp4MIBReceivedPathAttributesGroup OBJECT-GROUP OBJECTS { bgp4PathAttrPeerType, bgp4PathAttrPeer, bgp4PathAttrIpAddrPrefixType, bgp4PathAttrIpAddrPrefixSafi, bgp4PathAttrIpAddrPrefix bgp4PathAttrIpAddrPrefixLen, bgp4PathAttrOrigin, bgp4PathAttrASPathSegment, bgp4PathAttrNextHop, bgp4PathAttrMultiExitDiscPresent, bgp4PathAttrMultiExitDisc, bgp4PathAttrLocalPrefPresent, bgp4PathAttrLocalPref, bgp4PathAttrAtomicAggregate, bgp4PathAttrAggregatorAS, bgp4PathAttrAggregatorAddr, bgp4PathAttrCalcLocalPrefPresent, bgp4PathAttrCalcLocalPref, bgp4PathAttrOriginatorId, bgp4PathAttrClusterList, bgp4PathAttrCommunity, bgp4PathAttrExtCommunity, bgp4PathAttrBest, bgp4PathAttrUnknown } STATUS current DESCRIPTION "This group contains objects with information about destination network paths as received from peers." ::= { bgpMIBGroups 6 } bgp4MIBNotificationsGroup NOTIFICATION-GROUP OBJECTS { bgpEstablished, bgpBackwardTransition } STATUS current DESCRIPTION "This group contains objects for notifications supported by this MIB module." ::= { bgpMIBGroups 7} END Various Authors Expires July 13, 2002 [Page 36] Internet Draft BGP-MIB v2 July 13, 2001 6. Example on Extending the MIB For BGP Protocol Extensions TBD 7. Security Considerations TBD 8. Intellectual Property The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; 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. 9. Acknowledgements Tom Nadeau, Cisco Systems, Inc. Jon Saperia, JDS Consulting, Inc. Bill Fenner, AT&T Research Mike McFadden, Riverstone Networks, Inc. Joel Krauska, Exodus Networks, Inc. Carl W. Kalbfleisch, Verio Networks, Inc. others TBD... 10. 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 Management 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. Various Authors Expires July 13, 2002 [Page 37] Internet Draft BGP-MIB v2 July 13, 2001 [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. [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, "Introduction 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 Processing 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 Control 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. Various Authors Expires July 13, 2002 [Page 38] Internet Draft BGP-MIB v2 July 13, 2001 [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, "Introduction 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 Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, April 1999. [12] 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. [13] Hares, S., Haas, J., Willis, S., Burruss, J., and Chu, J., "Definitions of Managed Objects for the Fourth Version of Border Gateway Protocol (BGP-4)", draft-ietf-idr-bgp4-mib- 06.txt, Work-in-progress. [14] Rekhter, Y., Li, T., "A Border Gateway Protocol 4 (BGP-4)", RFC 1771, March 1995. [15] Rekhter, Y., Gross, P., "Application of the Border Gateway Protocol in the Internet", RFC 1772, March 1995. [16] Traina, P., McPherson, D., and Scudder, J., "Autonomous System Confederations for BGP", RFC 3065, February, 2001. [17] Chandra, R., Traina, P., and Li, T., "BGP Communities Attribute", RFC 1997, August, 1996. [18] Bates, T., Rekhter, Y., Chandra, R., and Katz, D., "Multiprotocol Extensions for BGP-4", June, 2000. [19] Bates, T., Chandra, R., and Chen, E., "BGP Route Reflection - An Alternative to Full Mesh IBGP", RFC 2796, April 2000. Various Authors Expires July 13, 2002 [Page 39] Internet Draft BGP-MIB v2 July 13, 2001 10. Authors' Address 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 Jeff Johnson RedBack Networks, Inc. 1389 Moffett Park Drive Sunnyvale, CA 94089 Phone: +1 408 548 3516 Email: jeff@redback.com Steve Willis Argon Networks 25 Porter Road Littleton, MA 01450 Phone: +1 508 486 0665 Fax: +1 508 486 9379 Email: swills@argon.com John Burruss Windata Inc. 543 Great Road Littleton MA 01460 Phone: +1 508 952 0170 Email: jburruss@windata.com John Chu Cosine Communications 1200 Bridge Parkway Redwood City, CA 94065 Phone: 650-637-4780 Email: jchu@cosinecom.com 11. Full Copyright Statement Copyright (C) The Internet Society (1999). 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 document 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 developing 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. Various Authors Expires July 13, 2002 [Page 40] Internet Draft BGP-MIB v2 July 13, 2001 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 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Various Authors Expires July 13, 2002 [Page 41]