--**MOD+************************************************************************
--* Module:    ARUBAWIRED-RPVST-MIB : RPVST MIB file
--*
--* (c) Copyright 2018,2020 Hewlett Packard Enterprise Development LP
--* All Rights Reserved.
--*
--* The contents of this software are proprietary and confidential
--* to the Hewlett-Packard Development Company, L.P.  No part of this
--* program may be photocopied, reproduced, or translated into another
--* programming language without prior written consent of the
--* Hewlett-Packard Development Company, L.P.
--*
--* Purpose: This file contains MIB definition of ARUBAWIRED-RPVST-MIB
--*
--**MOD-************************************************************************

ARUBAWIRED-RPVST-MIB DEFINITIONS ::= BEGIN
IMPORTS
            MODULE-IDENTITY, OBJECT-TYPE, TimeTicks,
               Counter32, NOTIFICATION-TYPE,
            Integer32
                 FROM SNMPv2-SMI
            DateAndTime, DisplayString
                 FROM  SNMPv2-TC
            MODULE-COMPLIANCE , OBJECT-GROUP, NOTIFICATION-GROUP
                 FROM SNMPv2-CONF
            VlanIndex
                 FROM Q-BRIDGE-MIB
            wndFeatures
                 FROM  ARUBAWIRED-NETWORKING-OID
            InterfaceIndex
                 FROM  IF-MIB
            TruthValue,MacAddress,TEXTUAL-CONVENTION
                 FROM  SNMPv2-TC;

arubaWiredRpvstMIB MODULE-IDENTITY
        LAST-UPDATED "202011250000Z" -- November 25, 2020
        ORGANIZATION "HPE/Aruba Networking Division"
        CONTACT-INFO "Hewlett Packard Enterprise
                          3000 Hanover St.
                          Palo Alto, CA 94304-1112"
        DESCRIPTION
                     "This MIB module for Rapid Per VLAN Spanning Tree(RPVST)."

        REVISION     "202011250000Z" -- November 25, 2020
        DESCRIPTION
                     "Added arubaWiredRpvstMstpInterconnectVlan and
                      arubaWiredRpvstCurrentVportCount to the
                      arubaWiredRpvstGroup of this MIB module"

        REVISION     "202010220000Z" -- October 22, 2020
        DESCRIPTION
                     "Updated arubaWiredRpvstVlanRootPathCost and
                      arubaWiredRpvstPortVlanInconsistencyReason objects"

        REVISION     "202006120000Z" -- June 12, 2020
        DESCRIPTION
                     "Added arubaWiredRpvstBpduGuardTimeout to
                      arubaWiredRpvstGroup of this MIB module"

        REVISION     "201805290000Z" -- May 29, 2018
        DESCRIPTION
                     "arubaWiredRpvstPortVlanId & arubaWiredRpvstPortVlanIndex mib
                     objects are added to arubaWiredRpvstPortVlan table."
        REVISION     "201801180000Z" -- January 18, 2018
        DESCRIPTION
                     "Initial version of this MIB module"
        ::= { wndFeatures 5 }

   PointToPoint ::= TEXTUAL-CONVENTION
         STATUS      current
         DESCRIPTION "
                forceTrue: This value indicates that the
                administrator requires the MAC to be treated as
                if it is connected to a point-to-point LAN segment,
                regardless of any indications to the contrary that
                are generated by the MAC entity.

                forceFalse: This value indicates that the
                administrator requires the MAC to be treated as
                if it is connected to a non-point-to-point LAN
                segment, regardless of any indications to the
                contrary that are generated by the MAC entity.


                auto: This value indicates that the administrator
                requires the point-to-point status of the MAC to be
                determined in accordance with the specific MAC
                procedures defined in 6.5."
         SYNTAX      INTEGER {
                        forceTrue(1),
                        forceFalse(2),
                        auto(3)
                    }

  -- Top-level structure of MIB
   arubaWiredRpvstNotifications  OBJECT IDENTIFIER ::= { arubaWiredRpvstMIB 0}
   arubaWiredRpvstObjects        OBJECT IDENTIFIER ::= { arubaWiredRpvstMIB 1}
   arubaWiredRpvstConformance    OBJECT IDENTIFIER ::= { arubaWiredRpvstMIB 2}


    -- RPVST General Variables

    -- These parameters apply globally to the RPVST

    arubaWiredRpvstGeneralGroup OBJECT IDENTIFIER ::= {arubaWiredRpvstObjects 1}

     arubaWiredRpvstResetCounters OBJECT-TYPE
            SYNTAX          TruthValue
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION  " Setting this object to true(1) will reset
                           all the RPVST counters. Setting this to
                           false(2) is no operation."
            DEFVAL          { false }
            ::= { arubaWiredRpvstGeneralGroup 1 }


     arubaWiredRpvstExtendedSystemID OBJECT-TYPE
            SYNTAX          TruthValue
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION  " Creates a unique bridge identifier for each VLAN by adding the
                           VLAN ID (vid) value to the priority field of the bridge identifier
                           in every RPVST BPDU. Indicates whether Extended System ID feature
                           is enabled or not."
            DEFVAL          { true }
            ::= { arubaWiredRpvstGeneralGroup 2 }

     arubaWiredRpvstIgnorePVIDInconsistency OBJECT-TYPE
            SYNTAX          TruthValue
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION   "Setting this object to True(1) will  enable RPVST
                           to run  on mismatched PVID links.Once set it will
                           apply to all RPVST instances"

            DEFVAL          { false }
            ::= { arubaWiredRpvstGeneralGroup 3 }

     arubaWiredRpvstPathCostMode  OBJECT-TYPE
            SYNTAX      INTEGER {
                             pathCost8021d(1),
                             pathCost8021t(2),
                             proprietary(3)
                         }
            MAX-ACCESS   read-write
            STATUS       current

            DESCRIPTION  "arubaWiredRpvstPathCostMode controls which pathcost mode to use.
                          A device can function in one of the 3 modes defined below.
                          pathCost8021d  - The device calculates the default path cost for
                          ports based on IEEE 802.1d.

                          pathCost8021t  - The device calculates the default path cost for
                          ports based on IEEE 802.1t.

                          proprietary  -The device calculates the default path cost for
                          ports based on the proprietary standard.

                          Link Speed Vs Pathcost Table
                          ----------------------------------------------------------
                          |Link speed| Pathcost in | Pathcost in | Pathcost in     |
                          |          | IEEE802.1d  | IEEE 802.1t | private standard|
                          ----------------------------------------------------------
                          | 10 Mbps  | 100         | 2,000,000   | 100             |
                          ----------------------------------------------------------
                          | 100 Mbps | 10          | 200,000     | 19              |
                          ----------------------------------------------------------
                          | 1000 Mbps| 4           | 20,000      | 4               |
                          ----------------------------------------------------------
                          | 10 Gbps  | 1           | 2,000       | 2               |
                          ----------------------------------------------------------
                          "

            DEFVAL     { 2 }
            ::= { arubaWiredRpvstGeneralGroup 4 }

    arubaWiredRpvstBpduGuardTimeout OBJECT-TYPE
            SYNTAX          Integer32
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION   "Time in seconds until when a
                    port configured for BPDU-guard will be disabled,
                    upon receiving an STP BPDU. If BpduGuardtimeout
                    is not set, port will be in the
                    disabled state forever."

            ::= { arubaWiredRpvstGeneralGroup 5 }

    arubaWiredRpvstMstpInterconnectVlan OBJECT-TYPE
            SYNTAX          Integer32
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION   "VLAN used to interconnect an RPVST
                    domain to an MSTP domain. This is only
                    applicable if spanning tree is enabled
                    on this device and the mode is set
                    to RPVST."

            ::= { arubaWiredRpvstGeneralGroup 6 }

    arubaWiredRpvstCurrentVportCount OBJECT-TYPE
            SYNTAX          Integer32
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION   "Specifies the current number of
                    RPVST VPORTs configured in the system."

            ::= { arubaWiredRpvstGeneralGroup 7 }

    arubaWiredRpvstVlanTable OBJECT-TYPE
            SYNTAX          SEQUENCE OF ArubaWiredRpvstVlanEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Information describing the RPVST configuration
                 and statistics of the VLANs."
            ::= { arubaWiredRpvstObjects 2 }

     arubaWiredRpvstVlanEntry OBJECT-TYPE
            SYNTAX          ArubaWiredRpvstVlanEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Information describing the RPVST configuration
                 and statistics of each of the VLANs."
            INDEX           { arubaWiredRpvstVlanId }
            ::= { arubaWiredRpvstVlanTable 1 }

     ArubaWiredRpvstVlanEntry ::= SEQUENCE {

            arubaWiredRpvstVlanId
                    VlanIndex,
            arubaWiredRpvstVlanHelloTime
                    Integer32,
            arubaWiredRpvstVlanForwardDelay
                    Integer32,
            arubaWiredRpvstVlanMaxAge
                    Integer32,
            arubaWiredRpvstVlanPriority
                    Integer32,
            arubaWiredRpvstVlanRoot
                    INTEGER,
            arubaWiredRpvstVlanRpvstAdminStatus
                    INTEGER,
            arubaWiredRpvstVlanResetCounters
                    TruthValue,
            arubaWiredRpvstVlanOperHelloTime
                    Integer32,
            arubaWiredRpvstVlanRootPriority
                    Integer32,
            arubaWiredRpvstVlanRootPort
                    InterfaceIndex,
            arubaWiredRpvstVlanRootPathCost
                    Integer32,
            arubaWiredRpvstVlanRootMacAddress
                    MacAddress,
            arubaWiredRpvstVlanRootChangeCounter
                    Counter32,
            arubaWiredRpvstVlanTimeSinceLastTopoChange
                     TimeTicks,
            arubaWiredRpvstVlanTopoChangeCount
                     Counter32,
            arubaWiredRpvstVlanSendTopoChangeCtrl
                     TruthValue,
            arubaWiredRpvstVlanLogPortStateTransitions
                     TruthValue

    }

      arubaWiredRpvstVlanId OBJECT-TYPE
            SYNTAX          VlanIndex
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "A VLAN ID to uniquely identify the entries.
                "
            ::= { arubaWiredRpvstVlanEntry 1 }

      arubaWiredRpvstVlanHelloTime OBJECT-TYPE
            SYNTAX          Integer32 (2..10)
            UNITS           "seconds"
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION "   The amount of time between the
                transmission of configuration BPDUs by this
                node on any port in this VLAN when it is root of
                the spanning tree, or trying to
                become so for this VLAN."
            DEFVAL            { 2 }
            ::= { arubaWiredRpvstVlanEntry 2 }

      arubaWiredRpvstVlanForwardDelay OBJECT-TYPE
            SYNTAX          Integer32 (4..30)
            UNITS           "seconds"
            MAX-ACCESS      read-write

            STATUS          current
            DESCRIPTION "   The amount of time between transitioning
               from listening to learning and learning to forwarding
               by this node on any port when it is acting as a
               root for this VLAN."
            DEFVAL           { 15 }
            ::= { arubaWiredRpvstVlanEntry 3 }

      arubaWiredRpvstVlanMaxAge OBJECT-TYPE
            SYNTAX          Integer32 (6..40)
            UNITS           "seconds"
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION "   The maximum age of RPVST information
               learned from the network on any port before it is
               discarded."
            DEFVAL          { 20 }
            ::= { arubaWiredRpvstVlanEntry 4 }

      arubaWiredRpvstVlanPriority OBJECT-TYPE
            SYNTAX          Integer32 (0..65535)
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION "The value of the write-able portion of the
                  Bridge ID (i.e., the first two octets of the
                  (8 octet long) Bridge ID).
                  The other (last) 6 octets of the Bridge ID are
                  given by the value dot1dBridgeBaseAddress."
            DEFVAL          { 32768 }
            ::= { arubaWiredRpvstVlanEntry 5 }

      arubaWiredRpvstVlanRoot OBJECT-TYPE
            SYNTAX          INTEGER{
                             none(0),
                             primary(1),
                             secondary(2)
                            }
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION " To explicitly configure this switch to be
                    primary/secondary root for this VLAN."
            DEFVAL           { none }
            ::= { arubaWiredRpvstVlanEntry 6 }


      arubaWiredRpvstVlanRpvstAdminStatus OBJECT-TYPE
            SYNTAX          INTEGER{
                             enabled(1),
                             disabled(2)
                            }
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION "   To enable/disable RPVST on the VLAN."
            DEFVAL          { disabled }
            ::= { arubaWiredRpvstVlanEntry 7 }

      arubaWiredRpvstVlanResetCounters OBJECT-TYPE
            SYNTAX          TruthValue
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION  " Setting this object to true(1) will
                           reset the RPVST counters for this VLAN."
            DEFVAL          { false }
            ::= { arubaWiredRpvstVlanEntry 8 }

      arubaWiredRpvstVlanOperHelloTime OBJECT-TYPE
            SYNTAX          Integer32 (1..10)
            UNITS           "seconds"
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION  "   The amount of time between the
                      transmission of  BPDUs by this node on
                      any port in this VLAN when it is root of
                      the spanning tree, or trying to become so
                      for this VLAN. This is the actual value
                      that this bridge is using."

            ::= { arubaWiredRpvstVlanEntry 9 }

      arubaWiredRpvstVlanRootPriority OBJECT-TYPE
            SYNTAX          Integer32 (0..65535)
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION  "The priority of root bridge in this VLAN."
            DEFVAL          { 32768 }
            ::= { arubaWiredRpvstVlanEntry 10 }

      arubaWiredRpvstVlanRootPort OBJECT-TYPE
            SYNTAX          InterfaceIndex
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION  "The  root port for this VLAN."

            ::= { arubaWiredRpvstVlanEntry 11 }


      arubaWiredRpvstVlanRootPathCost OBJECT-TYPE
            SYNTAX          Integer32 ( 0..200000000)
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION  "The path cost to the Root from this
                     bridge in this VLAN."

            ::= { arubaWiredRpvstVlanEntry 12 }


      arubaWiredRpvstVlanRootMacAddress OBJECT-TYPE
            SYNTAX          MacAddress
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION  "MAC address of the Root in this VLAN."

            ::= { arubaWiredRpvstVlanEntry 13 }


      arubaWiredRpvstVlanRootChangeCounter OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION  "The number of times the root has changed for this VLAN."
            ::= { arubaWiredRpvstVlanEntry 14 }

      arubaWiredRpvstVlanTimeSinceLastTopoChange OBJECT-TYPE
            SYNTAX      TimeTicks
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION "The time (in hundredths of a second) since the
                        last time a topology change was detected by the
                        bridge entity for this VLAN."
            ::= { arubaWiredRpvstVlanEntry 15 }

      arubaWiredRpvstVlanTopoChangeCount OBJECT-TYPE
            SYNTAX      Counter32
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION "The total number of topology changes detected by
                         this bridge in this VLAN since the management
                         entity was last reset or initialized."
            ::= { arubaWiredRpvstVlanEntry 16 }


      arubaWiredRpvstVlanSendTopoChangeCtrl     OBJECT-TYPE
            SYNTAX      TruthValue
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION "Setting this object to true(1) will
                         enable sending of SNMP notifications
                         for all topology change events on this VLAN."
            DEFVAL      { false }
            ::= { arubaWiredRpvstVlanEntry 17 }

      arubaWiredRpvstVlanLogPortStateTransitions   OBJECT-TYPE
            SYNTAX      TruthValue
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION "Setting this object to true(1) will
                         enable event logging of PVST port state transitions
                         for this VLAN."
            DEFVAL      { false }
            ::= { arubaWiredRpvstVlanEntry 18 }


   -- Per Port Configuration

    arubaWiredRpvstPortTable OBJECT-TYPE
            SYNTAX          SEQUENCE OF ArubaWiredRpvstPortEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Information describing the RPVST specific
                 configuration and statistics of the ports."
            ::= { arubaWiredRpvstObjects 3 }

     arubaWiredRpvstPortEntry OBJECT-TYPE
            SYNTAX          ArubaWiredRpvstPortEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Information describing the RPVST specific
                 configuration and statistics of the ports."
            INDEX           { arubaWiredRpvstPortIndex }
            ::= { arubaWiredRpvstPortTable 1 }

     ArubaWiredRpvstPortEntry ::= SEQUENCE {
            arubaWiredRpvstPortIndex                InterfaceIndex,
            arubaWiredRpvstPortAdminEdge            TruthValue,
            arubaWiredRpvstPortAdminPointToPoint    PointToPoint,
            arubaWiredRpvstPortAutoEdge             TruthValue,
            arubaWiredRpvstPortBpduFiltering        TruthValue,
            arubaWiredRpvstPortRestrictedTcn        TruthValue,
            arubaWiredRpvstPortRootGuard            TruthValue,
            arubaWiredRpvstPortLoopGuard            TruthValue,
            arubaWiredRpvstPortBpduProtection       TruthValue
          }
      arubaWiredRpvstPortIndex OBJECT-TYPE
            SYNTAX         InterfaceIndex
            MAX-ACCESS     not-accessible
            STATUS          current
            DESCRIPTION "  The port ifIndex "
            ::= { arubaWiredRpvstPortEntry 1 }

      arubaWiredRpvstPortAdminEdge OBJECT-TYPE
            SYNTAX          TruthValue
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION  "The administrative value of the Edge Port
                 parameter. A value of true(1) indicates that this
                 port should be assumed as an edge-port, and a
                 value of false(2) indicates that this port
                 should be assumed as a non-edge-port.
                 Note that even when this object's value is true(1),
                 the arubaWiredRpvstOperEdgePort can be false(2) if a
                 BPDU has been received."
            DEFVAL          { false }
            ::= { arubaWiredRpvstPortEntry 2 }

      arubaWiredRpvstPortAdminPointToPoint OBJECT-TYPE
            SYNTAX      PointToPoint
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION "Refer the PointToPoint textual-convention."
            REFERENCE
                "IEEE P802.1w; IEEE P802.1t"
            DEFVAL          { 3 }
            ::= { arubaWiredRpvstPortEntry 3 }

      arubaWiredRpvstPortAutoEdge OBJECT-TYPE
            SYNTAX          TruthValue
            MAX-ACCESS      read-write
            STATUS          current

            DESCRIPTION  "It is used by the Bridge
                    detection state machine for the automatic
                    identification of edge ports. "
            REFERENCE
             "IEEE 802.1D-2004"
            DEFVAL          { 1 }
            ::= { arubaWiredRpvstPortEntry 4 }

      arubaWiredRpvstPortBpduFiltering OBJECT-TYPE
            SYNTAX          TruthValue
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION "This value indicates whether or not
                   BPDUs need to be filtered on this port and BPDU filter
                   option forces a port to always stay in the forwarding
                   state and be excluded from standard STP operation.
                   If the value is true(1) the received BPDUs will
                   be dropped and no BPDUs will be transmitted on
                   the port. If the value is false (2)
                   the BPDUs will be processed as usual. "
            REFERENCE
             "IEEE P802.1w"
            DEFVAL          { false }
            ::= { arubaWiredRpvstPortEntry 5 }

      arubaWiredRpvstPortRestrictedTcn OBJECT-TYPE
            SYNTAX          TruthValue
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION " This value indicates whether or not to
                propagate topology changes to other ports.
                true(1) causes the port not to propagate topology
                changes to other ports."
            REFERENCE "IEEE 802.1Q-REV/5.0 (13.25.15)"
            DEFVAL          { false }
            ::= { arubaWiredRpvstPortEntry 6 }

      arubaWiredRpvstPortRootGuard OBJECT-TYPE
            SYNTAX          TruthValue
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION " Setting this object to true(1) forces port
                  to not to be selected as root port even if
                  this port has the least path cost to the root. "
            DEFVAL          { false }
            ::= { arubaWiredRpvstPortEntry 7 }

      arubaWiredRpvstPortLoopGuard OBJECT-TYPE
            SYNTAX          TruthValue
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION "  Setting this object to true(1) causes the
                non-designated port to go into the STP loop inconsistent
                state instead of the forwarding state. In the
                loop-inconsistent state, the port prevents data traffic
                through the link, therefore avoiding the loop creation.
                When BPDUs again are received on the inconsistent port,
                it resumes normal STP operation automatically. "
            DEFVAL         { false }
            ::= { arubaWiredRpvstPortEntry 8 }

      arubaWiredRpvstPortBpduProtection OBJECT-TYPE
            SYNTAX          TruthValue
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION " Setting this true (1) indicates that no
                BPDUs are expected to be received on this port.
                At the reception of BPDUs the BPDU protection
                mechanism will disable this port and port will
                transition into BPDU Error state."
            DEFVAL         { false }
            ::= { arubaWiredRpvstPortEntry 9 }

    arubaWiredRpvstPortVlanTable OBJECT-TYPE
            SYNTAX          SEQUENCE OF ArubaWiredRpvstPortVlanEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Information describing the RPVST configuration
                 and statistics of the ports in the given VLAN."
            ::= { arubaWiredRpvstObjects 4 }

     arubaWiredRpvstPortVlanEntry OBJECT-TYPE
            SYNTAX          ArubaWiredRpvstPortVlanEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "Information describing the RPVST configuration
                 and statistics of the ports in the given VLAN."
            INDEX           { arubaWiredRpvstPortVlanId,
                              arubaWiredRpvstPortVlanIndex }
            ::= { arubaWiredRpvstPortVlanTable 1 }

     ArubaWiredRpvstPortVlanEntry ::= SEQUENCE {

            arubaWiredRpvstPortVlanId
                    VlanIndex,
            arubaWiredRpvstPortVlanIndex
                    InterfaceIndex,
            arubaWiredRpvstPortVlanPathCost
                    Integer32,
            arubaWiredRpvstPortVlanPriority
                    Integer32,
            arubaWiredRpvstPortVlanResetCounters
                    TruthValue,
            arubaWiredRpvstPortVlanRole
                    INTEGER,
            arubaWiredRpvstPortVlanState
                    INTEGER,
            arubaWiredRpvstPortVlanDesigBridge
                    MacAddress,
            arubaWiredRpvstPortVlanOperPointToPoint
                    TruthValue,
            arubaWiredRpvstPortVlanOperEdge
                    TruthValue,
            arubaWiredRpvstPortVlanInconsistencyReason
                    INTEGER

    }

      arubaWiredRpvstPortVlanId OBJECT-TYPE
            SYNTAX          VlanIndex
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
                "A VLAN ID to uniquely identify the entries.
                "
            ::= { arubaWiredRpvstPortVlanEntry 1 }

      arubaWiredRpvstPortVlanIndex OBJECT-TYPE
            SYNTAX         InterfaceIndex
            MAX-ACCESS     not-accessible
            STATUS          current
            DESCRIPTION "  The port ifIndex "
            ::= { arubaWiredRpvstPortVlanEntry 2 }

      arubaWiredRpvstPortVlanPathCost OBJECT-TYPE
            SYNTAX         Integer32 ( 0..200000000)
            MAX-ACCESS     read-write
            STATUS         current
            DESCRIPTION " The contribution of this port to the
                          path cost of paths towards the root
                          which include this port.
                          auto(0)             "
            DEFVAL         { 0 }
            ::= { arubaWiredRpvstPortVlanEntry 3 }

      arubaWiredRpvstPortVlanPriority OBJECT-TYPE
            SYNTAX          Integer32 (0..255)
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION  "The value of the port priority field that
                is contained in the first (in network byte order)
                octet of the (2 octet long) Port ID.  "
            DEFVAL         { 128 }
            ::= { arubaWiredRpvstPortVlanEntry 4 }

      arubaWiredRpvstPortVlanResetCounters OBJECT-TYPE
            SYNTAX          TruthValue
            MAX-ACCESS      read-write
            STATUS          current
            DESCRIPTION  " Setting this object to true(1) will
                reset the RPVST counters for this port-vlan pair.
                Get on this object will always return false(2)"
            DEFVAL         { false }
            ::= { arubaWiredRpvstPortVlanEntry 5 }

      arubaWiredRpvstPortVlanRole OBJECT-TYPE
            SYNTAX         INTEGER {
                               root(1),
                               alternate(2),
                               designated(3),
                               backup(4),
                               master(5),
                               disabled(6)
                           }
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION " Role played by the port in a given VLAN."
            ::= { arubaWiredRpvstPortVlanEntry 6 }

      arubaWiredRpvstPortVlanState   OBJECT-TYPE
            SYNTAX          INTEGER
                            {
                        disabled(1),
                        blocking(2),
                        listening(3),
                        learning(4),
                        forwarding(5),
                        broken(6),
                        bpduError(7),
                        loopInconsistent(8),
                        pvidInconsistent(9),
                        rootGuard(10)
                    }
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION "The port's current state.
                         This state controls what action a port
                         takes on reception of a frame."
            ::= { arubaWiredRpvstPortVlanEntry 7 }

      arubaWiredRpvstPortVlanDesigBridge  OBJECT-TYPE
            SYNTAX          MacAddress
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION  " The Bridge Identifier of the bridge that
                     this port considers to be the Designated
                     Bridge for this port's segment."
            REFERENCE   "12.8.2.1.3"
            ::= { arubaWiredRpvstPortVlanEntry 8 }

      arubaWiredRpvstPortVlanOperPointToPoint OBJECT-TYPE
            SYNTAX    TruthValue
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION "
             true : This value indicates that the MAC is
                    connected to a point-to-point LAN segment;
                    i.e., there is at most one other system
                    attached to the LAN segment.

             false: This value indicates that the MAC is connected
                    to a non-point-to-point LAN segment; i.e.,
                    there can be more than one other system
                    attached to the LAN segment."
            ::= {  arubaWiredRpvstPortVlanEntry 9 }

      arubaWiredRpvstPortVlanOperEdge OBJECT-TYPE
            SYNTAX          TruthValue
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION  "The operational status of the edge port
                 parameter. A value of true(1) indicates that this
                 port should be assumed as an edge-port, and a
                 value of false(2) indicates that this port should
                 be assumed as a non-edge-port.
                 "
            ::= {  arubaWiredRpvstPortVlanEntry 10 }

      arubaWiredRpvstPortVlanInconsistencyReason OBJECT-TYPE
            SYNTAX          INTEGER{
                             invalid(0),
                             rootProtected(1),
                             loopProtected(2),
                             inconsistentPvidProtected(3)
                            }
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION     "The reason for which port is blocked by spanning tree
                            protection function."
            ::= { arubaWiredRpvstPortVlanEntry 11 }

      -- NOTIFICATIONS
      arubaWiredRpvstNotificationTable OBJECT-TYPE
            SYNTAX          SEQUENCE OF ArubaWiredRpvstNotificationEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
               "Information describing the Rpvst configuration
               and statistics of the Ports and Vlans."
            ::= { arubaWiredRpvstObjects 5 }

      arubaWiredRpvstNotificationEntry OBJECT-TYPE
            SYNTAX          ArubaWiredRpvstNotificationEntry
            MAX-ACCESS      not-accessible
            STATUS          current
            DESCRIPTION
               "Information describing the Rpvst
               events for trap generation."
            INDEX           { arubaWiredRpvstId }
            ::= { arubaWiredRpvstNotificationTable 1 }

      ArubaWiredRpvstNotificationEntry ::= SEQUENCE {
          arubaWiredRpvstPortName
               DisplayString,
          arubaWiredRpvstVlanIndex
               Integer32,
          arubaWiredRpvstPortVlanErrantBpduRxCount
               Integer32,
          arubaWiredRpvstErrantBpduSrcMac
               MacAddress,
          arubaWiredRpvstSuperiorBpduSrcPort
               DisplayString,
          arubaWiredRpvstSuperiorBpduSrcMac
               MacAddress,
          arubaWiredRpvstErrantBpduDetector
               INTEGER,
          arubaWiredRpvstDesignatedPort
               DisplayString,
          arubaWiredRpvstOldPortRole
               DisplayString,
          arubaWiredRpvstNewPortRole
              DisplayString,
          arubaWiredRpvstTopoChangeTime
               DateAndTime,
          arubaWiredRpvstPreviousRootBridgeID
               DisplayString,
          arubaWiredRpvstNewRootBridgeID
               DisplayString,
          arubaWiredRpvstRootBridgeChangeTimeStamp
               DateAndTime,
          arubaWiredRpvstId
               Integer32
      }

      arubaWiredRpvstPortName OBJECT-TYPE
            SYNTAX       DisplayString (SIZE (0..20))
            MAX-ACCESS   accessible-for-notify
            STATUS       current
            DESCRIPTION  "Port name "
            ::= { arubaWiredRpvstNotificationEntry 1 }

      arubaWiredRpvstVlanIndex OBJECT-TYPE
            SYNTAX          Integer32 (0..4097)
            MAX-ACCESS      accessible-for-notify
            STATUS          current
            DESCRIPTION     "VLAN ID "
            ::= { arubaWiredRpvstNotificationEntry 2 }

      arubaWiredRpvstPortVlanErrantBpduRxCount OBJECT-TYPE
            SYNTAX         Integer32 (0..2147483647)
            MAX-ACCESS     accessible-for-notify
            STATUS         current
            DESCRIPTION    "The number of BPDUs received on a
                            BPDU-filtering
                            or BPDU-protected enabled port."
            ::= {arubaWiredRpvstNotificationEntry 3 }

      arubaWiredRpvstErrantBpduSrcMac OBJECT-TYPE
            SYNTAX       MacAddress
            MAX-ACCESS   accessible-for-notify
            STATUS       current
            DESCRIPTION "The source MAC address of the port sending
                        Errant BPDU."
            ::= { arubaWiredRpvstNotificationEntry 4 }

      arubaWiredRpvstSuperiorBpduSrcPort OBJECT-TYPE
            SYNTAX       DisplayString (SIZE (0..20))
            MAX-ACCESS   accessible-for-notify
            STATUS       current
            DESCRIPTION  "The name of the port sending superior BPDU"
            ::= { arubaWiredRpvstNotificationEntry 5 }

      arubaWiredRpvstSuperiorBpduSrcMac OBJECT-TYPE
            SYNTAX       MacAddress
            MAX-ACCESS   accessible-for-notify
            STATUS       current
            DESCRIPTION  "The MacAddress of the port sending superior BPDU"
            ::= { arubaWiredRpvstNotificationEntry 6 }

      arubaWiredRpvstErrantBpduDetector OBJECT-TYPE
            SYNTAX       INTEGER {
                         bpduFilter (1),
                         bpduProtection (2)
                        }
            MAX-ACCESS   accessible-for-notify
            STATUS       current
            DESCRIPTION  "The identifier of the feature generating
                         Errant BPDU trap."
            ::= { arubaWiredRpvstNotificationEntry 7 }

      arubaWiredRpvstDesignatedPort   OBJECT-TYPE
            SYNTAX       DisplayString (SIZE (0..20))
            MAX-ACCESS   accessible-for-notify
            STATUS       current
            DESCRIPTION  "Designated Port of the Bridge."
            ::= { arubaWiredRpvstNotificationEntry 8 }

      arubaWiredRpvstOldPortRole OBJECT-TYPE
            SYNTAX       DisplayString (SIZE (0..20))
            MAX-ACCESS   accessible-for-notify
            STATUS       current
            DESCRIPTION  "Old Port state "
            ::= { arubaWiredRpvstNotificationEntry 9 }

      arubaWiredRpvstNewPortRole OBJECT-TYPE
            SYNTAX       DisplayString (SIZE (0..20))
            MAX-ACCESS   accessible-for-notify
            STATUS       current
            DESCRIPTION  "new port state "
            ::= { arubaWiredRpvstNotificationEntry 10 }

      arubaWiredRpvstTopoChangeTime OBJECT-TYPE
            SYNTAX       DateAndTime
            MAX-ACCESS   accessible-for-notify
            STATUS       current
            DESCRIPTION  "Topology change time "
            ::= { arubaWiredRpvstNotificationEntry 11 }

      arubaWiredRpvstPreviousRootBridgeID OBJECT-TYPE
            SYNTAX       DisplayString (SIZE (0..20))
            MAX-ACCESS   accessible-for-notify
            STATUS       current
            DESCRIPTION  "Bridge ID of the previous Root. Bridge Id
                         consists of priority and MAC address."
            ::= { arubaWiredRpvstNotificationEntry 12 }

      arubaWiredRpvstNewRootBridgeID OBJECT-TYPE
            SYNTAX       DisplayString (SIZE (0..20))
            MAX-ACCESS   accessible-for-notify
            STATUS       current
            DESCRIPTION  "Bridge ID of the new Root. Bridge Id
                         consists of priority and MAC address."
            ::= { arubaWiredRpvstNotificationEntry 13 }

      arubaWiredRpvstRootBridgeChangeTimeStamp OBJECT-TYPE
            SYNTAX       DateAndTime
            MAX-ACCESS   accessible-for-notify
            STATUS       current
            DESCRIPTION  "Time when the root changed"
            ::= {arubaWiredRpvstNotificationEntry 14 }

      arubaWiredRpvstId OBJECT-TYPE
          SYNTAX       Integer32 (0..4097)
          MAX-ACCESS   not-accessible
          STATUS       current
          DESCRIPTION  "VLAN ID"
          ::= { arubaWiredRpvstNotificationEntry 15 }

      arubaWiredRpvstErrantBpduReceived NOTIFICATION-TYPE
            OBJECTS     {arubaWiredRpvstVlanIndex,
                         arubaWiredRpvstPortName,
                         arubaWiredRpvstPortVlanErrantBpduRxCount,
                         arubaWiredRpvstPortVlanState,
                         arubaWiredRpvstPortVlanDesigBridge,
                         arubaWiredRpvstDesignatedPort,
                         arubaWiredRpvstErrantBpduSrcMac,
                         arubaWiredRpvstErrantBpduDetector
                        }
            STATUS      current
            DESCRIPTION
                  "This Trap is generated when an unexpected (errant) BPDU
                  has been received on a port."
            ::= { arubaWiredRpvstNotifications 1 }


      arubaWiredRpvstNewRoot NOTIFICATION-TYPE
            OBJECTS  {arubaWiredRpvstVlanIndex,
                      arubaWiredRpvstNewRootBridgeID,
                      arubaWiredRpvstPreviousRootBridgeID,
                      arubaWiredRpvstRootBridgeChangeTimeStamp
                      }
            STATUS      current
            DESCRIPTION
                  "Trap generated when sending agent has become
                   the new root of spanning Tree for the specified VLAN;
                   the notification is sent by a bridge soon after its election
                   as the new root."
            ::= { arubaWiredRpvstNotifications 2 }


      arubaWiredRpvstRootGuardInconsistency NOTIFICATION-TYPE
            OBJECTS     { arubaWiredRpvstVlanIndex,
                        arubaWiredRpvstPortName,
                        arubaWiredRpvstSuperiorBpduSrcMac,
                        arubaWiredRpvstSuperiorBpduSrcPort
                 }
            STATUS      current
            DESCRIPTION
                  "Trap generated when a Root Guard feature enabled port
                   receives superior BPDUs on its interface for a
                   given instance."
            ::= { arubaWiredRpvstNotifications   3 }

      arubaWiredRpvstLoopGuardInconsistency NOTIFICATION-TYPE
            OBJECTS     { arubaWiredRpvstVlanIndex,
                        arubaWiredRpvstPortName,
                        arubaWiredRpvstPortVlanDesigBridge
                 }
            STATUS      current
            DESCRIPTION
                  "Trap generated when a Loop Guard feature enabled port
                   receives superior BPDUs on its interface for a
                   given instance."
            ::= { arubaWiredRpvstNotifications   4 }

      arubaWiredRpvstTopologyChange NOTIFICATION-TYPE
            OBJECTS     { arubaWiredRpvstVlanIndex,
                        arubaWiredRpvstPortName,
                        arubaWiredRpvstOldPortRole,
                        arubaWiredRpvstNewPortRole,
                        arubaWiredRpvstTopoChangeTime
                        }
            STATUS      current
            DESCRIPTION
                  "Trap is generated when a Topology Change is detected in
                   the specified VLAN."

            ::= { arubaWiredRpvstNotifications   5 }

 -- Conformance Information

    arubaWiredRpvstGroups OBJECT IDENTIFIER ::= { arubaWiredRpvstConformance 1 }
    arubaWiredRpvstCompliances OBJECT IDENTIFIER ::= { arubaWiredRpvstConformance 2 }

    -- Compliance Statements

     arubaWiredRpvstCompliance1 MODULE-COMPLIANCE
            STATUS          current
            DESCRIPTION     "The compliance statement"
            MODULE          -- this module
            MANDATORY-GROUPS {
                            arubaWiredRpvstGroup,
                            arubaWiredRpvstVlanGroup,
                            arubaWiredRpvstPortVlanGroup,
                            arubaWiredRpvstPortGroup
                            }
            ::= { arubaWiredRpvstCompliances 1 }

     arubaWiredRpvstCompliance2 MODULE-COMPLIANCE
            STATUS          current
            DESCRIPTION     "The compliance statement"
            MODULE          -- this module
            MANDATORY-GROUPS {
                            arubaWiredRpvstPvst1
                           }
            ::= { arubaWiredRpvstCompliances 2 }

      arubaWiredRpvstNotificationCompliance MODULE-COMPLIANCE
          STATUS      current
          DESCRIPTION "The compliance statement for Rpvst
                  extension notifications."
          MODULE  -- this module
          MANDATORY-GROUPS { arubaWiredRpvstNotificationObjectGrp,
                             arubaWiredRpvstNotificationGroup
                           }
          ::= { arubaWiredRpvstCompliances 3 }

    -- units of conformance

     arubaWiredRpvstGroup OBJECT-GROUP
            OBJECTS         {
                              arubaWiredRpvstResetCounters,
                              arubaWiredRpvstExtendedSystemID,
                              arubaWiredRpvstIgnorePVIDInconsistency,
                              arubaWiredRpvstBpduGuardTimeout,
                              arubaWiredRpvstMstpInterconnectVlan,
                              arubaWiredRpvstCurrentVportCount
                             }
            STATUS          current
            DESCRIPTION
                   "These objects are used for managing/monitoring
                    RPVST global parameters."
            ::= { arubaWiredRpvstGroups 1 }

     arubaWiredRpvstVlanGroup OBJECT-GROUP
            OBJECTS         {
                            arubaWiredRpvstVlanHelloTime,
                            arubaWiredRpvstVlanForwardDelay,
                            arubaWiredRpvstVlanMaxAge,
                            arubaWiredRpvstVlanPriority,
                            arubaWiredRpvstVlanRoot,
                            arubaWiredRpvstVlanRpvstAdminStatus,
                            arubaWiredRpvstVlanResetCounters,
                            arubaWiredRpvstVlanOperHelloTime,
                            arubaWiredRpvstVlanRootPriority,
                            arubaWiredRpvstVlanRootPort,
                            arubaWiredRpvstVlanRootPathCost,
                            arubaWiredRpvstVlanRootMacAddress,
                            arubaWiredRpvstVlanRootChangeCounter,
                            arubaWiredRpvstVlanTimeSinceLastTopoChange,
                            arubaWiredRpvstVlanTopoChangeCount
                             }
            STATUS          current
            DESCRIPTION
                "These objects are used for managing/monitoring
                RPVST VLAN parameters."
            ::= { arubaWiredRpvstGroups 2 }

     arubaWiredRpvstPortVlanGroup OBJECT-GROUP
            OBJECTS         {
                            arubaWiredRpvstPortVlanPathCost,
                            arubaWiredRpvstPortVlanPriority,
                            arubaWiredRpvstPortVlanResetCounters,
                            arubaWiredRpvstPortVlanRole,
                            arubaWiredRpvstPortVlanState,
                            arubaWiredRpvstPortVlanDesigBridge,
                            arubaWiredRpvstPortVlanOperPointToPoint,
                            arubaWiredRpvstPortVlanOperEdge
                            }
            STATUS          current
            DESCRIPTION
                "These objects are used for managing/monitoring
                RPVST port parameters for the VLANs."
            ::= { arubaWiredRpvstGroups 3 }

     arubaWiredRpvstPortGroup OBJECT-GROUP
            OBJECTS       {
                           arubaWiredRpvstPortAdminEdge,
                           arubaWiredRpvstPortAdminPointToPoint,
                           arubaWiredRpvstPortAutoEdge,
                           arubaWiredRpvstPortBpduFiltering,
                           arubaWiredRpvstPortRestrictedTcn,
                           arubaWiredRpvstPortRootGuard,
                           arubaWiredRpvstPortLoopGuard,
                           arubaWiredRpvstPortBpduProtection
                            }
            STATUS          current
            DESCRIPTION
                "These objects are used for managing/monitoring
                RPVST port parameters"
            ::= { arubaWiredRpvstGroups 4 }


     arubaWiredRpvstPvst1   OBJECT-GROUP
            OBJECTS {
                     arubaWiredRpvstPathCostMode,
                     arubaWiredRpvstVlanSendTopoChangeCtrl,
                     arubaWiredRpvstVlanLogPortStateTransitions,
                     arubaWiredRpvstPortVlanInconsistencyReason
                    }
            STATUS          current
            DESCRIPTION   "Group of object added part of pvst1."
            ::= { arubaWiredRpvstGroups 5 }


     arubaWiredRpvstNotificationObjectGrp   OBJECT-GROUP
            OBJECTS {
                  arubaWiredRpvstPortName,
                  arubaWiredRpvstVlanIndex,
                  arubaWiredRpvstPortVlanErrantBpduRxCount,
                  arubaWiredRpvstErrantBpduSrcMac,
                  arubaWiredRpvstSuperiorBpduSrcPort,
                  arubaWiredRpvstSuperiorBpduSrcMac,
                  arubaWiredRpvstErrantBpduDetector,
                  arubaWiredRpvstDesignatedPort,
                  arubaWiredRpvstOldPortRole,
                  arubaWiredRpvstNewPortRole,
                  arubaWiredRpvstTopoChangeTime,
                  arubaWiredRpvstPreviousRootBridgeID,
                  arubaWiredRpvstNewRootBridgeID,
                  arubaWiredRpvstRootBridgeChangeTimeStamp
            }
            STATUS          current
            DESCRIPTION   "Group of objects required for
                           notifications."
            ::= { arubaWiredRpvstGroups 6 }


     arubaWiredRpvstNotificationGroup   NOTIFICATION-GROUP
            NOTIFICATIONS {
                      arubaWiredRpvstErrantBpduReceived,
                      arubaWiredRpvstNewRoot,
                      arubaWiredRpvstRootGuardInconsistency,
                      arubaWiredRpvstLoopGuardInconsistency,
                      arubaWiredRpvstTopologyChange
            }
            STATUS        current
            DESCRIPTION   "Group of notifications."
            ::= { arubaWiredRpvstGroups 7 }

END
