summaryrefslogtreecommitdiff
path: root/MIBS/arista/ARISTA-NEXTHOP-GROUP-MIB
diff options
context:
space:
mode:
authorDavid Leutgeb <david.leutgeb@mannundmouse.com>2023-12-05 12:25:34 +0100
committerDavid Leutgeb <david.leutgeb@mannundmouse.com>2023-12-05 12:25:34 +0100
commit98a672123c7872f6b9b75a9a2b6bb3aea504de6a (patch)
tree9b13bd7f563c3198047bd359195327cf28b3caf0 /MIBS/arista/ARISTA-NEXTHOP-GROUP-MIB
downloadmibs-98a672123c7872f6b9b75a9a2b6bb3aea504de6a.tar.gz
mibs-98a672123c7872f6b9b75a9a2b6bb3aea504de6a.zip
Initial commitHEADmain
Diffstat (limited to 'MIBS/arista/ARISTA-NEXTHOP-GROUP-MIB')
-rw-r--r--MIBS/arista/ARISTA-NEXTHOP-GROUP-MIB286
1 files changed, 286 insertions, 0 deletions
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