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

--$Id: fsrst.mib,v 1.30 2016/03/18 13:08:58 siva Exp $
ARICENT-RSTP-MIB DEFINITIONS ::= BEGIN

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

IMPORTS

    OBJECT-TYPE, MODULE-IDENTITY, Unsigned32, Integer32, Counter32,
    enterprises, NOTIFICATION-TYPE    FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, TruthValue, RowStatus FROM SNMPv2-TC
    dot1dStpVersion FROM RSTP-MIB 
    dot1dBaseBridgeAddress, BridgeId, dot1dStpDesignatedRoot,
    dot1dStpPortState FROM BRIDGE-MIB;


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


EnabledStatus ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION 
        "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

 
dot1wFutureRst     OBJECT IDENTIFIER   ::= { futureRstMIB 1 }
dot1wFsRstTrapsControl OBJECT IDENTIFIER ::= { futureRstMIB 2 }
dot1wFutureRstTraps OBJECT IDENTIFIER ::= { futureRstMIB 3 }

-- dot1wFutureRst group 

-- SCALAR BEGIN 

fsRstSystemControl 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."
   ::= { dot1wFutureRst 1 }

fsRstModuleStatus 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
      fsRstSystemControl has been set."
   ::= {dot1wFutureRst 2 }



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

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

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


fsRstTraceOption 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 }
   ::= { dot1wFutureRst 3 } 

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

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

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

fsRstBufferFailureCount 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."
   ::= { dot1wFutureRst 7 }

fsRstMemAllocFailureCount 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."
   ::= { dot1wFutureRst 8 }

fsRstNewRootIdCount 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."
   ::= { dot1wFutureRst 9 }

fsRstPortRoleSelSmState 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."
   ::= { dot1wFutureRst 10 }

fsRstOldDesignatedRoot 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."
       ::= { dot1wFutureRst 11 }


-- SCALAR END


-- -------------------------------------
-- RSTP Port Extention Group 
-- -------------------------------------

fsRstPortExtTable OBJECT-TYPE
   SYNTAX SEQUENCE OF FsRstPortExtEntry
   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."
   ::= { dot1wFutureRst 12 }

fsRstPortExtEntry OBJECT-TYPE
   SYNTAX      FsRstPortExtEntry
   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 fsRstPort."
   INDEX { fsRstPort }
   ::= { fsRstPortExtTable 1 }
      
FsRstPortExtEntry ::=
   SEQUENCE {
      fsRstPort
         Integer32,
      fsRstPortRole
         INTEGER,
      fsRstPortOperVersion
         INTEGER,
      fsRstPortInfoSmState
         INTEGER,
      fsRstPortMigSmState
         INTEGER,
      fsRstPortRoleTransSmState
         INTEGER,
      fsRstPortStateTransSmState
         INTEGER,
      fsRstPortTopoChSmState
         INTEGER,
      fsRstPortTxSmState
         INTEGER,
      fsRstPortRxRstBpduCount
         Counter32,
      fsRstPortRxConfigBpduCount
         Counter32,
      fsRstPortRxTcnBpduCount
         Counter32,
      fsRstPortTxRstBpduCount
         Counter32,
      fsRstPortTxConfigBpduCount
         Counter32,
      fsRstPortTxTcnBpduCount
         Counter32,
      fsRstPortInvalidRstBpduRxCount
         Counter32,
      fsRstPortInvalidConfigBpduRxCount
         Counter32,
      fsRstPortInvalidTcnBpduRxCount
         Counter32,
      fsRstPortProtocolMigrationCount
          Counter32,
      fsRstPortEffectivePortState
          TruthValue,
      fsRstPortAutoEdge
          TruthValue,
      fsRstPortRestrictedRole 
          TruthValue, 
      fsRstPortRestrictedTCN 
          TruthValue,
      fsRstPortEnableBPDURx
          TruthValue,
      fsRstPortEnableBPDUTx
          TruthValue,
      fsRstPortPseudoRootId
          BridgeId,
      fsRstPortIsL2Gp
          TruthValue,
      fsRstPortLoopGuard
          TruthValue,
      fsRstPortRcvdEvent
          INTEGER,
     fsRstPortRcvdEventSubType
          Integer32,
      fsRstPortRcvdEventTimeStamp
          Unsigned32,
      fsRstPortStateChangeTimeStamp
          Unsigned32,
      fsRstPortRowStatus
          RowStatus,
      fsRstPortBpduGuard
         Integer32,
      fsRstPortRootGuard
	 TruthValue,
      fsRstRootInconsistentState
	 TruthValue,
      fsRstPortErrorRecovery
	 Timeout,
      fsRstPortStpModeDot1wEnabled
         EnabledStatus,
      fsRstPortBpduInconsistentState
         TruthValue,
      fsRstPortBpduGuardAction
         Integer32
   }

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

fsRstPortRole 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."
   ::= { fsRstPortExtEntry 2 }


fsRstPortOperVersion 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."
   ::= { fsRstPortExtEntry 3 }

fsRstPortInfoSmState 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."
   ::= { fsRstPortExtEntry 4 }

fsRstPortMigSmState 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."
   ::= { fsRstPortExtEntry 5 }

fsRstPortRoleTransSmState 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."
   ::= { fsRstPortExtEntry 6 }

fsRstPortStateTransSmState 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." 
   ::= { fsRstPortExtEntry 7 }

fsRstPortTopoChSmState 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." 
   ::= { fsRstPortExtEntry 8 }

fsRstPortTxSmState 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."
   ::= { fsRstPortExtEntry 9 }


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

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

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

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

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

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

fsRstPortInvalidRstBpduRxCount 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."
   ::= { fsRstPortExtEntry 16 }

fsRstPortInvalidConfigBpduRxCount 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."
   ::= { fsRstPortExtEntry 17 }

fsRstPortInvalidTcnBpduRxCount 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."
   ::= { fsRstPortExtEntry 18 }

fsRstPortProtocolMigrationCount 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."
   ::= { fsRstPortExtEntry 19 }

fsRstPortEffectivePortState 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."

      ::= { fsRstPortExtEntry 20 }

fsRstPortAutoEdge 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."
    
    ::= { fsRstPortExtEntry 21 }

fsRstPortRestrictedRole 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'." 
        
        ::= {fsRstPortExtEntry 22} 

fsRstPortRestrictedTCN 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." 

    ::= {fsRstPortExtEntry 23} 

fsRstPortEnableBPDURx 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 }
    ::= { fsRstPortExtEntry 24 }

fsRstPortEnableBPDUTx 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 }
    ::= { fsRstPortExtEntry 25 }

fsRstPortPseudoRootId OBJECT-TYPE
    SYNTAX      BridgeId
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "In RSTP Bridge, the fsRstPortPseudoRootId 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."
    ::= { fsRstPortExtEntry 26 }

fsRstPortIsL2Gp 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 fsRstPortEnableBPDUTx should be
        FALSE to set fsRstPortIsL2Gp to TRUE."
    DEFVAL { false }
    ::= { fsRstPortExtEntry 27 }

fsRstPortLoopGuard 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 }
    ::= { fsRstPortExtEntry 28 }

fsRstPortRcvdEvent 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."
    ::= { fsRstPortExtEntry 29 }

fsRstPortRcvdEventSubType 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."
    ::= { fsRstPortExtEntry 30 }

fsRstPortRcvdEventTimeStamp 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."
    ::= { fsRstPortExtEntry 31 }


fsRstPortStateChangeTimeStamp 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."
    ::= { fsRstPortExtEntry 32 }

fsRstPortRowStatus 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.This is applicable only when 
       Automatic Port Create Feature is Disabled." 
   ::= { fsRstPortExtEntry 33 }

fsRstPortBpduGuard 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 }
   ::= { fsRstPortExtEntry 34 } 

fsRstPortRootGuard 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 }
        ::= {fsRstPortExtEntry 35}

fsRstRootInconsistentState   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 
           a root-inconsistent state.
           A value of FALSE indicates that this port is not moved into
           a root-inconsistent state."
         DEFVAL { false }
    ::= { fsRstPortExtEntry 36}

fsRstPortErrorRecovery 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 }
      ::= { fsRstPortExtEntry 37 }

fsRstPortStpModeDot1wEnabled 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 }
      ::= { fsRstPortExtEntry 38 }
fsRstPortBpduInconsistentState 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 }
   ::= { fsRstPortExtEntry 39 }

fsRstPortBpduGuardAction 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 }
    ::= { fsRstPortExtEntry 40 } 

-- END OF TABLE 
-- SCALAR ADDED

fsRstDynamicPathcostCalculation 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 }
      ::= { dot1wFutureRst 13 }

fsRstCalcPortPathCostOnSpeedChg 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 }
      ::= { dot1wFutureRst 14 }

fsRstRcvdEvent 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."
    ::= { dot1wFutureRst 15 }


fsRstRcvdEventSubType 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."
    ::= { dot1wFutureRst 16 }


fsRstRcvdEventTimeStamp 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."
   ::= { dot1wFutureRst 17 }


fsRstRcvdPortStateChangeTimeStamp 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."
   ::= { dot1wFutureRst 18 }

fsRstBpduGuard 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 }
   ::= { dot1wFutureRst 19 } 

fsRstStpPerfStatus 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 collection of RSTP performance data is 
         enabled on all ports in the device. 'disable'(2)indicates the collection
         of RSTP performance data is disabled on all ports in the device."
    DEFVAL { 2 }
   ::= { dot1wFutureRst 20}

-- SCALAR END
-- TRAP MIB BEGIN
 fsRstSetTraps OBJECT-TYPE
        SYNTAX   Integer32 (0..255)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "This object is used to enable and disable specific
           RSTP traps. Currently, the following are defined
           0 - Traps are not enabled.
           1 - General Traps like protocol up or down  
           2 - Exception Traps like memory failure or buffer failure or port
           protocol migration or invalid packet rcvd in port
           3 - All the above Traps."
    ::= { dot1wFsRstTrapsControl 1 }


 fsRstGenTrapType OBJECT-TYPE
       SYNTAX   INTEGER   {
                    none (0),
                    up (1),
                    down (2)
                    }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "The general events like 
           none - none of the below values
           up - protocol UP,
           down - protocol DOWN." 
   ::= { dot1wFsRstTrapsControl 2 }


 fsRstErrTrapType OBJECT-TYPE
       SYNTAX   INTEGER   {
                    none (0),
                    memfail (1),
                    bufffail (2)
                    }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "The error event like
            none - none of the below values
            memfail - memory allocation failure
            bufffail - buffer allocation failure."
   ::= { dot1wFsRstTrapsControl 3 }

fsRstPortTrapNotificationTable OBJECT-TYPE
   SYNTAX SEQUENCE OF FsRstPortTrapNotificationEntry 
   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."
   ::= { dot1wFsRstTrapsControl 4 }

 fsRstPortTrapNotificationEntry OBJECT-TYPE
   SYNTAX      FsRstPortTrapNotificationEntry 
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       " This entry is used to store the notification information."
   INDEX { fsRstPortTrapIndex}
   ::= { fsRstPortTrapNotificationTable 1 }

FsRstPortTrapNotificationEntry ::=
        SEQUENCE {
               fsRstPortTrapIndex
               Integer32,
               fsRstPortMigrationType 
               INTEGER,
               fsRstPktErrType
               INTEGER,
               fsRstPktErrVal
               Integer32,
	       fsRstPortRoleType
	       INTEGER,
	       fsRstOldRoleType
	       INTEGER
        }

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

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

 fsRstPktErrType 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."
   ::= { fsRstPortTrapNotificationEntry 3 }

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

 fsRstPortRoleType 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."
   ::= { fsRstPortTrapNotificationEntry 5 }

 fsRstOldRoleType 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."
   ::= { fsRstPortTrapNotificationEntry 6 }

 fsRstTraps OBJECT IDENTIFIER ::= { dot1wFutureRstTraps 0 }

 fsRstGenTrap NOTIFICATION-TYPE
        OBJECTS {
      dot1dBaseBridgeAddress,
           fsRstGenTrapType 
                }
        STATUS             current
        DESCRIPTION
         "Generated when any of the general events like protocol up or 
          protocol down occurs."
   ::= { fsRstTraps 1 }

 fsRstErrTrap NOTIFICATION-TYPE
        OBJECTS {
      dot1dBaseBridgeAddress,
           fsRstErrTrapType
                }
        STATUS             current
        DESCRIPTION
        "Generated when any of the error events like memory failure or buffer
         failure occurs."
   ::= { fsRstTraps 2 }

 fsRstNewRootTrap NOTIFICATION-TYPE
        OBJECTS {
                  dot1dBaseBridgeAddress,
                  fsRstOldDesignatedRoot,
                  dot1dStpDesignatedRoot
                }
        STATUS             current
        DESCRIPTION
         "Generated whenever a new root bridge is selected in the topology."
   ::= { fsRstTraps 3 }

 fsRstTopologyChgTrap NOTIFICATION-TYPE
        OBJECTS {
                 dot1dBaseBridgeAddress
                }
        STATUS             current
        DESCRIPTION
         "Generated when topology change is detected."
   ::= { fsRstTraps 4 }

 fsRstProtocolMigrationTrap NOTIFICATION-TYPE
        OBJECTS {
            dot1dBaseBridgeAddress,
            dot1dStpVersion,
            fsRstPortMigrationType 
                }
        STATUS             current
        DESCRIPTION
         "Generated when port protocol migration happens in the port."
   ::= { fsRstTraps 5 }

fsRstInvalidBpduRxdTrap NOTIFICATION-TYPE
        OBJECTS {
            dot1dBaseBridgeAddress,
            fsRstPktErrType,
            fsRstPktErrVal
                }
        STATUS             current
        DESCRIPTION
         "Generated when the invalid packet is received for 
          bpdu/stp/rstp/maximum age/forward delay/hello time."
   ::= { fsRstTraps 6 }

fsRstNewPortRoleTrap NOTIFICATION-TYPE
        OBJECTS {
                  dot1dBaseBridgeAddress,
		  fsRstPortRoleType,
		  fsRstOldRoleType
                }
        STATUS             current
        DESCRIPTION
         "Generated whenever a new role is selected for the port."
   ::= { fsRstTraps 7 }

fsRstHwFailureTrap NOTIFICATION-TYPE
         OBJECTS {
                   dot1dBaseBridgeAddress,
                   dot1dStpPortState
                 }
         STATUS             current
         DESCRIPTION
         "Generated whenever an NPAPI call, that is invoked from the protocol
          to program the hardware port state, fails."
::= { fsRstTraps 8 }

-- TRAP MIB END
END

