mibs/MIBS/arista/ARISTA-NEXTHOP-GROUP-MIB

287 lines
11 KiB
Plaintext
Raw Permalink Normal View History

2023-12-05 12:25:34 +01:00
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