--- 1/draft-ietf-idr-bgp4-mib-00.txt 2006-02-04 23:30:39.000000000 +0100 +++ 2/draft-ietf-idr-bgp4-mib-01.txt 2006-02-04 23:30:39.000000000 +0100 @@ -1,57 +1,59 @@ - Network Working Group S. Willis -INTERNET DRAFT J. Burruss +INTERNET DRAFT BayNetworks + J. Burruss BayNetworks J. Chu - (Editor) - IBM Corp. - November 1995 + IBM Corporation + J. Johnson + cisco Systems + January 1996 Definitions of Managed Objects for the Fourth Version of Border Gateway Protocol (BGP-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. + Abstract + 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. +Protocol (Version 3)" written by the first two authors of this memo, +which was updated to support BGP-4 in RFC 1657. This memo fixes errors +introduced when the MIB was converted to use the SNMPv2 SMI. Distribution of this memo is unlimited. Please forward comments to bgp@ans.net. 1. Introduction This memo defines an experimental portion of the Management Information Base (MIB) for use with network management protocols in the Internet - -Expiration Date May 1996 [Page 1]FORMFEED - community. In particular, it describes managed objects used for managing the Border Gateway Protocol Version 4 or lower [1, 2]. 2. The SNMPv2 Network Management Framework The SNMPv2 Network Management Framework consists of four major components. They are: RFC 1442 which defines the SMI, the mechanisms used for describing and naming objects for the purpose of management. @@ -80,71 +82,83 @@ termed the descriptor, to refer to the object type. 4. Overview These objects are used to control and manage a BGP-4 implementation. Apart from a few system-wide scalar objects, this MIB is broken into three tables: the BGP Peer Table, the BGP Received Path Attribute Table, and the BGP-4 Received Path Attribute Table. The BGP Peer Table contains information about state and current activity of connections - -Expiration Date May 1996 [Page 2]FORMFEED - with the BGP peers. 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. 5. Definitions BGP4-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, IpAddress, Integer32, Counter32, Gauge32 FROM SNMPv2-SMI + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF mib-2 FROM RFC1213-MIB; bgp MODULE-IDENTITY - LAST-UPDATED "9511090000Z" + LAST-UPDATED "9512110000Z" ORGANIZATION "IETF BGP Working Group" CONTACT-INFO " John Chu (Editor) Postal: IBM Corp. P.O.Box 704 Yorktown Heights, NY 10598 US Tel: +1 914 784 7839 Fax: +1 914 784 6205 - E-mail: jychu@watson.ibm.com" + E-mail: jychu@watson.ibm.com + + Jeff Johnson (Editor) + Postal: cisco Systems + 170 W. Tasman Drive + San Jose, CA 95134 + + Tel: +1 408 526 7789 + Fax: +1 408 526 4860 + E-mail: jjohnson@cisco.com" DESCRIPTION "The MIB module for BGP-4." + REVISION "9601080000Z" + DESCRIPTION + "1) Fixed the definitions of the traps to + make them equivalent to their initial + definition in RFC 1269. + 2) Added compliance and conformance info." ::= { mib-2 15 } bgpVersion OBJECT-TYPE SYNTAX OCTET STRING (SIZE (1..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "Vector of supported BGP protocol version numbers. Each peer negotiates the version from this vector. Versions are identified via the string of bits contained within this object. The first octet contains bits 0 to 7, the second octet contains bits 8 to 15, - -Expiration Date May 1996 [Page 3]FORMFEED 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) @@ -177,22 +191,20 @@ INDEX { bgpPeerRemoteAddr } ::= { bgpPeerTable 1 } BgpPeerEntry ::= SEQUENCE { bgpPeerIdentifier IpAddress, bgpPeerState INTEGER, bgpPeerAdminStatus INTEGER, - -Expiration Date May 1996 [Page 4]FORMFEED bgpPeerNegotiatedVersion Integer32, bgpPeerLocalAddr IpAddress, bgpPeerLocalPort INTEGER, bgpPeerRemoteAddr IpAddress, bgpPeerRemotePort INTEGER, @@ -227,22 +239,20 @@ bgpPeerMinRouteAdvertisementInterval INTEGER, bgpPeerInUpdateElapsedTime Gauge32 } bgpPeerIdentifier OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current - -Expiration Date May 1996 [Page 5]FORMFEED DESCRIPTION "The BGP Identifier of this entry's BGP peer." ::= { bgpPeerEntry 1 } bgpPeerState OBJECT-TYPE SYNTAX INTEGER { idle(1), connect(2), active(3), opensent(4), @@ -277,22 +287,20 @@ bgpPeerNegotiatedVersion OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The negotiated version of BGP running between the two peers." ::= { bgpPeerEntry 4 } bgpPeerLocalAddr OBJECT-TYPE - -Expiration Date May 1996 [Page 6]FORMFEED SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The local IP address of this entry's BGP connection." ::= { bgpPeerEntry 5 } bgpPeerLocalPort OBJECT-TYPE SYNTAX INTEGER (0..65535) @@ -327,22 +335,20 @@ bgpPeerRemoteAs OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The remote autonomous system number." ::= { bgpPeerEntry 9 } bgpPeerInUpdates OBJECT-TYPE - -Expiration Date May 1996 [Page 7]FORMFEED 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 10 } @@ -377,22 +383,20 @@ the remote peer on this connection. This object should be initialized to zero when the connection is established." ::= { bgpPeerEntry 13 } bgpPeerLastError OBJECT-TYPE SYNTAX OCTET STRING (SIZE (2)) MAX-ACCESS read-only STATUS current DESCRIPTION - -Expiration Date May 1996 [Page 8]FORMFEED "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 14 } bgpPeerFsmEstablishedTransitions OBJECT-TYPE SYNTAX Counter32 @@ -427,22 +431,20 @@ bgpPeerHoldTime OBJECT-TYPE SYNTAX INTEGER ( 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 - -Expiration Date May 1996 [Page 9]FORMFEED 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 18 } bgpPeerKeepAlive OBJECT-TYPE SYNTAX INTEGER ( 0 | 1..21845 ) @@ -477,33 +479,30 @@ 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 20 } bgpPeerKeepAliveConfigured OBJECT-TYPE SYNTAX INTEGER ( 0 | 1..21845 ) MAX-ACCESS read-write STATUS current - -Expiration Date May 1996 [Page 10]FORMFEED 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 maximu -m - value for this timer would be configured to be one - third of that of bgpPeerHoldTimeConfigured. + indicated by bgpPeerKeepAlive. A reasonable + maximum value for this timer would be configured to + be one third of that of bgpPeerHoldTimeConfigured. If the value of this object is zero (0), no periodical KEEPALIVE messages are sent to the peer after the BGP connection has been established. The suggested value for this timer is 30 seconds." ::= { bgpPeerEntry 21 } bgpPeerMinASOriginationInterval OBJECT-TYPE SYNTAX INTEGER (1..65535) MAX-ACCESS read-write STATUS current @@ -527,33 +526,33 @@ 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 24 } -Expiration Date May 1996 [Page 11]FORMFEED bgpIdentifier OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The BGP Identifier of local system." ::= { bgp 4 } -- 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. - -- This table is deprecated. + -- This table is obsolete, having been replaced in + -- functionality with the bgp4PathAttrTable. bgpRcvdPathAttrTable OBJECT-TYPE SYNTAX SEQUENCE OF BgpPathAttrEntry MAX-ACCESS not-accessible STATUS obsolete DESCRIPTION "The BGP Received Path Attribute Table contains information about paths to destination networks received from all peers running BGP version 3 or less." @@ -574,22 +573,20 @@ IpAddress, bgpPathAttrDestNetwork IpAddress, bgpPathAttrOrigin INTEGER, bgpPathAttrASPath OCTET STRING, bgpPathAttrNextHop IpAddress, bgpPathAttrInterASMetric - -Expiration Date May 1996 [Page 12]FORMFEED Integer32 } bgpPathAttrPeer OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS obsolete DESCRIPTION "The IP address of the peer where the path information was learned." @@ -624,21 +621,20 @@ 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 } -Expiration Date May 1996 [Page 13]FORMFEED bgpPathAttrNextHop OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS obsolete DESCRIPTION "The address of the border router that should be used for the destination network." ::= { bgpPathAttrEntry 5 } bgpPathAttrInterASMetric OBJECT-TYPE @@ -671,22 +667,20 @@ STATUS current DESCRIPTION "Information about a path to a network." INDEX { bgp4PathAttrIpAddrPrefix, bgp4PathAttrIpAddrPrefixLen, bgp4PathAttrPeer } ::= { bgp4PathAttrTable 1 } Bgp4PathAttrEntry ::= SEQUENCE { bgp4PathAttrPeer - -Expiration Date May 1996 [Page 14]FORMFEED IpAddress, bgp4PathAttrIpAddrPrefixLen INTEGER, bgp4PathAttrIpAddrPrefix IpAddress, bgp4PathAttrOrigin INTEGER, bgp4PathAttrASPathSegment OCTET STRING, bgp4PathAttrNextHop @@ -721,21 +714,20 @@ bgp4PathAttrIpAddrPrefixLen OBJECT-TYPE SYNTAX INTEGER (0..32) MAX-ACCESS read-only STATUS current DESCRIPTION "Length in bits of the IP address prefix in the Network Layer Reachability Information field." ::= { bgp4PathAttrEntry 2 } -Expiration Date May 1996 [Page 15]FORMFEED bgp4PathAttrIpAddrPrefix OBJECT-TYPE SYNTAX IpAddress 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 @@ -770,22 +762,20 @@ 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. The value field contains one or more AS numbers, each AS is represented in the octet - -Expiration Date May 1996 [Page 16]FORMFEED 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 MAX-ACCESS read-only @@ -820,22 +810,20 @@ SYNTAX INTEGER { lessSpecificRrouteNotSelected(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." - -Expiration Date May 1996 [Page 17]FORMFEED ::= { bgp4PathAttrEntry 9 } bgp4PathAttrAggregatorAS OBJECT-TYPE SYNTAX INTEGER (0..65535) 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." @@ -870,111 +858,233 @@ MAX-ACCESS read-only STATUS current DESCRIPTION "An indication of whether or not this route was chosen as the best BGP4 route." ::= { bgp4PathAttrEntry 13 } bgp4PathAttrUnknown OBJECT-TYPE SYNTAX OCTET STRING (SIZE(0..255)) MAX-ACCESS read-only - -Expiration Date May 1996 [Page 18]FORMFEED STATUS current DESCRIPTION "One or more path attributes not understood by this BGP4 speaker. Size zero (0) indicates the absence of such attribute(s). Octets beyond the maximum size, if any, are not recorded by this object." ::= { bgp4PathAttrEntry 14 } -- Traps. - bgpTraps OBJECT IDENTIFIER ::= { bgp 7 } + -- note that in RFC 1657, bgpTraps was incorrectly + -- assigned a value of { bgp 7 }, and each of the + -- traps had the bgpPeerRemoteAddr object inappropriately + -- removed from their OBJECTS clause. The following + -- definitions restore the semantics of the traps as + -- they were initially defined in RFC 1269. + + -- { bgp 7 } is unused + + bgpTraps OBJECT IDENTIFIER ::= { bgp 0 } bgpEstablished NOTIFICATION-TYPE - OBJECTS { bgpPeerLastError, + OBJECTS { bgpPeerRemoteAddr, + bgpPeerLastError, bgpPeerState } STATUS current DESCRIPTION "The BGP Established event is generated when the BGP FSM enters the ESTABLISHED state." ::= { bgpTraps 1 } bgpBackwardTransition NOTIFICATION-TYPE - OBJECTS { bgpPeerLastError, + OBJECTS { 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." ::= { bgpTraps 2 } + -- conformance information + + bgpMIBConformance OBJECT IDENTIFIER ::= { bgp 8 } + bgpMIBCompliances OBJECT IDENTIFIER ::= { bgpMIBConformance 1 } + bgpMIBGroups OBJECT IDENTIFIER ::= { bgpMIBConformance 2 } + + -- compliance statements + + bgpMIBCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for entities which + implement the BGP4 mib." + MODULE -- this module + MANDATORY-GROUPS { bgp4MIBGlobalsGroup, + bgp4MIBPeerGroup, + bgp4MIBPathAttrGroup, + bgp4MIBNotificationGroup } + ::= { bgpMIBCompliances 1 } + + -- units of conformance + + bgp4MIBGlobalsGroup OBJECT-GROUP + OBJECTS { bgpVersion, + bgpLocalAs, + bgpIdentifier } + STATUS current + DESCRIPTION + "A collection of objects providing information + on global BGP state." + ::= { bgpMIBGroups 1 } + + bgp4MIBPeerGroup OBJECT-GROUP + OBJECTS { bgpPeerIdentifier, + bgpPeerState, + bgpPeerAdminStatus, + bgpPeerNegotiatedVersion, + bgpPeerLocalAddr, + bgpPeerLocalPort, + bgpPeerRemoteAddr, + bgpPeerRemotePort, + bgpPeerRemoteAs, + bgpPeerInUpdates, + bgpPeerOutUpdates, + bgpPeerInTotalMessages, + bgpPeerOutTotalMessages, + bgpPeerLastError, + bgpPeerFsmEstablishedTransitions, + bgpPeerFsmEstablishedTime, + bgpPeerConnectRetryInterval, + bgpPeerHoldTime, + bgpPeerKeepAlive, + bgpPeerHoldTimeConfigured, + bgpPeerKeepAliveConfigured, + bgpPeerMinASOriginationInterval, + bgpPeerMinRouteAdvertisementInterval, + bgpPeerInUpdateElapsedTime } + STATUS current + DESCRIPTION + "A collection of objects for managing + BGP peers." + ::= { bgpMIBGroups 2 } + + bgp4MIBRcvdPathAttrGroup OBJECT-GROUP + OBJECTS { bgpPathAttrPeer, + bgpPathAttrDestNetwork, + bgpPathAttrOrigin, + bgpPathAttrASPath, + bgpPathAttrNextHop, + bgpPathAttrInterASMetric } + STATUS obsolete + DESCRIPTION + "A collection of objects for managing BGP + path entries. + + This conformance group is obsolete, + replaced by bgp4MIBPathAttrGroup." + ::= { bgpMIBGroups 3 } + + bgp4MIBPathAttrGroup OBJECT-GROUP + OBJECTS { bgp4PathAttrPeer, + bgp4PathAttrIpAddrPrefixLen, + bgp4PathAttrIpAddrPrefix, + bgp4PathAttrOrigin, + bgp4PathAttrASPathSegment, + bgp4PathAttrNextHop, + bgp4PathAttrMultiExitDisc, + bgp4PathAttrLocalPref, + bgp4PathAttrAtomicAggregate, + bgp4PathAttrAggregatorAS, + bgp4PathAttrAggregatorAddr, + bgp4PathAttrCalcLocalPref, + bgp4PathAttrBest, + bgp4PathAttrUnknown } + STATUS current + DESCRIPTION + "A collection of objects for managing + BGP path entries." + ::= { bgpMIBGroups 4 } + + bgp4MIBNotiicationGroup NOTIFICATION-GROUP + NOTIFICATIONS { bgpEstablished, + bgpBackwardTransition } + STATUS current + DESCRIPTION + "A collection of notifications for signaling + changes in BGP peer relationships." + ::= { bgpMIBGroups 4 } + END 6. Acknowledgements We would like to acknowledge the assistance of all the members of the Interconnectivity Working Group, and particularly the following individuals: Yakov Rekhter, cisco Systems Rob Coltun, Fore Guy Almes, ANS Jeff Honig, Cornell Theory Center Marshall T. Rose, Dover Beach Consulting, Inc. - -Expiration Date May 1996 [Page 19]FORMFEED Dennis Ferguson, Ipsilon Mike Mathis, PSC John Krawczyk, BayNetworks Curtis Villamizar, ANS Dave LeRoy, Pencom Systems Paul Traina, cisco Systems Andrew Partan, UUNET Robert Snyder, cisco Systems Dimitry Haskin, BayNetworks Peder Chr Norgaard, Telebit Communications A/S Joel Halpern, NewBridge + Nick Thille, cisco Systems 7. References [1] Rekhter, Y., Li, T., "A Border Gateway Protocol 4 (BGP-4)", RFC1771, March 1995 [2] Rekhter, Y., Gross, P., "Application of the Border Gateway Protocol in the Internet", RFC1772, March 1995 8. Security Considerations Security issues are not discussed in this memo. Authors' Address Steven Willis BayNetworks 15 Crosby Drive Bedford, MA 01730 - Phone: (617) 275-2400 + Phone: +1 617 275 2400 Email: swillis@baynetworks.com John Burruss BayNetworks 15 Crosby Drive Bedford, MA 01730 - Phone: (617) 275-2400 + Phone: +1 617 275 2400 Email: jburruss@baynetworks.com -Expiration Date May 1996 [Page 20]FORMFEED John Chu - IBM Corp. + IBM Corporation P.O.Box 704 Yorktown Heights, NY 10598 - Phone: (914) 784-7839 + Phone: +1 914 784 7839 Email: jychu@watson.ibm.com -Expiration Date May 1996 [Page 21]FORMFEED + Jeff Johnson + cisco Systems + 170 W. Tasman Drive + San Jose, CA 95134 + + Phone: +1 408 526 7789 + Email: jjohnson@cisco.com