Definitions of Managed Objects for BGP-4
obsoletes
Extracted elements (28)
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.
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.
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.
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.
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.
The bgpRcvdPathAttrTable and all its objects are STATUS obsolete, covering BGP version 3 and earlier peers; the bgp4PathAttrTable replaces it for BGP-4 peers.
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.
bgpPeerIdentifier MUST be 0.0.0.0 unless the bgpPeerState is in the openconfirm or established state.
bgpPeerKeepAlive MUST be zero if the KeepAlive timer has not been established with the peer, or if bgpPeerKeepAliveConfigured is zero.
bgpPeerNegotiatedVersion MUST be zero (0) unless bgpPeerState is in the openconfirm or established state; legal non-zero values are 1–255.
If the ATOMIC_AGGREGATE path attribute is present, bgp4PathAttrAtomicAggregate MUST be 'lessSpecificRouteNotSelected(1)'; if absent, it MUST be 'lessSpecificRouteSelected(2)'.
bgp4PathAttrAtomicAggregate enumerates lessSpecificRouteNotSelected(1) and lessSpecificRouteSelected(2), correcting a typo in RFC 1657. ATOMIC_AGGREGATE is described as now primarily an informational attribute.
bgp4PathAttrMultiExitDisc uses Integer32 (-1..2147483647); a value of -1 indicates the attribute is absent. bgp4PathAttrLocalPref and bgp4PathAttrCalcLocalPref use the same -1 sentinel for absence.
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.
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.
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.
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.
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.
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}.
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.
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.
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.
Misconfiguration of bgpPeerMinASOriginationInterval and bgpPeerMinRouteAdvertisementInterval may adversely affect global Internet route convergence, potentially causing long-lived routing loops and traffic blackholes.
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.
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.
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).
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.
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.