-- Copyright (C) 2008-2014 Super Micro Computer Inc. All Rights Reserved

-- $Id: fsmppvrst.mib,v 1.12 2013/05/17 11:57:56 siva Exp $

SUPERMICRO-MIPVRST-MIB DEFINITIONS ::= BEGIN

-- -------------------------------------------------
-- Proprietary MIB for Per VLAN Rapid Spanning Tree Protocol
-- -------------------------------------------------

IMPORTS
                       
OBJECT-TYPE,MODULE-IDENTITY, Integer32,
    enterprises,Counter32, TimeTicks,NOTIFICATION-TYPE FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, MacAddress,
    TruthValue, DisplayString , RowStatus        FROM SNMPv2-TC;

futureMIPvrstMIB MODULE-IDENTITY
    LAST-UPDATED "201209050000Z"
    ORGANIZATION "Super Micro Computer Inc."
    CONTACT-INFO "support@Supermicro.com"
    DESCRIPTION "MIB for Multiple Instance Per-VLAN Rapid Spanning Tree" 
    REVISION "201209050000Z"
    DESCRIPTION "MIB for Multiple Instance Per-VLAN Rapid Spanning Tree" 
::= { enterprises supermicro-computer-inc(10876) super-switch(101) basic(1) 154}

BridgeId ::= TEXTUAL-CONVENTION
      STATUS  current
      DESCRIPTION
      " Identifier of Bridge in 8 byte format"
        SYNTAX          OCTET STRING (SIZE (8))

Timeout ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d4"
    STATUS       current
    DESCRIPTION
                " Time out value in 4 byte"
    SYNTAX       Integer32

EnabledStatus ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION 
        "A simple status value for the object." 
    SYNTAX      INTEGER { enabled(1), disabled(2) } 
      
      
fsMIFuturePvrst     OBJECT IDENTIFIER   ::= { futureMIPvrstMIB 1 }
fsMIFsPvrstTrapsControl OBJECT IDENTIFIER ::= { futureMIPvrstMIB 2 }
fsMIFuturePvrstTraps OBJECT IDENTIFIER ::= { futureMIPvrstMIB 3 }

-- fsMIFuturePvrst group

fsMIPvrstGlobalTrace OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
      "This object is used to enable Global Trace 
      Statements in the Pvrst Module."
    ::= { fsMIFuturePvrst 1 }

fsMIPvrstGlobalDebug OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
      "This object is used to enable Global Debug 
      Statements in the Pvrst Module."
    ::= { fsMIFuturePvrst 2 }

fsMIFuturePvrstTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FsMIFuturePvrstEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
       "List of per Virtual Context Pvrst Module Parameters."
    ::= { fsMIFuturePvrst 3 }

fsMIFuturePvrstEntry OBJECT-TYPE
   SYNTAX       FsMIFuturePvrstEntry
   MAX-ACCESS   not-accessible
   STATUS       current
   DESCRIPTION
      "Virtual Context Pvrst Module Parameters."
   INDEX { fsMIFuturePvrstContextId }
   ::= { fsMIFuturePvrstTable 1 }

FsMIFuturePvrstEntry ::=
    SEQUENCE {
           fsMIFuturePvrstContextId
              Integer32,
           fsMIPvrstSystemControl
              INTEGER,
           fsMIPvrstModuleStatus
              EnabledStatus,
           fsMIPvrstNoOfActiveInstances
              Integer32,
           fsMIPvrstBrgAddress
              MacAddress,
           fsMIPvrstUpCount
              Counter32,
           fsMIPvrstDownCount
              Counter32,
           fsMIPvrstPathCostDefaultType
              INTEGER,
           fsMIPvrstDynamicPathCostCalculation
              TruthValue,
           fsMIPvrstTrace
              Integer32,
           fsMIPvrstDebug
              Integer32,
	       fsMIPvrstBufferOverFlowCount
              Counter32,
           fsMIPvrstMemAllocFailureCount
              Counter32,
           fsMIPvrstContextName
              DisplayString,
           fsMIPvrstCalcPortPathCostOnSpeedChg
              TruthValue,
           fsMIPvrstGlobalBpduGuard
              Integer32
    }

fsMIFuturePvrstContextId OBJECT-TYPE
   SYNTAX        Integer32 (0..65535)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
      "Identifies the Virtual Context."
   ::= { fsMIFuturePvrstEntry 1 }

fsMIPvrstSystemControl OBJECT-TYPE
   SYNTAX      INTEGER { start(1), shutdown(2) } 
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The administrative shutdown status requested by management for the Pvrst  
      feature. The value start (1) indicates that Pvrst should be active in 
      the device on all ports. The value shutdown (2) indicates that Pvrst 
      should be shutdown in the device on all ports. All memory should 
      be released on all ports."
   ::= { fsMIFuturePvrstEntry 2 }  

fsMIPvrstModuleStatus OBJECT-TYPE
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The administrative status requested by management for the Pvrst  
      feature. The value enabled(1) indicates that Pvrst should be enabled  
      in the device on all ports. The value disabled(2) indicates that 
      Pvrst should be disabled in the device on all ports. The object can 
      be set to enabled(1) if and only if, fsMIPvrstSystemControl set to start."
   ::= { fsMIFuturePvrstEntry 3 }  

fsMIPvrstNoOfActiveInstances OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "Indicates number of instances active currently"
   ::= { fsMIFuturePvrstEntry 4 } 

fsMIPvrstBrgAddress OBJECT-TYPE
   SYNTAX      MacAddress
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The MAC address used by this bridge when it must
          be referred to in a unique fashion.   It is
          recommended that this be the numerically smallest
          MAC address of all ports that belong to this
          bridge.  However it is only required to be unique.
          When concatenated with fsMIPvrstInstBridgePriority or 
          fsMIPvrstInstBridgePriority a unique BridgeIdentifier 
          is formed which is used in the Spanning Tree Protocol."
   ::= { fsMIFuturePvrstEntry 5 } 

fsMIPvrstUpCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times Pvrst Module has been enabled."
   ::= { fsMIFuturePvrstEntry 6 } 

fsMIPvrstDownCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times PVRST Module has been disabled."
   ::= { fsMIFuturePvrstEntry 7 } 

fsMIPvrstPathCostDefaultType OBJECT-TYPE
SYNTAX      INTEGER {
               stp8021d1998(1),
               stp8021t2001(2)
            }
   MAX-ACCESS  read-write 
   STATUS      obsolete
   DESCRIPTION
        "*************This object is obsolete******************
         The version of the Spanning Tree default Path Costs that
         are to be used by this Bridge.  A value of 8021d1998(1)
         uses the 16-bit default Path Costs from IEEE Std. 802.1D-1998.
         A value of stp8021t2001(2) uses the 32-bit default Path
         Costs from IEEE Std. 802.1t."
   ::= { fsMIFuturePvrstEntry 8 } 

fsMIPvrstDynamicPathCostCalculation OBJECT-TYPE
      SYNTAX      TruthValue               
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
         "This object is used to determine whether dynamic pathcost
          calculation is allowed or not.The value is determined by 
          management. If set to true, pathcost is calculated dynamically 
          from port speed(when the operational status of the port changes 
          from down to up), otherwise the link speed at the time of port 
          creation is used for calculating the path cost. In both cases
          if the user has configured a pathcost for the port that will be 
          used. By default dynamic pathcost calculation is set to false."
      DEFVAL { false }
      ::= { fsMIFuturePvrstEntry 9 }

fsMIPvrstTrace OBJECT-TYPE
   SYNTAX      Integer32 (0..255) 
   MAX-ACCESS  read-write 
   STATUS      current
   DESCRIPTION
      "This object is used to enable Trace Statements for the Pvrst
      Module in this context .

      A FOUR BYTE integer is used for enabling the level of tracing. 
      Each BIT in the four byte integer, represents a particular 
      level of Trace. 

      The mapping between the bit positions & the level of trace is 
      as follows: 
      0 - Init and Shutdown Traces
      1 - Management Traces
      2 - Data Path Traces
      3 - Control Plane Traces
      4 - Packet Dump Traces
      5 - Traces related to All Resources except Buffers
      6 - All Failure Traces
      7 - Buffer Traces

      The remaining bits are unused. Combination of trace levels are 
      also allowed.

      For example if the bits 0 and 1 are set, then the Trace
      statements related to Init-Shutdown and management 
      will be printed.

      The user has to enter the corresponding INTEGER VALUE for the
      bits set. For example if bits 0 and 1 are to be set then user has
      to give the value for this object as 3.
      
      Setting the Trace Option to any value will cause the Debug Option
      to be set to 0 (i.e.) the Trace Option and Debug Option are mutually
      exclusive."
      
      DEFVAL  { 0 }
   ::= { fsMIFuturePvrstEntry 10 } 

fsMIPvrstDebug OBJECT-TYPE
   SYNTAX      Integer32 (0..131071)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "This object is used to enable Debug Statements in the Pvrst
      Module.

      A FOUR BYTE integer is used for enabling the level of debugging. 
      Each BIT in the four byte integer, represents a particular 
      level of Debug. 

      The mapping between the bit positions & the level of debug is 
      as follows: 
      0 - Init and Shutdown Debug statements
      1 - Management Debug statements
      2 - Memory related Debug statements
      3 - BPDU related Debug statements
      4 - Event Handling Debug statements
      5 - Timer Module Debug statements
      6 - Port Information SEM Debug statements
      7 - Port Receive SEM Debug statements (Invalid in the case of Pvrst)
      8 - Role Selection SEM Debug statements
      9 - Role Transition SEM Debug statements
     10 - State Transition SEM Debug statements
     11 - Protocol Migration SEM Debug statements
     12 - Topology Change SEM Debug statements
     13 - Port Transmit SEM Debug statements
     14 - Bridge Detection SEM Debug statements
     15 - All Failure Debug statements
     16 - Redundancy code flow Debug statements

      The remaining bits are unused. Combination of debug levels are 
      also allowed.

      For example if the bits 0 and 1 are set, then the Debug
      statements related to Init-Shutdown and management 
      will be printed.

      The user has to enter the corresponding INTEGER VALUE for the
      bits set. For example if bits 0 and 1 are to be set then user has
      to give the value for this object as 3.
      
      Setting the Debug Option to any value will cause the Trace Option
      to be set to 0 (i.e.) the Trace Option and Debug Option are mutually
      exclusive."
      DEFVAL  { 0 }
   ::= { fsMIFuturePvrstEntry 11 } 

fsMIPvrstBufferOverFlowCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times Buffer overflows/failures have occured.
        A Trap is generated on the occurence of this event." 
   ::= { fsMIFuturePvrstEntry 12 } 

fsMIPvrstMemAllocFailureCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times memory allocation failures have occured.
        A Trap is generated on the occurence of this event." 
   ::= { fsMIFuturePvrstEntry 13 } 

fsMIPvrstContextName OBJECT-TYPE
      SYNTAX   DisplayString (SIZE (1..32))
      MAX-ACCESS   read-only
      STATUS   current
      DESCRIPTION
         "This object is used to identity the context-name."
      ::= { fsMIFuturePvrstEntry 14 }

fsMIPvrstCalcPortPathCostOnSpeedChg OBJECT-TYPE
      SYNTAX      TruthValue               
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
         "This object is used to determine whether dynamic pathcost
          calculation is done for a port for which Port Speed is changing
          dynamically. This is mainly intended for Link Aggregated ports where
          depening on Active ports speed of Link aggregated port changes.
          By default dynamic pathcost calculation on change in speed is set to
          false."
      DEFVAL { false }
      ::= { fsMIFuturePvrstEntry 15 }

fsMIPvrstGlobalBpduGuard OBJECT-TYPE
    SYNTAX      INTEGER    {
                    enable (1),
                    disable (2)
                    }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "This object configures BPDU guard globally in PVRST 
           and this global BPDU is applicable if and only if no Port specific 
           BpduGuard is configured.
           Enable - enables  BPDU Guard feature on edge ports globally and
           moves the port to disabled discarding state when BPDU is received 
           on the edge ports.
           Disable - disables  BPDU Guard feature on edge ports globally"           
    DEFVAL { 2 }
   ::= { fsMIFuturePvrstEntry 16 } 
-- -------------------------------------
-- fsMIFuturePvrstTable - End
-- -------------------------------------

-- -------------------------------------
-- fsMIFuturePvrstPortTable - Start
-- -------------------------------------

fsMIFuturePvrstPortTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FsMIFuturePvrstPortEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
       "List of Ports per Virtual Context ."
    ::= { fsMIFuturePvrst 4 }

fsMIFuturePvrstPortEntry OBJECT-TYPE
   SYNTAX       FsMIFuturePvrstPortEntry
   MAX-ACCESS   not-accessible
   STATUS       current
   DESCRIPTION
      "Virtual Context Pvrst Module Port Parameters."
   INDEX { fsMIPvrstPort }
   ::= { fsMIFuturePvrstPortTable 1 }

FsMIFuturePvrstPortEntry ::=
    SEQUENCE {
	   fsMIPvrstPort
	      Integer32,
           fsMIPvrstPortAdminEdgeStatus
              TruthValue,
           fsMIPvrstPortOperEdgePortStatus
              TruthValue,
           fsMIPvrstBridgeDetectionSemState
              INTEGER,
           fsMIPvrstPortEnabledStatus
              TruthValue,
           fsMIPvrstRootGuard
              TruthValue,
           fsMIPvrstBpduGuard
              Integer32,
           fsMIPvrstEncapType
              INTEGER,
	   fsMIPvrstPortAdminPointToPoint
              INTEGER,
	   fsMIPvrstPortOperPointToPoint
	      TruthValue,
           fsMIPvrstPortInvalidBpdusRcvd
              Counter32,
           fsMIPvrstPortInvalidConfigBpduRxCount
              Counter32,
           fsMIPvrstPortInvalidTcnBpduRxCount
              Counter32,
           fsMIPvrstPortRowStatus
              RowStatus,
           fsMIPvrstRootInconsistentState
              TruthValue
    }

fsMIPvrstPort OBJECT-TYPE
   SYNTAX        Integer32 (1..65535)
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
      "A unique value, greater than zero, indicating the Port number."
   ::= { fsMIFuturePvrstPortEntry 1 }

fsMIPvrstPortAdminEdgeStatus 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."
   ::= { fsMIFuturePvrstPortEntry 2 }

fsMIPvrstPortOperEdgePortStatus OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
      "The operational value of the Edge Port parameter.  The
          object is initialized to the value of
          fsMIPvrstPortAdminEdgeStatus and is set FALSE on reception 
          of a BPDU."
   ::= { fsMIFuturePvrstPortEntry 3 }

fsMIPvrstBridgeDetectionSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  edge (0),
                  notedge (1)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the bridge detetion state machine
	  of this port for all Spanning Tree context"           
   ::= { fsMIFuturePvrstPortEntry 4 } 

fsMIPvrstPortEnabledStatus OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "The administrative value for the port
	  to configure PVRST enable/disable on this Port 
	  By default PVRST is enabled on each port"           
   ::= { fsMIFuturePvrstPortEntry 5 } 

fsMIPvrstRootGuard OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "The administrative value for the root guard
	  is configurable on this Port. By default it is
	  False(2) & can be configured True(1)"    
   ::= { fsMIFuturePvrstPortEntry 6 } 

fsMIPvrstBpduGuard OBJECT-TYPE
    SYNTAX      INTEGER    {
                    none (0),
                    enable (1),
                    disable (2)
                    }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "This configures the BPDU guard feature on this port and has higher priority over Global BPDU Guard.
       Enable - prevents temporary loops and applicable to ports and 
       moves the port to disabled discarding state when BPDU is received on this port.
       Disable - Disables the Bpdu Guard feature and the port state will be maintained till it is manually made up.
       None - removes the BPDU Guard functionality on this port so that when Global BPDU guard
              configuration will take effect if this port is edge port"           
    DEFVAL { 0 }
   ::= { fsMIFuturePvrstPortEntry 7 } 

fsMIPvrstEncapType OBJECT-TYPE
      SYNTAX      INTEGER {
		  dot1Q (0),
		  isl (1) }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "The administrative value for the 
	  encapsulation type on the Port. 
	  On Access Port, the encapsulation
	  type will be DOT1q & is unchangeable. 
	  Only on Trunk Ports it is changeable. "           
      DEFVAL {0}
   ::= { fsMIFuturePvrstPortEntry 8 } 

fsMIPvrstPortAdminPointToPoint OBJECT-TYPE
   SYNTAX        INTEGER {
		    forceTrue(0),
                    forceFalse(1),
                    auto(2)
		}
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
      "The administrative point-to-point status of the LAN segment
          attached to this port.  A value of forceTrue(0) indicates that
          this port should always be treated as if it is connected to
          a point-to-point link.  A value of forceFalse(1) indicates
          that this port should be treated as having a shared media
          connection.  A value of auto(2) indicates that this port is
          considered to have a point-to-point link if it is an Aggregator
          and all of its members are aggregatable, or if the MAC entity
          is configured for full duplex operation, either through
          auto-negotiation or by management means."
   ::= { fsMIFuturePvrstPortEntry 9 }

fsMIPvrstPortOperPointToPoint OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
      "The operational point-to-point status of the LAN segment
          attached to this port.  It indicates whether a port is
          considered to have a point-to-point connection or not.
          The value is determined by management or by auto-detection,
          as described in the fsMIPvrstPortAdminPointToPoint object."
   ::= { fsMIFuturePvrstPortEntry 10 }

 fsMIPvrstPortInvalidBpdusRcvd OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Invalid Pvrst BPDUs Received on this port."     
      ::= { fsMIFuturePvrstPortEntry 11 }

fsMIPvrstPortInvalidConfigBpduRxCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Invalid Configuration BPDUs Received on this port."     
      ::= { fsMIFuturePvrstPortEntry 12 }

fsMIPvrstPortInvalidTcnBpduRxCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Invalid TCN BPDUs Received on this port."     
      ::= { fsMIFuturePvrstPortEntry 13 } 

fsMIPvrstPortRowStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
      "This object is used to create or delete interfaces at PVRST module
       level.Ports can be created at PVRST module level only for ports that
       have been created in Interface manager and mapped to a context .
       This is applicable only when Automatic Port Create Feature is Disabled. "
   ::= { fsMIFuturePvrstPortEntry 14 }

fsMIPvrstRootInconsistentState   OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          " A Boolean value set when the designated port receives a superior BPDU trying to transition itself
            to the Root Port.
            A value of TRUE, indicates that the state of this port is moved into an root-inconsistent
            state.A value of  FALSE, indicates that this port is not moved into an root-inconsistent
            state "
         DEFVAL { false }
    ::= { fsMIFuturePvrstPortEntry 15 }

-- -------------------------------------
-- fsMIFuturePvrstPortTable - End
-- -------------------------------------

-- -----------------------------------------------------------------
-- Future Per Vlan Spanning Tree Instance Bridge Table
-- -----------------------------------------------------------------

fsMIPvrstInstBridgeTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF FsMIPvrstInstBridgeEntry      
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION
      "Table containing Bridge Information specific to Spanning 
       Tree Instance. This table maintains context ID as one 
       more index to support Multiple Contexts."
   ::= { fsMIFuturePvrst 5 } 
 
fsMIPvrstInstBridgeEntry OBJECT-TYPE
   SYNTAX      FsMIPvrstInstBridgeEntry       
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Entry indicating the Bridge Information."
   INDEX { fsMIFuturePvrstContextId, fsMIPvrstInstVlanId }
   ::= { fsMIPvrstInstBridgeTable 1 }

FsMIPvrstInstBridgeEntry ::=
   SEQUENCE {
      fsMIPvrstInstVlanId 
            Integer32,
      fsMIPvrstInstBridgePriority 
            Integer32,
      fsMIPvrstInstRootCost 
            Integer32,
      fsMIPvrstInstRootPort 
            Integer32,
      fsMIPvrstInstBridgeMaxAge 
            Timeout,
      fsMIPvrstInstBridgeHelloTime 
            Timeout,
      fsMIPvrstInstBridgeForwardDelay
            Timeout,
      fsMIPvrstInstHoldTime
            Integer32,
      fsMIPvrstInstTxHoldCount
            Integer32,      
      fsMIPvrstInstTimeSinceTopologyChange
            TimeTicks,
      fsMIPvrstInstTopChanges
            Counter32,
      fsMIPvrstInstNewRootCount
            Counter32,
      fsMIPvrstInstInstanceUpCount
            Counter32,
      fsMIPvrstInstInstanceDownCount
            Counter32,
      fsMIPvrstInstPortRoleSelSemState
            INTEGER,
      fsMIPvrstInstDesignatedRoot
            BridgeId,
      fsMIPvrstInstRootMaxAge 
            Timeout,
      fsMIPvrstInstRootHelloTime 
            Timeout,
      fsMIPvrstInstRootForwardDelay
            Timeout
   }

fsMIPvrstInstVlanId OBJECT-TYPE
   SYNTAX      Integer32 (1..4094)
   MAX-ACCESS  not-accessible
   STATUS      current 
   DESCRIPTION 
      "Spanning Tree Instance to which the information belongs."
   ::= { fsMIPvrstInstBridgeEntry 1 }

fsMIPvrstInstBridgePriority OBJECT-TYPE
   SYNTAX      Integer32 (0..61440) 
   MAX-ACCESS  read-write     
   STATUS      current 
   DESCRIPTION 
      "The writable portion of the PVRST Bridge Identifier.
       comprising of the first two octets.
       The values that are set for Bridge Priority must be 
       in steps of 4096."
   DEFVAL {32768}
   ::= { fsMIPvrstInstBridgeEntry 2 }

fsMIPvrstInstRootCost OBJECT-TYPE
   SYNTAX      Integer32  
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "The Cost of the path to the PVRST Root as seen 
       by this bridge." 
   ::= { fsMIPvrstInstBridgeEntry 3 }

fsMIPvrstInstRootPort OBJECT-TYPE
   SYNTAX      Integer32  
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "The Port Number of the Port which offers the lowest    
       path cost from this bridge to the PVRST Root Bridge."
   ::= { fsMIPvrstInstBridgeEntry 4 }

fsMIPvrstInstBridgeMaxAge OBJECT-TYPE
   SYNTAX      Timeout  
   MAX-ACCESS  read-write      
   STATUS      current 
   DESCRIPTION 
      "Max Age of the Bridge Information"
   ::= { fsMIPvrstInstBridgeEntry 5 }

fsMIPvrstInstBridgeHelloTime OBJECT-TYPE
   SYNTAX      Timeout  
   MAX-ACCESS  read-write      
   STATUS      current 
   DESCRIPTION 
      "Hello Time configured at Bridge Level"
   ::= { fsMIPvrstInstBridgeEntry 6 }

fsMIPvrstInstBridgeForwardDelay OBJECT-TYPE
   SYNTAX      Timeout  
   MAX-ACCESS  read-write      
   STATUS      current 
   DESCRIPTION 
      "Forward Delay for STP bridge interoperability"
   ::= { fsMIPvrstInstBridgeEntry 7 }

fsMIPvrstInstHoldTime OBJECT-TYPE
   SYNTAX      Integer32 
   MAX-ACCESS  read-only     
   STATUS      current 
   DESCRIPTION 
      "Hold Time for eah port"
   ::= { fsMIPvrstInstBridgeEntry 8 }

fsMIPvrstInstTxHoldCount OBJECT-TYPE
   SYNTAX      Integer32 (1..10)
   MAX-ACCESS  read-write      
   STATUS      current 
   DESCRIPTION 
      "The value used by the Port Transmit state machine to limit
         the maximum transmission rate."
   REFERENCE
        "IEEE 802.1w clause 17.16.6"
    DEFVAL      { 6 }
   ::= { fsMIPvrstInstBridgeEntry 9 }

fsMIPvrstInstTimeSinceTopologyChange OBJECT-TYPE
   SYNTAX      TimeTicks 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The time (in hundredths of a second) since the
         TcWhile Timer for any port in this Bridge was 
         non-zero for this spanning tree instance."
   ::= { fsMIPvrstInstBridgeEntry 10 }

fsMIPvrstInstTopChanges OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The number of times that there have been atleast
         one non-zero TcWhile Timer on this Bridge for this
         spanning tree instance."
   ::= { fsMIPvrstInstBridgeEntry 11 }

fsMIPvrstInstNewRootCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The number of times this Bridge has detected a Root
          Bridge change for this spanning tree instance.
          A Trap is generated on the occurence of this event."
   ::= { fsMIPvrstInstBridgeEntry 12 }

fsMIPvrstInstInstanceUpCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times a new spanning tree instance has
         been created. 
         A Trap is generated on the occurence of this event."
   ::= { fsMIPvrstInstBridgeEntry 13 }

fsMIPvrstInstInstanceDownCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times a spanning tree instance has
         been deleted.
         A Trap is generated on the occurence of this event."
   ::= { fsMIPvrstInstBridgeEntry 14 }

fsMIPvrstInstPortRoleSelSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  initbridge (0),
                  roleselection (1)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Port Role Selection State Machine          
           for this spanning tree instance for this bridge."           
   ::= { fsMIPvrstInstBridgeEntry 15 }

fsMIPvrstInstDesignatedRoot OBJECT-TYPE
       SYNTAX  BridgeId
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "The bridge identifier of the old root of the spanning
               tree instance as determined by the Spanning Tree Protocol
               as executed by this node. "
       ::= { fsMIPvrstInstBridgeEntry 16 }

fsMIPvrstInstRootMaxAge OBJECT-TYPE
   SYNTAX      Timeout  
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "Max Age of the Root Bridge"
   ::= { fsMIPvrstInstBridgeEntry 17 }

fsMIPvrstInstRootHelloTime OBJECT-TYPE
   SYNTAX      Timeout  
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "Hello Time of the Root Bridge"
   ::= { fsMIPvrstInstBridgeEntry 18 }

fsMIPvrstInstRootForwardDelay OBJECT-TYPE
   SYNTAX      Timeout  
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "Forward Delay of the Root Bridge"
   ::= { fsMIPvrstInstBridgeEntry 19 }


-- -----------------------------------------------------------------
-- Future Pvrst Common Spanning Tree Port Table     
-- -----------------------------------------------------------------

fsMIPvrstInstPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF FsMIPvrstInstPortEntry              
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
          "This table contains Common Spanning Tree Port
           Information."
     ::= { fsMIFuturePvrst 6 }

fsMIPvrstInstPortEntry OBJECT-TYPE
      SYNTAX      FsMIPvrstInstPortEntry               
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "A list of information maintained by every port for 
          Each Spanning tree."
      INDEX  { fsMIPvrstInstVlanId, fsMIPvrstInstPortIndex }
      ::= { fsMIPvrstInstPortTable 1 }

FsMIPvrstInstPortEntry ::= 
   SEQUENCE {
       fsMIPvrstInstPortIndex  
            Integer32,
       fsMIPvrstInstPortEnableStatus  
            INTEGER,
       fsMIPvrstInstPortPathCost 
            Integer32,
       fsMIPvrstInstPortPriority 
            Integer32,
       fsMIPvrstInstPortDesignatedRoot 
            BridgeId,       
       fsMIPvrstInstPortDesignatedBridge 
            BridgeId,
       fsMIPvrstInstPortDesignatedPort 
            OCTET STRING,
       fsMIPvrstInstPortOperVersion
	    INTEGER,
       fsMIPvrstInstPortProtocolMigration 
            TruthValue,
       fsMIPvrstInstPortState 
            INTEGER,
       fsMIPvrstInstPortForwardTransitions 
            Counter32,
       fsMIPvrstInstPortReceivedBpdus
            Counter32,
       fsMIPvrstInstPortRxConfigBpduCount
            Counter32,
       fsMIPvrstInstPortRxTcnBpduCount
            Counter32,
       fsMIPvrstInstPortTransmittedBpdus
            Counter32,
       fsMIPvrstInstPortTxConfigBpduCount
            Counter32,
       fsMIPvrstInstPortTxTcnBpduCount
            Counter32,       
       fsMIPvrstInstPortTxSemState 
            INTEGER,        
       fsMIPvrstInstPortProtMigrationSemState 
            INTEGER,        
       fsMIPvrstInstProtocolMigrationCount 
            Counter32,
       fsMIPvrstInstPortRole 
            INTEGER,      
       fsMIPvrstInstCurrentPortRole  
            INTEGER, 
       fsMIPvrstInstPortInfoSemState 
            INTEGER,        
       fsMIPvrstInstPortRoleTransitionSemState 
            INTEGER,        
       fsMIPvrstInstPortStateTransitionSemState 
            INTEGER,         
       fsMIPvrstInstPortTopologyChangeSemState 
            INTEGER,
       fsMIPvrstInstPortEffectivePortState
            TruthValue,
       fsMIPvrstInstPortHelloTime 
            Timeout,
       fsMIPvrstInstPortMaxAge
	    Timeout,
       fsMIPvrstInstPortForwardDelay
	    Timeout,
       fsMIPvrstInstPortHoldTime
	    Timeout,
       fsMIPvrstInstPortAdminPathCost
           Integer32
}

fsMIPvrstInstPortIndex OBJECT-TYPE
      SYNTAX      Integer32 (1..65535)
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The Port Id of the port for which this entry contains   
           spanning tree information."                                      
      ::= { fsMIPvrstInstPortEntry 1 }

fsMIPvrstInstPortEnableStatus OBJECT-TYPE
      SYNTAX      INTEGER {
                  enable(1),
		  disable(2)
		  }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "The administrative value for the port
	  to configure PVRST enable/disable on this Port 
	  for this instance."                                      
      ::= { fsMIPvrstInstPortEntry 2 }

fsMIPvrstInstPortPathCost OBJECT-TYPE
      SYNTAX      Integer32 (1..200000000)
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
            "The contribution of this port to the path cost of
             paths towards the Inst Root which include this port."
      ::= { fsMIPvrstInstPortEntry 3 }

fsMIPvrstInstPortPriority OBJECT-TYPE
      SYNTAX      Integer32 (0..240)
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
          "The four most significant bits of the Port Identifier 
          for a given Spanning Tree instance can be modified 
          independently for each Spanning Tree instance supported 
          by the Bridge. The values that are set for Port Priority 
          must be in steps of 16."
     DEFVAL {128}
      ::= { fsMIPvrstInstPortEntry 4 }

fsMIPvrstInstPortDesignatedRoot OBJECT-TYPE
      SYNTAX      BridgeId                 
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge recorded as the  
           Inst Root in the configuration BPDUs transmitted."      
      ::= { fsMIPvrstInstPortEntry 5 }

fsMIPvrstInstPortDesignatedBridge OBJECT-TYPE
      SYNTAX      BridgeId                 
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge which this port  
           considers to be the Designated Bridge for the port's segment."   
      ::= { fsMIPvrstInstPortEntry 6 }

fsMIPvrstInstPortDesignatedPort OBJECT-TYPE
      SYNTAX  OCTET STRING (SIZE (2))
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The Port identifier of the port on the Designated Bridge    
           for this port's segment."                                           
      ::= { fsMIPvrstInstPortEntry 7 }

fsMIPvrstInstPortOperVersion OBJECT-TYPE
   SYNTAX      INTEGER {
               stpCompatible(0),
               rstp(2)              
            }
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
   	  "This indicates whether the Port is operational in the 
	  Pvrst/Rstp mode or the Stp-compatible mode i.e., whether the
       Port is transmitting Pvrst/RST BPDUs or Config/TCN BPDUs."
      ::= { fsMIPvrstInstPortEntry 8 }

fsMIPvrstInstPortProtocolMigration OBJECT-TYPE
      SYNTAX      TruthValue                
      MAX-ACCESS  read-only           
      STATUS      current
      DESCRIPTION
          "Indicates the Protocol migration state of this Port.         
           When operating in RSTP/Pvrst (version >= 2) mode, writing 
          TRUE(1) to this object forces this port to transmit RSTP 
          BPDUs without instance information.
          Any other operation on this object has no effect and
          it always returns FALSE(2) when read."
      ::= { fsMIPvrstInstPortEntry 9 }

fsMIPvrstInstPortState OBJECT-TYPE
      SYNTAX      INTEGER {
                  disabled (1),
                  discarding (2),
                  learning (4),
                  forwarding (5)
                  }
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Current state of the Port as defined by the Common    
           spanning tree protocol." 
      ::= { fsMIPvrstInstPortEntry 10 }

fsMIPvrstInstPortForwardTransitions OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of times this port has transitioned to the     
           Forwarding State."                                     
      ::= { fsMIPvrstInstPortEntry 11 }

fsMIPvrstInstPortReceivedBpdus OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Pvrst(RST) BPDUs received on this port."     
      ::= { fsMIPvrstInstPortEntry 12 }

fsMIPvrstInstPortRxConfigBpduCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Configuration BPDUs received on this port."     
      ::= { fsMIPvrstInstPortEntry 13 }

fsMIPvrstInstPortRxTcnBpduCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of TCN BPDUs received on this port."     
      ::= { fsMIPvrstInstPortEntry 14 }

fsMIPvrstInstPortTransmittedBpdus OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Pvrst(RST) BPDUs Transmitted from this port."     
      ::= { fsMIPvrstInstPortEntry 15 }

fsMIPvrstInstPortTxConfigBpduCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Configuration BPDUs Transmitted from this port."     
      ::= { fsMIPvrstInstPortEntry 16 }

fsMIPvrstInstPortTxTcnBpduCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of TCN BPDUs Transmitted from this port."     
      ::= { fsMIPvrstInstPortEntry 17 }

fsMIPvrstInstPortTxSemState OBJECT-TYPE 
      SYNTAX      INTEGER {                 
                  transmitinit (0),
                  transmitperiodic (1),
                  transmitconfig (2),
                  transmittcn (3),
                  transmitrstp (4),
                  idle (5)
               }
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Indicates current State of the Port Transmit state machine."
      ::= { fsMIPvrstInstPortEntry 18 }

fsMIPvrstInstPortProtMigrationSemState OBJECT-TYPE 
      SYNTAX      INTEGER {                 
                  init (0),
                  sendrstp (1),
                  sendingrstp (2),
                  sendstp (3),
                  sendingstp (4)
               }
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Indicates current State of the Port Protocol Migration
           State machine."
      ::= { fsMIPvrstInstPortEntry 19 }

fsMIPvrstInstProtocolMigrationCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times this Port has migrated from one STP protocol 
        version to another. The relevant protocols are STP-COMPATIBLE and 
        RSTP/Pvrst.
        A Trap is generated on the occurence of this event."
      ::= { fsMIPvrstInstPortEntry 20 }

fsMIPvrstInstPortRole OBJECT-TYPE
      SYNTAX      INTEGER {
                   disabled(0),
                   alternate(1),
                   backup(2),
                   root(3),
                   designated(4)
                  }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Selected Port Role of the port for this spanning 
          tree instance."                                      
      ::= { fsMIPvrstInstPortEntry 21 }

fsMIPvrstInstCurrentPortRole OBJECT-TYPE
      SYNTAX      INTEGER {              
                   disabled(0),
                   alternate(1),
                   backup(2),
                   root(3),
                   designated(4)
                  }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current Port Role of the port for this spanning 
          tree instance."                                      
      ::= { fsMIPvrstInstPortEntry 22 }

-- current (6) state has been changed to present (6) state in 
-- PortInfoSemState as current is the keyword
fsMIPvrstInstPortInfoSemState OBJECT-TYPE
	SYNTAX      INTEGER {
                  disabled (0),
                  aged (1),
	          update (2),
	          superior (3),
                  repeat (4),
                  agreement(5),
	          present (6),
                  receive (7)
            }                
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current state of the Port Information State Machine          
           for this port in this spanning tree context."                                      
      ::= { fsMIPvrstInstPortEntry 23 }

fsMIPvrstInstPortRoleTransitionSemState OBJECT-TYPE
      SYNTAX      INTEGER {                
                  init (0),
                  blockport (1),
                  blockedport (2),
                  rootport(3),
		  designatedport(4)
               }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current state of the Port Role Transition State Machine          
           for this port in this spanning tree context."                                      
      ::= { fsMIPvrstInstPortEntry 24 }

fsMIPvrstInstPortStateTransitionSemState OBJECT-TYPE
      SYNTAX      INTEGER {                
                  discarding (0),
                  learning (1),
                  forwarding (2)
               }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current state of the Port State Transition State Machine          
           for this port in this spanning tree context."                                      
      ::= { fsMIPvrstInstPortEntry 25 }

fsMIPvrstInstPortTopologyChangeSemState OBJECT-TYPE
      SYNTAX      INTEGER {                
                  init (0),
                  inactive (1),
                  active (2),
                  detected (3),
                  notifiedtcn (4),
                  notifiedtc (5),
                  propagating (6),
                  acknowledged (7)
               }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current state of the Topology Change State Machine          
           for this port in this spanning tree context."                                      
      ::= { fsMIPvrstInstPortEntry 26 }

fsMIPvrstInstPortEffectivePortState OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The effective operational state of the port for Inst. This will
          TRUE only when the port is operationally up in the Interface level
          and Protocol level for Inst. This is will be set to False for all 
          other times."
      ::= { fsMIPvrstInstPortEntry 27 }

fsMIPvrstInstPortHelloTime OBJECT-TYPE
   SYNTAX      Timeout 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
   	  "The amount of time between the transmission of
	   Configuration bridge PDUs by this node on this port
	   in units of hundredths of a second."
      ::= { fsMIPvrstInstPortEntry 28 }

fsMIPvrstInstPortMaxAge OBJECT-TYPE
   SYNTAX      Timeout  
   MAX-ACCESS  read-only
   STATUS      current 
   DESCRIPTION 
      "Max Age of the Bridge Information"
   ::= { fsMIPvrstInstPortEntry 29 }

fsMIPvrstInstPortForwardDelay OBJECT-TYPE
   SYNTAX      Timeout  
   MAX-ACCESS  read-only
   STATUS      current 
   DESCRIPTION 
      "Forward Delay for STP bridge interoperability"
   ::= { fsMIPvrstInstPortEntry 30 }

fsMIPvrstInstPortHoldTime OBJECT-TYPE
   SYNTAX      Timeout 
   MAX-ACCESS  read-only
   STATUS      current 
   DESCRIPTION 
      "Hold Time for each port"
   ::= { fsMIPvrstInstPortEntry 31 }

fsMIPvrstInstPortAdminPathCost OBJECT-TYPE
    SYNTAX      Integer32 (0..200000000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The administratively assigned value for the contribution
        of this port to the path cost of paths toward the spanning
        tree root.

        Writing a value of '0' assigns the automatically calculated
        default Path Cost value to the port.  If the default Path
        Cost is being used, this object returns '0' when read.

        This complements the object dot1dStpPortPathCost or
        dot1dStpPortPathCost32, which returns the operational value
        of the path cost.
        The value of this object MUST be retained across
        reinitializations of the management system."

     ::= { fsMIPvrstInstPortEntry 32 }

-- TRAP MIB BEGIN

fsMIFsPvrstSetGlobalTrapOption OBJECT-TYPE
        SYNTAX   Integer32 (0..1)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "This object is used to enable and disable Pvrst traps for memory
	    failure or buffer failure irrespective of the context in which
	    the failure occurs.
           0 - Traps are not enabled.
           1 - Memory and buffer failure traps enabled" 
   ::= { fsMIFsPvrstTrapsControl 1 }

fsMIPvrstGlobalErrTrapType OBJECT-TYPE
       SYNTAX   INTEGER   {
                    none (0),
                    memfail (1),
                    bufffail (2)
                    }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Used within the Trap Notification PDU. 
	    It returns the following values
            none - none of the below values
            memfail - memory allocation failure
            bufffail - buffer allocation failure"
   ::= { fsMIFsPvrstTrapsControl 2 }

fsMIFsPvrstTrapsControlTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF FsMIFsPvrstTrapsControlEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
       "List of per virtual bridge Trap Control Info."
    ::= { fsMIFsPvrstTrapsControl 3 }

fsMIFsPvrstTrapsControlEntry OBJECT-TYPE
    SYNTAX        FsMIFsPvrstTrapsControlEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
       "Virtual bridge TrapsControl information."
    INDEX { fsMIFuturePvrstContextId }
    ::= { fsMIFsPvrstTrapsControlTable 1 }

FsMIFsPvrstTrapsControlEntry ::=
    SEQUENCE {
        fsMIPvrstSetTraps
           Integer32,
       fsMIPvrstGenTrapType
          INTEGER
           }

fsMIPvrstSetTraps OBJECT-TYPE
        SYNTAX   Integer32 (0..3)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "This object is used to enable and  disable context-specific
           Pvrst traps. Currently the following are defined
           0 - Traps are not enabled.
           1 - General Traps like protocol up or down 
           2 - Exception Traps like port protocol migration or 
	       invalid packet rcvd in port
           3 - All the above Traps "
    ::= { fsMIFsPvrstTrapsControlEntry 1 }


 fsMIPvrstGenTrapType OBJECT-TYPE
       SYNTAX   INTEGER   {
                    none (0),
                    up (1),
                    down (2)
                    }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
          "Used within the Trap Notification PDU. 
	   It denotes general events like 
           none - none of the below values
           up - protocol UP,
           down - protocol DOWN" 
    ::= { fsMIFsPvrstTrapsControlEntry 2 }


fsMIPvrstPortTrapNotificationTable OBJECT-TYPE
   SYNTAX SEQUENCE OF FsMIPvrstPortTrapNotificationEntry 
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
       "This table is used to store the notification information
       occured in each of the port for protocol migration and 
       invalid packet received. This table is maintained per virtual
       context in the system."
   ::= { fsMIFsPvrstTrapsControl 4 }

fsMIPvrstPortTrapNotificationEntry OBJECT-TYPE
   SYNTAX      FsMIPvrstPortTrapNotificationEntry 
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       " This entry is used to store the notification information"
   INDEX { fsMIPvrstPortTrapIndex}
   ::= { fsMIPvrstPortTrapNotificationTable 1 }

FsMIPvrstPortTrapNotificationEntry ::=
        SEQUENCE {
               fsMIPvrstPortTrapIndex
               Integer32,
               fsMIPvrstPortMigrationType 
               INTEGER,
               fsMIPvrstPktErrType
               INTEGER,
               fsMIPvrstPktErrVal
               Integer32
        }

 fsMIPvrstPortTrapIndex OBJECT-TYPE
   SYNTAX      Integer32 (1..4096)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "A unique value, greater than zero, indicating the Port number."
   ::= { fsMIPvrstPortTrapNotificationEntry 1 }

 fsMIPvrstPortMigrationType OBJECT-TYPE
      SYNTAX      INTEGER {
                  sendstp (0),
                  sendrstp (1)
                  }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Port Protocol migration type occured in the port"
   ::= { fsMIPvrstPortTrapNotificationEntry 2 }

 fsMIPvrstPktErrType OBJECT-TYPE
      SYNTAX      INTEGER {
                  protocolIdErr(0),
                  invalidBpdu(1),
                  configLengthErr(2),
                  tcnLengthErr(3),
                  rstpLengthErr(4),
                  maxAgeErr(5),
                  fwdDelayErr(6),
                  helloTimeErr(7),
                  pvrstLengthErr(8)
                  }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Type of invalid packet received in each of the port "
   ::= { fsMIPvrstPortTrapNotificationEntry 3 }

 fsMIPvrstPktErrVal OBJECT-TYPE
       SYNTAX   Integer32   
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Packet error value corresponding to the above type "
   ::= { fsMIPvrstPortTrapNotificationEntry 4 }

fsMIPvrstPortRoleTrapNotificationTable OBJECT-TYPE
   SYNTAX SEQUENCE OF FsMIPvrstPortRoleTrapNotificationEntry 
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
       "This table is used to store the notification information
       occured in each of the port during role change."
   ::= { fsMIFsPvrstTrapsControl 5 }

fsMIPvrstPortRoleTrapNotificationEntry OBJECT-TYPE
   SYNTAX      FsMIPvrstPortRoleTrapNotificationEntry 
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       " This entry is used to store the notification information"
   INDEX { fsMIPvrstPortTrapIndex, fsMIPvrstInstVlanId}
   ::= { fsMIPvrstPortRoleTrapNotificationTable 1 }

FsMIPvrstPortRoleTrapNotificationEntry ::=
        SEQUENCE {
		fsMIPvrstPortRoleType
		INTEGER,
		fsMIPvrstOldRoleType
		INTEGER
	}

 fsMIPvrstPortRoleType OBJECT-TYPE
      SYNTAX      INTEGER {
                  disabledPort(0),
                  alternatePort(1),
                  backupPort(2),
                  rootPort(3),
                  designatedPort(4)	
                  }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Particular Role Selected for the Port"
   ::= { fsMIPvrstPortRoleTrapNotificationEntry 1 }

 fsMIPvrstOldRoleType OBJECT-TYPE
      SYNTAX      INTEGER {
                  disabledPort(0),
                  alternatePort(1),
                  backupPort(2),
                  rootPort(3),
                  designatedPort(4)	
                  }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Particular Role which is existing for the Port"
   ::= { fsMIPvrstPortRoleTrapNotificationEntry 2 }

 fsMIPvrstTraps OBJECT IDENTIFIER ::= { fsMIFuturePvrstTraps 0 }

 fsMIPvrstGlobalErrTrap NOTIFICATION-TYPE
        OBJECTS {
            fsMIPvrstBrgAddress,
            fsMIPvrstGenTrapType,
            fsMIPvrstInstInstanceUpCount,
            fsMIPvrstInstInstanceDownCount
                }
        STATUS             current
        DESCRIPTION
         "Generated when any of the error events like memory failure or buffer failure
          or protocol migration or new root or topology change occurs "
   ::= { fsMIPvrstTraps 1 }

 fsMIPvrstGenTrap NOTIFICATION-TYPE
        OBJECTS {
            fsMIPvrstBrgAddress,
            fsMIPvrstContextName,
	    fsMIPvrstGenTrapType 
                }
        STATUS             current
        DESCRIPTION
         "Generated when any of the general events like protocol up or 
          protocol down occurs"
   ::= { fsMIPvrstTraps 2 }

 fsMIPvrstNewRootTrap NOTIFICATION-TYPE
        OBJECTS {
            fsMIPvrstBrgAddress,
            fsMIPvrstContextName,
            fsMIPvrstInstDesignatedRoot
                }
        STATUS             current
        DESCRIPTION
         "Generated whenever a new root bridge is selected in the topology "
   ::= { fsMIPvrstTraps 3 }

 fsMIPvrstTopologyChgTrap NOTIFICATION-TYPE
        OBJECTS {
            fsMIPvrstBrgAddress,
            fsMIPvrstContextName,
            fsMIPvrstInstTopChanges
                }
        STATUS             current
        DESCRIPTION
         "Generated when topology change is detected "
   ::= { fsMIPvrstTraps 4 }

 fsMIPvrstProtocolMigrationTrap NOTIFICATION-TYPE
        OBJECTS {
            fsMIPvrstBrgAddress,
            fsMIPvrstContextName,
            fsMIPvrstPortMigrationType
	        }
        STATUS             current
        DESCRIPTION
         "Generated when port protocol migration happens in the port "
   ::= { fsMIPvrstTraps 5 }

fsMIPvrstInvalidBpduRxdTrap NOTIFICATION-TYPE
        OBJECTS {
            fsMIPvrstBrgAddress,
            fsMIPvrstContextName,
            fsMIPvrstPktErrType,
            fsMIPvrstPktErrVal
                }
        STATUS             current
        DESCRIPTION
         "Generated when the invalid packet is received for 
          bpdu/stp/rstp/maximum age/forward delay/hello time"
   ::= { fsMIPvrstTraps 6 }

fsMIPvrstNewPortRoleTrap NOTIFICATION-TYPE
        OBJECTS {
                  fsMIPvrstBrgAddress,
		  fsMIPvrstPortRoleType,
		  fsMIPvrstOldRoleType
                }
        STATUS             current
        DESCRIPTION
         "Generated whenever a new role is selected for the port "
   ::= { fsMIPvrstTraps 7 }

fsMIPvrstHwFailureTrap NOTIFICATION-TYPE
        OBJECTS {
                  fsMIPvrstBrgAddress,
                  fsMIPvrstContextName,
                  fsMIPvrstInstPortState
                }
        STATUS             current
        DESCRIPTION
         "Generated whenever an NPAPI call that is invoked from the protocol
          to program the hardware port state fails."
   ::= { fsMIPvrstTraps 8 }

-- TRAP MIB END

END
