From 98a672123c7872f6b9b75a9a2b6bb3aea504de6a Mon Sep 17 00:00:00 2001 From: David Leutgeb Date: Tue, 5 Dec 2023 12:25:34 +0100 Subject: Initial commit --- MIBS/arista/ARISTA-BGP4V2-MIB | 1784 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1784 insertions(+) create mode 100644 MIBS/arista/ARISTA-BGP4V2-MIB (limited to 'MIBS/arista/ARISTA-BGP4V2-MIB') diff --git a/MIBS/arista/ARISTA-BGP4V2-MIB b/MIBS/arista/ARISTA-BGP4V2-MIB new file mode 100644 index 0000000..f107824 --- /dev/null +++ b/MIBS/arista/ARISTA-BGP4V2-MIB @@ -0,0 +1,1784 @@ +-- extracted from draft-ietf-idr-bgp4-mibv2-13.txt +-- at Tue Mar 13 06:12:27 2012 + +-- Renumbered to sit underneath Arista's enterprise, and +-- renamed aristaBgp4V2. + +ARISTA-BGP4V2-MIB DEFINITIONS ::= BEGIN + + IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, + Counter32, Gauge32, Unsigned32 + FROM SNMPv2-SMI + InetAddressType, InetAddress, InetPortNumber, + InetAutonomousSystemNumber, InetAddressPrefixLength + FROM INET-ADDRESS-MIB + TruthValue, RowPointer, TimeStamp + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF + SnmpAdminString + FROM SNMP-FRAMEWORK-MIB + aristaExperiment FROM ARISTA-SMI-MIB + AristaBgp4V2IdentifierTC, AristaBgp4V2AddressFamilyIdentifierTC, + AristaBgp4V2SubsequentAddressFamilyIdentifierTC + FROM ARISTA-BGP4V2-TC-MIB; + + aristaBgp4V2 MODULE-IDENTITY + LAST-UPDATED "201408150000Z" + ORGANIZATION "Arista Networks, Inc." + CONTACT-INFO + "Arista Networks, Inc. + + Postal: 5453 Great America Parkway + Santa Clara, CA 95054 + + Tel: +1 408 547-5500 + + E-mail: snmp@arista.com" + DESCRIPTION + "The MIB module for the BGP-4 protocol. + This version was published in + draft-ietf-idr-bgp4-mibv2-13, and + modified to be homed inside the Arista + enterprise. There were no other + modifications. + + Copyright (C) The IETF Trust (2012). This + version of this MIB module is part of + draft-ietf-idr-bgp4-mibv2-13.txt; + see the draft itself for full legal notices." + + REVISION "201408150000Z" + DESCRIPTION + "Updated postal and e-mail addresses." + REVISION "201210190000Z" + DESCRIPTION + "Renumbered inside the Arista enterprise space." + REVISION "201203110000Z" + DESCRIPTION + "This MIB updates and replaces the BGP MIB defined in + RFC 4273." + ::= { aristaExperiment 1 } + + -- Top level components of this MIB module + + -- Notifications + aristaBgp4V2Notifications OBJECT IDENTIFIER ::= { aristaBgp4V2 0 } + + -- Objects + aristaBgp4V2Objects OBJECT IDENTIFIER ::= { aristaBgp4V2 1 } + + -- Conformance + aristaBgp4V2Conformance OBJECT IDENTIFIER ::= { aristaBgp4V2 2 } + + + -- + -- Per-instance BGP discontinuities + -- + + aristaBgp4V2DiscontinuityTable OBJECT-TYPE + SYNTAX SEQUENCE OF AristaBgp4V2DiscontinuityEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Table of BGP-4 discontinuities. Discontinuities that have + external visibility occur on a per-BGP instance basis. + Transitions by a given BGP peer will result in a consistent + BGP view within that instance and thus do not represent a + discontinuity from a protocol standpoint." + ::= { aristaBgp4V2Objects 1 } + + aristaBgp4V2DiscontinuityEntry OBJECT-TYPE + SYNTAX AristaBgp4V2DiscontinuityEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Entry repsenting information about a discontinuity event + for a given BGP instance." + INDEX { + aristaBgp4V2PeerInstance + } + ::= { aristaBgp4V2DiscontinuityTable 1 } + + AristaBgp4V2DiscontinuityEntry ::= SEQUENCE { + aristaBgp4V2DiscontinuityTime + TimeStamp + } + + aristaBgp4V2DiscontinuityTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime at the most recent occasion at which + this BGP management instance has suffered a discontinuity." + ::= { aristaBgp4V2DiscontinuityEntry 1 } + + -- + -- Per-peer session management information. + -- + + aristaBgp4V2PeerTable OBJECT-TYPE + SYNTAX SEQUENCE OF AristaBgp4V2PeerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "BGP peer table. This table contains, one entry per BGP + peer, information about the connections with BGP peers." + ::= { aristaBgp4V2Objects 2 } + + aristaBgp4V2PeerEntry OBJECT-TYPE + SYNTAX AristaBgp4V2PeerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Entry containing information about the connection with + a remote BGP peer." + INDEX { + aristaBgp4V2PeerInstance, + aristaBgp4V2PeerRemoteAddrType, + aristaBgp4V2PeerRemoteAddr + } + ::= { aristaBgp4V2PeerTable 1 } + + AristaBgp4V2PeerEntry ::= SEQUENCE { + -- INDEX information + aristaBgp4V2PeerInstance + Unsigned32, + aristaBgp4V2PeerLocalAddrType + InetAddressType, + aristaBgp4V2PeerLocalAddr + InetAddress, + aristaBgp4V2PeerRemoteAddrType + InetAddressType, + aristaBgp4V2PeerRemoteAddr + InetAddress, + + -- Local + aristaBgp4V2PeerLocalPort + InetPortNumber, + aristaBgp4V2PeerLocalAs + InetAutonomousSystemNumber, + aristaBgp4V2PeerLocalIdentifier + AristaBgp4V2IdentifierTC, + + -- Remote + aristaBgp4V2PeerRemotePort + InetPortNumber, + aristaBgp4V2PeerRemoteAs + InetAutonomousSystemNumber, + aristaBgp4V2PeerRemoteIdentifier + AristaBgp4V2IdentifierTC, + + -- Session status + aristaBgp4V2PeerAdminStatus + INTEGER, + aristaBgp4V2PeerState + INTEGER, + aristaBgp4V2PeerDescription + SnmpAdminString + } + + aristaBgp4V2PeerInstance OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The routing instance index. + + Some BGP implementations permit the creation of + multiple instances of a BGP routing process. An + example includes routers running BGP/MPLS IP Virtual + Private Networks. + + Implementations that do not support multiple + routing instances should return 1 for this object." + ::= { aristaBgp4V2PeerEntry 1 } + + aristaBgp4V2PeerLocalAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address family of the local end of the peering + session." + ::= { aristaBgp4V2PeerEntry 2 } + + aristaBgp4V2PeerLocalAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The local IP address of this entry's BGP connection. + + An implementation is required to support IPv4 peering + sessions in which case the length of this object is 4. + An implementation MAY support IPv6 peering + sessions in which case the length of this object is 16. + IPv6 link-local peering sessions MAY be supported by + this MIB. In this case the length of this object is 20." + ::= { aristaBgp4V2PeerEntry 3 } + + aristaBgp4V2PeerRemoteAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address family of the remote end of the peering + session. + + An implementation is required to support IPv4 peering + sessions in which case the length of this object is 4. + An implementation MAY support IPv6 peering + sessions in which case the length of this object is 16. + IPv6 link-local peering sessions MAY be supported by + this MIB. In this case the length of this object is 20." + ::= { aristaBgp4V2PeerEntry 4 } + + aristaBgp4V2PeerRemoteAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The remote IP address of this entry's BGP peer." + ::= { aristaBgp4V2PeerEntry 5 } + + aristaBgp4V2PeerLocalPort OBJECT-TYPE + SYNTAX InetPortNumber + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The local port for the TCP connection between the BGP + peers." + ::= { aristaBgp4V2PeerEntry 6 } + + aristaBgp4V2PeerLocalAs OBJECT-TYPE + SYNTAX InetAutonomousSystemNumber + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Some implementations of BGP can represent themselves + as multiple ASes. This is the AS that this peering + session is representing itself as to the remote peer." + ::= { aristaBgp4V2PeerEntry 7 } + + aristaBgp4V2PeerLocalIdentifier OBJECT-TYPE + SYNTAX AristaBgp4V2IdentifierTC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The BGP Identifier of the local system for this peering + session. It is REQUIRED that all aristaBgp4V2PeerLocalIdentifier + values for the same aristaBgp4V2PeerInstance be identical." + REFERENCE + "RFC 4271, Section 4.2, 'BGP Identifier'." + ::= { aristaBgp4V2PeerEntry 8 } + + aristaBgp4V2PeerRemotePort OBJECT-TYPE + SYNTAX InetPortNumber + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The remote port for the TCP connection between the BGP + peers. + + Note that the objects aristaBgp4V2PeerLocalAddr, + aristaBgp4V2PeerLocalPort, aristaBgp4V2PeerRemoteAddr and + aristaBgp4V2PeerRemotePort provide the appropriate reference to + the standard MIB TCP connection table, or even the ipv6 + TCP MIB as in RFC 4022." + REFERENCE + "RFC 2012 - SNMPv2 Management Information Base for the + Transmission Control Protocol using SMIv2. + RFC 4022 - IP Version 6 Management Information Base + for the Transmission Control Protocol." + ::= { aristaBgp4V2PeerEntry 9 } + + aristaBgp4V2PeerRemoteAs OBJECT-TYPE + SYNTAX InetAutonomousSystemNumber + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The remote autonomous system number received in the BGP + OPEN message." + REFERENCE + "RFC 4271, Section 4.2." + ::= { aristaBgp4V2PeerEntry 10 } + + aristaBgp4V2PeerRemoteIdentifier OBJECT-TYPE + SYNTAX AristaBgp4V2IdentifierTC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The BGP Identifier of this entry's remote BGP peer. + + This entry should be 0.0.0.0 unless the + aristaBgp4V2PeerState is in the openconfirm or the + established state." + + REFERENCE + "RFC 4271, Section 4.2, 'BGP Identifier'." + ::= { aristaBgp4V2PeerEntry 11 } + + aristaBgp4V2PeerAdminStatus OBJECT-TYPE + SYNTAX INTEGER { + halted(1), + running(2) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Whether or not the BGP FSM for this remote peer is + halted or running. The BGP FSM for a remote peer is + halted after processing a Stop event. Likewise, it is + in the running state after a Start event. + + The aristaBgp4V2PeerState will generally be in the idle state + when the FSM is halted, although some extensions such + as Graceful Restart will leave the peer in the Idle + state but with the FSM running." + REFERENCE + "RFC 4271, Section 8.1.2." + ::= { aristaBgp4V2PeerEntry 12 } + + aristaBgp4V2PeerState OBJECT-TYPE + SYNTAX INTEGER { + idle(1), + connect(2), + active(3), + opensent(4), + openconfirm(5), + established(6) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The BGP peer connection state." + REFERENCE + "RFC 4271, Section 8.2.2." + ::= { aristaBgp4V2PeerEntry 13 } + + + aristaBgp4V2PeerDescription OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A user configured description identifying this peer. When + this object is not the empty string, this object SHOULD + contain a description that is unique within a given BGP + instance for this peer." + ::= { aristaBgp4V2PeerEntry 14 } + + + -- + -- Per-peer error management information. + -- + + aristaBgp4V2PeerErrorsTable OBJECT-TYPE + SYNTAX SEQUENCE OF AristaBgp4V2PeerErrorsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "On a per-peer basis, this table reflects the last + protocol-defined error encountered and reported on + the peer session." + ::= { aristaBgp4V2Objects 3 } + + aristaBgp4V2PeerErrorsEntry OBJECT-TYPE + SYNTAX AristaBgp4V2PeerErrorsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry contains information about errors sent + and received for a particular BGP peer." + AUGMENTS { + aristaBgp4V2PeerEntry + } + ::= { aristaBgp4V2PeerErrorsTable 1 } + + AristaBgp4V2PeerErrorsEntry ::= SEQUENCE { + aristaBgp4V2PeerLastErrorCodeReceived + Unsigned32, + aristaBgp4V2PeerLastErrorSubCodeReceived + Unsigned32, + aristaBgp4V2PeerLastErrorReceivedTime + TimeStamp, + aristaBgp4V2PeerLastErrorReceivedText + SnmpAdminString, + aristaBgp4V2PeerLastErrorReceivedData + OCTET STRING, + aristaBgp4V2PeerLastErrorCodeSent + Unsigned32, + aristaBgp4V2PeerLastErrorSubCodeSent + Unsigned32, + + aristaBgp4V2PeerLastErrorSentTime + TimeStamp, + aristaBgp4V2PeerLastErrorSentText + SnmpAdminString, + aristaBgp4V2PeerLastErrorSentData + OCTET STRING + } + + aristaBgp4V2PeerLastErrorCodeReceived OBJECT-TYPE + SYNTAX Unsigned32 (0..255) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The last error code received from this peer via + NOTIFICATION message on this connection. If no error has + occurred, this field is zero." + REFERENCE + "RFC 4271, Section 4.5. + RFC 4486 optionally supported. + RFC 3362, Section 5 optionally supported." + ::= { aristaBgp4V2PeerErrorsEntry 1 } + + aristaBgp4V2PeerLastErrorSubCodeReceived OBJECT-TYPE + SYNTAX Unsigned32 (0..255) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The last subcode received from this peer via NOTIFICATION + message on this connection. If no error has occurred, this + field is zero." + REFERENCE + "RFC 4271, Section 4.5. + RFC 4486 optionally supported. + RFC 3362, Section 5 optionally supported." + ::= { aristaBgp4V2PeerErrorsEntry 2 } + + aristaBgp4V2PeerLastErrorReceivedTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The timestamp that the last NOTIFICATION was received from + this peer." + REFERENCE + "RFC 4271, Section 4.5." + ::= { aristaBgp4V2PeerErrorsEntry 3 } + + aristaBgp4V2PeerLastErrorReceivedText OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an implementation specific + explanation of the error that was reported." + ::= { aristaBgp4V2PeerErrorsEntry 4 } + + aristaBgp4V2PeerLastErrorReceivedData OBJECT-TYPE + SYNTAX OCTET STRING (SIZE(0..4075)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The last error code's data seen by this peer. + + Per RFC 2578, some implementations may have limitations + dealing with OCTET STRINGS larger than 255. Thus, this + data may be truncated." + REFERENCE + "RFC 4271, Section 4.5, + RFC 2578, Section 7.1.2, + RFC 4486 optionally supported. + RFC 3362, Section 5 optionally supported." + ::= { aristaBgp4V2PeerErrorsEntry 5 } + + aristaBgp4V2PeerLastErrorCodeSent OBJECT-TYPE + SYNTAX Unsigned32 (0..255) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The last error code sent to this peer via NOTIFICATION + message on this connection. If no error has occurred, this + field is zero." + REFERENCE + "RFC 4271, Section 4.5. + RFC 4486 optionally supported. + RFC 3362, Section 5 optionally supported." + ::= { aristaBgp4V2PeerErrorsEntry 6 } + + aristaBgp4V2PeerLastErrorSubCodeSent OBJECT-TYPE + SYNTAX Unsigned32 (0..255) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The last subcode sent to this peer via NOTIFICATION + message on this connection. If no error has occurred, this + field is zero." + REFERENCE + "RFC 4271, Section 4.5. + RFC 4486 optionally supported. + RFC 3362, Section 5 optionally supported." + ::= { aristaBgp4V2PeerErrorsEntry 7 } + + aristaBgp4V2PeerLastErrorSentTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The timestamp that the last NOTIFICATION was sent to + this peer." + REFERENCE + "RFC 4271, Section 4.5." + ::= { aristaBgp4V2PeerErrorsEntry 8 } + + aristaBgp4V2PeerLastErrorSentText OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an implementation specific + explanation of the error that is being reported." + ::= { aristaBgp4V2PeerErrorsEntry 9 } + + aristaBgp4V2PeerLastErrorSentData OBJECT-TYPE + SYNTAX OCTET STRING (SIZE(0..4075)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The last error code's data sent to this peer. + + Per RFC 2578, some implementations may have limitations + dealing with OCTET STRINGS larger than 255. Thus, this + data may be truncated." + REFERENCE + "RFC 4271, Section 4.5, + RFC 2578, Section 7.1.2 + RFC 4486 optionally supported. + RFC 3362, Section 5 optionally supported." + ::= { aristaBgp4V2PeerErrorsEntry 10 } + + + -- + -- Per-peer Event Times + -- + + aristaBgp4V2PeerEventTimesTable OBJECT-TYPE + SYNTAX SEQUENCE OF AristaBgp4V2PeerEventTimesEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table reporting the per-peering session amount + of time elapsed and update events since the peering + session advanced into the established state." + ::= { aristaBgp4V2Objects 4 } + + aristaBgp4V2PeerEventTimesEntry OBJECT-TYPE + SYNTAX AristaBgp4V2PeerEventTimesEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each row contains a set of statistics about time + spent and events encountered in the peer session + established state." + AUGMENTS { + aristaBgp4V2PeerEntry + } + ::= { aristaBgp4V2PeerEventTimesTable 1 } + + AristaBgp4V2PeerEventTimesEntry ::= SEQUENCE { + aristaBgp4V2PeerFsmEstablishedTime + Gauge32, + aristaBgp4V2PeerInUpdatesElapsedTime + Gauge32 + } + + aristaBgp4V2PeerFsmEstablishedTime OBJECT-TYPE + SYNTAX Gauge32 + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This timer indicates how long (in seconds) this peer + has been in the established state or how long since this + peer was last in the established state. It is set to + zero when a new peer is configured or when the router is + booted. If the peer has never reached the established + state, the value remains zero." + REFERENCE + "RFC 4271, Section 8." + ::= { aristaBgp4V2PeerEventTimesEntry 1 } + + aristaBgp4V2PeerInUpdatesElapsedTime OBJECT-TYPE + SYNTAX Gauge32 + UNITS "seconds" + 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)." + REFERENCE + "RFC 4271, Section 4.3. + RFC 4271, Section 8.2.2, Established state." + + ::= { aristaBgp4V2PeerEventTimesEntry 2 } + + -- + -- Per-Peer Configured Timers + -- + + aristaBgp4V2PeerConfiguredTimersTable OBJECT-TYPE + SYNTAX SEQUENCE OF AristaBgp4V2PeerConfiguredTimersEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Per peer management data on BGP session timers." + ::= { aristaBgp4V2Objects 5 } + + aristaBgp4V2PeerConfiguredTimersEntry OBJECT-TYPE + SYNTAX AristaBgp4V2PeerConfiguredTimersEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry corresponds to the current state of + BGP timers on a given peering session." + AUGMENTS { + aristaBgp4V2PeerEntry + } + ::= { aristaBgp4V2PeerConfiguredTimersTable 1 } + + AristaBgp4V2PeerConfiguredTimersEntry ::= SEQUENCE { + aristaBgp4V2PeerConnectRetryInterval + Unsigned32, + aristaBgp4V2PeerHoldTimeConfigured + Unsigned32, + aristaBgp4V2PeerKeepAliveConfigured + Unsigned32, + aristaBgp4V2PeerMinASOrigInterval + Unsigned32, + aristaBgp4V2PeerMinRouteAdverInterval + Unsigned32 + + } + + aristaBgp4V2PeerConnectRetryInterval OBJECT-TYPE + SYNTAX Unsigned32 (1..65535) + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Time interval (in seconds) for the ConnectRetry timer. + The suggested value for this timer is 120 seconds." + REFERENCE + "RFC 4271, Section 8.2.2. This is the value used + to initialize the 'ConnectRetryTimer'." + ::= { aristaBgp4V2PeerConfiguredTimersEntry 1 } + + aristaBgp4V2PeerHoldTimeConfigured OBJECT-TYPE + SYNTAX Unsigned32 ( 0 | 3..65535 ) + UNITS "seconds" + 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, using the smaller of the + values in bgpPeerHoldTimeConfigured and the Hold Time + received in the OPEN message. + + This value must be at least three seconds if it is not + zero (0). + + If the Hold Timer has not been established with the + peer this object MUST have a value of zero (0). + + If the bgpPeerHoldTimeConfigured object has a value of + (0), then this object MUST have a value of (0)." + REFERENCE + "RFC 4271, Section 4.2." + ::= { aristaBgp4V2PeerConfiguredTimersEntry 2 } + + aristaBgp4V2PeerKeepAliveConfigured OBJECT-TYPE + SYNTAX Unsigned32 ( 0 | 1..21845 ) + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + 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 maximum value for this timer would be one + third of that of bgpPeerHoldTimeConfigured. + + If the value of this object is zero (0), no periodic + KEEPALIVE messages are sent to the peer after the BGP + connection has been established. The suggested value + for this timer is 30 seconds." + REFERENCE + "RFC 4271, Section 4.4. + RFC 4271, Section 10." + ::= { aristaBgp4V2PeerConfiguredTimersEntry 3 } + + aristaBgp4V2PeerMinASOrigInterval OBJECT-TYPE + SYNTAX Unsigned32 (0..65535) + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Time interval (in seconds) for the + MinASOriginationInterval timer. + + The suggested value for this timer is 15 seconds." + REFERENCE + "RFC 4271, Section 9.2.1.2. + RFC 4271, Section 10." + ::= { aristaBgp4V2PeerConfiguredTimersEntry 4 } + + aristaBgp4V2PeerMinRouteAdverInterval OBJECT-TYPE + SYNTAX Unsigned32 (0..65535) + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Time interval (in seconds) for the + MinRouteAdvertisementInterval timer. + + The suggested value for this timer is 30 seconds for + EBGP connections and 5 seconds for IBGP connections." + REFERENCE + "RFC 4271, Section 9.2.1.1. + RFC 4271, Section 10." + ::= { aristaBgp4V2PeerConfiguredTimersEntry 5 } + + -- + -- Per-Peer Negotiated Timers + -- + + aristaBgp4V2PeerNegotiatedTimersTable OBJECT-TYPE + SYNTAX SEQUENCE OF AristaBgp4V2PeerNegotiatedTimersEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Configured values of per-peer timers are seen + in the aristaBgp4V2PeerConfiguredTimersTable. + + Values in this table reflect the current + operational values, after negotiation from values + derived from initial configuration." + ::= { aristaBgp4V2Objects 6 } + + aristaBgp4V2PeerNegotiatedTimersEntry OBJECT-TYPE + SYNTAX AristaBgp4V2PeerNegotiatedTimersEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry reflects a value of the currently + operational, negotiated timer as reflected in the + AristaBgp4V2PeerNegotiatedTimersEntry." + AUGMENTS { + aristaBgp4V2PeerEntry + } + ::= { aristaBgp4V2PeerNegotiatedTimersTable 1 } + + AristaBgp4V2PeerNegotiatedTimersEntry ::= SEQUENCE { + aristaBgp4V2PeerHoldTime + Unsigned32, + aristaBgp4V2PeerKeepAlive + Unsigned32 + } + + aristaBgp4V2PeerHoldTime OBJECT-TYPE + SYNTAX Unsigned32 ( 0 | 3..65535 ) + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of this object is calculated by this BGP + Speaker as being; + + zero (0) - if this was the value sent by the peer and + this value is permitted by this BGP Speaker. In this + case, no keepalive messages are sent and the Hold Timer + is not set. + + At least three (3). This value is the smaller of + the value sent by this peer in the OPEN message and + aristaBgp4V2PeerHoldTimeConfigured for this peer. + + If the peer is not in the established state, the value + of this object is zero (0)." + REFERENCE + "RFC 4271, Section 4.2." + ::= { aristaBgp4V2PeerNegotiatedTimersEntry 1 } + + aristaBgp4V2PeerKeepAlive OBJECT-TYPE + SYNTAX Unsigned32 ( 0 | 1..21845 ) + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + 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 aristaBgp4V2PeerHoldTime, it has the same + proportion as what aristaBgp4V2PeerKeepAliveConfigured has + when compared with aristaBgp4V2PeerHoldTimeConfigured. 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 + aristaBgp4V2PeerKeepAliveConfigured is zero (0). + + If the peer is not in the established state, the value + of this object is zero (0)." + REFERENCE + "RFC 4271, Section 4.4." + ::= { aristaBgp4V2PeerNegotiatedTimersEntry 2 } + + -- + -- Per-peer counters + -- + + aristaBgp4V2PeerCountersTable OBJECT-TYPE + SYNTAX SEQUENCE OF AristaBgp4V2PeerCountersEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The counters associated with a BGP Peer." + ::= { aristaBgp4V2Objects 7 } + + aristaBgp4V2PeerCountersEntry OBJECT-TYPE + SYNTAX AristaBgp4V2PeerCountersEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry contains counters of message transmissions + and FSM transitions for a given BGP Peering session." + AUGMENTS { + aristaBgp4V2PeerEntry + } + ::= { aristaBgp4V2PeerCountersTable 1 } + + AristaBgp4V2PeerCountersEntry ::= SEQUENCE { + aristaBgp4V2PeerInUpdates + Counter32, + aristaBgp4V2PeerOutUpdates + Counter32, + aristaBgp4V2PeerInTotalMessages + Counter32, + aristaBgp4V2PeerOutTotalMessages + Counter32, + aristaBgp4V2PeerFsmEstablishedTransitions + Counter32 + } + + aristaBgp4V2PeerInUpdates OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of BGP UPDATE messages received on this + connection." + ::= { aristaBgp4V2PeerCountersEntry 1 } + + aristaBgp4V2PeerOutUpdates OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of BGP UPDATE messages transmitted on this + connection." + ::= { aristaBgp4V2PeerCountersEntry 2 } + + aristaBgp4V2PeerInTotalMessages OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of messages received from the remote + peer on this connection." + ::= { aristaBgp4V2PeerCountersEntry 3 } + + aristaBgp4V2PeerOutTotalMessages OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of messages transmitted to the remote + peer on this connection." + ::= { aristaBgp4V2PeerCountersEntry 4 } + + aristaBgp4V2PeerFsmEstablishedTransitions OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The total number of times the BGP FSM transitioned into + the established state for this peer." + ::= { aristaBgp4V2PeerCountersEntry 5 } + + -- + -- Per-Peer Prefix Gauges + -- + + aristaBgp4V2PrefixGaugesTable OBJECT-TYPE + SYNTAX SEQUENCE OF AristaBgp4V2PrefixGaugesEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Additional per-peer, per AFI-SAFI counters for + prefixes" + ::= { aristaBgp4V2Objects 8 } + + aristaBgp4V2PrefixGaugesEntry OBJECT-TYPE + SYNTAX AristaBgp4V2PrefixGaugesEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Entry containing information about a bgp-peers prefix + counters." + INDEX { + aristaBgp4V2PeerInstance, + aristaBgp4V2PeerRemoteAddrType, + aristaBgp4V2PeerRemoteAddr, + aristaBgp4V2PrefixGaugesAfi, + aristaBgp4V2PrefixGaugesSafi + } + ::= { aristaBgp4V2PrefixGaugesTable 1 } + + AristaBgp4V2PrefixGaugesEntry ::= SEQUENCE { + aristaBgp4V2PrefixGaugesAfi + AristaBgp4V2AddressFamilyIdentifierTC, + aristaBgp4V2PrefixGaugesSafi + AristaBgp4V2SubsequentAddressFamilyIdentifierTC, + aristaBgp4V2PrefixInPrefixes + Gauge32, + aristaBgp4V2PrefixInPrefixesAccepted + Gauge32, + aristaBgp4V2PrefixOutPrefixes + Gauge32 + } + + aristaBgp4V2PrefixGaugesAfi OBJECT-TYPE + SYNTAX AristaBgp4V2AddressFamilyIdentifierTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The AFI index of the per-peer, per prefix counters" + ::= { aristaBgp4V2PrefixGaugesEntry 1 } + + aristaBgp4V2PrefixGaugesSafi OBJECT-TYPE + SYNTAX AristaBgp4V2SubsequentAddressFamilyIdentifierTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The SAFI index of the per-peer, per prefix counters" + ::= { aristaBgp4V2PrefixGaugesEntry 2 } + + aristaBgp4V2PrefixInPrefixes OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of prefixes received from a peer and are + stored in the Adj-Ribs-In for that peer. + + Note that this number does not reflect prefixes that + have been discarded due to policy." + REFERENCE + "RFC 4271, Sections 3.2 and 9." + ::= { aristaBgp4V2PrefixGaugesEntry 3 } + + aristaBgp4V2PrefixInPrefixesAccepted OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of prefixes for a peer that are installed + in the Adj-Ribs-In and are eligible to become active + in the Loc-Rib." + REFERENCE + "RFC 4271, Sections 3.2 and 9." + ::= { aristaBgp4V2PrefixGaugesEntry 4 } + + aristaBgp4V2PrefixOutPrefixes OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of prefixes for a peer that are installed + in that peer's Adj-Ribs-Out." + REFERENCE + "RFC 4271, Sections 3.2 and 9." + ::= { aristaBgp4V2PrefixGaugesEntry 5 } + + -- + -- BGP NLRI + -- + + aristaBgp4V2NlriTable OBJECT-TYPE + SYNTAX SEQUENCE OF AristaBgp4V2NlriEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The BGP-4 Received Path Attribute Table contains + information about paths to destination networks + received from all BGP4 peers. Collectively, this + represents the Adj-Ribs-In. The route where + aristaBgp4V2NlriBest is true represents, for this NLRI, + the route that is installed in the LocRib from the + Adj-Ribs-In." + REFERENCE + "RFC 4271, Sections 3.2 and 9." + ::= { aristaBgp4V2Objects 9 } + + aristaBgp4V2NlriEntry OBJECT-TYPE + SYNTAX AristaBgp4V2NlriEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information about a path to a network." + INDEX { + aristaBgp4V2PeerInstance, + aristaBgp4V2NlriAfi, + aristaBgp4V2NlriSafi, + aristaBgp4V2NlriPrefixType, + aristaBgp4V2NlriPrefix, + aristaBgp4V2NlriPrefixLen, + aristaBgp4V2PeerRemoteAddrType, + aristaBgp4V2PeerRemoteAddr, + aristaBgp4V2NlriIndex + } + ::= { aristaBgp4V2NlriTable 1 } + + AristaBgp4V2NlriEntry ::= SEQUENCE { + aristaBgp4V2NlriIndex + Unsigned32, + aristaBgp4V2NlriAfi + AristaBgp4V2AddressFamilyIdentifierTC, + aristaBgp4V2NlriSafi + AristaBgp4V2SubsequentAddressFamilyIdentifierTC, + aristaBgp4V2NlriPrefixType + InetAddressType, + aristaBgp4V2NlriPrefix + InetAddress, + aristaBgp4V2NlriPrefixLen + InetAddressPrefixLength, + aristaBgp4V2NlriBest + TruthValue, + aristaBgp4V2NlriCalcLocalPref + Unsigned32, + aristaBgp4V2NlriOrigin + INTEGER, + aristaBgp4V2NlriNextHopAddrType + InetAddressType, + aristaBgp4V2NlriNextHopAddr + InetAddress, + aristaBgp4V2NlriLinkLocalNextHopAddrType + InetAddressType, + aristaBgp4V2NlriLinkLocalNextHopAddr + InetAddress, + aristaBgp4V2NlriLocalPrefPresent + TruthValue, + aristaBgp4V2NlriLocalPref + Unsigned32, + aristaBgp4V2NlriMedPresent + TruthValue, + aristaBgp4V2NlriMed + Unsigned32, + aristaBgp4V2NlriAtomicAggregate + TruthValue, + + aristaBgp4V2NlriAggregatorPresent + TruthValue, + aristaBgp4V2NlriAggregatorAS + InetAutonomousSystemNumber, + aristaBgp4V2NlriAggregatorAddr + AristaBgp4V2IdentifierTC, + aristaBgp4V2NlriAsPathCalcLength + Unsigned32, + aristaBgp4V2NlriAsPathString + SnmpAdminString, + aristaBgp4V2NlriAsPath + OCTET STRING, + aristaBgp4V2NlriPathAttrUnknown + OCTET STRING + } + + aristaBgp4V2NlriIndex OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This index allows for multiple instances of a base + prefix for a certain AFI-SAFI from a given peer. + This is currently useful for two things: + 1. Allowing for a peer in future implementations to + send more than a single route instance. + 2. Allow for extensions which extend the NLRI field + to send the same prefix while utilizing other + extension specific information. An example of + this is RFC 3107 - Carrying MPLS labels in BGP." + REFERENCE + "RFC 3107 - Carrying Label Information in BGP-4." + ::= { aristaBgp4V2NlriEntry 1 } + + aristaBgp4V2NlriAfi OBJECT-TYPE + SYNTAX AristaBgp4V2AddressFamilyIdentifierTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The address family of the prefix for this NLRI. + + Note that the AFI is not necessarily equivalent to + the an InetAddressType." + REFERENCE + "RFC 4760 - Multiprotocol Extensions for BGP-4" + ::= { aristaBgp4V2NlriEntry 2 } + + aristaBgp4V2NlriSafi OBJECT-TYPE + SYNTAX AristaBgp4V2SubsequentAddressFamilyIdentifierTC + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The subsequent address family of the prefix for + this NLRI" + REFERENCE + "RFC 4760 - Multiprotocol Extensions for BGP-4" + ::= { aristaBgp4V2NlriEntry 3 } + + aristaBgp4V2NlriPrefixType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The type of the IP address prefix in the + Network Layer Reachability Information field. + The value of this object is derived from the + appropriate value from the aristaBgp4V2NlriAfi field. + Where an appropriate InetAddressType is not + available, the value of the object must be + unknown(0)." + ::= { aristaBgp4V2NlriEntry 4 } + + aristaBgp4V2NlriPrefix OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS not-accessible + 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 aristaBgp4V2NlriPrefixLen. + Any bits beyond the length specified by + aristaBgp4V2NlriPrefixLen are zeroed. + + An implementation is required to support IPv4 + prefixes. In this case, the object length + is (0..4). + + An implementation MAY support IPv6 prefixes. + In this case, the object length is (0..16)" + REFERENCE + "RFC 4271, Section 4.3." + ::= { aristaBgp4V2NlriEntry 5 } + + aristaBgp4V2NlriPrefixLen OBJECT-TYPE + SYNTAX InetAddressPrefixLength + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Length in bits of the address prefix in + the Network Layer Reachability Information field." + ::= { aristaBgp4V2NlriEntry 6 } + + aristaBgp4V2NlriBest OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "An indication of whether or not this route + was chosen as the best BGP4 route for this + destination." + REFERENCE + "RFC 4271, Section 9.1.2." + ::= { aristaBgp4V2NlriEntry 7 } + + aristaBgp4V2NlriCalcLocalPref OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The degree of preference calculated by the + receiving BGP4 speaker for an advertised + route. + + In the case where this prefix is ineligible, the + value of this object will be zero (0)." + REFERENCE + "RFC 4271, Section 9.1.1" + ::= { aristaBgp4V2NlriEntry 8 } + + aristaBgp4V2NlriOrigin OBJECT-TYPE + SYNTAX INTEGER { + igp(1),-- networks are interior + egp(2),-- networks learned via the EGP protocol + incomplete(3) -- networks that + -- are learned by some other + -- means + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The ultimate origin of the path information." + REFERENCE + "RFC 4271, Section 4.3. + RFC 4271, Section 5.1.1." + ::= { aristaBgp4V2NlriEntry 9 } + + aristaBgp4V2NlriNextHopAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address family of the address for + the border router that should be used + to access the destination network." + ::= { aristaBgp4V2NlriEntry 10 } + + aristaBgp4V2NlriNextHopAddr OBJECT-TYPE + SYNTAX InetAddress (SIZE(4..20)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address of the border router that + should be used to access the destination + network. This address is the nexthop + address received in the UPDATE packet associated with + this prefix. + + Note that for RFC2545 style double nexthops, + this object will always contain the global scope + nexthop. bgpPathAttrLinkLocalNextHop will contain + the linklocal scope nexthop, if it is present. + + In the case a mechanism is developed to use only a link + local nexthop, aristaBgp4V2NlriNextHopAddr will contain the + link local nexthop." + REFERENCE + "RFC 4271, Section 4.3, + RFC 4271, Section 5.1.3, + RFC 2545, Section 3." + ::= { aristaBgp4V2NlriEntry 11 } + + aristaBgp4V2NlriLinkLocalNextHopAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The address type for IPv6 link local addresses. + This is present only when receiving RFC 2545 + style double nexthops. + + This object is optionally present in BGP + implementations that do not support IPv6. + + When no IPv6 link local nexthop is present, the value of + this object should be unknown(0)." + REFERENCE + "RFC 2545, Section 3." + ::= { aristaBgp4V2NlriEntry 12 } + + aristaBgp4V2NlriLinkLocalNextHopAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value contains an IPv6 link local address + and is present only when receiving RFC 2545 style + double nexthops. + + This object is optionally present in BGP + implementations that do not support IPv6. + + When no IPv6 link local nexthop is present, the length of + this object should be zero." + REFERENCE + "RFC 2545, Section 3." + ::= { aristaBgp4V2NlriEntry 13 } + + aristaBgp4V2NlriLocalPrefPresent OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value is true when the LOCAL_PREF value was sent in + the UPDATE message." + ::= { aristaBgp4V2NlriEntry 14 } + + aristaBgp4V2NlriLocalPref OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The originating BGP4 speakers degree of preference for an + advertised route." + REFERENCE + "RFC 4271, Section 4.3. + RFC 4271, Section 5.1.5." + ::= { aristaBgp4V2NlriEntry 15 } + + aristaBgp4V2NlriMedPresent OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value is true when the MED value was sent in + the UPDATE message." + ::= { aristaBgp4V2NlriEntry 16 } + + aristaBgp4V2NlriMed OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This metric is used to discriminate between multiple + exit points to an adjacent autonomous system. When the MED + value is absent but has a calculated default value, this + object will contain the calculated value." + REFERENCE + "RFC 4271, Section 4.3. + RFC 4271, Section 5.1.4." + ::= { aristaBgp4V2NlriEntry 17 } + + aristaBgp4V2NlriAtomicAggregate OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value is true when the ATOMIC_AGGREGATE Path Attribute + is present and indicates that the NLRI MUST NOT be made + more specific." + REFERENCE + "RFC 4271, Sections 5.1.6 and 9.1.4." + ::= { aristaBgp4V2NlriEntry 18 } + + aristaBgp4V2NlriAggregatorPresent OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value is true when the AGGREGATOR path attribute + was sent in the UPDATE message." + ::= { aristaBgp4V2NlriEntry 19 } + + aristaBgp4V2NlriAggregatorAS OBJECT-TYPE + SYNTAX InetAutonomousSystemNumber + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The AS number of the last BGP4 speaker that performed route + aggregation. When aristaBgp4V2NlriAggregatorPresent is + false, the value of this object should be zero (0)." + REFERENCE + "RFC 4271, Section 5.1.7. + RFC 4271, Section 9.2.2.2." + ::= { aristaBgp4V2NlriEntry 20 } + + aristaBgp4V2NlriAggregatorAddr OBJECT-TYPE + SYNTAX AristaBgp4V2IdentifierTC + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The IP address of the last BGP4 speaker that performed + route aggregation. When aristaBgp4V2NlriAggregatorPresent is + false, the value of this object should be 0.0.0.0" + REFERENCE + "RFC 4271, Section 5.1.7. + RFC 4271, Section 9.2.2.2." + ::= { aristaBgp4V2NlriEntry 21 } + + aristaBgp4V2NlriAsPathCalcLength OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value represents the calculated length of the + AS Path according to the rules of the BGP + specification. This value is used in route selection." + REFERENCE + "RFC 4271, Section 9.1.2.2.a" + ::= { aristaBgp4V2NlriEntry 22 } + + aristaBgp4V2NlriAsPathString OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This is a string depicting the autonomous system + path to this network which was received from the + peer which advertised it. The format of the string + is implementation-dependent, and should be designed + for operator readability. + + Note that SnmpAdminString is only capable of representing a + maximum of 255 characters. This may lead to the string + being truncated in the presence of a large AS Path. It is + RECOMMENDED that when this object's contents will be + truncated that the final 3 octets be reserved for the + ellipses string, '...'. aristaBgp4V2NlriAsPath may give access + to the full AS Path." + ::= { aristaBgp4V2NlriEntry 23 } + + -- Maximum size of the following is derived as + -- 4096 max message size + -- - 16 BGP message marker bytes + -- - 2 BGP message size + -- - 1 BGP message type (UPDATE with unknown attr) + -- - 2 UPDATE routes length (even assuming no routes) + -- - 2 UPDATE path attributes length + -- - 1 path attribute flag octet + -- --------- + -- 4072 bytes maximum per-message attribute value data + + aristaBgp4V2NlriAsPath OBJECT-TYPE + SYNTAX OCTET STRING (SIZE(2..4072)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "In order to provide a canonicalized form of the BGP-4 + AS_PATH along with the human-readable + aristaBgp4V2NlriAsPathString, which may be truncated, this object + contains the contents of the BGP-4 AS_PATH Path Attribute. + This object may be parsed using the rules defined for + Four-octet ASes as defined in RFC 4893. RFC 4271, Section + 4.3, 'Path Attributes: b) AS_PATH' as amended by RFC 5065, + Section 3 defines the general format of the AS_PATH path + attribute and its code points. + + In brief, the AS_PATH is composed of a sequence of AS + Segments. Each AS Segment is represented by a triple: + . + + The path segment type and path segment length fields are + one octet in length each. + + The path segment type field may be one of: + 1 - AS_SET (RFC 4721, Section 4.3) + 2 - AS_SEQUENCE (RFC 4721, Section 4.3) + 3 - AS_CONFED_SEQUENCE (RFC 3065, Section 5) + 4 - AS_CONFED_SET (RFC 3065, Section 5) + + The path segment length field contains the number of ASes + (not the number of octets) in the path segment value field. + The path segment value field contains one or more AS + numbers, each encoded as a 4-octet length field in network + byte order. + + Note that since an SNMP agent may truncate this object to + less than its maximum theoretical length of 4072 octets + users of this object should be prepared to deal with a + truncated and thus malformed AS_PATH. It is RECOMMENDED + that when such truncation would occur on the boundary of an + encoded AS that the partial AS be discarded from this + object and the object's size be adjusted accordingly. + Further, it is also RECOMMENDED that when such truncation, + either alone or in conjuction with the truncation of a + partially encoded AS described previously, would yield an + empty path segment value field that the path segment type + and path segment length components of the truncated AS_PATH + also be discarded and the object's size be adjusted + accordingly." + REFERENCE + "RFC 4271, Section 4.3. + RFC 5065, Section 5. + RFC 4893." + ::= { aristaBgp4V2NlriEntry 24 } + + aristaBgp4V2NlriPathAttrUnknown OBJECT-TYPE + SYNTAX OCTET STRING (SIZE(0..4072)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Path Attributes not understood by this implementation + SHOULD be be presented in this object. Those Path + Attributes use the type, length, value encoding documented + in RFC 4271, Section 4.3, 'Path Attributes'. + + Note that since an SNMP agent may truncate this object to + less than its maximum theoretical length of 4072 octets + users of this object should be prepared to deal with a + truncated and thus malformed Path Attribute." + REFERENCE + "RFC 4271, Section 4.3." + ::= { aristaBgp4V2NlriEntry 25 } + + + + -- + -- Adj-Ribs-Out Table + -- + aristaBgp4V2AdjRibsOutTable OBJECT-TYPE + SYNTAX SEQUENCE OF AristaBgp4V2AdjRibsOutEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains on a per-peer basis one or more + routes from the aristaBgp4V2NlriTable that have been + placed in this peer's Adj-Ribs-Out." + REFERENCE + "RFC 4271, Section 3.2." + ::= { aristaBgp4V2Objects 10 } + + aristaBgp4V2AdjRibsOutEntry OBJECT-TYPE + SYNTAX AristaBgp4V2AdjRibsOutEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "List of BGP routes that have been placed into a + peer's Adj-Ribs-Out." + INDEX { + aristaBgp4V2PeerInstance, + aristaBgp4V2NlriAfi, + aristaBgp4V2NlriSafi, + aristaBgp4V2NlriPrefixType, + aristaBgp4V2NlriPrefix, + aristaBgp4V2NlriPrefixLen, + aristaBgp4V2PeerRemoteAddrType, + aristaBgp4V2PeerRemoteAddr, + aristaBgp4V2AdjRibsOutIndex + } + ::= { aristaBgp4V2AdjRibsOutTable 1 } + + AristaBgp4V2AdjRibsOutEntry ::= SEQUENCE { + aristaBgp4V2AdjRibsOutIndex + Unsigned32, + aristaBgp4V2AdjRibsOutRoute + RowPointer + } + + aristaBgp4V2AdjRibsOutIndex OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Certain extensions to BGP permit multiple instance of + a per afi, per safi prefix to be advertised to a peer. + This object allows the enumeration of them." + ::= { aristaBgp4V2AdjRibsOutEntry 1 } + + aristaBgp4V2AdjRibsOutRoute OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object points to the route in the aristaBgp4V2NlriTable + that corresponds to the entry in the peer's + Adj-Rib-Out. Outgoing route maps are not + reflected at this point as those are part of the + Update-Send process." + REFERENCE + "RFC 4271, Section 9.2." + ::= { aristaBgp4V2AdjRibsOutEntry 2 } + + -- + -- Notifications + -- + + aristaBgp4V2EstablishedNotification NOTIFICATION-TYPE + OBJECTS { + aristaBgp4V2PeerState, + aristaBgp4V2PeerLocalPort, + aristaBgp4V2PeerRemotePort + } + STATUS current + DESCRIPTION + "The BGP Established event is generated when + the BGP FSM enters the established state." + ::= { aristaBgp4V2Notifications 1 } + + aristaBgp4V2BackwardTransitionNotification NOTIFICATION-TYPE + OBJECTS { + aristaBgp4V2PeerState, + aristaBgp4V2PeerLocalPort, + aristaBgp4V2PeerRemotePort, + aristaBgp4V2PeerLastErrorCodeReceived, + aristaBgp4V2PeerLastErrorSubCodeReceived, + aristaBgp4V2PeerLastErrorReceivedText + } + STATUS current + DESCRIPTION + "The BGPBackwardTransition Event is generated + when the BGP FSM moves from a higher numbered + state to a lower numbered state. + + Due to the nature of the BGP state machine, an + implementation MAY rate limit the generation of this event. + An implementation MAY also generate this notification ONLY + when the state machine moves out of the established state. + An implementation should document its specific behavior." + ::= { aristaBgp4V2Notifications 2 } + + -- + -- Conformance Information + -- + + aristaBgp4V2Compliances OBJECT IDENTIFIER ::= + { aristaBgp4V2Conformance 1 } + + aristaBgp4V2Groups OBJECT IDENTIFIER ::= + { aristaBgp4V2Conformance 2 } + + aristaBgp4V2Compliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for entities which + implement the BGP4 mib." + MODULE -- this module + MANDATORY-GROUPS { + aristaBgp4V2StdMIBTimersGroup, + aristaBgp4V2StdMIBCountersGroup, + aristaBgp4V2StdMIBErrorsGroup, + aristaBgp4V2StdMIBPeerGroup, + aristaBgp4V2StdMIBNlriGroup, + aristaBgp4V2GlobalsGroup + } + GROUP aristaBgp4V2StdMIBNotificationGroup + DESCRIPTION + "Implementation of BGP Notifications are completely + optional in this MIB." + + OBJECT aristaBgp4V2NlriLinkLocalNextHopAddrType + SYNTAX InetAddressType + DESCRIPTION + "This object is only present when RFC 2545 extensions for + IPv6 are supported by the implementation. When present, + this object shall only have a value of ipv6z or none." + + OBJECT aristaBgp4V2NlriLinkLocalNextHopAddr + SYNTAX InetAddress (SIZE(0|20)) + DESCRIPTION + "This object is only present when RFC 2545 extensions for + IPv6 are supported by the implementation. When present, + this object shall only have a size of 20 or 0 when no + RFC 2545 double-nexthop is present." + ::= { aristaBgp4V2Compliances 4 } + + aristaBgp4V2GlobalsGroup OBJECT-GROUP + OBJECTS { aristaBgp4V2DiscontinuityTime } + STATUS current + DESCRIPTION + "A collection of objects providing information on global + BGP state." + ::= { aristaBgp4V2Groups 1 } + + aristaBgp4V2StdMIBTimersGroup OBJECT-GROUP + OBJECTS { + aristaBgp4V2PeerFsmEstablishedTime, + aristaBgp4V2PeerInUpdatesElapsedTime, + aristaBgp4V2PeerConnectRetryInterval, + aristaBgp4V2PeerHoldTimeConfigured, + aristaBgp4V2PeerKeepAliveConfigured, + aristaBgp4V2PeerMinASOrigInterval, + aristaBgp4V2PeerMinRouteAdverInterval, + aristaBgp4V2PeerHoldTime, + aristaBgp4V2PeerKeepAlive + } + STATUS current + DESCRIPTION + "Objects associated with BGP peering timers." + ::= { aristaBgp4V2Groups 2 } + + aristaBgp4V2StdMIBCountersGroup OBJECT-GROUP + OBJECTS { + aristaBgp4V2PeerInUpdates, + aristaBgp4V2PeerOutUpdates, + aristaBgp4V2PeerInTotalMessages, + aristaBgp4V2PeerOutTotalMessages, + aristaBgp4V2PeerFsmEstablishedTransitions, + aristaBgp4V2PrefixInPrefixes, + aristaBgp4V2PrefixInPrefixesAccepted, + aristaBgp4V2PrefixOutPrefixes + } + STATUS current + DESCRIPTION + "Objects to count discrete events and exchanges on BGP + sessions." + ::= { aristaBgp4V2Groups 3 } + + aristaBgp4V2StdMIBErrorsGroup OBJECT-GROUP + OBJECTS { + aristaBgp4V2PeerLastErrorCodeReceived, + aristaBgp4V2PeerLastErrorSubCodeReceived, + aristaBgp4V2PeerLastErrorReceivedData, + aristaBgp4V2PeerLastErrorReceivedTime, + aristaBgp4V2PeerLastErrorReceivedText, + aristaBgp4V2PeerLastErrorCodeSent, + aristaBgp4V2PeerLastErrorSubCodeSent, + aristaBgp4V2PeerLastErrorSentData, + aristaBgp4V2PeerLastErrorSentTime, + aristaBgp4V2PeerLastErrorSentText + } + STATUS current + DESCRIPTION + "Errors received on BGP peering sessions." + ::= { aristaBgp4V2Groups 5 } + + aristaBgp4V2StdMIBPeerGroup OBJECT-GROUP + OBJECTS { + aristaBgp4V2PeerState, + aristaBgp4V2PeerAdminStatus, + aristaBgp4V2PeerLocalAddrType, + aristaBgp4V2PeerLocalAddr, + aristaBgp4V2PeerLocalPort, + aristaBgp4V2PeerLocalAs, + aristaBgp4V2PeerRemotePort, + aristaBgp4V2PeerRemoteAs, + aristaBgp4V2PeerLocalIdentifier, + aristaBgp4V2PeerRemoteIdentifier, + aristaBgp4V2PeerDescription + } + STATUS current + DESCRIPTION + "Core object types on BGP peering sessions." + ::= { aristaBgp4V2Groups 6 } + + aristaBgp4V2StdMIBNlriGroup OBJECT-GROUP + OBJECTS { + aristaBgp4V2NlriAsPathCalcLength, + aristaBgp4V2NlriAsPathString, + aristaBgp4V2NlriBest, + aristaBgp4V2NlriCalcLocalPref, + aristaBgp4V2AdjRibsOutRoute, + aristaBgp4V2NlriAggregatorPresent, + aristaBgp4V2NlriAggregatorAS, + aristaBgp4V2NlriAggregatorAddr, + aristaBgp4V2NlriAtomicAggregate, + aristaBgp4V2NlriLocalPref, + aristaBgp4V2NlriLocalPrefPresent, + aristaBgp4V2NlriMed, + aristaBgp4V2NlriMedPresent, + aristaBgp4V2NlriNextHopAddr, + aristaBgp4V2NlriNextHopAddrType, + aristaBgp4V2NlriLinkLocalNextHopAddrType, + aristaBgp4V2NlriLinkLocalNextHopAddr, + aristaBgp4V2NlriOrigin, + aristaBgp4V2NlriAsPath, + aristaBgp4V2NlriPathAttrUnknown + } + STATUS current + DESCRIPTION + "Attributes received on BGP peering sessions." + ::= { aristaBgp4V2Groups 7 } + + aristaBgp4V2StdMIBNotificationGroup NOTIFICATION-GROUP + NOTIFICATIONS { + aristaBgp4V2EstablishedNotification, + aristaBgp4V2BackwardTransitionNotification + } + STATUS current + DESCRIPTION + "Notifications in this modules are completely optional." + ::= { aristaBgp4V2Groups 8 } + +END -- cgit v1.2.3