--MibName=rcMstp
-- *****************************************************************
-- SWITCH-MSTP-MIB.mib:  Multiple spanning tree protocol mib file
--
-- Jan 2007, leiliqin
--
-- Copyright (c) 1994-2000, 2007 by Raisecom, Inc.
-- All rights reserved.
-- 
-- *****************************************************************     
-- Modify report
-- 02, 20091123, hxy, Add rcMstpPortLoopGuard, rcMstpRootGuardStateChange, 
--                        rcMstpLoopGuardStateChange, rcMstpXstPortRootGuardState,
--                        rcMstpXstPortLoopGuardState
-- 01, 20081226, hxy, Remove rowstatus form rcMstpXstConfigTable, 
--                    rcMstpXstPortConfigTable  
-- *****************************************************************

SWITCH-MSTP-MIB DEFINITIONS ::= BEGIN

IMPORTS
   		MODULE-IDENTITY, 
        OBJECT-TYPE, 
        Counter32,
        Integer32, 
        Unsigned32,
        NOTIFICATION-TYPE             
                           		FROM SNMPv2-SMI
        TruthValue, 
        TimeStamp, 
        DisplayString,
        RowStatus                              
                            	FROM SNMPv2-TC
    	BridgeId                FROM BRIDGE-MIB   
    	Vlanset					FROM SWITCH-TC 
    	iscomSwitch	           	FROM RAISECOM-BASE-MIB;


rcMstp MODULE-IDENTITY
    LAST-UPDATED   "200701150000Z"
	ORGANIZATION   "Raisecom, Inc."
	CONTACT-INFO  
	               " Raisecom Systems
	                        
	                 Postal: Beijing,China
	
	                 Tel: 86-010-82884499
	
	                 E-mail: leiliqin@raisecom.com"
	DESCRIPTION
	        "The MIB for Multiple Spanning Tree Protocol. "
	        REVISION   "200701150000Z"
	        DESCRIPTION
	            "The initial revision of this MIB."
	       
    ::= { iscomSwitch 24}
 
 --Groups
--
	rcMstpTraps       			OBJECT IDENTIFIER ::= { rcMstp 1 }  
	rcMstpBridge	     		OBJECT IDENTIFIER ::= { rcMstp 2 }
--

--rcMstpTraps Group
rcMstpNewRootBridge NOTIFICATION-TYPE
	OBJECTS { rcMstpXstId }
	STATUS current
	DESCRIPTION 
				"Becoming the new root of the Spanning Tree in the 
				 CIST or in any MSTI.The trap is sent by a bridge 
				 soon after its election as the new root Port. "
	::= { rcMstpTraps 1 }

rcMstpNewRootPort  NOTIFICATION-TYPE
	OBJECTS { rcMstpXstPortXstId,  rcMstpXstPortIndex }
	STATUS current
	DESCRIPTION 
				"The root Port of the Spanning Tree changed in the 
				 CIST or in any MSTI. The trap is sent by a bridge 
				 soon after its election as the new root Port. "
	::= { rcMstpTraps 2 }

rcMstpTopologyChange NOTIFICATION-TYPE
	OBJECTS { rcMstpXstPortXstId, rcMstpXstPortIndex, rcMstpXstPortState }
	STATUS current
	DESCRIPTION 
				"A rcMstpTopologyChange trap is sent by a bridge 
				 when any of its configured ports in any instance 
				 (CIST or MSTI) transits from Learning state to 
				 Forwarding  state, or from Forwarding state to 
				 Blocking state."
	::= { rcMstpTraps 3 }
	
rcMstpRootGuardStateChange NOTIFICATION-TYPE
	OBJECTS { rcMstpXstPortXstId, rcMstpXstPortIndex, rcMstpXstPortRootGuardState}
	STATUS current
	DESCRIPTION 
				"A rcMstpRootGuardStateChange trap is sent by a bridge 
				 when the root guard state of any of its configured ports 
				 in any instance (CIST or MSTI) changed"
	::= { rcMstpTraps 4 }
	
rcMstpLoopGuardStateChange NOTIFICATION-TYPE
	OBJECTS { rcMstpXstPortXstId, rcMstpXstPortIndex, rcMstpXstPortLoopGuardState }
	STATUS current
	DESCRIPTION 
				"A rcMstpLoopGuardStateChange trap is sent by a bridge 
				 when the loop guard state of any of its configured ports 
				 in any instance (CIST or MSTI) changed"
	::= { rcMstpTraps 5 }

rcMstpBpduGuardStateChange NOTIFICATION-TYPE
	OBJECTS {rcMstpPortIndex, rcMstpPortBpduGuardEnable, rcMstpPortBpduGuardStatus }
	STATUS current
	DESCRIPTION 
				"A rcMstpBpduGuardStateChange trap will be sent by a bridge 
				 when it's bpdu guard state is changed"
	::= { rcMstpTraps 6}
	
-- rcMstpBridge Group

rcMstpBridgeAdminStp OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The administrative value of the bridge. 
             A value of TRUE(1) indicates the bridge should enable stp.
             A value of FALSE(2) indicates the bridge should disable stp." 
    DEFVAL { 2 }
    ::= { rcMstpBridge 1 }

rcMstpBridgeMaxHops OBJECT-TYPE
    SYNTAX      Integer32 (1..40)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The maximum number of hops for a particular Spanning Tree 
             instance. It defines the initial value of remainingHops 
             for MSTI information generated at the boundary of an
			 MSTI region.  This value is used only if this bridge 
             is the CIST Regional Root and/or the MSTI Regional Root 
             for one or more Multiple Spanning Tree instances. " 
    DEFVAL { 20 }
    ::= { rcMstpBridge 2 }

rcMstpBridgeVersionSupported  OBJECT-TYPE
    SYNTAX      BITS 
    			{ 
    			nonStp(0),
				dot1d1998(1),
				dot1w(2),
				dot1d2004(3),
				dot1s(4),
				dot1q(5),
				unknown(15)
				}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "An indication of which Spanning Tree Protocol the Bridge supports . 
             The bit nonStp(0) indicates, the Bridge doesn't support 
             any Spanning Tree Protocol. The bit 'dot1d1998(1)' indicates 
             the Spanning Tree Protocol specified in IEEE 802.1D-1998, 
             'dot1w(2)' indicates the Rapid Spanning Tree Protocol 
             specified in IEEE Std 802.1w, 'dot1d2004(3)' indicates 
             IEEE Std 802.1D-2004 and 'dot1s(4)'means MSTP IEEE Std 802.1s. 
             When the bridge supprts a non-listed vesrion, the bit 
             unknown(15) should be set. "
    ::= { rcMstpBridge 3 }


rcMstpBridgeProtocolVersion  OBJECT-TYPE
    SYNTAX      INTEGER
    			{
    			forceNonStp(0),
          		forceLegacyDot1d(1),
          		forceDot1w(2),
          		autoDot1s(3),
          		unknown(15)
          		}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "This object is relevant if the Bridges can supply a number 
             of versions of STP. 
             For GET operation this object reflects the mode in which 
             the Bridge works currently. If the Bridge works currently 
             in the version, not listed here, the value unknown(15) 
             should be returned. 
			 For SET operation the value unknown(15), forceNonStp(0) and
			 forceDot1w(2) must be rejected. Another value may be rejected 
			 too if the Bridge does not support correspond mode (see 
			 rcMstpBridgeVersionSupported)."
    ::= { rcMstpBridge 4 }

rcMstpBridgeRegionFormatSelector  OBJECT-TYPE
	SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The format selector value of the Configuration Identifier. 
             This has a value of 0 to indicate the format specified in 
             the IEEE 802.1s standard. Other number is not accepted. " 
    DEFVAL { 0 }
    ::= { rcMstpBridge 5 }

rcMstpBridgeRegionName  OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The region name identifies the MST region and is used as 
             one of the inputs in the computation of the MST Identifier. "
    ::= { rcMstpBridge 6 }

rcMstpBridgeRegionEditName  OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32)) 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Set region name, the inputs will be actived after active 
             operation.
			 The region name identifies the MST region and is used 
			 as one of the inputs in the computation of the MST Identifier.
			 If and only if the rcMstpBridgeRegionEditBufferOperation is 
			 set active, the object will be actived for region configuration 
			 along with the other region configuration parameters
			 (rcMstpBridgeRegionEditRevLevel, rcMstpXstInstanceEditVlansMap). "
    ::= { rcMstpBridge 7 }

rcMstpBridgeRegionRevLevel  OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object identifies the MST revision that identifies the 
             MST region and is used as one of the inputs in the computation 
             of the MST configuration Identifier. "
    ::= { rcMstpBridge 8 }

rcMstpBridgeRegionEditRevLevel  OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Set revision level, the inputs will be actived after active 
             operation.
			 This object identifies the MST revision that identifies the 
			 MST region and is used as one of the inputs in the computation 
			 of the MST configuration Identifier.
			 If and only if the rcMstpBridgeRegionEditBufferOperation is set 
			 active the object will active for region configuration along 
			 with other two region configuration parameters
			 (rcMstpBridgeRegionEditName , rcMstpXstInstanceEditVlansMap). "
    ::= { rcMstpBridge 9 }

rcMstpBridgeRegionDigest OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (16))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The Configuration Digest derived from MST Configuration Table. "
    ::= { rcMstpBridge 10 }


rcMstpBridgeCistRoot OBJECT-TYPE
    SYNTAX      BridgeId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The Bridge Identifier of the current CIST Root. "
    ::= { rcMstpBridge 11 }

rcMstpBridgeCistExternalRootCost OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The CIST path cost from the bridge to the CIST Root. "
    ::= { rcMstpBridge 12 }

rcMstpBridgeDiameter OBJECT-TYPE
    SYNTAX      Unsigned32 (2..7)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "For diameter, specify the maximum number of switches 
             between any two end stations, only for CIST. "
    DEFVAL { 7 }
    ::= { rcMstpBridge 13 }

rcMstpBridgeRegionEditBufferOperation  OBJECT-TYPE
    SYNTAX      INTEGER
    			{ 
    			other(1),
    			active(2) 
    			} 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Indicates the operation that is performed on the Region 
             Config Edit Buffer.
 			 other(1) --   none of the following operation.  
 			 active(2) --  commit changes in the Edit Buffer. The 
 			 			   successful operation of this action will 
 			 			   make the changes effective on the device.
 			 			   If the object is set active, the 
 			 			   rcMstpBridgeRegionEditName , 
 			 			   rcMstpBridgeRegionEditRevLevel and 
 			 			   rcMstpXstInstanceEditVlansMap, will be copied from
 			 			   'edit buffer' to the 'operate buffer', then the 
 			 			   three object will be activated at the same time.
 			 This object always returns other(1) when it is read. "
    ::= { rcMstpBridge 14 }

-- rcMstpPortTable     
rcMstpPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcMstpPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Mstp port table"
    ::= { rcMstp 3 }

rcMstpPortEntry OBJECT-TYPE
    SYNTAX      RcMstpPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Entry of mstp port table"
    INDEX { rcMstpPortIndex }   
    ::= { rcMstpPortTable 1 }

RcMstpPortEntry ::= SEQUENCE {
        rcMstpPortIndex       			Integer32 ,
        rcMstpPortAdminMACEnable    	TruthValue,
        rcMstpPortOperMACEnable     	TruthValue,
        rcMstpPortAdminEdgePort      	INTEGER,
        rcMstpPortAdminStp          	TruthValue,
        rcMstpPortOperStp          	    INTEGER,
        rcMstpPortRootGuard             INTEGER,
        rcMstpPortRxTcnBpduCounter  	Counter32,
        rcMstpPortRxCfgBpduCounter  	Counter32,
        rcMstpPortRxRstBpduCounter 		Counter32,
        rcMstpPortRxMstBpduCounter 		Counter32,
        rcMstpPortTxTcnBpduCounter 		Counter32,
        rcMstpPortTxCfgBpduCounter 		Counter32,
        rcMstpPortTxRstBpduCounter 		Counter32,
        rcMstpPortTxMstBpduCounter 		Counter32,
        rcMstpPortStatisticsClear   	TruthValue,
        rcMstpPortLoopGuard             INTEGER,
        rcMstpBpduFilterEnable      TruthValue,
        rcMstpPortBpduGuardEnable       TruthValue,
		rcMstpPortBpduGuardStatus       INTEGER
        }

rcMstpPortIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..4094)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A unique value, greater than zero, for each Port. The value for 
             each interface sub-layer must remain constant at least from one 
             re-initialization of the entity's network management system to 
             the next re-initialization."
    ::= { rcMstpPortEntry 1 }   
    
rcMstpPortAdminMACEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The enabled/disabled status of the port. 
             Set TRUE(1) ,the stp status of the port will be enabled, 
             otherwise it will be disabled."
    ::= { rcMstpPortEntry 2 } 

rcMstpPortOperMACEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The enabled/disabled status of the port. 
             The value of TRUE(1) means the stp status of the port is 
             enabled, otherwise it is disabled."
    ::= { rcMstpPortEntry 3 } 

rcMstpPortAdminEdgePort OBJECT-TYPE
    SYNTAX      INTEGER 
				{
				forceTrue(0),
				forceFalse(1),
				auto(2)
				}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The administrative edged port status of this port.  
             A value of forceTrue(0) indicates that this port should 
             always be treated as edged port.  
             A value of forceFalse(1) indicates that this port should 
             not be treated as edged port.  
             A value of auto(2) indicates that this port is considered 
             to be an edged port if MSTP detect that this port is 
             connected to the terminals." 
    DEFVAL { 2 }
    ::= { rcMstpPortEntry 4 } 

rcMstpPortAdminStp OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Ports with this object set as false(2) do not participate in 
             any STP computation; they are always in Forwarding state, do not 
             send any BPDU and all BPDUs received on these Ports will be discarded. 
             Such ports are used to define the STP termination point of the LAN." 
    DEFVAL { 2 }
    ::= { rcMstpPortEntry 5 }  
    
rcMstpPortOperStp OBJECT-TYPE
    SYNTAX      INTEGER {enable(1), disable(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "port mstp enable operate status" 
    DEFVAL { 2 }
    ::= { rcMstpPortEntry 6 }   
    
rcMstpPortRootGuard OBJECT-TYPE
    SYNTAX      INTEGER {enable(1), disable(2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "port mstp rootport protect enable status" 
    DEFVAL { 2 }
    ::= { rcMstpPortEntry 7 }
   
rcMstpPortRxTcnBpduCounter OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Received Topology Change Notification (TCN) Messages."
    ::= { rcMstpPortEntry 8 }

rcMstpPortRxCfgBpduCounter OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Received Configuration BPDUs."
    ::= { rcMstpPortEntry 9 }

rcMstpPortRxRstBpduCounter OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Received RST BPDUs."
    ::= { rcMstpPortEntry 10 }

rcMstpPortRxMstBpduCounter OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Received MST BPDUs."
    ::= { rcMstpPortEntry 11 }
    
rcMstpPortTxTcnBpduCounter OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Transmitted Topology Change Notification (TCN) Messages."
    ::= { rcMstpPortEntry 12 }

rcMstpPortTxCfgBpduCounter OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Transmitted Configuration BPDUs."
    ::= { rcMstpPortEntry 13 }      

rcMstpPortTxRstBpduCounter OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Transmitted RST BPDUs."
    ::= { rcMstpPortEntry 14 }

rcMstpPortTxMstBpduCounter OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Transmitted MST BPDUs."
    ::= { rcMstpPortEntry 15 }
        
rcMstpPortStatisticsClear OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Clear port statistics."
    ::= { rcMstpPortEntry 16 }
    
rcMstpPortLoopGuard OBJECT-TYPE
    SYNTAX      INTEGER {enable(1), disable(2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Port mstp loop protect enable status. If a port in some instance did not 
             received any bpdu in three times of hello-time, it will age and reselect.
             If there was no link fault in the tree but other reason lead to bpdu loss,
             reselect would create a loopback in the topology. To prevent this, a loop 
             guard enabled port will not age in any case" 
    DEFVAL { 2 }
    ::= { rcMstpPortEntry 17 }     
    
rcMstpBpduFilterEnable    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Bpdu filter status on edge port, when it is enabled,the edge port drop the received bpdu packets, 
            and does not send any bpdu packet." 
    DEFVAL { 2 }
    ::= { rcMstpPortEntry 18 }  

rcMstpPortBpduGuardEnable    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Bpdu guard enable status on edge port. If enabled, port will shutdown when it receive 
			 stp bpdu packet" 
    DEFVAL { false }
    ::= { rcMstpPortEntry 19 } 

rcMstpPortBpduGuardStatus    OBJECT-TYPE
    SYNTAX      INTEGER {no(1), yes(2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Indicate whether the port was shutdown due to bpdu guard，set it
			 to no will up the port." 
    DEFVAL { no }
    ::= { rcMstpPortEntry 20 }  
    

-- rcMstpXstInstanceTable      
rcMstpXstInstanceTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcMstpXstInstanceEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Mstp Instance vlan table"
    ::= { rcMstp 4 }

rcMstpXstInstanceEntry  OBJECT-TYPE
    SYNTAX      RcMstpXstInstanceEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Entry of mstp Instance vlan table"
    INDEX { rcMstpXstInstanceId  }   
    ::= { rcMstpXstInstanceTable 1 }

RcMstpXstInstanceEntry  ::= SEQUENCE {
        rcMstpXstInstanceId        			Integer32 ,
        rcMstpXstInstanceVlansMapped     	Vlanset
        }

rcMstpXstInstanceId OBJECT-TYPE
    SYNTAX      Integer32 (0..4095)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A unique value identifies an instance. The entry of this 
            table with index 0 always represents the CIST instance."
    ::= { rcMstpXstInstanceEntry 1 }   
    
rcMstpXstInstanceVlansMapped OBJECT-TYPE
    SYNTAX      Vlanset
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Each octet within this value specifies a set of eight 
             vlans, with the first octet specifying vlan 1 through 8, 
             the second octet specifying vlan 9 through 16, etc. 
             Within each octet, the most significant bit represents	
             the lowest numbered vlan, and the least significant bit
             represents the highest numbered vlan.  
             Thus, each vlan is represented by a single bit within 
             the value of this object. If that bit has a value of '1', 
             then that vlan is included in the set of vlans; the vlan 
             is not included if its bit has a value of '0'."
    ::= { rcMstpXstInstanceEntry 2 } 

-- rcMstpXstInstanceEditTable       
rcMstpXstInstanceEditTable   OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcMstpXstInstanceEditEntry  
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Mstp Instance vlan edit table"
    ::= { rcMstp 5 }

rcMstpXstInstanceEditEntry   OBJECT-TYPE
    SYNTAX      RcMstpXstInstanceEditEntry  
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Mstp Instance vlan edit table"
    INDEX { rcMstpXstInstanceEditId  }   
    ::= { rcMstpXstInstanceEditTable 1 }

RcMstpXstInstanceEditEntry   ::= SEQUENCE {
        rcMstpXstInstanceEditId         	Unsigned32 ,  
        rcMstpXstInstanceEditVlansMap      	Vlanset,
        rcMstpXstInstanceEditRowStatus		RowStatus  
        }

rcMstpXstInstanceEditId OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4095)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The MST instance ID, the value of which is in the range 
             from 0 to 4095. The instances of this table entry with 
             rcMstpXstInstanceEditId of zero is automatically created 
             by the device and can not modified."
    ::= { rcMstpXstInstanceEditEntry 1 }   
    
rcMstpXstInstanceEditVlansMap OBJECT-TYPE
    SYNTAX      Vlanset
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "Each octet within this value specifies a set of eight vlans, 
             with the first octet specifying vlan 1 through 8, the second 
             octet specifying vlan 9 through 16, etc. Within each octet, 
             the most significant bit represents the lowest numbered vlan, 
             and the least significant bit represents the highest numbered 
             vlan.  
             Thus, each vlan is represented by a single bit within the value 
             of this object.  If that bit has a value of '1' then that vlan 
             is included in the set of vlans; the vlan is not included if 
             its bit has a value of '0'. 
			 If valn map is overlap with another Instance, the map will not 
			 success.
			 If and only if the rcMstpXstRegionEditBufferOperation is set 
			 active, the object will active for region configuration along 
			 with other two region configuration parameters
			 (rcMstpRegionEditName , rcMstpRegionEditRevLevel )."
    ::= { rcMstpXstInstanceEditEntry 2 }

rcMstpXstInstanceEditRowStatus OBJECT-TYPE
	SYNTAX	RowStatus
	ACCESS	read-create
	STATUS	current
	DESCRIPTION
			"This object controls the creation and deletion of a row in 
			 rcMstpXstInstanceEditTable.
			 When creating an entry in this table, 'createAndGo' method 
			 is used and the value of this object is set to 'active'. 
			 Deactivation of an 'active' entry is not allowed.  
			 When deleting an entry in this table, 'destroy' method is 
			 used. 
			 Once a row becomes active, value in any other column within 
			 such a row may be modified. When a row is active, setting 
			 the instance of rcMstpXstInstanceEditVlansMap for the MST 
			 instance to the value of zero length can not be allowed."
		::=	{ rcMstpXstInstanceEditEntry 3 }
 
-- rcMstpXstTable      
rcMstpXstTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcMstpXstEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Mstp Instance table"
    ::= { rcMstp 6 }

rcMstpXstEntry  OBJECT-TYPE
    SYNTAX      RcMstpXstEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Entry of mstp Instance table"
    INDEX { rcMstpXstId  }   
    ::= { rcMstpXstTable 1 }

RcMstpXstEntry  ::= SEQUENCE {
        rcMstpXstId        					Integer32 , 
        rcMstpXstBridgeId 					BridgeId,
        rcMstpXstDesignatedRoot 			BridgeId,
        rcMstpXstInternalRootCost 			Integer32,
        rcMstpXstRootPort 					Unsigned32,
        rcMstpXstMasterPort 				Unsigned32,
        rcMstpXstTimeSinceTopologyChange 	TimeTicks,
        rcMstpXstTopologyChangesCount 		Counter32,
        rcMstpXstTopologyChangeFlag  		TruthValue
        }

rcMstpXstId OBJECT-TYPE
    SYNTAX      Integer32 (0..4095)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The MST instance ID, the value of which is in the range 
             from 0 to 4095. The instances of this table entry with 
             rcMstpXstId of zero is automatically created by the 
             device and can not modified."
    ::= { rcMstpXstEntry 1 }    

rcMstpXstBridgeId OBJECT-TYPE
    SYNTAX      BridgeId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Bridge ID of the corresponding Spanning Tree instance."
    ::= { rcMstpXstEntry 2 } 

rcMstpXstDesignatedRoot OBJECT-TYPE
    SYNTAX      BridgeId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The unique Bridge Identifier of the Bridge recorded as 
             the Root in the Configuration BPDUs transmitted by the 
             Designated Bridge for the segment to which the port is 
             attached."
    ::= { rcMstpXstEntry 3 } 

rcMstpXstInternalRootCost OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The cost of the path to the root of the corresponding 
             Spanning Tree instance as seen from this bridge."
    ::= { rcMstpXstEntry 4 } 

rcMstpXstRootPort OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The port number of the port which offers the lowest 
             cost path from this bridge to the root bridge for 
             the corresponding Spanning Tree instance."
    ::= { rcMstpXstEntry 5 } 

rcMstpXstMasterPort OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Master port of the corresponding Spanning Tree instance. 
             0 for CIST."
    ::= { rcMstpXstEntry 6 } 

rcMstpXstTimeSinceTopologyChange OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The elapsed time, in units of hundredths of a second, 
             since the last time a topology change was detected by 
             the corresponding Spanning Tree instance (specifically, 
             the elapsed time since the tcWhile timer for any port 
             was non-zero)."
    ::= { rcMstpXstEntry 7 } 

rcMstpXstTopologyChangesCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of topology changes detected by the 
             corresponding Spanning Tree instance since the management 
             entity was last reset or initialized(specifically, the 
             count of times that the tcWhiletimer for any port has 
             been non-zero)."
    ::= { rcMstpXstEntry 8 } 

rcMstpXstTopologyChangeFlag OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "True(1) if the tcWhile timer is non-zero for any port 
             for the corresponding Spanning Tree instance, false(2)
             otherwise."
    ::= { rcMstpXstEntry 9 } 

  
-- rcMstpXstConfigTable
rcMstpXstConfigTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcMstpXstConfigEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Mstp Instance config table"
    ::= { rcMstp 7 }

rcMstpXstConfigEntry  OBJECT-TYPE
    SYNTAX      RcMstpXstConfigEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Entry of mstp Instance config table"
    INDEX { rcMstpCfgXstId  }   
    ::= { rcMstpXstConfigTable 1 }

RcMstpXstConfigEntry  ::= SEQUENCE {
        rcMstpCfgXstId        			Integer32 , 
        rcMstpXstBridgePriority 			Integer32,
        rcMstpXstPrimaryRoot  				TruthValue,
        rcMstpXstSecondaryRoot  			TruthValue
        } 

rcMstpCfgXstId OBJECT-TYPE
    SYNTAX      Integer32 (0..4095)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The MST instance ID, the value of which is in the range 
             from 0 to 4095. The instances of this table entry with 
             rcMstpCfgXstId of zero is automatically created by the 
             device and can not modified."
    ::= { rcMstpXstConfigEntry 1 } 
        
rcMstpXstBridgePriority OBJECT-TYPE
    SYNTAX      Integer32 (0..61440)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Bridge priority, in steps of 4096." 
    DEFVAL { 32768 }
    ::= { rcMstpXstConfigEntry 2 }
    
rcMstpXstPrimaryRoot OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "To configure the switch to become the root bridge for 
             corresponding Spanning Tree instance."
    ::= { rcMstpXstConfigEntry 3 } 

rcMstpXstSecondaryRoot OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "To configure the switch to become the backup root bridge 
             for corresponding Spanning Tree instance."
    ::= { rcMstpXstConfigEntry 4 }
  
    
-- rcMstpXstPortTable      
rcMstpXstPortTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcMstpXstPortEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Mstp Instance port table"
    ::= { rcMstp 8 }

rcMstpXstPortEntry  OBJECT-TYPE
    SYNTAX      RcMstpXstPortEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Entry of mstp Instance port table"
    INDEX { rcMstpXstPortXstId, rcMstpXstPortIndex }   
    ::= { rcMstpXstPortTable 1 }

RcMstpXstPortEntry  ::= SEQUENCE {
        rcMstpXstPortXstId        			Integer32 , 
        rcMstpXstPortIndex 			        Integer32,
        rcMstpXstPortState 					INTEGER ,
        rcMstpXstPortRole 					INTEGER ,
        rcMstpXstPortDesignatedRoot 		BridgeId,
        rcMstpXstPortExternalRootCost 		Integer32,
        rcMstpXstPortRegionalRoot 			BridgeId,
        rcMstpXstPortInternalRootCost 		Integer32,
        rcMstpXstPortDesignatedBridge 		BridgeId,
        rcMstpXstPortDesignatedPort  		Integer32,
        rcMstpXstPortOperInternalPathCost  	Integer32,
        rcMstpXstPortRootGuardState         INTEGER,
        rcMstpXstPortLoopGuardState         INTEGER 
        }

rcMstpXstPortXstId OBJECT-TYPE
    SYNTAX      Integer32 (0..4095)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The MST instance ID, the value of which is in the range 
             from 0 to 4095. The instances of this table entry with 
             rcMstpXstPortXstId of zero is automatically created by 
             the device and can not modified."
    ::= { rcMstpXstPortEntry 1 }   

rcMstpXstPortIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..4094)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A unique value, greater than zero, for each Port. The 
             value for each interface sub-layer must remain constant 
             at least from one re-initialization of the entity's 
             network management system to the next re-initialization."
    ::= { rcMstpXstPortEntry 2 } 
        
rcMstpXstPortState OBJECT-TYPE
    SYNTAX      INTEGER 
    			{
    			disabled(0), 
    			discarding(1), 
    			learning(2), 
    			forwarding(3), 
    			unknown(4) 
    			}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The port's current state in the corresponding Spanning 
             Tree instance as defined by application of the Multiple 
             Spanning Tree Protocol.  
             This state controls what action a port takes on reception 
             of a frame. For ports which are administratively disabled 
             this object will have a value of disabled(0)."
    ::= { rcMstpXstPortEntry 3 } 

rcMstpXstPortRole OBJECT-TYPE
    SYNTAX      INTEGER 
    			{
    			disabled(1), 
    			alternate(2), 
    			backup(3), 
    			root(4), 
    			designated(5), 
    			master(6), 
    			unknown(7) 
    			}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Indicates this port's role on the corresponding Spanning 
             Tree instance.
 			 disabled(1) -- this port has no role on this MST instance.
 			 alternate(2) -- this port has the role of alternate port 
 			                 on this MST instance.
 			 backup(3) -- this port has the role of backup port on this 
 			              MST instance.
 			 root(4)-- this port has the role of root port on this MST 
 			           instance. 
 			 designated(5) -- this port has the role of designated port 
 			                  on this MST instance.
 			 master(6) -- this port has the role of master port on this 
 			              MST instance.
 			 unknown(7) - unknown reason"
    ::= { rcMstpXstPortEntry 4 } 

rcMstpXstPortDesignatedRoot OBJECT-TYPE
    SYNTAX      BridgeId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The unique Bridge Identifier of the Bridge recorded as 
             the Root of the corresponding Spanning Tree in the 
             Configuration BPDUs transmitted by the Designated Bridge 
             for the segment to which the port is attached."
    ::= { rcMstpXstPortEntry 5 } 

rcMstpXstPortExternalRootCost OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "External Root Cost for CIST. the value is always 0, for MSTI."
    ::= { rcMstpXstPortEntry 6 } 

rcMstpXstPortRegionalRoot OBJECT-TYPE
    SYNTAX      BridgeId
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Regional Root of the corresponding Spanning Tree."
    ::= { rcMstpXstPortEntry 7 } 

rcMstpXstPortInternalRootCost OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Port internal root cost of the corresponding Spanning Tree."
    ::= { rcMstpXstPortEntry 8 } 

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

rcMstpXstPortDesignatedPort OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The Port Identifier of the port on the Designated Bridge for 
             this port's segment."
    ::= { rcMstpXstPortEntry 10 } 

rcMstpXstPortOperInternalPathCost OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Port Internal path cost of the corresponding Spanning Tree."
    ::= { rcMstpXstPortEntry 11 }
    
rcMstpXstPortRootGuardState OBJECT-TYPE
    SYNTAX      INTEGER{no(1), yes(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The root guard state of port in special instance. 
             'yes' means a port was enabled root guard and received
             BPDU that include higher priority than the current 
             root priority in the instance. To prevent attack, port in 
             this instance turn discarding."
    ::= { rcMstpXstPortEntry 12 }
    
rcMstpXstPortLoopGuardState OBJECT-TYPE
    SYNTAX      INTEGER{no(1), yes(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The loop guard state of port in special instance. 
             'yes' means an alternate or root port was enabled 
             loop guard and did not received any BPDU int three 
             times of hello-time in the instance. "
    ::= { rcMstpXstPortEntry 13 }  
    
-- rcMstpXstPortConfigTable      
rcMstpXstPortConfigTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF RcMstpXstPortConfigEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Mstp Instance port config table"
    ::= { rcMstp 9 }

rcMstpXstPortConfigEntry  OBJECT-TYPE
    SYNTAX      RcMstpXstPortConfigEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Entry of mstp Instance port config table"
    INDEX { rcMstpXstPortCfgXstId, rcMstpXstPortCfgIndex }   
    ::= { rcMstpXstPortConfigTable 1 }

RcMstpXstPortConfigEntry  ::= SEQUENCE {
        rcMstpXstPortCfgXstId        		Integer32 , 
        rcMstpXstPortCfgIndex 			    Integer32,
        rcMstpXstPortPriority  				Integer32,
        rcMstpXstPortAdminInternalPathCost  Integer32
        }

rcMstpXstPortCfgXstId OBJECT-TYPE
    SYNTAX      Integer32 (0..4095)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The MST instance ID, the value of which is in the range 
             from 0 to 4095. The instances of this table entry with 
             rcMstpXstPortCfgXstId of zero is automatically created by 
             the device and can not modified."
    ::= { rcMstpXstPortConfigEntry 1 }   

rcMstpXstPortCfgIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..4094)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A unique value, greater than zero, for each Port. The 
             value for each interface sub-layer must remain constant 
             at least from one re-initialization of the entity's 
             network management system to the next re-initialization."
    ::= { rcMstpXstPortConfigEntry 2 } 

rcMstpXstPortPriority OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Port priority, in steps of 16."
    DEFVAL { 128 }
    ::= { rcMstpXstPortConfigEntry 3 } 

rcMstpXstPortAdminInternalPathCost OBJECT-TYPE
    SYNTAX      Integer32 (0..200000000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The administratively assigned value for the contribution 
             of this port to the path cost of paths towards the root 
             of the corresponding Spanning Tree instance. The value 0 
             means, that the cost will be selected automatically."
    ::= { rcMstpXstPortConfigEntry 4 }  

END
