diff options
Diffstat (limited to 'MIBS/arista')
| -rw-r--r-- | MIBS/arista/ARISTA-BGP4V2-MIB | 1784 | ||||
| -rw-r--r-- | MIBS/arista/ARISTA-BGP4V2-TC-MIB | 93 | ||||
| -rw-r--r-- | MIBS/arista/ARISTA-ENTITY-SENSOR-MIB | 199 | ||||
| -rw-r--r-- | MIBS/arista/ARISTA-GENERAL-MIB | 155 | ||||
| -rw-r--r-- | MIBS/arista/ARISTA-IF-MIB | 183 | ||||
| -rw-r--r-- | MIBS/arista/ARISTA-NEXTHOP-GROUP-MIB | 286 | ||||
| -rw-r--r-- | MIBS/arista/ARISTA-SMI-MIB | 68 | ||||
| -rw-r--r-- | MIBS/arista/ARISTA-VRF-MIB | 232 |
8 files changed, 3000 insertions, 0 deletions
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: + <path segment type, path segment length, + path segment value>. + + 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 diff --git a/MIBS/arista/ARISTA-BGP4V2-TC-MIB b/MIBS/arista/ARISTA-BGP4V2-TC-MIB new file mode 100644 index 0000000..bccf4ca --- /dev/null +++ b/MIBS/arista/ARISTA-BGP4V2-TC-MIB @@ -0,0 +1,93 @@ +-- extracted from draft-ietf-idr-bgp4-mibv2-tc-mib-03.txt +-- at Tue Jul 12 06:11:02 2011 + +-- Renumbered to sit underneath Arista's enterprise. + + ARISTA-BGP4V2-TC-MIB DEFINITIONS ::= BEGIN + + IMPORTS + MODULE-IDENTITY FROM SNMPv2-SMI + aristaExperiment FROM ARISTA-SMI-MIB + TEXTUAL-CONVENTION FROM SNMPv2-TC; + + aristaBgp4V2TC 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 + "Textual conventions for BGP-4. + 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 (2011). 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 "201101170000Z" + DESCRIPTION + "Initial version." + ::= { aristaExperiment 2 } + + -- + -- Textual Conventions + -- + + AristaBgp4V2IdentifierTC ::= TEXTUAL-CONVENTION + DISPLAY-HINT "1d." + STATUS current + DESCRIPTION + "The representation of a BGP Identifier. BGP Identifiers + are presented in the received network byte order. + + The BGP Identifier is displayed as if it is an IP address, + even if it would be an illegal one." + REFERENCE + "RFC 4273, Section 4.2" + SYNTAX OCTET STRING(SIZE (4)) + + AristaBgp4V2AddressFamilyIdentifierTC ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "The representation of a BGP AFI. The value of this object + should be restricted to be between the values of 0 and + 65535." + REFERENCE + "RFC 4760, Section 3" + SYNTAX INTEGER { + ipv4(1), + ipv6(2) + } + + AristaBgp4V2SubsequentAddressFamilyIdentifierTC ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "The representation of a BGP SAFI" + REFERENCE + "RFC 4760, Section 3. The value of this object should be + restricted to be between the values of 0 and 255." + SYNTAX INTEGER { + unicast(1), + multicast(2), + mpls(4) + } + + END diff --git a/MIBS/arista/ARISTA-ENTITY-SENSOR-MIB b/MIBS/arista/ARISTA-ENTITY-SENSOR-MIB new file mode 100644 index 0000000..d41c9f3 --- /dev/null +++ b/MIBS/arista/ARISTA-ENTITY-SENSOR-MIB @@ -0,0 +1,199 @@ +ARISTA-ENTITY-SENSOR-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, + NOTIFICATION-TYPE FROM SNMPv2-SMI + MODULE-COMPLIANCE, OBJECT-GROUP, + NOTIFICATION-GROUP FROM SNMPv2-CONF + entPhysicalIndex, entPhysicalDescr FROM ENTITY-MIB + entStateAlarm FROM ENTITY-STATE-MIB + EntitySensorValue, entPhySensorValue + FROM ENTITY-SENSOR-MIB + SnmpAdminString FROM SNMP-FRAMEWORK-MIB + aristaMibs FROM ARISTA-SMI-MIB; + + +aristaEntSensorMIB 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 + "This MIB module augments the entPhySensorTable of + ENTITY-SENSOR-MIB to provide threshold information for + various sensors in the system. For example, a given device + may have several voltage sensors as well as temperature + sensors each with appropriate threshold support to help + NMS systems detect and alert appropriately. + + In addition, on systems where it is supported, if the + sensor value crosses the supported threshold value the system + can generate appropriate notification as well." + REVISION "201408150000Z" + DESCRIPTION "Updated postal and e-mail addresses." + REVISION "201305090950Z" + DESCRIPTION "Initial version of this MIB module." + ::= { aristaMibs 12 } + +-- Textual Conventions -- + + aristaEntSensorMibNotifications OBJECT IDENTIFIER + ::= { aristaEntSensorMIB 0 } + +aristaEntSensorMibObjects OBJECT IDENTIFIER + ::= { aristaEntSensorMIB 1 } + +aristaEntSensorMibConformance OBJECT IDENTIFIER + ::= { aristaEntSensorMIB 2 } + +-- entity threshold table -- + +aristaEntSensorThresholdTable OBJECT-TYPE + SYNTAX SEQUENCE OF AristaEntSensorThresholdEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains threshold information for the + various sensors in the system." + ::= { aristaEntSensorMibObjects 1 } + +aristaEntSensorThresholdEntry OBJECT-TYPE + SYNTAX AristaEntSensorThresholdEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A single row containing threshold information for a + sensor. Threshold values are reported using the unit + of EntitySensorValue. If a sensor does not support threshold + data, then an underflow/overflow value is returned. + All the other relevant information for the given sensor can be + obtained from the entPhySensorTable itself." + INDEX { entPhysicalIndex } + ::= { aristaEntSensorThresholdTable 1 } + +AristaEntSensorThresholdEntry ::= SEQUENCE { + aristaEntSensorThresholdLowWarning EntitySensorValue, + aristaEntSensorThresholdLowCritical EntitySensorValue, + aristaEntSensorThresholdHighWarning EntitySensorValue, + aristaEntSensorThresholdHighCritical EntitySensorValue, + aristaEntSensorStatusDescr SnmpAdminString +} + +aristaEntSensorThresholdLowWarning OBJECT-TYPE + SYNTAX EntitySensorValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The low thresold value for the given sensor at which point + the entity's alarm status is set to warning." + ::= { aristaEntSensorThresholdEntry 1 } + +aristaEntSensorThresholdLowCritical OBJECT-TYPE + SYNTAX EntitySensorValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The low critical value for the given sensor at which point + the entity's alarm status is set to critical." + ::= { aristaEntSensorThresholdEntry 2 } + +aristaEntSensorThresholdHighWarning OBJECT-TYPE + SYNTAX EntitySensorValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The high thresold value for the given sensor at which point + the entity's alarm status is set to warning." + ::= { aristaEntSensorThresholdEntry 3 } + +aristaEntSensorThresholdHighCritical OBJECT-TYPE + SYNTAX EntitySensorValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The high critical value for the given sensor at which point + the entity's alarm status is set to critical." + ::= { aristaEntSensorThresholdEntry 4 } + +aristaEntSensorStatusDescr OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A textual description of the current status of the sensor. + It serves as a human-readable representation of the operating + status including any threshold alerts." + ::= { aristaEntSensorThresholdEntry 5 } + + +-- Notifications -- + +aristaEntSensorAlarm NOTIFICATION-TYPE + OBJECTS { + entPhysicalDescr, entPhySensorValue, entStateAlarm + } + STATUS current + DESCRIPTION + "This notification is generated under 2 conditions: + a) When the value of the sensor value crosses a supported + low or high threshold into warning or critical status. + b) If previously the sensor value was in a warning or + critical status but returns back to a normal status." + ::= { aristaEntSensorMibNotifications 1 } + + +-- Conformance and Compliance + +aristaEntSensorMibCompliances OBJECT IDENTIFIER + ::= { aristaEntSensorMibConformance 1 } + +aristaEntSensorMibGroups OBJECT IDENTIFIER + ::= { aristaEntSensorMibConformance 2 } + +aristaEntSensorMibCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for Arista switches that implement + the ARISTA-ENTITY-SENSOR-MIB." + MODULE -- this module + MANDATORY-GROUPS { + aristaEntSensorThresholdGroup, + aristaEntSensorNotificationsGroup + } + ::= { aristaEntSensorMibCompliances 1 } + +aristaEntSensorThresholdGroup OBJECT-GROUP + OBJECTS { + aristaEntSensorThresholdLowWarning, + aristaEntSensorThresholdLowCritical, + aristaEntSensorThresholdHighWarning, + aristaEntSensorThresholdHighCritical, + aristaEntSensorStatusDescr + } + STATUS current + DESCRIPTION + "The collection of objects that provide threshold + information for the sensors in the system." + ::= { aristaEntSensorMibGroups 1 } + +aristaEntSensorNotificationsGroup NOTIFICATION-GROUP + NOTIFICATIONS { + aristaEntSensorAlarm + } + STATUS current + DESCRIPTION + "The collection of notifications generated by the system if + sensor(s) change value are not within the acceptable operating + range." + ::= { aristaEntSensorMibGroups 2 } + +END + + diff --git a/MIBS/arista/ARISTA-GENERAL-MIB b/MIBS/arista/ARISTA-GENERAL-MIB new file mode 100644 index 0000000..c504f5f --- /dev/null +++ b/MIBS/arista/ARISTA-GENERAL-MIB @@ -0,0 +1,155 @@ +-- ARISTA-GENERAL-MIB: Arista General MIB +ARISTA-GENERAL-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, + OBJECT-TYPE, + Unsigned32 FROM SNMPv2-SMI + MODULE-COMPLIANCE, + OBJECT-GROUP FROM SNMPv2-CONF + DateAndTime FROM SNMPv2-TC + aristaMibs FROM ARISTA-SMI-MIB; + +aristaGeneralMib MODULE-IDENTITY + LAST-UPDATED "201711060000Z" + 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 + "First draft." + REVISION "201711060000Z" + DESCRIPTION + "Initial version." + ::= { aristaMibs 24 } + +-- Textual Conventions -- + +aristaGeneralMibNotifications OBJECT IDENTIFIER + ::= { aristaGeneralMib 0 } + +aristaGeneralMibObjects OBJECT IDENTIFIER + ::= { aristaGeneralMib 1 } + +aristaGeneralMibConformance OBJECT IDENTIFIER + ::= { aristaGeneralMib 2 } + +-- Reload cause table -- + +aristaReloadCauseTable OBJECT-TYPE + SYNTAX SEQUENCE OF AristaReloadCauseEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Information describing the reload cause of each CPU unit. + On a modular system, entries for reboot instances of the + standby supervisor are present only when the redundancy + protocol is stateful switchover (SSO)." + ::= { aristaGeneralMibObjects 1 } + +aristaReloadCauseEntry OBJECT-TYPE + SYNTAX AristaReloadCauseEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This entry contains reload cause information of a CPU unit + for a particular reboot instance." + INDEX { + aristaReloadUnitIndex, + aristaReloadIndex, + aristaReloadCauseIndex + } + ::= { aristaReloadCauseTable 1 } + +AristaReloadCauseEntry ::= SEQUENCE { + -- INDEX information + aristaReloadUnitIndex Unsigned32, + aristaReloadIndex Unsigned32, + aristaReloadCauseIndex Unsigned32, + -- Reload Cause + aristaReloadCauseDescription OCTET STRING, + aristaReloadTime DateAndTime +} + +aristaReloadUnitIndex OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A unique identifier for a CPU unit. On a modular system, it is + the slot number of the supervisor. Unit index 0 mirrors the entries + of the active supervisor. On a fixed system, unit index 0 is for + the whole system." + ::= { aristaReloadCauseEntry 1 } + +aristaReloadIndex OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A unique key to get the particular reboot instance. Reboot instances + are numbered in reverse chronological order, with the latest reboot + at index 0." + ::= { aristaReloadCauseEntry 2 } + +aristaReloadCauseIndex OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A unique key to get one of the causes of a particular reboot instance." + ::= { aristaReloadCauseEntry 3 } + +aristaReloadCauseDescription OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Description for the reload cause." + ::= { aristaReloadCauseEntry 4 } + +aristaReloadTime OBJECT-TYPE + SYNTAX DateAndTime + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Time when the reload happened." + ::= { aristaReloadCauseEntry 5 } + +-- Conformance and Compliance -- + +aristaGeneralMibCompliances OBJECT IDENTIFIER + ::= { aristaGeneralMibConformance 1 } + +aristaGeneralMibGroups OBJECT IDENTIFIER + ::= { aristaGeneralMibConformance 2 } + +aristaGeneralMibCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for Arista switches that support + the ARISTA-GENERAL-MIB." + MODULE -- this module + MANDATORY-GROUPS { + aristaGeneralMibGroup + } + ::= { aristaGeneralMibCompliances 1 } + +aristaGeneralMibGroup OBJECT-GROUP + OBJECTS { + aristaReloadCauseDescription, + aristaReloadTime + } + STATUS current + DESCRIPTION + "The collection of objects that provide reload cause + information for the CPU units in the system." + ::= { aristaGeneralMibGroups 1 } + +END diff --git a/MIBS/arista/ARISTA-IF-MIB b/MIBS/arista/ARISTA-IF-MIB new file mode 100644 index 0000000..efea01e --- /dev/null +++ b/MIBS/arista/ARISTA-IF-MIB @@ -0,0 +1,183 @@ +-- ARISTA-IF-MIB: Arista structure of interface management information +-- Copyright (c) 2014 Arista Networks, Inc. All rights reserved. + +ARISTA-IF-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, + TimeTicks, Gauge32, Counter32 FROM SNMPv2-SMI + MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF + ifIndex FROM IF-MIB + CounterBasedGauge64 FROM HCNUM-TC + aristaMibs FROM ARISTA-SMI-MIB; + +aristaIfMIB MODULE-IDENTITY + LAST-UPDATED "201410090000Z" + 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 reporting additional interface statistics + on Arista devices." + REVISION "201410090000Z" + DESCRIPTION "Initial version." + ::= { aristaMibs 15 } + + +aristaIf OBJECT IDENTIFIER ::= { aristaIfMIB 1 } + +aristaIfTable OBJECT-TYPE + SYNTAX SEQUENCE OF AristaIfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains additional interface statistics not + contained in the IF-MIB." + ::= { aristaIf 1 } + +aristaIfEntry OBJECT-TYPE + SYNTAX AristaIfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry containing statistics for a given interface." + INDEX { ifIndex } + ::= { aristaIfTable 1 } + +AristaIfEntry ::= SEQUENCE { + aristaIfCounterLastUpdated TimeTicks, + aristaIfRateInterval TimeTicks, + aristaIfInPktRate Gauge32, + aristaIfOutPktRate Gauge32, + aristaIfInOctetRate CounterBasedGauge64, + aristaIfOutOctetRate CounterBasedGauge64, + aristaIfRatesLastUpdated TimeTicks, + aristaIfOperStatusChanges Counter32, + aristaIfInAclDrops Counter32 +} + +aristaIfCounterLastUpdated OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime at which the counters in the ifTable and ifXTable + were sampled from the hardware." + ::= { aristaIfEntry 1 } + +aristaIfRateInterval OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The amount of time over which the aristaIf*Rate values + are averaged for this interface." + ::= { aristaIfEntry 2 } + +aristaIfInPktRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The rate, in packets per second, of packets inbound on + this interface, averaged over aristaIfRateInterval." + ::= { aristaIfEntry 3 } + +aristaIfOutPktRate OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The rate, in packets per second, of packets outbound on + this interface, averaged over aristaIfRateInterval." + ::= { aristaIfEntry 4 } + +aristaIfInOctetRate OBJECT-TYPE + SYNTAX CounterBasedGauge64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The rate, in octets per second, of data inbound on + this interface, averaged over aristaIfRateInterval." + ::= { aristaIfEntry 5 } + +aristaIfOutOctetRate OBJECT-TYPE + SYNTAX CounterBasedGauge64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The rate, in octets per second, of data inbound on + this interface, averaged over aristaIfRateInterval." + ::= { aristaIfEntry 6 } + +aristaIfRatesLastUpdated OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUpTime at which the aristaIf*Rate gauges were + last calculated." + ::= { aristaIfEntry 7 } + +aristaIfOperStatusChanges OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of times since system boot that ifOperStatus has + changed." + ::= { aristaIfEntry 8 } + +aristaIfInAclDrops OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of inbound packets dropped because of an + Access Control List (ACL). + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime." + ::= { aristaIfEntry 9 } + +-- Conformance information +aristaIfConformance OBJECT IDENTIFIER ::= { aristaIfMIB 2 } + +aristaIfGroups OBJECT IDENTIFIER ::= { aristaIfConformance 1 } +aristaIfCompliances OBJECT IDENTIFIER ::= { aristaIfConformance 2 } + +-- Compliance statements +aristaIfCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for Arista devices + that implement the IF-MIB" + + MODULE -- this module + MANDATORY-GROUPS { aristaIfAdditionalInformationGroup } + ::= { aristaIfCompliances 1 } + +-- Units of conformance +aristaIfAdditionalInformationGroup OBJECT-GROUP + OBJECTS { aristaIfCounterLastUpdated, aristaIfRateInterval, + aristaIfInPktRate, aristaIfOutPktRate, + aristaIfInOctetRate, aristaIfOutOctetRate, + aristaIfRatesLastUpdated, aristaIfOperStatusChanges, + aristaIfInAclDrops } + STATUS current + DESCRIPTION + "A collection of objects providing additional information + above and beyond what the IF-MIB provides, applicable to + all network interfaces." + ::= { aristaIfGroups 1 } + +END diff --git a/MIBS/arista/ARISTA-NEXTHOP-GROUP-MIB b/MIBS/arista/ARISTA-NEXTHOP-GROUP-MIB new file mode 100644 index 0000000..092504f --- /dev/null +++ b/MIBS/arista/ARISTA-NEXTHOP-GROUP-MIB @@ -0,0 +1,286 @@ +ARISTA-NEXTHOP-GROUP-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, + Unsigned32, Counter64 FROM SNMPv2-SMI + MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF + TEXTUAL-CONVENTION FROM SNMPv2-TC + aristaMibs FROM ARISTA-SMI-MIB; + +aristaNexthopGroupMIB MODULE-IDENTITY + LAST-UPDATED "201604170000Z" + 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 + "This MIB contains information about NextHop Groups (NHG). + + General L3 routing creates routing table entries, each of + which are associated with a nexthop. If multiple paths + exist for a specific route, the route points to a set of + nexthops (commonly referred as ECMP or Equal Cost + MultiPath). + + Arista devices support a feature which allows customers to + manually create a nexthop list, and use this list to + route packets to the specified set of nexthop + addresses. Customers can associate a tunnel type (GRE, + for example) with the nexthop group, allowing relevant + packets to be tunneled as well. The packet forwarding or + routing decision happens in hardware. + + Nexthop group feature gives customers full control of how + a route should be forwarded (tunneled or otherwise). The + number of entries in the nexthop group is also determined + by the user, and directly translates to the number of + nexthop entries in the hardware for the specified route. + + Let's provide an example, looking at EOS CLI example. + + nexthop-group foo type ip-in-ip + ttl 64 + entry 0 tunnel-destination 10.1.1.1 + entry 1 tunnel-destination 20.1.1.1 + ! + ip route 30.1.1.0/24 Nexthop-Group foo + + In the above configuration, any packet destined to + 30.1.1.0/24 will be forwarded by the nexthop group + 'foo'. Each entry inside the nexthop group specifies a + particular nexthop ('tunnel destination') chosen by the + customer. In this example, packets can be forwarded via + either of the nexthop (traffic split equally between the 2 + entries). + + This MIB module provides information relevant to the + nexthop group feature, specifically the status of various + nexthop groups configured, and traffic statistics." + REVISION "201604170000Z" + DESCRIPTION + "Initial revision of the MIB module." + ::= { aristaMibs 21 } + +aristaNexthopGroupMibObjects OBJECT IDENTIFIER + ::= { aristaNexthopGroupMIB 1 } + +aristaNexthopGroupMibConformance OBJECT IDENTIFIER + ::= { aristaNexthopGroupMIB 2 } + +-- Textual Convention + +NexthopGroupName ::= TEXTUAL-CONVENTION + DISPLAY-HINT "255a" + STATUS current + DESCRIPTION + "Each nexthop group configured by the user is associated with + a name, by configuration." + SYNTAX OCTET STRING (SIZE (0..255)) + +NexthopGroupType ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "A nexthop group is associated with a type, which determines + the packet forwarding behavior. + + Type 'ip' refers to L3 IP routing. A route pointing to a + nexthop group in this case is equivalent to multiple static + route configuration entries each with a particular nexthop. + + Types 'gre', 'mpls', 'ip-in-ip' all refer to tunnel types. In + this case a route pointing to the specified nexthop group is + used to tunnel packets using the appropriate encapsulation to + a tunnel destination. The encapsulation information depends on + the tunnel type itself." + SYNTAX INTEGER { + invalid(0), + ipInIp(1), + gre(2), + mpls(3), + ip(4), + mplsOverGre(5) + } + +-- Nexthop Group table + +aristaNexthopGroupTable OBJECT-TYPE + SYNTAX SEQUENCE OF AristaNexthopGroupEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains information about the nexthop groups + that are present in the device." + ::= { aristaNexthopGroupMibObjects 1 } + +aristaNexthopGroupEntry OBJECT-TYPE + SYNTAX AristaNexthopGroupEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A conceptual row, containing information for a specific + nexthop group." + INDEX { aristaNexthopGroupId } + ::= { aristaNexthopGroupTable 1 } + +AristaNexthopGroupEntry ::= SEQUENCE { + aristaNexthopGroupId Unsigned32, + aristaNexthopGroupName NexthopGroupName, + aristaNexthopGroupType NexthopGroupType +} + +aristaNexthopGroupId OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Unique index identifying a nexthop group." + ::= { aristaNexthopGroupEntry 1 } + +aristaNexthopGroupName OBJECT-TYPE + SYNTAX NexthopGroupName + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Unique name identifying a nexthop group." + ::= { aristaNexthopGroupEntry 2 } + +aristaNexthopGroupType OBJECT-TYPE + SYNTAX NexthopGroupType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The type of the nexthop group. The encapsulation information + provided for each entry in the nexthop group corresponds to + the type." + ::= { aristaNexthopGroupEntry 3 } + +-- Nexthop Group counter table + +aristaNexthopGroupCounterTable OBJECT-TYPE + SYNTAX SEQUENCE OF AristaNexthopGroupCounterEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each nexthop group contains several entries - each + entry specifies a particular nexthop through which a packet + can be forwarded. There is packet and byte counter information + associated with each such nexthop. + + This table represents the per nexthop counter information for + every nexthop group." + ::= { aristaNexthopGroupMibObjects 2 } + +aristaNexthopGroupCounterEntry OBJECT-TYPE + SYNTAX AristaNexthopGroupCounterEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A conceptual row, containing counter information for every + nexthop defined inside the nexthop group." + INDEX { aristaNexthopGroupId, + aristaNexthopGroupEntryIndex + } + ::= { aristaNexthopGroupCounterTable 1 } + +AristaNexthopGroupCounterEntry ::= SEQUENCE { + aristaNexthopGroupEntryIndex Unsigned32, + aristaNexthopGroupCounterIndex Unsigned32, + aristaNexthopGroupCounterPacketCount Counter64, + aristaNexthopGroupCounterByteCount Counter64 +} + +aristaNexthopGroupEntryIndex OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "As described in the beginning of the MIB module each nexthop + group can have multiple entries, one per 'destination' or + 'nexthop'. Each entry within a nexthop group has a number or + index as configured by the user. This MIB object represents + the entry index within the nexthop group." + ::= { aristaNexthopGroupCounterEntry 1 } + +aristaNexthopGroupCounterIndex OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "For every nexthop within a nexthop group, packet and byte + counters are maintained by the device. Counters can be shared + by multiple such nexthops and the counter index will be the + same for all of those nexthops." + ::= { aristaNexthopGroupCounterEntry 2 } + +aristaNexthopGroupCounterPacketCount OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of packets forwarded through the specific + nexthop. Note that since counters are shared with multiple + nexthops, the packet count is an aggregate of packets + forwarded through all the relevant nexthops." + ::= { aristaNexthopGroupCounterEntry 3 } + +aristaNexthopGroupCounterByteCount OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The byte count of packets forwarded through the specific + nexthop. Note that since counters are shared with multiple + nexthops, the byte count is an aggregate of packets + forwarded through all the relevant nexthops." + ::= { aristaNexthopGroupCounterEntry 4 } + +-- Conformance and Compliance + +aristaNexthopGroupMibCompliances OBJECT IDENTIFIER + ::= { aristaNexthopGroupMibConformance 1 } + +aristaNexthopGroupMibGroups OBJECT IDENTIFIER + ::= { aristaNexthopGroupMibConformance 2 } + +aristaNexthopGroupMibCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for Arista switches that implement + the ARISTA-NEXTHOP-GROUP-MIB." + MODULE -- this module + MANDATORY-GROUPS { + aristaNexthopGroupGroup, + aristaNexthopGroupCounterGroup + } + ::= { aristaNexthopGroupMibCompliances 1 } + +aristaNexthopGroupGroup OBJECT-GROUP + OBJECTS { + aristaNexthopGroupName, + aristaNexthopGroupType + } + STATUS current + DESCRIPTION + "The collection of objects that provide nexthop group + information in the system." + ::= { aristaNexthopGroupMibGroups 1 } + +aristaNexthopGroupCounterGroup OBJECT-GROUP + OBJECTS { + aristaNexthopGroupCounterIndex, + aristaNexthopGroupCounterPacketCount, + aristaNexthopGroupCounterByteCount + } + STATUS current + DESCRIPTION + "The collection of objects that provide counter information + for every nexthop in the nexthop group." + ::= { aristaNexthopGroupMibGroups 2 } + +END diff --git a/MIBS/arista/ARISTA-SMI-MIB b/MIBS/arista/ARISTA-SMI-MIB new file mode 100644 index 0000000..05baf5e --- /dev/null +++ b/MIBS/arista/ARISTA-SMI-MIB @@ -0,0 +1,68 @@ +-- ARISTA-SMI_MIB: arista structure of management information +-- Copyright (c) 2008 Arista Networks, Inc. All rights reserved. + +ARISTA-SMI-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, + OBJECT-IDENTITY, + enterprises + FROM SNMPv2-SMI; + +arista 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 Structure of Management Information for the + Arista Networks enterprise." + REVISION "201408150000Z" + DESCRIPTION + "Updated postal and e-mail addresses" + REVISION "201103311300Z" + DESCRIPTION + "Updated postal address and telephone" + REVISION "200810271830Z" + DESCRIPTION + "Initial version." + ::= { enterprises 30065 } -- assigned by IANA + +aristaProducts OBJECT-IDENTITY + STATUS current + DESCRIPTION + "aristaProducts is the root object identifier from + which sysObjectID values are assigned. Values are + defined in ARISTA-PRODUCTS-MIB." + ::= { arista 1 } + +aristaModules OBJECT-IDENTITY + STATUS current + DESCRIPTION + "aristaModules provides a root object identifier + from which MODULE-IDENTITY values may be assigned." + ::= { arista 2 } + +aristaMibs OBJECT-IDENTITY + STATUS current + DESCRIPTION + "aristaMibs provides a root object identifier + for management-related MIBs." + ::= { arista 3 } + +aristaExperiment OBJECT-IDENTITY + STATUS current + DESCRIPTION + "aristaExperiment provides a root object identifier + for experimental MIBs. The structure of information + for these MIBs can not be guaranteed between releases." + ::= { arista 4 } + +END diff --git a/MIBS/arista/ARISTA-VRF-MIB b/MIBS/arista/ARISTA-VRF-MIB new file mode 100644 index 0000000..2c14d25 --- /dev/null +++ b/MIBS/arista/ARISTA-VRF-MIB @@ -0,0 +1,232 @@ +ARISTA-VRF-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE FROM SNMPv2-SMI + MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF + ifIndex FROM IF-MIB + TEXTUAL-CONVENTION FROM SNMPv2-TC + aristaMibs FROM ARISTA-SMI-MIB; + +aristaVrfMIB MODULE-IDENTITY + LAST-UPDATED "201501110000Z" + 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 + "This MIB contains information related to Virtual + Routing and Forwarding (VRF). + + VRF is a mechanism by which a single device can provide + independent routing instances. This allows customers to + virtually isolate network traffic, and also use overlapping + IP addresses. + + Layer3 or routed interfaces in the system will belong to + one VRF at a time. The datapath forwarding logic uses the + VRF membership of the input interface to determine a + specific forwarding table to use for routing the traffic. + + VRF can also be used to isolate management traffic from + the rest of the data plane traffic. + + This MIB module provides the following pieces of + information: + * A table of all VRFs configured in the system + * A table that contains the VRF membership information + for all routed interfaces in the system by sparsely + augmenting the ifTable." + + REVISION "201501110000Z" + DESCRIPTION + "Initial revision of this MIB module." + ::= { aristaMibs 18 } + + +aristaVrfMibObjects OBJECT IDENTIFIER + ::= { aristaVrfMIB 1 } + +aristaVrfMibConformance OBJECT IDENTIFIER + ::= { aristaVrfMIB 2 } + + +-- Textual Convention + +VrfName ::= TEXTUAL-CONVENTION + DISPLAY-HINT "100t" + STATUS current + DESCRIPTION + "A human-readable identifier assigned to every VRF. The + identifier is unique across all VRFs in the system." + SYNTAX OCTET STRING (SIZE (0..100)) + +VrfRouteDistinguisher ::= TEXTUAL-CONVENTION + DISPLAY-HINT "256a" + STATUS current + DESCRIPTION + "A route distinguisher as defined in [RFC4364], in the form + '<admin>:<local>', where <admin> is the administrator ID + (e.g., an AS number) and <local> is the locally assigned + number." + REFERENCE + "[RFC4364]" + SYNTAX OCTET STRING(SIZE (0..256)) + +VrfState ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "The state of a specific VRF. When the administrator + configures a VRF on the system, it stays inactive until a + route distinguisher is assigned to it. Also, when the + administrator deletes a VRF, there can be a small delay + before the VRF is completely unconfigured from the system, + during which time its status becomes inactive." + SYNTAX INTEGER { + active(1), + inactive(2) + } + + +-- VRF Table + +aristaVrfTable OBJECT-TYPE + SYNTAX SEQUENCE OF AristaVrfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains information about VRFs currently + configured in the system." + ::= { aristaVrfMibObjects 1 } + +aristaVrfEntry OBJECT-TYPE + SYNTAX AristaVrfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A single row containing information for one VRF that is + configured in the system." + INDEX { aristaVrfName } + ::= { aristaVrfTable 1 } + +AristaVrfEntry ::= SEQUENCE { + aristaVrfName VrfName, + aristaVrfRoutingStatus BITS, + aristaVrfRouteDistinguisher VrfRouteDistinguisher, + aristaVrfState VrfState +} + +aristaVrfName OBJECT-TYPE + SYNTAX VrfName + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The name of the VRF that is represented by this row." + ::= { aristaVrfEntry 1 } + +aristaVrfRoutingStatus OBJECT-TYPE + SYNTAX BITS { + ipv4(0), + ipv6(1) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The current status of data path routing in this VRF. + Routing for IPv4 and IPv6 packets can be independently + enabled by the administrator for a given VRF. This object + carries the routing status for both the protocol versions. + If data path routing is enabled for a protocol, the bit + for the protocol is 1." + ::= { aristaVrfEntry 2 } + +aristaVrfRouteDistinguisher OBJECT-TYPE + SYNTAX VrfRouteDistinguisher + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The route distinguisher for this VRF." + ::= { aristaVrfEntry 3 } + +aristaVrfState OBJECT-TYPE + SYNTAX VrfState + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The state of the VRF." + ::= { aristaVrfEntry 4 } + +-- Interface Table + +aristaVrfIfTable OBJECT-TYPE + SYNTAX SEQUENCE OF AristaVrfIfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table augments the ifTable and contains the + VRF membership information for every routed interface + in the system. A row is present only for each active + routed (or layer3) interface." + ::= { aristaVrfMibObjects 2 } + +aristaVrfIfEntry OBJECT-TYPE + SYNTAX AristaVrfIfEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "VRF membership information for a single routed interface." + INDEX { ifIndex } + ::= { aristaVrfIfTable 1 } + +AristaVrfIfEntry ::= SEQUENCE { + aristaVrfIfMembership VrfName +} + +aristaVrfIfMembership OBJECT-TYPE + SYNTAX VrfName + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The name of the VRF that this routed interface is currently + part of." + ::= { aristaVrfIfEntry 1 } + +-- Conformance and Compliance + +aristaVrfMibCompliances OBJECT IDENTIFIER + ::= { aristaVrfMibConformance 1 } + +aristaVrfMibGroups OBJECT IDENTIFIER + ::= { aristaVrfMibConformance 2 } + +aristaVrfMibCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for Arista switches that implement + the ARISTA-VRF-MIB." + MODULE -- this module + MANDATORY-GROUPS { + aristaVrfInformationGroup + } + ::= { aristaVrfMibCompliances 1 } + +aristaVrfInformationGroup OBJECT-GROUP + OBJECTS { + aristaVrfRoutingStatus, + aristaVrfRouteDistinguisher, + aristaVrfState, + aristaVrfIfMembership + } + STATUS current + DESCRIPTION + "The collection of objects that provide VRF information in the + system." + ::= { aristaVrfMibGroups 1 } + + +END |