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

--$Id: fsmprst.mib,v 1.20 2013/05/17 11:57:56 siva Exp $
SUPERMICRO-MIRSTP-MIB DEFINITIONS ::= BEGIN

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

IMPORTS

   OBJECT-TYPE, MODULE-IDENTITY, Integer32,Counter32,Unsigned32,
    enterprises,NOTIFICATION-TYPE    FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, TruthValue, DisplayString, RowStatus FROM SNMPv2-TC
    fsDot1dStpVersion FROM SUPERMICRO-MIStdRSTP-MIB
    fsDot1dBaseBridgeAddress,fsDot1dStpDesignatedRoot,fsDot1dStpPortState, 
    BridgeId,Timeout FROM SUPERMICRO-MIStdBRIDGE-MIB;


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


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

-- fsMIDot1wFutureRst group 

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

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

fsMIDot1wFutureRstTable OBJECT-TYPE
   SYNTAX SEQUENCE OF FsMIDot1wFutureRstEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "List of per virtual context RstModule Parameters"
   ::= { fsMIDot1wFutureRst 3}

fsMIDot1wFutureRstEntry OBJECT-TYPE
   SYNTAX      FsMIDot1wFutureRstEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Virtual Bridge RstModule Parameters."
   INDEX { fsMIDot1wFutureRstContextId }
   ::= { fsMIDot1wFutureRstTable 1 }

FsMIDot1wFutureRstEntry ::=
         SEQUENCE {
                 fsMIDot1wFutureRstContextId
                    Integer32,
                 fsMIRstSystemControl
                    INTEGER,
                 fsMIRstModuleStatus
                    EnabledStatus,
                 fsMIRstTraceOption
                    Integer32,
                 fsMIRstDebugOption
                    Integer32,
                 fsMIRstRstpUpCount
                    Counter32,
                 fsMIRstRstpDownCount
                    Counter32,
                 fsMIRstBufferFailureCount
                    Counter32,
                 fsMIRstMemAllocFailureCount
                    Counter32,
                 fsMIRstNewRootIdCount
                    Counter32,
                 fsMIRstPortRoleSelSmState
                    INTEGER,
                 fsMIRstOldDesignatedRoot
                    BridgeId,
		         fsMIRstDynamicPathcostCalculation
		            TruthValue,
                 fsMIRstContextName
                    DisplayString,
                 fsMIRstCalcPortPathCostOnSpeedChg
		            TruthValue,
				fsMIRstClearBridgeStats
				    TruthValue,
                fsMIRstRcvdEvent
                    INTEGER,
                fsMIRstRcvdEventSubType
                    Integer32,
                fsMIRstRcvdEventTimeStamp
                    Unsigned32,
                fsMIRstRcvdPortStateChangeTimeStamp
                    Unsigned32,
                fsMIRstFlushInterval
                    Timeout,
                fsMIRstFlushIndicationThreshold
                    Integer32,
                fsMIRstTotalFlushCount
					Counter32,
				fsMIRstFwdDelayAltPortRoleTrOptimization
				    EnabledStatus,
                fsMIRstBpduGuard
                    Integer32
         }

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

fsMIRstSystemControl OBJECT-TYPE
   SYNTAX      INTEGER { start(1), shutdown(2) }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The administrative system control status requested by management for
      the RSTP feature. The value 'start'(1) indicates that all resources 
      required by RSTP should be allocated and RSTP should be supported 
      in the device on all ports. The value shutdown(2) indicates that RSTP 
      should be shutdown in the device on all ports and all allocated memory 
      must be released."
   ::= { fsMIDot1wFutureRstEntry 2 }

fsMIRstModuleStatus OBJECT-TYPE
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The administrative module status requested by management for the RSTP
      Module. This enables or disables RSTP in the system. A value of 'enabled'
      (1) indicates that RSTP must be enabled in the device on all the ports.
      A value of 'disabled'(2) indicates that RSTP must be disabled in the
      device on all the ports. This object can be set only after the object
      fsMIRstSystemControl has been set."
   ::= {fsMIDot1wFutureRstEntry 3 }



-- ============================================================================

-- The bit positions within a byte as used in Trace and Debug are as indicated
-- below :

--                -----------------------------
--                | 7 | ..................| 0 |
--                -----------------------------

--The bits are numbered 0 to 7 from right to left."               

-- ============================================================================


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

      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 }
   ::= { fsMIDot1wFutureRstEntry 4 } 

fsMIRstDebugOption OBJECT-TYPE
   SYNTAX      Integer32 (0..524287)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "This object is used to enable Debug Statements in the RSTP
      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
      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
     17 - State Machine variable changes Debug statements
     18 - Port Receive Pseudo Information SEM 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 }
   ::= { fsMIDot1wFutureRstEntry 5 } 

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

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

fsMIRstBufferFailureCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of times buffer overflows/failures have occurred.
       A Trap is generated on the occurrence of this event."
   ::= { fsMIDot1wFutureRstEntry 8 }

fsMIRstMemAllocFailureCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of times memory allocation failures have occurred.
       A Trap is generated on the occurrence of this event."
   ::= { fsMIDot1wFutureRstEntry 9 }

fsMIRstNewRootIdCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of times this Bridge has detected a new Root in the topology.
       A Trap is generated on the occurrence of this event."
   ::= { fsMIDot1wFutureRstEntry 10 }

fsMIRstPortRoleSelSmState OBJECT-TYPE
   SYNTAX      INTEGER {
                  initbridge (0),
                  roleselection (1)
               }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION 
      "This indicates the current state of the Port Role Selection State 
      Machine. This object will hold the value 'initbridge' when the 
      Port Role Selection state machine is in the INIT_BRIDGE state and 
      the value of 'roleselection' when the state machine is in the 
      ROLE_SELECTION state."
   ::= { fsMIDot1wFutureRstEntry 11 }

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

fsMIRstDynamicPathcostCalculation 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 }
   ::= { fsMIDot1wFutureRstEntry 13 }

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

fsMIRstCalcPortPathCostOnSpeedChg 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 }
      ::= { fsMIDot1wFutureRstEntry 15 }

fsMIRstClearBridgeStats OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "This object is used to clear the statistical counters.When this 
		 object is set to TRUE,it resets the bridge specific counters   
		 and all the interface associated counters to zero.After resetting 
		 the counters the object is set to FALSE again.Configuration of this
		 MIB object to FALSE is not applicable."		 
      ::= { fsMIDot1wFutureRstEntry 16 }

fsMIRstRcvdEvent OBJECT-TYPE
    SYNTAX      INTEGER{
        configurationEvent (1),
        bpduEvent (2),
        timerExpiryEvent (3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object gives information about the recently received event in the system.
        Currently we support only ConfigurationEvent."
    ::= { fsMIDot1wFutureRstEntry 17 }


fsMIRstRcvdEventSubType OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object gives information about sub-type of the event received in the system
        recently. The value of this object depends on the value of the object fsRstRcvdEvent. 
        For ConfigurationEvent, the sub-types supported are PortUp and PortDown."
    ::= { fsMIDot1wFutureRstEntry 18 }


fsMIRstRcvdEventTimeStamp OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The time stamp (in milli seconds) at which event specified by the object fsRstRcvdEvent
      was received in the system at STP module for the last time. This object is introduced to measure the 
      convergence time in RSTP module."
   ::= { fsMIDot1wFutureRstEntry 19 }


fsMIRstRcvdPortStateChangeTimeStamp OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The time stamp (in milli seconds) at which port state has been changed in  
       the system. This object is introduced to measure the convergence time in RSTP module."
   ::= { fsMIDot1wFutureRstEntry 20 }

fsMIRstFlushInterval OBJECT-TYPE
   SYNTAX      Timeout (0..500) 
   UNITS       "centi-seconds"
   MAX-ACCESS  read-write  
   STATUS      current
   DESCRIPTION
           "This time value, measured in units of hundredths
		   of a second, controls the number of flush indications 
		   invoked from RSTP module. 
		   
		   If set to zero, then normal port based flushing will take place
		   in RSTP (for backward compatibility, which will be retained as
		   default value). 

		   If set to non-zero, then global/port based flushing will be done
		   based on the fsMIRstFlushIndicationThreshold value.  
		   
		   This scale would help to adjust the timer value, 
		   based on the deployment scenario."
   DEFVAL {0}
   ::= { fsMIDot1wFutureRstEntry 21 }

fsMIRstFlushIndicationThreshold OBJECT-TYPE
   SYNTAX      Integer32 (0..65535) 
   MAX-ACCESS  read-write  
   STATUS      current
   DESCRIPTION
         "This indicates the number of flush indications to go before
         timer method triggers. (i.e) The number of flush indications
		 to trigger the FlushInterval Timer. 
		 
		 This value can be configurable only when fsMIRstFlushInterval
		 is other than default value. 
		 
		 When the value is retained as default value and flush interval 
		 is being configured other than default value(0), then 
		 global flushing will happen. 
		 
		 When this value is non-default and the flush interval is being 
		 configured other than default value(0), then the port
		 based flushing will happen until the actual flush indication 
		 reaches the threshold. Once the threshold is reached, timer 
		 will be started and during timer expiry gloabl flushing will 
		 happen. "
   DEFVAL {0}
   ::= { fsMIDot1wFutureRstEntry 22 }

fsMIRstTotalFlushCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The number of times flush is being triggered from 
		 the STP stack in case of RSTP mode." 
   ::= { fsMIDot1wFutureRstEntry 23 } 
   
fsMIRstFwdDelayAltPortRoleTrOptimization OBJECT-TYPE
     SYNTAX      EnabledStatus
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
          " When ROLE_TRANSLATION takes place from ALTERNATE to DESIGNATED, the value with which 
            fdWhile timer started is controlled by this object configuration.
             1. As per the standard IEEE 802.1Q 2005, which talks about MSTP implementation, fdWhile 
                timer during this scenario is set to forwardDelay (i.e. default 2 seconds). 
                In this case the convergence time would take 10 seconds.

             2. As per the standard IEEE 802.1D 2004, which talks about RSTP implementation, 
                fdWhile timer during this scenario is set to FwdDelay (i.e. default 15 seconds). 
                In this case the convergence time would take 23 seconds.

          This object configuration is to choose the behaviour of RSTP implementation to follow 
          one of the above.
          When the object is set to 'enabled (1)', then RSTP behaviour would be as defined in IEEE 802.1Q 2005
          When the object is set to 'disabled (2)', then RSTP behaviour would be as defined in IEEE 802.1D 2004.
          Default value of the MIB object is 'enabled (1)' ."
          DEFVAL { enabled }
 
	 ::= { fsMIDot1wFutureRstEntry 24 }

fsMIRstBpduGuard OBJECT-TYPE
    SYNTAX      INTEGER    {
                    enable (1),
                    disable (2)
                    }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "This object configures BPDU guard globally in RSTP 
           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 }
   ::= { fsMIDot1wFutureRstEntry 25 } 
-- -------------------------------------
-- RSTP Port Extention Group 
-- -------------------------------------

fsMIRstPortExtTable OBJECT-TYPE
   SYNTAX SEQUENCE OF FsMIRstPortExtEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "This is a table that is an extension to the dot1dStpExtPortTable.
      This contains object(s) that are Port-based."
   ::= { fsMIDot1wFutureRst 4 }

fsMIRstPortExtEntry OBJECT-TYPE
   SYNTAX      FsMIRstPortExtEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Each entry in this table is for each port present in the system.
      This table is indexed by the fsMIRstPort."
   INDEX { fsMIRstPort }
   ::= { fsMIRstPortExtTable 1 }
      
FsMIRstPortExtEntry ::=
   SEQUENCE {
      fsMIRstPort
         Integer32,
      fsMIRstPortRole
         INTEGER,
      fsMIRstPortOperVersion
         INTEGER,
      fsMIRstPortInfoSmState
         INTEGER,
      fsMIRstPortMigSmState
         INTEGER,
      fsMIRstPortRoleTransSmState
         INTEGER,
      fsMIRstPortStateTransSmState
         INTEGER,
      fsMIRstPortTopoChSmState
         INTEGER,
      fsMIRstPortTxSmState
         INTEGER,
      fsMIRstPortRxRstBpduCount
         Counter32,
      fsMIRstPortRxConfigBpduCount
         Counter32,
      fsMIRstPortRxTcnBpduCount
         Counter32,
      fsMIRstPortTxRstBpduCount
         Counter32,
      fsMIRstPortTxConfigBpduCount
         Counter32,
      fsMIRstPortTxTcnBpduCount
         Counter32,
      fsMIRstPortInvalidRstBpduRxCount
         Counter32,
      fsMIRstPortInvalidConfigBpduRxCount
         Counter32,
      fsMIRstPortInvalidTcnBpduRxCount
         Counter32,
      fsMIRstPortProtocolMigrationCount
         Counter32,
      fsMIRstPortEffectivePortState
         TruthValue,
      fsMIRstPortAutoEdge
         TruthValue,
      fsMIRstPortRestrictedRole 
          TruthValue, 
      fsMIRstPortRestrictedTCN 
          TruthValue,
      fsMIRstPortEnableBPDURx
          TruthValue,
      fsMIRstPortEnableBPDUTx
          TruthValue,
      fsMIRstPortPseudoRootId
          BridgeId,
      fsMIRstPortIsL2Gp
          TruthValue,
      fsMIRstPortLoopGuard
          TruthValue,
	  fsMIRstPortClearStats
		  TruthValue,
      fsMIRstPortRcvdEvent
          INTEGER,
     fsMIRstPortRcvdEventSubType
          Integer32,
      fsMIRstPortRcvdEventTimeStamp
          Unsigned32,
      fsMIRstPortStateChangeTimeStamp
          Unsigned32,
     fsMIRstPortRowStatus 
          RowStatus,
	 fsMIRstLoopInconsistentState 
		 TruthValue,
     fsMIRstPortBpduGuard
    	 Integer32
      }

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

fsMIRstPortRole OBJECT-TYPE
   SYNTAX      INTEGER {
                  disabledPort(0),
                  alternatePort(1),
                  backupPort(2),
                  rootPort(3),
                  designatedPort(4)
               }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "This indicates the current Port Role assumed by this Port."
   ::= { fsMIRstPortExtEntry 2 }


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

fsMIRstPortInfoSmState OBJECT-TYPE
   SYNTAX      INTEGER {
                  disabled (0),
                  aged (1),
                  update (2),
                  superior (3),
                  repeat (4),
                  notdesignated (5),
                  present (6),
                  receive (7),
                  inferiordesignated (8)
               }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "This indicates the current state of the Port Information state 
      machine. This object will hold the value 'disabled' when the 
      Port Information state machine is in the DISABLED state, the value 
      'aged' when the state machine is in the AGED state, the value 'update'
      when the state machine is in the UPDATE state, the value 'superior' 
      when the state machine is in the SUPERIOR state, the value 'repeat' 
      when the state machine is in the REPEAT state, the value 
      'notdesignated' when the state machine is in the NOT_DESIGNATED state,
      the value 'present' when the state machine is in the CURRENT state 
      and the value 'receive' when the state machine is in the RECEIVE 
      state and the value 'inferiordesignated' when the state machine is 
      in the INFERIOR_DESIGNATED state."
   ::= { fsMIRstPortExtEntry 4 }

fsMIRstPortMigSmState OBJECT-TYPE
   SYNTAX      INTEGER {
                  checkingrstp (0),
                  selectingstp (1),
                  sensing (2)
               }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "This indicates the current state of the Port Protocol Migration state 
      machine. This object will hold the value 'checkingrstp' when the 
      Protocol Migration state machine is in the CHECKING_RSTP state, 
      the value 'selectingstp' when the state machine is in the 
      SELECTING_STP state, the value 'sensing' when the state machine 
      is in the SENSING state."
   ::= { fsMIRstPortExtEntry 5 }

fsMIRstPortRoleTransSmState OBJECT-TYPE
   SYNTAX      INTEGER {
                  init (0),
                  disableport (1),
                  disabledport (2),
                  rootport (3),
                  designatedport (4),
                  backupport (5),
                  rootproposed (6),
                  rootagreed(7),
                  reroot (8),
                  rootforward (9),
                  rootlearn (10),
                  rerooted (11),
                  designatedpropose (12),
                  designatedsynced (13),
                  designatedretired (14),
                  designatedforward (15),
                  designatedlearn (16),
                  designatedlisten (17)
               }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "This indicates the current state of the Port Role Transition state 
      machine. This object will hold the value 'init' when the Port Role 
      Transition state machine is in the INIT state, the value 'disableport'
      when the state machine is in the DISABLE_PORT state, the value 
      'disabledport' when the state machine is in the DISABLED_PORT state, 
      the value 'rootport' when the state machine is in the ROOT_PORT state,
      the value 'desgport' when the state machine is in the DESIGNATED_PORT 
      state, the value 'backupport' when the state machine is in BACKUP_PORT 
      state, the value 'rootproposed' when the state machine is in the
      ROOT_PROPOSED state, the value 'rootagreed' when the state machine 
      is in the ROOT_AGREED state, the value 'reroot' when the state machine 
      is in the REROOT state, the value 'rootforward' when the state machine 
      is in the ROOT_FORWARD state, the value 'rootlearn' when the state 
      machine is in the ROOT_LEARN state, the value 'rerooted' when the 
      state machine is in the REROOTED state, the value 'designatedpropose' 
      when the state machine is in the DESIGNATED_PROPOSE state, the value 
      'designatedsynced' when the state machine is in the DESIGNATED_SYNCED 
      state, the value 'designatedretired' when the state machine is in the 
      DESIGNATED_RETIRED state, the value 'designatedforward' when the state 
      machine is in the DESIGNATED_FORWARD state, the value 'designatedlearn'
      when the state machine is in the DESIGNATED_LEARN state and the value 
      'designatedlisten' when the state machine is in the DESIGNATED_LISTEN
      state."
   ::= { fsMIRstPortExtEntry 6 }

fsMIRstPortStateTransSmState OBJECT-TYPE
   SYNTAX      INTEGER {
                  discarding (0),
                  learning (1),
                  forwarding (2)
               }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "This indicates the current state of the Port State Transition state 
      machine. This object will hold the value 'discarding' when the Port 
      State Transition state machine is in the DISCARDING state, the value 
      'learning' when the state machine is in the LEARNING state and the 
      value 'forwarding' when the state machine is in the FORWARDING state." 
   ::= { fsMIRstPortExtEntry 7 }

fsMIRstPortTopoChSmState OBJECT-TYPE
   SYNTAX      INTEGER {
                  inactive (0),
                  learning (1),
                  detected (2),
                  active (3),
                  notifiedtcn (4),
                  notifiedtc (5),
                  propagating (6),
                  acknowledged (7)
               }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "This indicates the current state of the Topology Change state machine.
      This object will hold the value 'inactive' when the Topology Change 
      state machine is in the INACTIVE state, the value 'learning' when the 
      state machine is in the LEARNING state, the value 'active' when the 
      state machine is in the ACTIVE state, the value 'detected' when the 
      state machine is in the DETECTED state, the value 'notifiedtcn' when 
      the state machine is in the NOTIFIED_TCN state, the value 'notifiedtc' 
      when the state machine is in the NOTIFIED_TC state, the value 
      'propagating' state when the state machine is in the PROPAGATING
      state and the value 'acknowledged' when the state machine is in the 
      ACKNOWLEDGED state." 
   ::= { fsMIRstPortExtEntry 8 }

fsMIRstPortTxSmState OBJECT-TYPE
   SYNTAX      INTEGER {
                  transmitinit (0),
                  transmitperiodic (1),
                  transmitconfig (2),
                  transmittcn (3),
                  transmitrstp (4),
                  idle (5)
               }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "This indicates the current state of the Port Transmit state machine.
      This object will hold the value 'transmitinit' when the Port Transmit 
      state machine is in the TRANSMIT_INIT state, the value 
      'transmitperiodic' when the state machine is in the TRANSMIT_PERIODIC 
      state, the value 'transmitconfig' when the state machine is in the 
      TRANSMIT_CONFIG state, the value 'transmittcn', when the state machine 
      is in the TRANSMIT_TCN state, the value 'transmitrstp', when the state 
      machine is in the TRANSMIT_RSTP state and the value 'idle' when
      the state machine is in the IDLE state."
   ::= { fsMIRstPortExtEntry 9 }


fsMIRstPortRxRstBpduCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of RST BPDUs that have been received on this Port."
   ::= { fsMIRstPortExtEntry 10 }

fsMIRstPortRxConfigBpduCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of Config BPDUs that have been received on this Port."
   ::= { fsMIRstPortExtEntry 11 }

fsMIRstPortRxTcnBpduCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of TCN BPDUs that have been received on this Port."
   ::= { fsMIRstPortExtEntry 12 }

fsMIRstPortTxRstBpduCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of RST BPDUs that have been transmitted by this Port."
   ::= { fsMIRstPortExtEntry 13 }

fsMIRstPortTxConfigBpduCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of Config BPDUs that have been transmitted by this Port."
   ::= { fsMIRstPortExtEntry 14 }

fsMIRstPortTxTcnBpduCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of TCN BPDUs that have been transmitted by this Port."
   ::= { fsMIRstPortExtEntry 15 }

fsMIRstPortInvalidRstBpduRxCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of invalid RSTP BPDUs that have been received on this Port.
       A Trap is generated on the occurrence of this event."
   ::= { fsMIRstPortExtEntry 16 }

fsMIRstPortInvalidConfigBpduRxCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of invalid Configuration BPDUs that have been received on 
      this Port. A Trap is generated on the occurrence of this event."
   ::= { fsMIRstPortExtEntry 17 }

fsMIRstPortInvalidTcnBpduRxCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of invalid TCN BPDUs that have been received on this Port.
       A Trap is generated on the occurrence of this event."
   ::= { fsMIRstPortExtEntry 18 }

fsMIRstPortProtocolMigrationCount 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.
       A Trap is generated on the occurrence of this event."
   ::= { fsMIRstPortExtEntry 19 }

fsMIRstPortEffectivePortState OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The effective Operational state of the port. This object will be
           set to TRUE only when the port is operationally up in the 
	   interface manager and the force Port State for this port and 
	   specified port state is enabled. Otherwise this object is set 
	   to FALSE."

      ::= { fsMIRstPortExtEntry 20 }

fsMIRstPortAutoEdge OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        " This parameter when TRUE(1) indicates that detection of a port 
         as Edge Port happens automatically and FALSE(2) 
         indicates that this feature is disabled."
    
    ::= { fsMIRstPortExtEntry 21 }

fsMIRstPortRestrictedRole OBJECT-TYPE 
    SYNTAX      TruthValue 
    MAX-ACCESS  read-write 
    STATUS      current 
    DESCRIPTION 
        "A Boolean value set by management. If TRUE causes the Port not 
        to be selected as Root Port for the CIST or any MSTI, even it has 
        the best spanning tree priority vector. Such a Port will be selected 
        as an Alternate Port after the Root Port has been selected. This 
        parameter should be FALSE by default. If set it can cause lack of 
        spanning tree connectivity. It is set by a network administrator to 
        prevent bridges external to a core region of the network influencing 
        the spanning tree active topology, possibly because those bridges are 
        not under the full control of the administrator. 
                                                                                        This administrator configuration is also known as 'Root Guard'." 
        
        ::= {fsMIRstPortExtEntry 22} 

fsMIRstPortRestrictedTCN OBJECT-TYPE 
    SYNTAX      TruthValue 
    MAX-ACCESS  read-write 
    STATUS      current 
    DESCRIPTION 
        "A Boolean value set by management. If TRUE causes the Port not 
        to propagate received topology change notifications and topology 
        changes to other Ports. This parameter should be FALSE by default. 
        If set it can cause temporary loss of connectivity after changes in 
        a spanning trees active topology as a result of persistent 
        incorrectly learnt station location information. It is set by a 
        network administrator to prevent bridges external to a core region of 
        the network causing address flushing in that region, possibly because 
        those bridges are not under the full control of the administrator or 
        MAC_Operational for the attached LANs transitions frequently." 

        ::= {fsMIRstPortExtEntry 23} 

fsMIRstPortEnableBPDURx OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A Boolean value set by management. If FALSE, the BPDUs received on
        the port are ignored."
    DEFVAL { true }
    ::= {fsMIRstPortExtEntry 24 }

fsMIRstPortEnableBPDUTx OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A Boolean value set by management. If FALSE, no BPDUs are transmitted
        by this port. This variable should be FALSE before configuring port
        as a Layer Two Gateway Port."
    DEFVAL { true }
    ::= {fsMIRstPortExtEntry 25 }

fsMIRstPortPseudoRootId OBJECT-TYPE
    SYNTAX      BridgeId
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "In RSTP Bridge, the fsMIRstPortPseudoRootId parameter value.
        By default, it is set to the BridgeIdentifier.
        The pseudoRootId is used by Layer Two Gateway Port as the RootId
        in generated BPDUs."
    ::= {fsMIRstPortExtEntry 26 }

fsMIRstPortIsL2Gp OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A Boolean value set by management. If TRUE, then port is functioning
        as a Layer Two Gateway Port. The fsMIRstPortEnableBPDUTx should be
        FALSE to set fsMIRstPortIsL2Gp to TRUE."
    DEFVAL { false }
    ::= {fsMIRstPortExtEntry 27 }

fsMIRstPortLoopGuard OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A Boolean value set by management. If TRUE, then it will not age out
        the information even if the peer does not send information. If the port
        continues to receive information through BPDUs the operation
        on this port will be normal. This will be useful when the neighbor
        bridge is faulty, i.e. it cannot send BPDUs but continues to send data
        traffic."

    DEFVAL { false }
    ::= { fsMIRstPortExtEntry 28 }

fsMIRstPortClearStats OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "This object is used to clear the statistical counters.When this 
		 object is set to TRUE,it resets the given interface counters to
         zero.After resetting the counters the object is set to FALSE
         again.Configuration of this MIB object to FALSE 
         is not applicable."		 
	::= { fsMIRstPortExtEntry 29 }

fsMIRstPortRcvdEvent OBJECT-TYPE
    SYNTAX      INTEGER    {
        configurationEvent (1),
        bpduEvent (2),
        timerExpiryEvent (3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object gives information about the recently received event in the system.
        Currently we support only ConfigurationEvent."
    ::= { fsMIRstPortExtEntry 30 }

fsMIRstPortRcvdEventSubType OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object gives information about sub-type of the event received in the system
        recently. The value of this object depends on the value of the object fsRstPortRcvdEvent. 
        For ConfigurationEvent, the sub-types supported are PortUp and PortDown."
    ::= { fsMIRstPortExtEntry 31 }

fsMIRstPortRcvdEventTimeStamp OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object gives the time stamp (in milli seconds) at which the event specified by the object
        fsRstPortRcvdEvent was received in the system. This object was introduced to measure the
        convergence time in RSTP module."
    ::= { fsMIRstPortExtEntry 32 }


fsMIRstPortStateChangeTimeStamp OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object gives the time stamp (in milli seconds) when the port state is 
         updated to forwarding path for any instance on this port. This object is introduced
         to measure the convergence time in RSTP module."
    ::= { fsMIRstPortExtEntry 33 }

fsMIRstPortRowStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
      "This object is used to create or delete interfaces at RSTP module
       level.Ports can be created at RSTP 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. "
   ::= { fsMIRstPortExtEntry 34 }

fsMIRstLoopInconsistentState   OBJECT-TYPE 
   SYNTAX      TruthValue 
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION 
	   " A Boolean value set when the non-designated port on expiry of received information while timer 
   		transitions to Designated/Discarding state when the superior BPDU's are not received with the 
   		loop guard feature being enabled on that port. 
   		A value of TRUE, indicates that the state of this port is moved into an loop-inconsistent 
   		state.A value of  FALSE, indicates that this port is not moved into an loop-inconsistent 
   		state " 
   DEFVAL { false } 
   ::= { fsMIRstPortExtEntry 35 } 

fsMIRstPortBpduGuard 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 }
   ::= { fsMIRstPortExtEntry 36 } 

-- END OF TABLE

-- TRAP MIB BEGIN

 fsMIRstSetGlobalTraps OBJECT-TYPE
        SYNTAX   Integer32 (0..1)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "This object is used to enable and disable RSTP 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" 
   ::= { fsMIDot1wFsRstTrapsControl 1 }

 fsMIRstGlobalErrTrapType 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"
   ::= { fsMIDot1wFsRstTrapsControl 2 }

fsMIDot1wFsRstTrapsControlTable OBJECT-TYPE
   SYNTAX        SEQUENCE OF FsMIDot1wFsRstTrapsControlEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
      "List of per virtual bridge TrapsControl Info."
   ::= { fsMIDot1wFsRstTrapsControl 3 }

fsMIDot1wFsRstTrapsControlEntry OBJECT-TYPE
   SYNTAX        FsMIDot1wFsRstTrapsControlEntry
   MAX-ACCESS    not-accessible
   STATUS        current
   DESCRIPTION
      "Virtual bridge TrapsControl information."
   INDEX { fsMIDot1wFutureRstContextId }
   ::= { fsMIDot1wFsRstTrapsControlTable 1 }

FsMIDot1wFsRstTrapsControlEntry ::=
   SEQUENCE {
       fsMIRstSetTraps
          Integer32,
       fsMIRstGenTrapType
          INTEGER
   }

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


 fsMIRstGenTrapType 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" 
    ::= { fsMIDot1wFsRstTrapsControlEntry 2 }



fsMIRstPortTrapNotificationTable OBJECT-TYPE
   SYNTAX SEQUENCE OF FsMIRstPortTrapNotificationEntry 
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
       " This table is used to store the notification information
         occurred in each of the port for protocol migration and 
         invalid packet received  "
   ::= { fsMIDot1wFsRstTrapsControl 4 }

 fsMIRstPortTrapNotificationEntry OBJECT-TYPE
   SYNTAX      FsMIRstPortTrapNotificationEntry 
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       " This entry is used to store the notification information"
   INDEX { fsMIRstPortTrapIndex}
   ::= { fsMIRstPortTrapNotificationTable 1 }

FsMIRstPortTrapNotificationEntry ::=
        SEQUENCE {
               fsMIRstPortTrapIndex
               Integer32,
               fsMIRstPortMigrationType 
               INTEGER,
               fsMIRstPktErrType
               INTEGER,
               fsMIRstPktErrVal
               Integer32,
	       fsMIRstPortRoleType
	       INTEGER,
	       fsMIRstOldRoleType
	       INTEGER
        }

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

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

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

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

 fsMIRstPortRoleType 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"
   ::= { fsMIRstPortTrapNotificationEntry 5 }

 fsMIRstOldRoleType 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"
   ::= { fsMIRstPortTrapNotificationEntry 6 }

 fsMIRstTraps OBJECT IDENTIFIER ::= { fsMIDot1wFutureRstTraps 0 }

 fsMIRstGlobalErrTrap NOTIFICATION-TYPE
        OBJECTS {
	    fsDot1dBaseBridgeAddress,
	    fsMIRstGlobalErrTrapType
                }
        STATUS             current
        DESCRIPTION
        "Generated when any of the error events like memory failure or buffer failure occurs"
   ::= { fsMIRstTraps 1 }

 fsMIRstGenTrap NOTIFICATION-TYPE
        OBJECTS {
	    fsDot1dBaseBridgeAddress,
            fsMIRstContextName,
	    fsMIRstGenTrapType 
                }
        STATUS             current
        DESCRIPTION
         "Generated when any of the general events like protocol up or 
          protocol down occurrs"
   ::= { fsMIRstTraps 2 }

 fsMIRstNewRootTrap NOTIFICATION-TYPE
        OBJECTS {
            fsDot1dBaseBridgeAddress,
            fsMIRstContextName,
            fsMIRstOldDesignatedRoot,
	    fsDot1dStpDesignatedRoot
                }
        STATUS             current
        DESCRIPTION
         "Generated whenever a new root bridge is selected in the topology "
   ::= { fsMIRstTraps 3 }

 fsMIRstTopologyChgTrap NOTIFICATION-TYPE
        OBJECTS {
            fsDot1dBaseBridgeAddress,
            fsMIRstContextName
                }
        STATUS             current
        DESCRIPTION
         "Generated when topology change is detected "
   ::= { fsMIRstTraps 4 }

 fsMIRstProtocolMigrationTrap NOTIFICATION-TYPE
        OBJECTS {
            fsDot1dBaseBridgeAddress,
            fsMIRstContextName,
            fsDot1dStpVersion,
            fsMIRstPortMigrationType 
                }
        STATUS             current
        DESCRIPTION
         "Generated when port protocol migration happens in the port "
   ::= { fsMIRstTraps 5 }

fsMIRstInvalidBpduRxdTrap NOTIFICATION-TYPE
        OBJECTS {
            fsDot1dBaseBridgeAddress,
            fsMIRstContextName,
            fsMIRstPktErrType,
            fsMIRstPktErrVal
                }
        STATUS             current
        DESCRIPTION
         "Generated when the invalid packet is received for 
          bpdu/stp/rstp/maximum age/forward delay/hello time"
   ::= { fsMIRstTraps 6 }

fsMIRstNewPortRoleTrap NOTIFICATION-TYPE
        OBJECTS {
                  fsDot1dBaseBridgeAddress,
		  fsMIRstPortRoleType,
		  fsMIRstOldRoleType
                }
        STATUS             current
        DESCRIPTION
         "Generated whenever a new role is selected for the port "
   ::= { fsMIRstTraps 7 }

fsMIRstHwFailureTrap NOTIFICATION-TYPE
         OBJECTS {
                   fsDot1dBaseBridgeAddress,
                   fsMIRstContextName,
                   fsDot1dStpPortState
                 }
         STATUS             current
         DESCRIPTION
         "Generated whenever an NPAPI call, that is invoked from the protocol
          to program the hardware port state, fails."
::= { fsMIRstTraps 8 }

-- TRAP MIB END

END

