rfc-4273

Definitions of Managed Objects for BGP-4

J. Haas (Editor), S. Hares (Editor)
date2006-01 streamIETF areartg wgidr statusPROPOSED STANDARD pages32 canonicalhttps://www.rfc-editor.org/rfc/rfc4273 doi10.17487/RFC4273 errataview
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 or lower. The origin of this memo is from RFC 1269 "Definitions of Managed Objects for the Border Gateway Protocol (Version 3)", which was updated to support BGP-4 in RFC 1657. This memo fixes errors introduced when the MIB module was converted to use the SMIv2 language. This memo also updates references to the current SNMP framework documents. This memo is intended to document deployed implementations of this MIB module in a historical context, to provide clarifications of some items, and to note errors where the MIB module fails to fully represent the BGP protocol. Work is currently in progress to replace this MIB module with a new one representing the current state of the BGP protocol and its extensions. This document obsoletes RFC 1269 and RFC 1657. [STANDARDS-TRACK]

obsoletes

Extracted elements (28)

design-rationale §4

RFC 1657 incorrectly placed bgpTraps at { bgp 7 } and removed bgpPeerRemoteAddr from notification OBJECTS clauses. RFC 4273 restores RFC 1269 semantics by defining new notifications at { bgp 0 } (bgpNotification) and deprecating the { bgp 7 } branch entirely.

bgp, routing, snmp

design-rationale §4

The DESCRIPTION clauses for bgpPeerInUpdates, bgpPeerOutUpdates, bgpPeerInTotalMessages, and bgpPeerOutTotalMessages were revised to remove text implying counters are reset to zero on transition to established state; applications must not assume counters start at zero.

bgp, routing

interoperability-note §4

bgp4PathAttrASPathSegment is capped at 255 octets; AS paths longer than 255 octets will be silently truncated in the MIB. Additionally, BGP Confederation segment types 3 and 4 appear in the field but are not described by this object's definition.

bgp, routing

interoperability-note §4

bgp4PathAttrMultiExitDisc, bgp4PathAttrLocalPref, and bgp4PathAttrCalcLocalPref use signed Integer32, but the BGP-4 protocol uses unsigned 32-bit values; values above 2147483647 cannot be represented in this MIB.

bgp, routing

interoperability-note §4

bgp4PathAttrUnknown records path attributes not understood by the local speaker, but attributes that are understood but not represented in this MIB are unavailable to the SNMP agent — a known coverage gap.

bgp, routing, snmp

interoperability-note §4

The bgpRcvdPathAttrTable and all its objects are STATUS obsolete, covering BGP version 3 and earlier peers; the bgp4PathAttrTable replaces it for BGP-4 peers.

bgp, routing

normative-requirement §4 MUST

bgpPeerHoldTime MUST be zero if the Hold Timer has not been established with the peer, or if bgpPeerHoldTimeConfigured is zero. If non-zero, the value must be at least three seconds.

bgp, routing

normative-requirement §4 MUST

bgpPeerIdentifier MUST be 0.0.0.0 unless the bgpPeerState is in the openconfirm or established state.

bgp, routing

normative-requirement §4 MUST

bgpPeerKeepAlive MUST be zero if the KeepAlive timer has not been established with the peer, or if bgpPeerKeepAliveConfigured is zero.

bgp, routing

normative-requirement §4 MUST

bgpPeerNegotiatedVersion MUST be zero (0) unless bgpPeerState is in the openconfirm or established state; legal non-zero values are 1–255.

bgp, routing

normative-requirement §4 MUST

If the ATOMIC_AGGREGATE path attribute is present, bgp4PathAttrAtomicAggregate MUST be 'lessSpecificRouteNotSelected(1)'; if absent, it MUST be 'lessSpecificRouteSelected(2)'.

bgp, routing

protocol-element §4

bgp4PathAttrAtomicAggregate enumerates lessSpecificRouteNotSelected(1) and lessSpecificRouteSelected(2), correcting a typo in RFC 1657. ATOMIC_AGGREGATE is described as now primarily an informational attribute.

bgp, routing

protocol-element §4

bgp4PathAttrMultiExitDisc uses Integer32 (-1..2147483647); a value of -1 indicates the attribute is absent. bgp4PathAttrLocalPref and bgp4PathAttrCalcLocalPref use the same -1 sentinel for absence.

bgp, routing

protocol-element §4

bgp4PathAttrUnknown is an OCTET STRING (SIZE 0..255) recording unrecognized path attributes in type-length-value format. Size zero means no unknown attributes; octets beyond 255 are silently dropped.

bgp, routing

protocol-element §4

bgpEstablishedNotification fires when the BGP FSM enters established state; bgpBackwardTransNotification fires when the FSM moves from a higher-numbered to a lower-numbered state. Both carry bgpPeerRemoteAddr, bgpPeerLastError, and bgpPeerState.

bgp, routing, snmp

protocol-element §4

bgpPeerAdminStatus is a read-write object with values stop(1) and start(2). Transitioning from stop to start issues a BGP Manual Start Event; start to stop issues a Manual Stop Event, enabling operator-initiated peer restarts via SNMP.

bgp, routing, snmp

protocol-element §4

bgpPeerFsmEstablishedTime (Gauge32, seconds) indicates how long the peer has been continuously in the established state, or the elapsed time since it last was; reset to zero on peer creation or router boot.

bgp, routing

protocol-element §4

bgpPeerLastError is a 2-byte OCTET STRING: the first byte is the BGP error code and the second is the subcode as defined in RFC 4271 Section 4.5. The value is zero when no error has occurred.

bgp, routing

protocol-element §4

The BGP-4 Received Path Attribute Table (bgp4PathAttrTable, { bgp 6 }) contains one entry per destination prefix per BGP-4 peer, indexed by {bgp4PathAttrIpAddrPrefix, bgp4PathAttrIpAddrPrefixLen, bgp4PathAttrPeer}.

bgp, routing, snmp

protocol-element §4

The BGP Peer Table (bgpPeerTable, OID { bgp 3 }) holds one row per BGP peer indexed by bgpPeerRemoteAddr, recording connection state, timers, message counters, last error, and FSM transition history.

bgp, routing, snmp

security-consideration §5

Improper SNMP write access to bgpPeerAdminStatus (stopping a peer) can cause significant disruption of connectivity to portions of the Internet reachable via that BGP peer. Write access must be protected with adequate authentication.

bgp, security, routing

security-consideration §5

Misconfiguration of bgpPeerHoldTimeConfigured and bgpPeerKeepAliveConfigured via SNMP SET can make BGP sessions more fragile and less resilient to denial-of-service attacks against inter-domain routing.

bgp, security, routing

security-consideration §5

Misconfiguration of bgpPeerMinASOriginationInterval and bgpPeerMinRouteAdvertisementInterval may adversely affect global Internet route convergence, potentially causing long-lived routing loops and traffic blackholes.

bgp, security, routing

security-consideration §5

SNMPv3 with full cryptographic mechanisms is RECOMMENDED; deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. BGP peer local and remote IP addresses are sensitive for ISPs and should have controlled read access and encrypted transport.

bgp, security, snmp

state-machine §4

The bgpPeerState object models the BGP FSM with six states: idle(1), connect(2), active(3), opensent(4), openconfirm(5), and established(6), mirroring the RFC 4271 Section 8.2.2 FSM. Notifications fire on entry to established and on backward transitions.

bgp, routing

wire-format §4

bgp4PathAttrASPathSegment is an OCTET STRING (SIZE 2..255) encoding AS path segments as <type(1 octet), length(1 octet), value> triples. Type 1 = AS_SET, type 2 = AS_SEQUENCE; each AS number is stored as two octets: (ASNumber/256, ASNumber & 255).

bgp, routing

wire-format §4

bgpPeerLastError encodes the BGP error notification as a 2-octet OCTET STRING: octet 1 is the error code, octet 2 is the subcode; the field is all-zeros when no error has been received.

bgp, routing

wire-format §4

bgpVersion is an OCTET STRING (SIZE 1..255) encoding a bit vector of supported BGP versions. The first octet holds bits 0–7 (MSB = bit 0); if bit i is set, version i+1 is supported.

bgp, routing