1 BGP4-MIB DEFINITIONS ::= BEGIN
4 MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
5 IpAddress, Integer32, Counter32, Gauge32, mib-2
7 MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
11 LAST-UPDATED "9902100000Z"
12 ORGANIZATION "IETF IDR Working Group"
13 CONTACT-INFO "E-mail: idr@merit.net
19 Ann Arbor, MI 48105-2785
25 RedBack Networks, Inc.
26 1389 Moffett Park Drive
27 Sunnyvale, CA 94089-1134
30 E-mail: jeff@redback.com"
32 "The MIB module for BGP-4."
33 REVISION "9902100000Z"
35 "Corrected duplicate OBJECT IDENTIFIER
36 assignment in the conformance information."
37 REVISION "9601080000Z"
39 "1) Fixed the definitions of the traps to
40 make them equivalent to their initial
41 definition in RFC 1269.
42 2) Added compliance and conformance info."
45 bgpVersion OBJECT-TYPE
46 SYNTAX OCTET STRING (SIZE (1..255))
50 "Vector of supported BGP protocol version
51 numbers. Each peer negotiates the version
52 from this vector. Versions are identified
53 via the string of bits contained within this
54 object. The first octet contains bits 0 to
55 7, the second octet contains bits 8 to 15,
56 and so on, with the most significant bit
57 referring to the lowest bit number in the
58 octet (e.g., the MSB of the first octet
59 refers to bit 0). If a bit, i, is present
60 and set, then the version (i+1) of the BGP
64 bgpLocalAs OBJECT-TYPE
65 SYNTAX INTEGER (0..65535)
69 "The local autonomous system number."
74 -- BGP Peer table. This table contains, one entry per BGP
75 -- peer, information about the BGP peer.
77 bgpPeerTable OBJECT-TYPE
78 SYNTAX SEQUENCE OF BgpPeerEntry
79 MAX-ACCESS not-accessible
82 "BGP peer table. This table contains,
83 one entry per BGP peer, information about the
84 connections with BGP peers."
87 bgpPeerEntry OBJECT-TYPE
89 MAX-ACCESS not-accessible
92 "Entry containing information about the
93 connection with a BGP peer."
94 INDEX { bgpPeerRemoteAddr }
95 ::= { bgpPeerTable 1 }
97 BgpPeerEntry ::= SEQUENCE {
104 bgpPeerNegotiatedVersion
120 bgpPeerInTotalMessages
122 bgpPeerOutTotalMessages
126 bgpPeerFsmEstablishedTransitions
128 bgpPeerFsmEstablishedTime
130 bgpPeerConnectRetryInterval
136 bgpPeerHoldTimeConfigured
138 bgpPeerKeepAliveConfigured
140 bgpPeerMinASOriginationInterval
142 bgpPeerMinRouteAdvertisementInterval
144 bgpPeerInUpdateElapsedTime
148 bgpPeerIdentifier OBJECT-TYPE
153 "The BGP Identifier of this entry's BGP peer."
154 ::= { bgpPeerEntry 1 }
156 bgpPeerState OBJECT-TYPE
168 "The BGP peer connection state."
169 ::= { bgpPeerEntry 2 }
171 bgpPeerAdminStatus OBJECT-TYPE
176 MAX-ACCESS read-write
179 "The desired state of the BGP connection. A
180 transition from 'stop' to 'start' will cause
181 the BGP Start Event to be generated. A
182 transition from 'start' to 'stop' will cause
183 the BGP Stop Event to be generated. This
184 parameter can be used to restart BGP peer
185 connections. Care should be used in providing
186 write access to this object without adequate
188 ::= { bgpPeerEntry 3 }
190 bgpPeerNegotiatedVersion OBJECT-TYPE
195 "The negotiated version of BGP running between
197 ::= { bgpPeerEntry 4 }
199 bgpPeerLocalAddr OBJECT-TYPE
204 "The local IP address of this entry's BGP
206 ::= { bgpPeerEntry 5 }
208 bgpPeerLocalPort OBJECT-TYPE
209 SYNTAX INTEGER (0..65535)
213 "The local port for the TCP connection between
215 ::= { bgpPeerEntry 6 }
217 bgpPeerRemoteAddr OBJECT-TYPE
222 "The remote IP address of this entry's BGP
224 ::= { bgpPeerEntry 7 }
226 bgpPeerRemotePort OBJECT-TYPE
227 SYNTAX INTEGER (0..65535)
231 "The remote port for the TCP connection between
232 the BGP peers. Note that the objects
233 bgpPeerLocalAddr, bgpPeerLocalPort,
234 bgpPeerRemoteAddr and bgpPeerRemotePort
235 provide the appropriate reference to the
236 standard MIB TCP connection table."
237 ::= { bgpPeerEntry 8 }
239 bgpPeerRemoteAs OBJECT-TYPE
240 SYNTAX INTEGER (0..65535)
244 "The remote autonomous system number."
245 ::= { bgpPeerEntry 9 }
247 bgpPeerInUpdates OBJECT-TYPE
252 "The number of BGP UPDATE messages received on
253 this connection. This object should be
254 initialized to zero (0) when the connection is
256 ::= { bgpPeerEntry 10 }
258 bgpPeerOutUpdates OBJECT-TYPE
263 "The number of BGP UPDATE messages transmitted
264 on this connection. This object should be
265 initialized to zero (0) when the connection is
267 ::= { bgpPeerEntry 11 }
269 bgpPeerInTotalMessages OBJECT-TYPE
274 "The total number of messages received from the
275 remote peer on this connection. This object
276 should be initialized to zero when the
277 connection is established."
278 ::= { bgpPeerEntry 12 }
280 bgpPeerOutTotalMessages OBJECT-TYPE
285 "The total number of messages transmitted to
286 the remote peer on this connection. This object
287 should be initialized to zero when the
288 connection is established."
289 ::= { bgpPeerEntry 13 }
291 bgpPeerLastError OBJECT-TYPE
292 SYNTAX OCTET STRING (SIZE (2))
296 "The last error code and subcode seen by this
297 peer on this connection. If no error has
298 occurred, this field is zero. Otherwise, the
299 first byte of this two byte OCTET STRING
300 contains the error code, and the second byte
301 contains the subcode."
302 ::= { bgpPeerEntry 14 }
304 bgpPeerFsmEstablishedTransitions OBJECT-TYPE
309 "The total number of times the BGP FSM
310 transitioned into the established state."
311 ::= { bgpPeerEntry 15 }
313 bgpPeerFsmEstablishedTime OBJECT-TYPE
318 "This timer indicates how long (in seconds) this
319 peer has been in the Established state or how long
320 since this peer was last in the Established state.
321 It is set to zero when a new peer is configured or
322 the router is booted."
323 ::= { bgpPeerEntry 16 }
325 bgpPeerConnectRetryInterval OBJECT-TYPE
326 SYNTAX INTEGER (1..65535)
327 MAX-ACCESS read-write
330 "Time interval in seconds for the ConnectRetry
331 timer. The suggested value for this timer is
333 ::= { bgpPeerEntry 17 }
335 bgpPeerHoldTime OBJECT-TYPE
336 SYNTAX INTEGER ( 0 | 3..65535 )
340 "Time interval in seconds for the Hold Timer
341 established with the peer. The value of this
342 object is calculated by this BGP speaker by
343 using the smaller of the value in
344 bgpPeerHoldTimeConfigured and the Hold Time
345 received in the OPEN message. This value
346 must be at lease three seconds if it is not
347 zero (0) in which case the Hold Timer has
348 not been established with the peer, or, the
349 value of bgpPeerHoldTimeConfigured is zero (0)."
350 ::= { bgpPeerEntry 18 }
352 bgpPeerKeepAlive OBJECT-TYPE
353 SYNTAX INTEGER ( 0 | 1..21845 )
357 "Time interval in seconds for the KeepAlive
358 timer established with the peer. The value of
359 this object is calculated by this BGP speaker
360 such that, when compared with bgpPeerHoldTime,
361 it has the same proportion as what
362 bgpPeerKeepAliveConfigured has when compared
363 with bgpPeerHoldTimeConfigured. If the value
364 of this object is zero (0), it indicates that
365 the KeepAlive timer has not been established
366 with the peer, or, the value of
367 bgpPeerKeepAliveConfigured is zero (0)."
368 ::= { bgpPeerEntry 19 }
370 bgpPeerHoldTimeConfigured OBJECT-TYPE
371 SYNTAX INTEGER ( 0 | 3..65535 )
372 MAX-ACCESS read-write
375 "Time interval in seconds for the Hold Time
376 configured for this BGP speaker with this peer.
377 This value is placed in an OPEN message sent to
378 this peer by this BGP speaker, and is compared
379 with the Hold Time field in an OPEN message
380 received from the peer when determining the Hold
381 Time (bgpPeerHoldTime) with the peer. This value
382 must not be less than three seconds if it is not
383 zero (0) in which case the Hold Time is NOT to be
384 established with the peer. The suggested value for
385 this timer is 90 seconds."
386 ::= { bgpPeerEntry 20 }
388 bgpPeerKeepAliveConfigured OBJECT-TYPE
389 SYNTAX INTEGER ( 0 | 1..21845 )
390 MAX-ACCESS read-write
393 "Time interval in seconds for the KeepAlive timer
394 configured for this BGP speaker with this peer.
395 The value of this object will only determine the
396 KEEPALIVE messages' frequency relative to the value
397 specified in bgpPeerHoldTimeConfigured; the actual
398 time interval for the KEEPALIVE messages is
399 indicated by bgpPeerKeepAlive. A reasonable
400 maximum value for this timer would be configured to
401 be one third of that of bgpPeerHoldTimeConfigured.
402 If the value of this object is zero (0), no
403 periodical KEEPALIVE messages are sent to the peer
404 after the BGP connection has been established. The
405 suggested value for this timer is 30 seconds."
406 ::= { bgpPeerEntry 21 }
408 bgpPeerMinASOriginationInterval OBJECT-TYPE
409 SYNTAX INTEGER (1..65535)
410 MAX-ACCESS read-write
413 "Time interval in seconds for the
414 MinASOriginationInterval timer.
415 The suggested value for this timer is 15 seconds."
416 ::= { bgpPeerEntry 22 }
418 bgpPeerMinRouteAdvertisementInterval OBJECT-TYPE
419 SYNTAX INTEGER (1..65535)
420 MAX-ACCESS read-write
423 "Time interval in seconds for the
424 MinRouteAdvertisementInterval timer.
425 The suggested value for this timer is 30 seconds."
426 ::= { bgpPeerEntry 23 }
428 bgpPeerInUpdateElapsedTime OBJECT-TYPE
433 "Elapsed time in seconds since the last BGP
434 UPDATE message was received from the peer.
435 Each time bgpPeerInUpdates is incremented,
436 the value of this object is set to zero (0)."
437 ::= { bgpPeerEntry 24 }
441 bgpIdentifier OBJECT-TYPE
446 "The BGP Identifier of local system."
451 -- Received Path Attribute Table. This table contains,
452 -- one entry per path to a network, path attributes
453 -- received from all peers running BGP version 3 or less.
454 -- This table is obsolete, having been replaced in
455 -- functionality with the bgp4PathAttrTable.
457 bgpRcvdPathAttrTable OBJECT-TYPE
458 SYNTAX SEQUENCE OF BgpPathAttrEntry
459 MAX-ACCESS not-accessible
462 "The BGP Received Path Attribute Table contains
463 information about paths to destination networks
464 received from all peers running BGP version 3 or
468 bgpPathAttrEntry OBJECT-TYPE
469 SYNTAX BgpPathAttrEntry
470 MAX-ACCESS not-accessible
473 "Information about a path to a network."
474 INDEX { bgpPathAttrDestNetwork,
476 ::= { bgpRcvdPathAttrTable 1 }
478 BgpPathAttrEntry ::= SEQUENCE {
481 bgpPathAttrDestNetwork
489 bgpPathAttrInterASMetric
493 bgpPathAttrPeer OBJECT-TYPE
498 "The IP address of the peer where the path
499 information was learned."
500 ::= { bgpPathAttrEntry 1 }
502 bgpPathAttrDestNetwork OBJECT-TYPE
507 "The address of the destination network."
508 ::= { bgpPathAttrEntry 2 }
510 bgpPathAttrOrigin OBJECT-TYPE
512 igp(1),-- networks are interior
513 egp(2),-- networks learned via EGP
514 incomplete(3) -- undetermined
519 "The ultimate origin of the path information."
520 ::= { bgpPathAttrEntry 3 }
522 bgpPathAttrASPath OBJECT-TYPE
523 SYNTAX OCTET STRING (SIZE (2..255))
527 "The set of ASs that must be traversed to reach
528 the network. This object is probably best
529 represented as SEQUENCE OF INTEGER. For SMI
530 compatibility, though, it is represented as
531 OCTET STRING. Each AS is represented as a pair
532 of octets according to the following algorithm:
534 first-byte-of-pair = ASNumber / 256;
535 second-byte-of-pair = ASNumber & 255;"
536 ::= { bgpPathAttrEntry 4 }
538 bgpPathAttrNextHop OBJECT-TYPE
543 "The address of the border router that should
544 be used for the destination network."
545 ::= { bgpPathAttrEntry 5 }
547 bgpPathAttrInterASMetric OBJECT-TYPE
552 "The optional inter-AS metric. If this
553 attribute has not been provided for this route,
554 the value for this object is 0."
555 ::= { bgpPathAttrEntry 6 }
559 -- BGP-4 Received Path Attribute Table. This table contains,
560 -- one entry per path to a network, path attributes
561 -- received from all peers running BGP-4.
563 bgp4PathAttrTable OBJECT-TYPE
564 SYNTAX SEQUENCE OF Bgp4PathAttrEntry
565 MAX-ACCESS not-accessible
568 "The BGP-4 Received Path Attribute Table contains
569 information about paths to destination networks
570 received from all BGP4 peers."
573 bgp4PathAttrEntry OBJECT-TYPE
574 SYNTAX Bgp4PathAttrEntry
575 MAX-ACCESS not-accessible
578 "Information about a path to a network."
579 INDEX { bgp4PathAttrIpAddrPrefix,
580 bgp4PathAttrIpAddrPrefixLen,
582 ::= { bgp4PathAttrTable 1 }
584 Bgp4PathAttrEntry ::= SEQUENCE {
587 bgp4PathAttrIpAddrPrefixLen
589 bgp4PathAttrIpAddrPrefix
593 bgp4PathAttrASPathSegment
597 bgp4PathAttrMultiExitDisc
599 bgp4PathAttrLocalPref
601 bgp4PathAttrAtomicAggregate
603 bgp4PathAttrAggregatorAS
605 bgp4PathAttrAggregatorAddr
607 bgp4PathAttrCalcLocalPref
615 bgp4PathAttrPeer OBJECT-TYPE
620 "The IP address of the peer where the path
621 information was learned."
622 ::= { bgp4PathAttrEntry 1 }
623 bgp4PathAttrIpAddrPrefixLen OBJECT-TYPE
624 SYNTAX INTEGER (0..32)
628 "Length in bits of the IP address prefix in the
629 Network Layer Reachability Information field."
630 ::= { bgp4PathAttrEntry 2 }
632 bgp4PathAttrIpAddrPrefix OBJECT-TYPE
637 "An IP address prefix in the Network Layer
638 Reachability Information field. This object
639 is an IP address containing the prefix with
640 length specified by bgp4PathAttrIpAddrPrefixLen.
641 Any bits beyond the length specified by
642 bgp4PathAttrIpAddrPrefixLen are zeroed."
643 ::= { bgp4PathAttrEntry 3 }
645 bgp4PathAttrOrigin OBJECT-TYPE
647 igp(1),-- networks are interior
648 egp(2),-- networks learned via EGP
649 incomplete(3) -- undetermined
654 "The ultimate origin of the path information."
655 ::= { bgp4PathAttrEntry 4 }
657 bgp4PathAttrASPathSegment OBJECT-TYPE
658 SYNTAX OCTET STRING (SIZE (2..255))
662 "The sequence of AS path segments. Each AS
663 path segment is represented by a triple
664 <type, length, value>.
666 The type is a 1-octet field which has two
668 1 AS_SET: unordered set of ASs a
669 route in the UPDATE message
671 2 AS_SEQUENCE: ordered set of ASs
672 a route in the UPDATE message
675 The length is a 1-octet field containing the
676 number of ASs in the value field.
678 The value field contains one or more AS
679 numbers, each AS is represented in the octet
680 string as a pair of octets according to the
683 first-byte-of-pair = ASNumber / 256;
684 second-byte-of-pair = ASNumber & 255;"
685 ::= { bgp4PathAttrEntry 5 }
687 bgp4PathAttrNextHop OBJECT-TYPE
692 "The address of the border router that should
693 be used for the destination network."
694 ::= { bgp4PathAttrEntry 6 }
696 bgp4PathAttrMultiExitDisc OBJECT-TYPE
697 SYNTAX INTEGER (-1..2147483647)
701 "This metric is used to discriminate between
702 multiple exit points to an adjacent autonomous
703 system. A value of -1 indicates the absence of
705 ::= { bgp4PathAttrEntry 7 }
707 bgp4PathAttrLocalPref OBJECT-TYPE
708 SYNTAX INTEGER (-1..2147483647)
712 "The originating BGP4 speaker's degree of
713 preference for an advertised route. A value of
714 -1 indicates the absence of this attribute."
715 ::= { bgp4PathAttrEntry 8 }
717 bgp4PathAttrAtomicAggregate OBJECT-TYPE
719 lessSpecificRrouteNotSelected(1),
720 lessSpecificRouteSelected(2)
725 "Whether or not a system has selected
726 a less specific route without selecting a
727 more specific route."
728 ::= { bgp4PathAttrEntry 9 }
730 bgp4PathAttrAggregatorAS OBJECT-TYPE
731 SYNTAX INTEGER (0..65535)
735 "The AS number of the last BGP4 speaker that
736 performed route aggregation. A value of zero (0)
737 indicates the absence of this attribute."
738 ::= { bgp4PathAttrEntry 10 }
740 bgp4PathAttrAggregatorAddr OBJECT-TYPE
745 "The IP address of the last BGP4 speaker that
746 performed route aggregation. A value of
747 0.0.0.0 indicates the absence of this attribute."
748 ::= { bgp4PathAttrEntry 11 }
750 bgp4PathAttrCalcLocalPref OBJECT-TYPE
751 SYNTAX INTEGER (-1..2147483647)
755 "The degree of preference calculated by the
756 receiving BGP4 speaker for an advertised route.
757 A value of -1 indicates the absence of this
759 ::= { bgp4PathAttrEntry 12 }
761 bgp4PathAttrBest OBJECT-TYPE
763 false(1),-- not chosen as best route
764 true(2) -- chosen as best route
769 "An indication of whether or not this route
770 was chosen as the best BGP4 route."
771 ::= { bgp4PathAttrEntry 13 }
773 bgp4PathAttrUnknown OBJECT-TYPE
774 SYNTAX OCTET STRING (SIZE(0..255))
778 "One or more path attributes not understood
779 by this BGP4 speaker. Size zero (0) indicates
780 the absence of such attribute(s). Octets
781 beyond the maximum size, if any, are not
782 recorded by this object."
783 ::= { bgp4PathAttrEntry 14 }
788 -- note that in RFC 1657, bgpTraps was incorrectly
789 -- assigned a value of { bgp 7 }, and each of the
790 -- traps had the bgpPeerRemoteAddr object inappropriately
791 -- removed from their OBJECTS clause. The following
792 -- definitions restore the semantics of the traps as
793 -- they were initially defined in RFC 1269.
795 -- { bgp 7 } is unused
797 bgpTraps OBJECT IDENTIFIER ::= { bgp 0 }
799 bgpEstablished NOTIFICATION-TYPE
800 OBJECTS { bgpPeerRemoteAddr,
805 "The BGP Established event is generated when
806 the BGP FSM enters the ESTABLISHED state."
809 bgpBackwardTransition NOTIFICATION-TYPE
810 OBJECTS { bgpPeerRemoteAddr,
815 "The BGPBackwardTransition Event is generated
816 when the BGP FSM moves from a higher numbered
817 state to a lower numbered state."
820 -- conformance information
822 bgpMIBConformance OBJECT IDENTIFIER ::= { bgp 8 }
823 bgpMIBCompliances OBJECT IDENTIFIER ::= { bgpMIBConformance 1 }
824 bgpMIBGroups OBJECT IDENTIFIER ::= { bgpMIBConformance 2 }
826 -- compliance statements
828 bgpMIBCompliance MODULE-COMPLIANCE
831 "The compliance statement for entities which
832 implement the BGP4 mib."
833 MODULE -- this module
834 MANDATORY-GROUPS { bgp4MIBGlobalsGroup,
836 bgp4MIBPathAttrGroup,
837 bgp4MIBNotificationGroup }
838 ::= { bgpMIBCompliances 1 }
840 -- units of conformance
842 bgp4MIBGlobalsGroup OBJECT-GROUP
843 OBJECTS { bgpVersion,
848 "A collection of objects providing information
849 on global BGP state."
850 ::= { bgpMIBGroups 1 }
852 bgp4MIBPeerGroup OBJECT-GROUP
853 OBJECTS { bgpPeerIdentifier,
856 bgpPeerNegotiatedVersion,
864 bgpPeerInTotalMessages,
865 bgpPeerOutTotalMessages,
867 bgpPeerFsmEstablishedTransitions,
868 bgpPeerFsmEstablishedTime,
869 bgpPeerConnectRetryInterval,
872 bgpPeerHoldTimeConfigured,
873 bgpPeerKeepAliveConfigured,
874 bgpPeerMinASOriginationInterval,
875 bgpPeerMinRouteAdvertisementInterval,
876 bgpPeerInUpdateElapsedTime }
879 "A collection of objects for managing
881 ::= { bgpMIBGroups 2 }
883 bgp4MIBRcvdPathAttrGroup OBJECT-GROUP
884 OBJECTS { bgpPathAttrPeer,
885 bgpPathAttrDestNetwork,
889 bgpPathAttrInterASMetric }
892 "A collection of objects for managing BGP
895 This conformance group is obsolete,
896 replaced by bgp4MIBPathAttrGroup."
897 ::= { bgpMIBGroups 3 }
899 bgp4MIBPathAttrGroup OBJECT-GROUP
900 OBJECTS { bgp4PathAttrPeer,
901 bgp4PathAttrIpAddrPrefixLen,
902 bgp4PathAttrIpAddrPrefix,
904 bgp4PathAttrASPathSegment,
906 bgp4PathAttrMultiExitDisc,
907 bgp4PathAttrLocalPref,
908 bgp4PathAttrAtomicAggregate,
909 bgp4PathAttrAggregatorAS,
910 bgp4PathAttrAggregatorAddr,
911 bgp4PathAttrCalcLocalPref,
913 bgp4PathAttrUnknown }
916 "A collection of objects for managing
918 ::= { bgpMIBGroups 4 }
920 bgp4MIBNotificationGroup NOTIFICATION-GROUP
921 NOTIFICATIONS { bgpEstablished,
922 bgpBackwardTransition }
925 "A collection of notifications for signaling
926 changes in BGP peer relationships."
927 ::= { bgpMIBGroups 5 }