Network Working Group S. Willis INTERNET DRAFT J. Burruss Wellfleet Communications Inc. J. Chu IBM Corp August 18, 1993 Definitions of Managed Objects for the Border Gateway Protocol (Version 4) Status of this Memo This document is an Internet Draft. 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. Internet Drafts may be updated, replaced, or obsoleted by other documents at any time. It is not appropriate to use Internet Drafts as reference material or to cite them other than as a "working draft" or "work in progress." Please check the I-D abstract listing contained in each Internet Draft directory to learn the current status of this or any other Internet Draft. This memo is an extension to the SNMP MIB. It specifies an IAB standards track protocol for the Internet community, and requests discussion and suggestions for improvements. The origin of this memo is from RFC 1269 "Definitions of Managed Objects for the Board Gateway Protocol (Version 3)" written by the first two authors of this memo. Distribution of this memo is unlimited. Please forward comments to bgp@ans.net. 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, it defines objects for managing the Border Gateway Protocol [11,12]. Expiration Date March 1994 [Page 1] INTERNET DRAFT BGP-4 MIB August 18, 1993 2. The Network Management Framework The Internet-standard Network Management Framework consists of three components. They are: RFC 1155 which defines the SMI, the mechanisms used for describing and naming objects for the purpose of management. RFC 1212 defines a more concise description mechanism, which is wholly consistent with the SMI. RFC 1213 which defines MIB-II, the core set of managed objects for the Internet suite of protocols. RFC 1157 which defines the SNMP, the protocol used for network access to managed objects. The Framework permits new objects to be defined for the purpose of experimentation and evaluation. 3. Objects Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the subset of Abstract Syntax Notation One (ASN.1) [7] defined in the SMI. In particular, each object has a name, a syntax, and an encoding. The name is an object identifier, an administratively assigned name, which specifies an object type. The object type together with an object instance serves to uniquely identify a specific instantiation of the object. For human convenience, we often use a textual string, termed the OBJECT DESCRIPTOR, to also refer to the object type. The syntax of an object type defines the abstract data structure corresponding to that object type. The ASN.1 language is used for this purpose. However, the SMI [3] purposely restricts the ASN.1 constructs which may be used. These restrictions are explicitly made for simplicity. The encoding of an object type is simply how that object type is represented using the object type's syntax. Implicitly tied to the notion of an object type's syntax and encoding is how the object type is represented when being transmitted on the network. The SMI specifies the use of the basic encoding rules of ASN.1 [8], subject to the additional requirements imposed by the SNMP. Expiration Date March 1994 [Page 2] INTERNET DRAFT BGP-4 MIB August 18, 1993 3.1. Format of Definitions Section 5 contains contains the specification of all object types contained in this MIB module. The object types are defined using the conventions defined in the SMI, as amended by the extensions specified in [9,10]. 4. Overview These objects are used to control and manage a BGP [11,12] implementation. The Border Gateway Protocol (BGP) is an inter-Autonomous System routing protocol. The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems. This network reachability information includes information on the full path of Autonomous Systems that traffic must transit to reach these networks. BGP runs over a reliable transport protocol. This eliminates the need to implement explicit update fragmentation, retransmission, acknowledgement, and sequencing. Any authentication scheme used by the transport protocol may be used in addition to BGP's own authentication mechanisms. The planned use of BGP in the Internet environment, including such issues as topology, the interaction between BGP and IGPs, and the enforcement of routing policy rules is presented in a companion document [12]. Apart from a few system-wide scalar objects, this MIB is broken into four tables: the BGP External Peer Table, the BGP Internal Peer Table, the BGP Received Path Attribute Table, and the BGP-4 Received Path Attribute Table. The BGP External Peer Table and the BGP Internal Peer Table contain information about state and current activity of connections with the BGP peers external and internal to the local AS, respectively. The Received Path Attribute Table contains path attributes received from all peers running BGP version 3 or less. The BGP-4 Received Path Attribute Table contains path attributes received from all BGP-4 peers. The actual attributes used in determining a route are a subset of the received attribute tables after local routing policy has been applied. Expiration Date March 1994 [Page 3] INTERNET DRAFT BGP-4 MIB August 18, 1993 5. Definitions RFCxxxx-MIB DEFINITIONS ::= BEGIN IMPORTS NetworkAddress, IpAddress, Counter FROM RFC1155-SMI mib-2 FROM RFC1213-MIB OBJECT-TYPE FROM RFC-1212 TRAP-TYPE FROM RFC-1215; -- This MIB module uses the extended OBJECT-TYPE macro as -- defined in [9], and the TRAP-TYPE macro as defined -- in [10]. bgp OBJECT IDENTIFIER ::= { mib-2 15 } bgpVersion OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-only STATUS mandatory 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." ::= { bgp 1 } bgpLocalAs OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The local autonomous system number." ::= { bgp 2 } bgpIdentifier OBJECT-TYPE Expiration Date March 1994 [Page 4] INTERNET DRAFT BGP-4 MIB August 18, 1993 SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The BGP Identifier of local system." ::= { bgp 4 } -- BGP External Peer Table. This table contains, one entry -- per BGP peer external to the local AS, information about -- the BGP peer connections. bgpExtPeerTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpExtPeerEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "External BGP peer table. This table contains, one entry per BGP peer, information about the connections with BGP peers that are external to the local AS." ::= { bgp 3 } bgpExtPeerEntry OBJECT-TYPE SYNTAX BgpExtPeerEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Entry containing information about the connection with a BGP peer that is external to the local AS." INDEX { bgpExtPeerRemoteAddr } ::= { bgpExtPeerTable 1 } BgpExtPeerEntry ::= SEQUENCE { bgpExtPeerIdentifier IpAddress, bgpExtPeerState INTEGER, bgpExtPeerAdminStatus INTEGER, bgpExtPeerNegotiatedVersion INTEGER, bgpExtPeerLocalAddr IpAddress, bgpExtPeerLocalPort INTEGER, bgpExtPeerRemoteAddr Expiration Date March 1994 [Page 5] INTERNET DRAFT BGP-4 MIB August 18, 1993 IpAddress, bgpExtPeerRemotePort INTEGER, bgpExtPeerRemoteAs INTEGER, bgpExtPeerInUpdates Counter, bgpExtPeerOutUpdates Counter, bgpExtPeerInTotalMessages Counter, bgpExtPeerOutTotalMessages Counter, bgpExtPeerLastError OCTET STRING, bgpExtPeerFsmEstablishedTransitions Counter, bgpExtPeerConnectRetryInterval INTEGER, bgpExtPeerHoldTime INTEGER, bgpExtPeerKeepAlive INTEGER, bgpExtPeerHoldTimeConfigured INTEGER, bgpExtPeerKeepAliveConfigured INTEGER, bgpExtPeerMinASOriginationInterval INTEGER, bgpExtPeerMinRouteAdvertisementInterval INTEGER } bgpExtPeerIdentifier OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The BGP Identifier of this entry's BGP peer." ::= { bgpExtPeerEntry 1 } bgpExtPeerState OBJECT-TYPE SYNTAX INTEGER { idle(1), connect(2), active(3), opensent(4), Expiration Date March 1994 [Page 6] INTERNET DRAFT BGP-4 MIB August 18, 1993 openconfirm(5), established(6) } ACCESS read-only STATUS mandatory DESCRIPTION "The BGP peer connection state." ::= { bgpExtPeerEntry 2 } bgpExtPeerAdminStatus OBJECT-TYPE SYNTAX INTEGER { stop(1), start(2) } ACCESS read-write STATUS mandatory 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." ::= { bgpExtPeerEntry 3 } bgpExtPeerNegotiatedVersion OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The negotiated version of BGP running between the two peers." ::= { bgpExtPeerEntry 4 } bgpExtPeerLocalAddr OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The local IP address of this entry's BGP connection." ::= { bgpExtPeerEntry 5 } bgpExtPeerLocalPort OBJECT-TYPE SYNTAX INTEGER (0..65535) Expiration Date March 1994 [Page 7] INTERNET DRAFT BGP-4 MIB August 18, 1993 ACCESS read-only STATUS mandatory DESCRIPTION "The local port for the TCP connection between the BGP peers." ::= { bgpExtPeerEntry 6 } bgpExtPeerRemoteAddr OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The remote IP address of this entry's BGP peer." ::= { bgpExtPeerEntry 7 } bgpExtPeerRemotePort OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The remote port for the TCP connection between the BGP peers. Note that the objects bgpExtPeerLocalAddr, bgpExtPeerLocalPort, bgpExtPeerRemoteAddr and bgpExtPeerRemotePort provide the appropriate reference to the standard MIB TCP connection table." ::= { bgpExtPeerEntry 8 } bgpExtPeerRemoteAs OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The remote autonomous system number." ::= { bgpExtPeerEntry 9 } bgpExtPeerInUpdates OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of BGP UPDATE messages received on this connection. This object should be initialized to zero when the connection is established." ::= { bgpExtPeerEntry 10 } Expiration Date March 1994 [Page 8] INTERNET DRAFT BGP-4 MIB August 18, 1993 bgpExtPeerOutUpdates OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of BGP UPDATE messages received on this connection. This object should be initialized to zero when the connection is established." ::= { bgpExtPeerEntry 11} bgpExtPeerInTotalMessages OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory 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." ::= { bgpExtPeerEntry 12 } bgpExtPeerOutTotalMessages OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory 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." ::= { bgpExtPeerEntry 13 } bgpExtPeerLastError OBJECT-TYPE SYNTAX OCTET STRING (SIZE (2)) ACCESS read-only STATUS mandatory 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." ::= { bgpExtPeerEntry 14 } bgpExtPeerFsmEstablishedTransitions OBJECT-TYPE SYNTAX Counter Expiration Date March 1994 [Page 9] INTERNET DRAFT BGP-4 MIB August 18, 1993 ACCESS read-only STATUS mandatory DESCRIPTION "The total number of times the BGP FSM transitioned into the established state." ::= { bgpExtPeerEntry 15 } bgpExtPeerConnectRetryInterval OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-write STATUS mandatory DESCRIPTION "Time interval in seconds for the ConnectRetry timer. The suggested value for this timer is 120 seconds." ::= { bgpExtPeerEntry 16 } bgpExtPeerHoldTime OBJECT-TYPE SYNTAX INTEGER ( 0 | 3..65535 ) ACCESS read-only STATUS mandatory 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 bgpExtPeerHoldTimeConfigured 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 bgpExtPeerHoldTimeConfigured is zero (0)." ::= { bgpExtPeerEntry 17 } bgpExtPeerKeepAlive OBJECT-TYPE SYNTAX INTEGER ( 0 | 1..21845 ) ACCESS read-only STATUS mandatory 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 bgpExtPeerHoldTime, it has the same proportion as what bgpExtPeerKeepAliveConfigured has when compared with bgpExtPeerHoldTimeConfigured. 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 Expiration Date March 1994 [Page 10] INTERNET DRAFT BGP-4 MIB August 18, 1993 bgpExtPeerKeepAliveConfigured is zero (0)." ::= { bgpExtPeerEntry 18 } bgpExtPeerHoldTimeConfigured OBJECT-TYPE SYNTAX INTEGER ( 0 | 3..65535 ) ACCESS read-write STATUS mandatory 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 (bgpExtPeerHoldTime) 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." ::= { bgpExtPeerEntry 19 } bgpExtPeerKeepAliveConfigured OBJECT-TYPE SYNTAX INTEGER ( 0 | 1..21845 ) ACCESS read-write STATUS mandatory 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 bgpExtPeerHoldTimeConfigured; the actual time interval for the KEEPALIVE messages is indicated by bgpExtPeerKeepAlive. A reasonable maximum value for this timer would be configured to be one third of that of bgpExtPeerHoldTimeConfigured. 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." ::= { bgpExtPeerEntry 20 } bgpExtPeerMinASOriginationInterval OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-write STATUS mandatory DESCRIPTION "Time interval in seconds for the MinASOriginationInterval timer. Expiration Date March 1994 [Page 11] INTERNET DRAFT BGP-4 MIB August 18, 1993 The suggested value for this timer is 900 seconds." ::= { bgpExtPeerEntry 21 } bgpExtPeerMinRouteAdvertisementInterval OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-write STATUS mandatory DESCRIPTION "Time interval in seconds for the MinRouteAdvertisementInterval timer. The suggested value for this timer is 30 seconds." ::= { bgpExtPeerEntry 22 } -- BGP Internal Peer Table. This table contains, one entry -- per BGP peer internal to the local AS, information about -- the BGP peer connections. bgpIntPeerTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpIntPeerEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Internal BGP peer table. This table contains, one entry per BGP peer, information about the connections with BGP peers that are internal to the local AS." ::= { bgp 7 } bgpIntPeerEntry OBJECT-TYPE SYNTAX BgpIntPeerEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Entry containing information about the connection with a BGP peer that is internal to the local AS." INDEX { bgpIntPeerRemoteAddr } ::= { bgpIntPeerTable 1 } BgpIntPeerEntry ::= SEQUENCE { bgpIntPeerIdentifier IpAddress, bgpIntPeerState INTEGER, bgpIntPeerAdminStatus INTEGER, bgpIntPeerNegotiatedVersion Expiration Date March 1994 [Page 12] INTERNET DRAFT BGP-4 MIB August 18, 1993 INTEGER, bgpIntPeerLocalAddr IpAddress, bgpIntPeerLocalPort INTEGER, bgpIntPeerRemoteAddr IpAddress, bgpIntPeerRemotePort INTEGER, bgpIntPeerRemoteAs INTEGER, bgpIntPeerInUpdates Counter, bgpIntPeerOutUpdates Counter, bgpIntPeerInTotalMessages Counter, bgpIntPeerOutTotalMessages Counter, bgpIntPeerLastError OCTET STRING, bgpIntPeerFsmEstablishedTransitions Counter, bgpIntPeerConnectRetryInterval INTEGER, bgpIntPeerHoldTime INTEGER, bgpIntPeerKeepAlive INTEGER, bgpIntPeerHoldTimeConfigured INTEGER, bgpIntPeerKeepAliveConfigured INTEGER, bgpIntPeerMinASOriginationInterval INTEGER, bgpIntPeerMinRouteAdvertisementInterval INTEGER } bgpIntPeerIdentifier OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The BGP Identifier of this entry's BGP peer." ::= { bgpIntPeerEntry 1 } Expiration Date March 1994 [Page 13] INTERNET DRAFT BGP-4 MIB August 18, 1993 bgpIntPeerState OBJECT-TYPE SYNTAX INTEGER { idle(1), connect(2), active(3), opensent(4), openconfirm(5), established(6) } ACCESS read-only STATUS mandatory DESCRIPTION "The BGP peer connection state." ::= { bgpIntPeerEntry 2 } bgpIntPeerAdminStatus OBJECT-TYPE SYNTAX INTEGER { stop(1), start(2) } ACCESS read-write STATUS mandatory 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." ::= { bgpIntPeerEntry 3 } bgpIntPeerNegotiatedVersion OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The negotiated version of BGP running between the two peers." ::= { bgpIntPeerEntry 4 } bgpIntPeerLocalAddr OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION Expiration Date March 1994 [Page 14] INTERNET DRAFT BGP-4 MIB August 18, 1993 "The local IP address of this entry's BGP connection." ::= { bgpIntPeerEntry 5 } bgpIntPeerLocalPort OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The local port for the TCP connection between the BGP peers." ::= { bgpIntPeerEntry 6 } bgpIntPeerRemoteAddr OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The remote IP address of this entry's BGP peer." ::= { bgpIntPeerEntry 7 } bgpIntPeerRemotePort OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The remote port for the TCP connection between the BGP peers. Note that the objects bgpIntPeerLocalAddr, bgpIntPeerLocalPort, bgpIntPeerRemoteAddr and bgpIntPeerRemotePort provide the appropriate reference to the standard MIB TCP connection table." ::= { bgpIntPeerEntry 8 } bgpIntPeerRemoteAs OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The remote autonomous system number." ::= { bgpIntPeerEntry 9 } bgpIntPeerInUpdates OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION Expiration Date March 1994 [Page 15] INTERNET DRAFT BGP-4 MIB August 18, 1993 "The number of BGP UPDATE messages received on this connection. This object should be initialized to zero when the connection is established." ::= { bgpIntPeerEntry 10 } bgpIntPeerOutUpdates OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of BGP UPDATE messages received on this connection. This object should be initialized to zero when the connection is established." ::= { bgpIntPeerEntry 11} bgpIntPeerInTotalMessages OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory 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." ::= { bgpIntPeerEntry 12 } bgpIntPeerOutTotalMessages OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory 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." ::= { bgpIntPeerEntry 13 } bgpIntPeerLastError OBJECT-TYPE SYNTAX OCTET STRING (SIZE (2)) ACCESS read-only STATUS mandatory 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 Expiration Date March 1994 [Page 16] INTERNET DRAFT BGP-4 MIB August 18, 1993 contains the error code, and the second byte contains the subcode." ::= { bgpIntPeerEntry 14 } bgpIntPeerFsmEstablishedTransitions OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of times the BGP FSM transitioned into the established state." ::= { bgpIntPeerEntry 15 } bgpIntPeerConnectRetryInterval OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-write STATUS mandatory DESCRIPTION "Time interval in seconds for the ConnectRetry timer. The suggested value for this timer is 120 seconds." ::= { bgpIntPeerEntry 16 } bgpIntPeerHoldTime OBJECT-TYPE SYNTAX INTEGER ( 0 | 3..65535 ) ACCESS read-only STATUS mandatory 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 bgpIntPeerHoldTimeConfigured 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 bgpIntPeerHoldTimeConfigured is zero (0)." ::= { bgpIntPeerEntry 17 } bgpIntPeerKeepAlive OBJECT-TYPE SYNTAX INTEGER ( 0 | 1..21845 ) ACCESS read-only STATUS mandatory 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 bgpIntPeerHoldTime, Expiration Date March 1994 [Page 17] INTERNET DRAFT BGP-4 MIB August 18, 1993 it has the same proportion as what bgpIntPeerKeepAliveConfigured has when compared with bgpIntPeerHoldTimeConfigured. 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 bgpIntPeerKeepAliveConfigured is zero (0)." ::= { bgpIntPeerEntry 18 } bgpIntPeerHoldTimeConfigured OBJECT-TYPE SYNTAX INTEGER ( 0 | 3..65535 ) ACCESS read-write STATUS mandatory 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 (bgpIntPeerHoldTime) 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." ::= { bgpIntPeerEntry 19 } bgpIntPeerKeepAliveConfigured OBJECT-TYPE SYNTAX INTEGER ( 0 | 1..21845 ) ACCESS read-write STATUS mandatory 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 bgpIntPeerHoldTimeConfigured; the actual time interval for the KEEPALIVE messages is indicated by bgpIntPeerKeepAlive. A reasonable maximum value for this timer would be configured to be one third of that of bgpIntPeerHoldTimeConfigured. 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." ::= { bgpIntPeerEntry 20 } bgpIntPeerMinASOriginationInterval OBJECT-TYPE Expiration Date March 1994 [Page 18] INTERNET DRAFT BGP-4 MIB August 18, 1993 SYNTAX INTEGER (1..65535) ACCESS read-write STATUS mandatory DESCRIPTION "Time interval in seconds for the MinASOriginationInterval timer. The suggested value for this timer is 900 seconds." ::= { bgpIntPeerEntry 21 } bgpIntPeerMinRouteAdvertisementInterval OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-write STATUS mandatory DESCRIPTION "Time interval in seconds for the MinRouteAdvertisementInterval timer. The suggested value for this timer is 30 seconds." ::= { bgpIntPeerEntry 22 } -- Received Path Attribute Table. This table contains, -- one entry per path to a network, path attributes -- received from all peers running BGP version 3 or less. bgpRcvdPathAttrTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPathAttrEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "The BGP Received Path Attribute Table contains information about paths to destination networks received from all peers running BGP version 3 or less." ::= { bgp 5 } bgpPathAttrEntry OBJECT-TYPE SYNTAX BgpPathAttrEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Information about a path to a network." INDEX { bgpPathAttrDestNetwork, bgpPathAttrPeer } ::= { bgpRcvdPathAttrTable 1 } BgpPathAttrEntry ::= SEQUENCE { bgpPathAttrPeer Expiration Date March 1994 [Page 19] INTERNET DRAFT BGP-4 MIB August 18, 1993 IpAddress, bgpPathAttrDestNetwork IpAddress, bgpPathAttrOrigin INTEGER, bgpPathAttrASPath OCTET STRING, bgpPathAttrNextHop IpAddress, bgpPathAttrInterASMetric INTEGER } bgpPathAttrPeer OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The IP address of the peer where the path information was learned." ::= { bgpPathAttrEntry 1 } bgpPathAttrDestNetwork OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The address of the destination network." ::= { bgpPathAttrEntry 2 } bgpPathAttrOrigin OBJECT-TYPE SYNTAX INTEGER { igp(1),-- networks are interior egp(2),-- networks learned via EGP incomplete(3) -- undetermined } ACCESS read-only STATUS mandatory DESCRIPTION "The ultimate origin of the path information." ::= { bgpPathAttrEntry 3 } bgpPathAttrASPath OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-only STATUS mandatory DESCRIPTION "The set of ASs that must be traversed to reach Expiration Date March 1994 [Page 20] INTERNET DRAFT BGP-4 MIB August 18, 1993 the network. This object is probably best represented as SEQUENCE OF INTEGER. For SMI compatibility, though, it is represented as OCTET STRING. Each AS is represented as a pair of octets according to the following algorithm: first-byte-of-pair = ASNumber / 256; second-byte-of-pair = ASNumber & 255;" ::= { bgpPathAttrEntry 4 } bgpPathAttrNextHop OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The address of the border router that should be used for the destination network." ::= { bgpPathAttrEntry 5 } bgpPathAttrInterASMetric OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The optional inter-AS metric. If this attribute has not been provided for this route, the value for this object is 0." ::= { bgpPathAttrEntry 6 } -- 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. bgp4RcvdPathAttrTable OBJECT-TYPE SYNTAX SEQUENCE OF Bgp4PathAttrEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "The BGP-4 Received Path Attribute Table contains information about paths to destination networks received by all BGP4 peers." ::= { bgp 6 } bgp4PathAttrEntry OBJECT-TYPE SYNTAX Bgp4PathAttrEntry ACCESS not-accessible Expiration Date March 1994 [Page 21] INTERNET DRAFT BGP-4 MIB August 18, 1993 STATUS mandatory DESCRIPTION "Information about a path to a network." INDEX { bgp4PathAttrPeer, bgp4PathAttrIpAddrPrefixLen, bgp4PathAttrIpAddrPrefix } ::= { bgp4RcvdPathAttrTable 1 } Bgp4PathAttrEntry ::= SEQUENCE { bgp4PathAttrPeer IpAddress, bgp4PathAttrIpAddrPrefixLen INTEGER, bgp4PathAttrIpAddrPrefix OCTET STRING, bgp4PathAttrOrigin INTEGER, bgp4PathAttrASPathSegment OCTET STRING, bgp4PathAttrNextHop IpAddress, bgp4PathAttrMultiExitDisc INTEGER, bgp4PathAttrLocalPref INTEGER, bgp4PathAttrAtomicAggregate INTEGER, bgp4PathAttrAggregator INTEGER } bgp4PathAttrPeer OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The IP address of the peer where the path information was learned." ::= { bgp4PathAttrEntry 1 } bgp4PathAttrIpAddrPrefixLen OBJECT-TYPE SYNTAX INTEGER (0..255) ACCESS read-only STATUS mandatory DESCRIPTION "Length in bits of the IP address prefix in the Network Layer Reachability Information field." ::= { bgp4PathAttrEntry 2 } Expiration Date March 1994 [Page 22] INTERNET DRAFT BGP-4 MIB August 18, 1993 bgp4PathAttrIpAddrPrefix OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-only STATUS mandatory DESCRIPTION "An IP address prefix in the Network Layer Reachability Information field. This string contains as many octets as necessary to hold a prefix of the length specified by bgp4PathAttrIpAddrPrefixLen. Any bits beyond the length specified by bgp4PathAttrIpAddrPrefixLen are zeroed." ::= { bgp4PathAttrEntry 3 } bgp4PathAttrOrigin OBJECT-TYPE SYNTAX INTEGER { igp(1),-- networks are interior egp(2),-- networks learned via EGP incomplete(3) -- undetermined } ACCESS read-only STATUS mandatory DESCRIPTION "The ultimate origin of the path information." ::= { bgp4PathAttrEntry 4 } bgp4PathAttrASPathSegment OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-only STATUS mandatory DESCRIPTION "The sequence of AS path segments. Each AS path segment is represented by a triple . 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. The length is a 1-octet field containing the number of ASs in the value field. Expiration Date March 1994 [Page 23] INTERNET DRAFT BGP-4 MIB August 18, 1993 The value field contains one or more AS numbers, each AS is represented in the octet string as a pair of octets according to the following algorithm: first-byte-of-pair = ASNumber / 256; second-byte-of-pair = ASNumber & 255;" ::= { bgp4PathAttrEntry 5 } bgp4PathAttrNextHop OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The address of the border router that should be used for the destination network." ::= { bgp4PathAttrEntry 6 } bgp4PathAttrMultiExitDisc OBJECT-TYPE SYNTAX INTEGER (0..255) ACCESS read-only STATUS mandatory DESCRIPTION "This metric is used to discriminate between multiple exit points to an adjacent autonomous system." ::= { bgp4PathAttrEntry 7 } bgp4PathAttrLocalPref OBJECT-TYPE SYNTAX INTEGER (0..255) ACCESS read-only STATUS mandatory DESCRIPTION "The originating BGP4 speaker's degree of preference for an advertised route." ::= { bgp4PathAttrEntry 8 } bgp4PathAttrAtomicAggregate OBJECT-TYPE SYNTAX INTEGER { less-specific-route-not-selected(1), less-specific-route-selected(2) } ACCESS read-only STATUS mandatory DESCRIPTION "Whether or not the local system has selected a less specific route without selecting a more specific route." Expiration Date March 1994 [Page 24] INTERNET DRAFT BGP-4 MIB August 18, 1993 ::= { bgp4PathAttrEntry 9 } bgp4PathAttrAggregator OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The AS number of the last BGP4 speaker that performed route aggregation." ::= { bgp4PathAttrEntry 10 } -- Traps. bgpEstablished TRAP-TYPE ENTERPRISE { bgp } VARIABLES { bgpExtPeerRemoteAddr, bgpExtPeerLastError, bgpExtPeerState, bgpIntPeerRemoteAddr, bgpIntPeerLastError, bgpIntPeerState } DESCRIPTION "The BGP Established event is generated when the BGP FSM enters the ESTABLISHED state." ::= 1 bgpBackwardTransition TRAP-TYPE ENTERPRISE { bgp } VARIABLES { bgpExtPeerRemoteAddr, bgpExtPeerLastError, bgpExtPeerState, bgpIntPeerRemoteAddr, bgpIntPeerLastError, bgpIntPeerState } DESCRIPTION "The BGPBackwardTransition Event is generated when the BGP FSM moves from a higher numbered state to a lower numbered state." ::= 2 END 6. Acknowledgements We would like to acknowledge the assistance of all the members of the Interconnectivity Working Group, and particularly the following Expiration Date March 1994 [Page 25] INTERNET DRAFT BGP-4 MIB August 18, 1993 individuals: Yakov Rekhter, IBM Rob Coltun, University of Maryland Guy Almes, ANS Jeff Honig, Cornell Theory Center Marshall T. Rose, PSI, Inc. Dennis Ferguson, ANS Mike Mathis, PSC John Krawczyk, Wellfleet Communications Inc. Curtis Villamizar, ANS Dave LeRoy, Pencom Systems 7. References [1] Cerf, V., "IAB Recommendations for the Development of Internet Network Management Standards", RFC 1052, NRI, April 1988. [2] Cerf, V., "Report of the Second Ad Hoc Network Management Review Group", RFC 1109, NRI, August 1989. [3] Rose M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based internets", RFC 1155, Performance Systems International, Hughes LAN Systems, May 1990. [4] McCloghrie K., and M. Rose, "Management Information Base for Network Management of TCP/IP-based internets", RFC 1156, Hughes LAN Systems, Performance Systems International, May 1990. [5] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", RFC 1157, SNMP Research, Performance Systems International, Performance Systems International, MIT Laboratory for Computer Science, May 1990. [6] McCloghrie K., and M. Rose, Editors, "Management Information Base for Network Management of TCP/IP-based internets", RFC 1213, Performance Systems International, March 1991. [7] Information processing systems - Open Systems Interconnection - Specification of Abstract Syntax Notation One (ASN.1), International Organization for Standardization, International Standard 8824, December 1987. [8] Information processing systems - Open Systems Interconnection - Specification of Basic Encoding Rules for Abstract Notation One Expiration Date March 1994 [Page 26] INTERNET DRAFT BGP-4 MIB August 18, 1993 (ASN.1), International Organization for Standardization, International Standard 8825, December 1987. [9] Rose, M., and K. McCloghrie, Editors, "Concise MIB Definitions", RFC 1212, Performance Systems International, Hughes LAN Systems, March 1991. [10] Rose, M., Editor, "A Convention for Defining Traps for use with the SNMP", RFC 1215, Performance Systems International, March 1991. [11] Rekhter, Y., and Li, T., "A Border Gateway Protocol 4 (BGP-4)", Internet Draft, T.J. Watson Research Center, IBM Corp., cisco Systems, June 1993. [12] Rekhter, Y., and P. Gross, Editors, "Application of the Border Gateway Protocol in the Internet", RFC 1268, T.J. Watson Research Center, IBM Corp., ANS, October 1991. 8. Security Considerations Security issues are not discussed in this memo. Authors' Addresses Steven Willis Wellfleet Communications Inc. 15 Crosby Drive Bedford, MA 01730 Phone: (617) 275-2400 Email: swillis@wellfleet.com John Burruss Wellfleet Communications Inc. 15 Crosby Drive Bedford, MA 01730 Phone: (617) 275-2400 Email: jburruss@wellfleet.com John Chu IBM Corp. Expiration Date March 1994 [Page 27] INTERNET DRAFT BGP-4 MIB August 18, 1993 P.O.Box 218 Yorktown Heights, NY 10598 Phone: (914) 945-3156 Email: jychu@watson.ibm.com Expiration Date March 1994 [Page 28]