ARISTA-TAPAGG-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter64 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF DisplayString FROM SNMPv2-TC AristaQosShortId FROM ARISTA-QOS-MIB aristaMibs FROM ARISTA-SMI-MIB; aristaTapaggMIB MODULE-IDENTITY LAST-UPDATED "202104230000Z" 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 the tapagg feature that is implemented on specific Arista switches running EOS. On specific Arista devices, EOS offers a powerful solution for network performance monitoring. These devices have significant bandwidth capacity and different port or interface speed options for a non-blocking monitoring solution. This specific EOS feature is called 'TAP aggregation' or 'tapagg'. These devices are typically capable of performing packet classification in hardware as well, and that can be used to steer the monitored traffic as desired, directly to the right set of external tools. With the tapagg feature, the Arista switching device is first put into an exclusive mode to do the desired packet replication. In this mode, normal switching functions like bridging, routing etc. are disabled. Interfaces are categorized into 'tap' (they receive the traffic that is required to be replicated) and 'tool' (they transmit the replicated packet out and are in the path towards the monitoring tool). Furthermore, the tapagg feature allows users to configure classification rules via the policy-map construct so that the mirrored traffic can be steered appropriately. Another layer of indirection that is provided is called aggregation-groups. Tap and tool interfaces can be part of a specific aggregation group, and that allows for a powerful way to express replication or mirroring rules. Policies can change the aggregation group for specific set of packets, and that can be used to steer traffic out of desired tool interfaces as appropriate. This MIB provides information related to the tapagg feature." REVISION "202104230000Z" DESCRIPTION "Initial revision of the MIB module." ::= { aristaMibs 31 } aristaTapaggMibObjects OBJECT IDENTIFIER ::= { aristaTapaggMIB 1 } aristaTapaggMibConformance OBJECT IDENTIFIER ::= { aristaTapaggMIB 2 } aristaTapaggPolicyTable OBJECT-TYPE SYNTAX SEQUENCE OF AristaTapaggPolicyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information about the tapagg policies configured in the system. The configuration construct 'policy-map type tapagg' is used to create and maintain these policies. Once a policy is defined it can be applied against the appropriate interfaces. The basic idea behind these policies is to classify packets (IP or IPv6 packet information or L2 packet information etc.) and on relevant matches take specific actions. One example of an action is to set the aggregation-group for the matched traffic. This table provides a simple list of tapagg policies, and a subsequent table provides additional details for each policy." ::= { aristaTapaggMibObjects 1 } aristaTapaggPolicyEntry OBJECT-TYPE SYNTAX AristaTapaggPolicyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A single conceptual row containing information about a tapagg policy. A conceptual row is identified by a bounded-length identifier that corresponds to the name of the policy." INDEX { aristaTapaggPolicyId } ::= { aristaTapaggPolicyTable 1 } AristaTapaggPolicyEntry ::= SEQUENCE { aristaTapaggPolicyId AristaQosShortId, aristaTapaggPolicyName DisplayString } aristaTapaggPolicyId OBJECT-TYPE SYNTAX AristaQosShortId MAX-ACCESS not-accessible STATUS current DESCRIPTION "A bounded-length identifier that is mapped from the tapagg policy name." ::= { aristaTapaggPolicyEntry 1 } aristaTapaggPolicyName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The full name of the tapagg policy-map." ::= { aristaTapaggPolicyEntry 2 } aristaTapaggPolicyClassTable OBJECT-TYPE SYNTAX SEQUENCE OF AristaTapaggPolicyClassEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains additional details about the tapagg policies configured in the system. Within a policy the packet match criteria and set action are provided using 'class-maps'. Internally the device maintains useful state, including counters, for each class-map. However, a simple match criteria along with a set action can be provided without the class-map construct as well. In this case, the device will automatically construct an internal/unique class-map for this specific match/set configuration. As mentioned above, counters are maintained for matched packets. However, this requires explicit configuration so that the counter resources in the hardware can be enabled. There will be a conceptual row in this table for every class-map configured inside a policy." ::= { aristaTapaggMibObjects 2 } aristaTapaggPolicyClassEntry OBJECT-TYPE SYNTAX AristaTapaggPolicyClassEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A single conceptual row containing information about a specific class-map within a policy. A conceptual row is identified by the following components: 1. A bounded-length identifier that corresponds to the name of the policy. 2. An index that identifies the sequence in which match criteria are evaluated at run time. The index values may not be consecutive." INDEX { aristaTapaggPolicyId, aristaTapaggPolicyClassIndex } ::= { aristaTapaggPolicyClassTable 1 } AristaTapaggPolicyClassEntry ::= SEQUENCE { aristaTapaggPolicyClassIndex Integer32, aristaTapaggPolicyClassName DisplayString, aristaTapaggPolicyPktsMatched Counter64, aristaTapaggPolicyBytesMatched Counter64 } aristaTapaggPolicyClassIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that identifies the sequence in which match criteria are evaluated in the device hardware. An index with a smaller value will be evaluated first. The index values themselves may not be consecutive." ::= { aristaTapaggPolicyClassEntry 1 } aristaTapaggPolicyClassName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The name of the class-map within the policy that corresponds to this conceptual row. As described earlier, a simple match/set configuration is possible without creating a class-map construct. In that the case, the device manages relevant state by maintaining an internal/unique class-map name." ::= { aristaTapaggPolicyClassEntry 2 } aristaTapaggPolicyPktsMatched OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets that matched the specific packet classification criteria that corresponds to this conceptual row." ::= { aristaTapaggPolicyClassEntry 3 } aristaTapaggPolicyBytesMatched OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of bytes that matched the specific packet classification criteria that corresponds to this conceptual row." ::= { aristaTapaggPolicyClassEntry 4 } -- Compliance and conformance aristaTapaggMibCompliances OBJECT IDENTIFIER ::= { aristaTapaggMibConformance 1 } aristaTapaggMibGroups OBJECT IDENTIFIER ::= { aristaTapaggMibConformance 2 } aristaTapaggMibCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for Arista switches that implement the ARISTA-TAPAGG-MIB." MODULE -- this module MANDATORY-GROUPS { aristaTapaggPolicyGroup } ::= { aristaTapaggMibCompliances 1 } aristaTapaggPolicyGroup OBJECT-GROUP OBJECTS { aristaTapaggPolicyName, aristaTapaggPolicyClassName, aristaTapaggPolicyPktsMatched, aristaTapaggPolicyBytesMatched } STATUS current DESCRIPTION "The collection of objects that provide tapagg policy information in the system." ::= { aristaTapaggMibGroups 1 } END