-- Copyright (C) 2016 Aricent. All Rights Reserved.

--$Id: fsmprst.mib,v 1.28 2016/03/18 13:08:57 siva Exp $
Aricent-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 ARICENT-MIStdRSTP-MIB
    fsDot1dBaseBridgeAddress, fsDot1dStpDesignatedRoot, fsDot1dStpPortState, 
    BridgeId, Timeout FROM ARICENT-MIStdBRIDGE-MIB;


futureMIRstMIB MODULE-IDENTITY
    LAST-UPDATED "201209050000Z"
    ORGANIZATION "ARICENT COMMUNICATIONS SOFTWARE"
    CONTACT-INFO "support@aricent.com"
    DESCRIPTION "MIB for Multiple Instance Rapid Spanning Tree 
                Algorithm & Protocol" 
    REVISION "201209050000Z"
    DESCRIPTION "MIB for Multiple Instance Rapid Spanning Tree 
                Algorithm & Protocol" 
::= { enterprises futuresoftware(2076) 119 }


EnabledStatus ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION 
        "This object specifies a simple status value for the object." 
    SYNTAX      INTEGER { enabled(1), disabled(2) } 

Timeout ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d4"
    STATUS       current
    DESCRIPTION
                " Time out value in 4 byte"
    SYNTAX       Integer32
    
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
      "This object specifies the list of per virtual context RstModule
       Parameters."
   ::= { fsMIDot1wFutureRst 3}

fsMIDot1wFutureRstEntry OBJECT-TYPE
   SYNTAX      FsMIDot1wFutureRstEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "This object specifies the 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,
                fsMIRstStpPerfStatus
                    INTEGER
         }

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
      "This object specifies 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 shut down 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
      "This object specifies 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
      "This object specifies the number of times RSTP Module has been enabled."
   ::= { fsMIDot1wFutureRstEntry 6 }

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

fsMIRstBufferFailureCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "This object specifies 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
      "This object specifies 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
      "This object specifies 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 object specifies 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
               "This object specifies 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
          depending 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 specifies the 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 specifies 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
      "This object specifies 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
      "This object specifies 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 object specifies the 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 object specifies 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 global 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 } 

fsMIRstStpPerfStatus OBJECT-TYPE
   SYNTAX      INTEGER { enable(1), disable(2) }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "This object enables or disables the collection of performance data
        for the RSTP protocol. 'enable' (1) indicates that the collection of
        rstp performance data is enabled in the device on all ports.
        'disable'(2) indicates the collection of rstp performance data is
        disabled on all ports."
    DEFVAL { 2 }
   ::= { fsMIDot1wFutureRstEntry 26 }

-- -------------------------------------
-- 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,
      fsMIRstPortRootGuard
	  TruthValue,
      fsMIRstRootInconsistentState
	  TruthValue,
      fsMIRstPortErrorRecovery
	  Timeout,
      fsMIRstPortStpModeDot1wEnabled
	  EnabledStatus,
      fsMIRstPortBpduInconsistentState
      TruthValue,
      fsMIRstPortBpduGuardAction
      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 } 

fsMIRstPortRootGuard 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 Designated 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'."
	DEFVAL { false }
        ::= {fsMIRstPortExtEntry 37}

fsMIRstRootInconsistentState   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 }
    ::= { fsMIRstPortExtEntry 38}

fsMIRstPortErrorRecovery OBJECT-TYPE
   SYNTAX      Timeout (3000..6553500)
   UNITS       "centi-seconds"
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
           "The amount of time to bring the interface out of the
           error-disabled (err-disabled) state.
           The range is from 30 to 65535 seconds."
   DEFVAL {30000 }
      ::= { fsMIRstPortExtEntry 39 }

fsMIRstPortStpModeDot1wEnabled OBJECT-TYPE
        SYNTAX      EnabledStatus 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        "This object enables/disables the bridge to send agreement pdu in 
         accordance with 802.1W.A value of 'enabled' (1) indicates the bridge
         to send agreement pdu in accordance with 802.1W.  A value of
         'disabled'(2) indicates the bridge to send agreement pdu in accordance
         with 802.1D."
	DEFVAL { disabled }
      ::= { fsMIRstPortExtEntry 40 }
fsMIRstPortBpduInconsistentState OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
     "A Boolean value set indicates the port state goes to disabled / discarding
     due to the BPDU guard feature enabled on the port and the port receives
     BPDU on this.A value of TRUE indicates that the state of this port is 
     moved into an bpduguard-inconsistent state due to BPDU reception.
     A value of FALSE, indicates that this port is not received the BPDU when
     BPDU guard is enabled on this port or BPDU guard feature is disabled on 
     that port."
   DEFVAL { false }
   ::= { fsMIRstPortExtEntry 41 }

fsMIRstPortBpduGuardAction OBJECT-TYPE
   SYNTAX     INTEGER    {
            disable-discarding (1),
            admin-down (2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "This object specifies the action to be taken when BPDU is received
         on a BPDU guard enabled port.

         When action is set as admin down error recovery time will be set as
         zero. When action is set as disable-discarding, error recovery time
         will be set as 3000 centi-seconds.

         When action is set as admin down and BPDU is received on this
         port, then the port will be made down. When port is made admin up again,
         port moves to admin down if BPDU is received on this port.

         When BPDU is received in case of disable-discarding state, spanning-tree
         will be disabled on this port and port will move to discarding state.
         On expiry of error recovery timer, spanning tree will be enabled on
         the port. When BPDU is received again, spanning-tree will be disabled
         on the port and port moves to discarding state

         To recover from the admin down or disable discarding state, BPDU guard
         should be disabled on this port."

    DEFVAL { 1 }
    ::= { fsMIRstPortExtEntry 42 }

-- 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

