287 lines
11 KiB
Plaintext
287 lines
11 KiB
Plaintext
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
|