-- -----------------------------------------------------------------------------
-- MIB NAME : MSTP Common mib
-- FILE NAME: MSTP.mib
-- DATE     : 2008/12/19
-- VERSION  : 2.08
-- PURPOSE  : To construct the MIB structure of MSTP for proprietary enterprise
-- -----------------------------------------------------------------------------
-- MODIFICTION HISTORY:
-- -----------------------------------------------------------------------------
-- Version, Date, Author
-- Description:
--  [New Object]
--  [Modification]
-- Notes: (Requested by who and which project)
--
-- Version 2.09, 2010/06/03, Apple Chang for DGS6600
-- Description:
--  [Modification]
-- 	  [1]Remove hw-filter from SYNTAX for swMSTPPortBPDUFiltering.
-- 	  [2]Change description for swMSTPPortBPDUFiltering.
--
-- Version 2.08, 2008/12/19, Rick Ou for DGS3700
-- Description:
--  [New Object]
--     [1]Add object swMSTPNniBPDUAddress.               
--
-- Version 2.07, 2008/12/11, Mark Luo
-- Description:
--  [Modification]
--    [1]Change swMSTPStpMaxHops SYNTAX range from (6..40) to (1..40) to support MSTP
--       Rev.2002 and Rev.2005.
--
-- Version 2.06, 2008/05/12, Elvis Tsai for DES3526R51
-- Description:
--  [Modification]
-- 	  [1]Add new trap swMSTPHwFilterStatusChange to notify BPDU H/W filter status.
-- 	  [2]Add new trap swMSTPRootRestrictedChange to notify restricted_role state.
--
-- Version 2.05, 2008/04/25, Elvis Tsai for DES3526R51
-- Description:
--  [Modification]
-- 	  [1]Change swMSTPPortBPDUFiltering SYNTAX for hw-filter.
-- 	  [2]Add swMSTPPortOperFilterBpdu in swMSTPPortTable.
-- 	  [3]Add swMSTPPortRecoverFilterBpdu in swMSTPPortTable.
--
-- Version 2.04, 2008/01/24, Elvis Tsai
-- Description:
--  [Modification]
--    [1]Change swMSTPStpMaxHops SYNTAX range from (1..20) to (6..40).
--       Follow 802.1Q-2005 spec.
--
-- Version 2.03, 2007/12/28, Yedda Liao
-- Description:
--  [Modification]
--    [1]add description for swMSTPInstanceCtrlEntry,swMSTPInstRemainHops
--		 and swMSTPMstPortDesignatedBridge.
--
-- Version 2.02, 2007/5/04, Elvis Tsai
-- Description:
--  [Modification]
--    [1]Change swMSTPPortAdminEdgePort SYNTAX from TruthValue to INTEGER
--    [2]Change swMSTPPortOperEdgePort SYNTAX from TruthValue to INTEGER
--    [3]Add swMSTPPortRestrictedRole in swMSTPPortTable
--    [4]Add swMSTPPortRestrictedTCN in swMSTPPortTable
--
-- Version 2.01, 2007/4/6, yedda
-- Description:
--  [Modification]
--    to change Counter IMPORTS from FROM SNMPv2-SMI to RFC1155-SMI
--    for correct the origin
-- Notes: reported from Yan Zhang
--
-- Version 2.00, 2007/03/27, Yedda
-- This is the first formal version for universal MIB definition.
-- -----------------------------------------------------------------------------

	DGS-6600-STP-EXT-MIB DEFINITIONS ::= BEGIN
	
	
	IMPORTS	          
	          MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, TimeTicks
        		        FROM SNMPv2-SMI
	          RowStatus,TruthValue
	                  FROM SNMPv2-TC
	          MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
	                  FROM SNMPv2-CONF
	          Counter
		      	        FROM RFC1155-SMI		      	                  
            dgs6600-l2
                    FROM DGS-6600-ID-MIB;
	
	
	
	dgs6600StpExtMIB MODULE-IDENTITY
	    LAST-UPDATED "0812190000Z"
	    ORGANIZATION "D-Link Corp."
	    CONTACT-INFO
	        "http://support.dlink.com"
	    DESCRIPTION
		    "The MIB module for managing MSTP."
        ::= { dgs6600-l2 2 }
        
    BridgeId ::= OCTET STRING (SIZE (8))
     

    swMSTPGblMgmt		OBJECT IDENTIFIER ::= { dgs6600StpExtMIB 1 }
	swMSTPCtrl			OBJECT IDENTIFIER ::= { dgs6600StpExtMIB 2 }

-- -----------------------------------------------------------------------------
--	swMSTPGblCtrl
-- -----------------------------------------------------------------------------
	swMSTPStpAdminState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the spanning tree state of the bridge."
        ::= { swMSTPGblMgmt 1 }	
	
	swMSTPStpVersion OBJECT-TYPE
	    SYNTAX      INTEGER {
	                    stp(0),
	                    rstp(1),
	                    mstp(2)
	                }
	    MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
	        "The version of Spanning Tree Protocol the bridge is
	         currently running."
	    ::= { swMSTPGblMgmt 2 }
	
	swMSTPStpMaxAge OBJECT-TYPE
	    SYNTAX      INTEGER (600..4000)
	    MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
    		"The value that all bridges use for MaxAge when
             this bridge is acting as the root.  Note that
             the range for this parameter is related to 
             the value of StpForwardDelay and PortAdminHelloTime.
             MaxAge <= 2(ForwardDelay - 1);MaxAge >= 2(HelloTime + 1) 
             The granularity of this timer is specified by 
             802.1D-1990 to be 1 second. An agent may return a 
             badValue error if a set is attempted to a value 
             that is not a whole number of seconds."
	    ::= { swMSTPGblMgmt 3 }
	    
	swMSTPStpHelloTime OBJECT-TYPE
        SYNTAX 		INTEGER (100..1000)
        MAX-ACCESS  read-write
        STATUS 		current
        DESCRIPTION
                "The value is used for HelloTime when
                this bridge is acting in RSTP or STP mode, 
                in units of hundredths of a second.
                You can only read/write this value in RSTP or STP mode."
        ::= { swMSTPGblMgmt 4 }    
        
	swMSTPStpForwardDelay OBJECT-TYPE
	    SYNTAX      INTEGER (400..3000)
	    MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
			"This value controls how long a port changes its
			 spanning state from blocking to learning state 
			 and from learning to forwarding state.  
			 Note that the range for this parameter is related 
			 to MaxAge"
	    ::= { swMSTPGblMgmt 5 }
	
	swMSTPStpMaxHops OBJECT-TYPE
	    SYNTAX      INTEGER (1..40)
	    MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
	    	"This value applies to all spanning trees within
	         an MST Region for which the bridge is the Regional
	        Root."
	    ::= { swMSTPGblMgmt 6 }
	    
	swMSTPStpTxHoldCount OBJECT-TYPE
	    SYNTAX      INTEGER (1..10)
	    MAX-ACCESS  read-write
	    STATUS      current 
	    DESCRIPTION
	        "The value used by the Port Transmit state machine to limit
	         the maximum transmission rate."
	    ::= { swMSTPGblMgmt 7 }    

	swMSTPStpForwardBPDU OBJECT-TYPE
	    SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The enabled/disabled status is used to forward BPDU to 
             a non STP port."
        ::= { swMSTPGblMgmt 8 }
        
    swMSTPStpLBD OBJECT-TYPE
      	SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The enabled/disabled status is used in Loop-back prevention."
        ::= { swMSTPGblMgmt 9 }        
        
      swMSTPStpLBDRecoverTime OBJECT-TYPE
      	SYNTAX  INTEGER (0..1000000)
          MAX-ACCESS  read-write
          STATUS  current
          DESCRIPTION
            "The period of time (in seconds) in which the STP module keeps checking the BPDU loop status.
             The valid range is 60 to 1000000. If this value is set from 1 to 59, you will get a 'bad value' return code.
             The value of zero is a special value that means to disable the auto-recovery
             mechanism for the LBD feature."
        ::= { swMSTPGblMgmt 10 }
                
      swMSTPNniBPDUAddress OBJECT-TYPE
       	SYNTAX  INTEGER {
               dot1d(1),
               dot1ad(2)
               }
         MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Specifies the BPDU MAC address of the NNI port in Q-in-Q status."
        ::= { swMSTPGblMgmt 11 }
    
-- -----------------------------------------------------------------------------
--	swMSTPCtrl
-- -----------------------------------------------------------------------------
	swMSTPName	OBJECT-TYPE
		SYNTAX  OCTET STRING  (SIZE (1..32))
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION	
			"The object indicates the name of the MST Configuration Identification."
		::= { swMSTPCtrl 1 }
		
	swMSTPRevisionLevel OBJECT-TYPE
	    SYNTAX      INTEGER (0..65535)
	    MAX-ACCESS  read-write
	    STATUS      current
	    DESCRIPTION
	        "The object indicates the revision level of the MST 
	         Configuration Identification."
	    ::= { swMSTPCtrl 2 }	
	    
	swMSTPInstanceCtrlTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF SwMSTPInstanceCtrlEntry
	  	MAX-ACCESS  not-accessible
	  	STATUS      current
	  	DESCRIPTION
	    	"A table that contains MSTP instance information."
		::= { swMSTPCtrl 3 }

	swMSTPInstanceCtrlEntry OBJECT-TYPE
		SYNTAX      SwMSTPInstanceCtrlEntry
	  	MAX-ACCESS  not-accessible
	  	STATUS      current
		DESCRIPTION
			"A list of MSTP instance information."
		INDEX    {swMSTPInstId}
		::= { swMSTPInstanceCtrlTable 1 }

	SwMSTPInstanceCtrlEntry ::= SEQUENCE {
		swMSTPInstId
	  		INTEGER,
	  	swMSTPInstVlanRangeList1to64
	    	OCTET STRING,
	    swMSTPInstVlanRangeList65to128
	    	OCTET STRING,
	    swMSTPInstVlanRangeList129to192
	    	OCTET STRING,
	    swMSTPInstVlanRangeList193to256
	    	OCTET STRING,
	    swMSTPInstVlanRangeList257to320
	    	OCTET STRING,
	    swMSTPInstVlanRangeList321to384
	    	OCTET STRING,
	    swMSTPInstVlanRangeList385to448
	    	OCTET STRING,	
	    swMSTPInstVlanRangeList449to512
	    	OCTET STRING,	  	  				
	    swMSTPInstType
	    	INTEGER,
	    swMSTPInstStatus
	    	INTEGER,		
	    swMSTPInstPriority
	    	INTEGER,
	    swMSTPInstDesignatedRootBridge
	    	BridgeId,
	    swMSTPInstExternalRootCost
	    	INTEGER,
	    swMSTPInstRegionalRootBridge
	    	BridgeId,
	    swMSTPInstInternalRootCost
	    	INTEGER,		
	    swMSTPInstDesignatedBridge
	    	BridgeId,
	    swMSTPInstRootPort
	    	INTEGER,
	    swMSTPInstMaxAge
	    	INTEGER,
	    swMSTPInstForwardDelay
	    	INTEGER,
	    swMSTPInstLastTopologyChange
	    	TimeTicks,
	    swMSTPInstTopChangesCount
	    	Counter,
	    swMSTPInstRemainHops
	        INTEGER,
	    swMSTPInstRowStatus
	    	RowStatus			    
		}

	swMSTPInstId OBJECT-TYPE
		SYNTAX      INTEGER (0..63)
		MAX-ACCESS  read-only
		STATUS      current
		DESCRIPTION
			"This object indicates the specific instance.
			 An MSTP Instance ID (MSTID) of zero is used to identify the CIST."
        ::= { swMSTPInstanceCtrlEntry 1 }
       
    swMSTPInstVlanRangeList1to64 OBJECT-TYPE
		SYNTAX     OCTET STRING (SIZE (64))
		MAX-ACCESS  read-create
		STATUS      current
		DESCRIPTION
			"This object indicates the VLAN range (1-512)
			 that belongs to the instance."
        ::= { swMSTPInstanceCtrlEntry 2 }  
        
    swMSTPInstVlanRangeList65to128 OBJECT-TYPE
		SYNTAX      OCTET STRING (SIZE (64))
		MAX-ACCESS  read-create
		STATUS      current
		DESCRIPTION
			"This object indicates the VLAN range (513-1024)
			 that belongs to the instance."
        ::= { swMSTPInstanceCtrlEntry 3 }  
        
    swMSTPInstVlanRangeList129to192 OBJECT-TYPE
		SYNTAX      OCTET STRING (SIZE (64))
		MAX-ACCESS  read-create
		STATUS      current
		DESCRIPTION
			"This object indicates the VLAN range (1025-1536)
			 that belongs to the instance."
        ::= { swMSTPInstanceCtrlEntry 4 }  
        
    swMSTPInstVlanRangeList193to256 OBJECT-TYPE
		SYNTAX      OCTET STRING (SIZE (64))
		MAX-ACCESS  read-create
		STATUS      current
		DESCRIPTION
			"This object indicates the VLAN range(1537-2048)
			 that belongs to the instance."
        ::= { swMSTPInstanceCtrlEntry 5 }     
        
    swMSTPInstVlanRangeList257to320 OBJECT-TYPE
		SYNTAX      OCTET STRING (SIZE (64))
		MAX-ACCESS  read-create
		STATUS      current
		DESCRIPTION
			"This object indicates the VLAN range (2049-2560)
			 that belongs to the instance."
        ::= { swMSTPInstanceCtrlEntry 6 }     
        
    swMSTPInstVlanRangeList321to384 OBJECT-TYPE
		SYNTAX      OCTET STRING (SIZE (64))
		MAX-ACCESS  read-create
		STATUS      current
		DESCRIPTION
			"This object indicates the VLAN range (2561-3072)
			 that belongs to the instance."
        ::= { swMSTPInstanceCtrlEntry 7 }  
        
    swMSTPInstVlanRangeList385to448 OBJECT-TYPE
		SYNTAX      OCTET STRING (SIZE (64))
		MAX-ACCESS  read-create
		STATUS      current
		DESCRIPTION
			"This object indicates the VLAN range (3073-3584)
			 that belongs to the instance."
        ::= { swMSTPInstanceCtrlEntry 8 } 
        
    swMSTPInstVlanRangeList449to512 OBJECT-TYPE
		SYNTAX      OCTET STRING (SIZE (64))
		MAX-ACCESS  read-create
		STATUS      current
		DESCRIPTION
			"This object indicates the VLAN range (3585-4096)
			 that belongs to the instance."
        ::= { swMSTPInstanceCtrlEntry 9 }                             
    
    swMSTPInstType OBJECT-TYPE
	    SYNTAX  INTEGER {
				cist(0),
				msti(1)
				}
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the type of instance."
        ::= { swMSTPInstanceCtrlEntry 10 }
    
    swMSTPInstStatus OBJECT-TYPE
	   	SYNTAX  INTEGER {
				enabled(1),
				disabled(2)
                }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The instance state that could be enabled/disabled."
        ::= { swMSTPInstanceCtrlEntry 11 }    
     
    swMSTPInstPriority OBJECT-TYPE
	   	SYNTAX      INTEGER (0..61440)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "The priority of the instance. The priority must be divisible by 4096 "
        ::= { swMSTPInstanceCtrlEntry 12 }    
    
    swMSTPInstDesignatedRootBridge	OBJECT-TYPE
		SYNTAX  BridgeId
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		    "The bridge identifier of the CIST. For MST instance, 
		    this object is unused."
		::= { swMSTPInstanceCtrlEntry 13 }	
			
	swMSTPInstExternalRootCost OBJECT-TYPE
		SYNTAX  INTEGER
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
			"The path cost between MST Regions from the transmitting bridge to
              the CIST Root. For MST instance this object is unused."
		::= { swMSTPInstanceCtrlEntry 14 }
	
	swMSTPInstRegionalRootBridge	OBJECT-TYPE
		SYNTAX  BridgeId
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "For CIST, Regional Root Identifier is the Bridge Identifier 
		      of the single bridge in a Region whose CIST Root Port is a 
		      Boundary Port, or the Bridge Identifier of the CIST Root 
		      if that is within the Region;
              For MSTI,MSTI Regional Root Identifier is the Bridge 
              Identifier of the MSTI Regional Root for this particular
              MSTI in this MST Region;
		      The Regional Root Bridge of this instance."
		::= { swMSTPInstanceCtrlEntry 15 }	
			
	swMSTPInstInternalRootCost OBJECT-TYPE
		SYNTAX  INTEGER
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
			"For CIST, the internal path cost is the path cost to 
			the CIST Regional Root;
            For MSTI, the internal path cost is the path cost to 
            the MSTI Regional Root for this particular MSTI in
            this MST Region"
		::= { swMSTPInstanceCtrlEntry 16 }	
	
	swMSTPInstDesignatedBridge	OBJECT-TYPE
		SYNTAX  BridgeId
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
			"The Bridge Identifier for the transmitting bridge for 
			this CIST or MSTI"
		::= { swMSTPInstanceCtrlEntry 17 }	
		
	swMSTPInstRootPort OBJECT-TYPE
		SYNTAX  INTEGER
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
			"The port number of the port which offers the
             lowest cost path from this bridge to the CIST or MSTI root
             bridge."
		::= { swMSTPInstanceCtrlEntry 18 }	

	swMSTPInstMaxAge OBJECT-TYPE
		SYNTAX  INTEGER
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
			"The maximum age of Spanning Tree Protocol
            information learned from the network on any port
            before it is discarded, in units of hundredths of
            a second.  This is the actual value that this
            bridge is currently using."
		::= { swMSTPInstanceCtrlEntry 19 }	
	
	swMSTPInstForwardDelay OBJECT-TYPE
		SYNTAX  INTEGER
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "This value, measured in units of hundredths of a
 	              second, controls how fast a port changes its
		      spanning state when moving towards the forwarding
		      state.  The value determines how long the port
		      stays in each of the listening and learning
		      states, which precede the Forwarding state.  This
		      value is also used, when a topology change has
		      been detected and is underway, to age all dynamic
		      entries in the Forwarding Database."
		::= { swMSTPInstanceCtrlEntry 20 }	
		
		
	swMSTPInstLastTopologyChange OBJECT-TYPE
		SYNTAX  TimeTicks
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "The time (in hundredths of a second) since the
               last time a topology change was detected by the
               bridge entity."		
		::= { swMSTPInstanceCtrlEntry 21 }
		
	swMSTPInstTopChangesCount OBJECT-TYPE
		SYNTAX  Counter
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "The total number of topology changes detected by
		      this bridge since the management entity was last
		      reset or initialized."		
		::= { swMSTPInstanceCtrlEntry 22}
    
    swMSTPInstRemainHops OBJECT-TYPE
		SYNTAX  INTEGER
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "The root bridge in the instance for MSTI always sends a BPDU
		       with a maximum hop count. When a switch receives this BPDU,
		       it decrements the received maximum hop count by one and
		       propagates this value as the remaining hop count in the
		       BPDUs it generates."
		::= { swMSTPInstanceCtrlEntry 23}
        
    swMSTPInstRowStatus OBJECT-TYPE
	    SYNTAX      RowStatus
	    MAX-ACCESS  read-create
	    STATUS      current
	    DESCRIPTION
	        "This object indicates the RowStatus of this entry."
	    ::= { swMSTPInstanceCtrlEntry 24 }  
		
-- -----------------------------------------------------------------------------
-- STP Port Table
-- -----------------------------------------------------------------------------
    swMSTPPortTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF SwMSTPPortEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "A table that contains port-specific information
		      for the Spanning Tree Protocol."
		::= { swMSTPCtrl 4 }

	swMSTPPortEntry OBJECT-TYPE
		SYNTAX  SwMSTPPortEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "A list of information maintained by every port
		      about the Spanning Tree Protocol state for that
		      port."
		INDEX   { swMSTPPort }
		::= { swMSTPPortTable 1 }

	SwMSTPPortEntry ::=	SEQUENCE {
		swMSTPPort
		  INTEGER,
		swMSTPPortAdminHelloTime
		  INTEGER,
		swMSTPPortOperHelloTime
		  INTEGER,
		swMSTPSTPPortEnable
		  INTEGER,
		swMSTPPortExternalPathCost
		  INTEGER,
		swMSTPPortMigration
		  TruthValue,
		swMSTPPortAdminEdgePort
		  INTEGER,
		swMSTPPortOperEdgePort  
		  INTEGER,
		swMSTPPortAdminP2P
		  INTEGER,
		swMSTPPortOperP2P
		  INTEGER,
		swMSTPPortLBD
		  INTEGER, 		    
		swMSTPPortBPDUFiltering
		  INTEGER,
		swMSTPPortRestrictedRole
		  TruthValue,
		swMSTPPortRestrictedTCN
                  TruthValue,
                swMSTPPortOperFilterBpdu
                  INTEGER,
                swMSTPPortRecoverFilterBpdu
		  TruthValue
		}

	swMSTPPort OBJECT-TYPE
		SYNTAX  INTEGER (1..65535)
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "The port number of the port for this entry."
		::= { swMSTPPortEntry 1 }		
		
	swMSTPPortAdminHelloTime OBJECT-TYPE
		SYNTAX  INTEGER (100..1000)--(1..10)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "The amount of time between the transmission of
               BPDU by this node on any port when it is the 
               root of the spanning tree or trying to become 
               so, in units of hundredths of a second."
		::= { swMSTPPortEntry 2 }

	swMSTPPortOperHelloTime OBJECT-TYPE
		SYNTAX  INTEGER (100..1000)--(1..10)
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "The actual value of the hello time."
		::= { swMSTPPortEntry 3 }		
		
	swMSTPSTPPortEnable OBJECT-TYPE
		SYNTAX  INTEGER {
			enabled(1),
			disabled(2)
			}
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
			"The enabled/disabled status of the port."
		::= { swMSTPPortEntry 4 }
              
	swMSTPPortExternalPathCost OBJECT-TYPE
		SYNTAX  INTEGER (0..200000000)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "The contribution of this port to the path cost of
              paths towards the CIST root which include
              this port."
		::= { swMSTPPortEntry 5 }	
     
 	swMSTPPortMigration OBJECT-TYPE
	    SYNTAX	TruthValue
	    MAX-ACCESS  read-write
	    STATUS	current
	    DESCRIPTION
	        "When operating in MSTP mode or RSTP mode, writing TRUE(1)
 			 to this object forces this port to transmit MST BPDUs.
 			 Any other operation on this object has no effect and
 			 it always returns FALSE(2) when read."
	    ::= { swMSTPPortEntry 6 }
	    
	swMSTPPortAdminEdgePort OBJECT-TYPE
	    SYNTAX	INTEGER {
			true(1),
			false(2),
			auto(3)
			}
	    MAX-ACCESS  read-write
	    STATUS	current
	    DESCRIPTION
	        "The value of the Edge Port parameter.  A
 			 value of TRUE indicates that this port should be
 			 assumed as an edge-port and a value of FALSE indicates
 			 that this port should be assumed as a non-edge-port"
	    ::= { swMSTPPortEntry 7 }
	
	swMSTPPortOperEdgePort OBJECT-TYPE
	    SYNTAX	INTEGER {
        			true(1),
        			false(2),
        			auto(3)
			}
	    MAX-ACCESS  read-only
	    STATUS	current
	    DESCRIPTION
	        "It is the acutual value of the edge port status."
	    ::= { swMSTPPortEntry 8 }    
	    
	swMSTPPortAdminP2P OBJECT-TYPE
	    SYNTAX	INTEGER {
			true(0),
			false(1),
			auto(2)
			}
	    MAX-ACCESS  read-write
	    STATUS	current
	    DESCRIPTION
	        "The point-to-point status of the LAN segment
 			 attached to this port."
	    ::= { swMSTPPortEntry 9 }      
	
	swMSTPPortOperP2P OBJECT-TYPE
	    SYNTAX	INTEGER {
			true(0),
			false(1),
			auto(2)
			}
	    MAX-ACCESS  read-only
	    STATUS	current
	    DESCRIPTION
	        "It is the actual value of the P2P status."
	    ::= { swMSTPPortEntry 10 }              

	swMSTPPortLBD OBJECT-TYPE
      	SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The enabled/disabled status is used for Loop-back prevention attached
            to this port."
        ::= { swMSTPPortEntry 11 }
        
        swMSTPPortBPDUFiltering OBJECT-TYPE
      	SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The enabled/disabled status is used for BPDU Filtering attached
            to this port.BPDU filtering allows the administrator to prevent
            the system from sending or even receiving BPDUs on specified ports."
        ::= { swMSTPPortEntry 12 }        

	swMSTPPortRestrictedRole OBJECT-TYPE
      	SYNTAX  TruthValue
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "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."
        ::= { swMSTPPortEntry 13 }

	swMSTPPortRestrictedTCN OBJECT-TYPE
      	SYNTAX  TruthValue
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "If TRUE, causes the port not to propagate received topology
             change notifications and topology changes to other Ports."
        ::= { swMSTPPortEntry 14 }
	
    swMSTPPortOperFilterBpdu OBJECT-TYPE
        SYNTAX  INTEGER {
               receiving(1),
               filtering(2)
               }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "It is the actual value of the hardware filter BPDU status."
        ::= { swMSTPPortEntry 15 }

    swMSTPPortRecoverFilterBpdu OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "When operating in BPDU filtering mode, writing TRUE(1)
              to this object sets this port to receive BPDUs to the
              hardware. Any other operation on this object has no
              effect and it will always return FALSE(2) when read."
        ::= { swMSTPPortEntry 16 }

-- -----------------------------------------------------------------------------
-- STP MST Port Table	
-- -----------------------------------------------------------------------------
	swMSTPMstPortTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF SwMSTPMstPortEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "A table that contains port-specific information
		      for the MST Protocol."
		::= { swMSTPCtrl 5 }

	swMSTPMstPortEntry OBJECT-TYPE
		SYNTAX  SwMSTPMstPortEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "A list of information maintained by every port
		      about the MST state for that port."
		INDEX   { swMSTPMstPort,swMSTPMstPortInsID }
		::= { swMSTPMstPortTable 1 }

	SwMSTPMstPortEntry ::=	SEQUENCE {
		swMSTPMstPort
		  INTEGER,
		swMSTPMstPortInsID
		  INTEGER,
		swMSTPMstPortDesignatedBridge
		  BridgeId, 
		swMSTPMstPortInternalPathCost
		  INTEGER,
		swMSTPMstPortPriority
		  INTEGER,
		swMSTPMstPortStatus  
		  INTEGER,
		swMSTPMstPortRole
		  INTEGER	  	  
		}

	swMSTPMstPort OBJECT-TYPE
		SYNTAX  INTEGER (1..65535)
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "The port number of the port for this entry."
		::= { swMSTPMstPortEntry 1 }
		
	swMSTPMstPortInsID OBJECT-TYPE
		SYNTAX  INTEGER (0..63)
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "This object indicates the MSTP Instance ID (MSTID)."
		::= { swMSTPMstPortEntry 2 }	
	
	swMSTPMstPortDesignatedBridge 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 on the corresponding Spanning
			 Tree instance."
		::= { swMSTPMstPortEntry 3 }	
			
	swMSTPMstPortInternalPathCost OBJECT-TYPE
		SYNTAX  INTEGER (0..200000000)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "This is the value of this port to the 
		        path cost of paths towards the MSTI root."
		::= { swMSTPMstPortEntry 4 }		

	swMSTPMstPortPriority OBJECT-TYPE
		SYNTAX  INTEGER (0..240)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "The value of the priority field which is
               contained in the first (in network byte order)
               octet of the (2 octet long) Port ID."
		::= { swMSTPMstPortEntry 5 }
		
	swMSTPMstPortStatus OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               discarding(3),
               learning(4),
               forwarding(5),
               broken(6),
               no-stp-enabled(7),
               err-disabled(8)
               }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "When the port Enable state is enabled, the port's current 
            state as defined by application of the Spanning Tree Protocol.
            If the PortEnable is disabled, the port status will be
            no-stp-enabled (7). If the port is in error disabled status,
            the port status will be err-disable(8)"
        ::= { swMSTPMstPortEntry 6 }
        
    swMSTPMstPortRole OBJECT-TYPE
        SYNTAX  INTEGER {
               disable(0),
               alternate(1),
               backup(2),
               root(3),
               designated(4),
               master(5),
               nonstp(6),
               loopback(7)
               }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "When the port Enable state is enabled, the port's current 
            port role as defined by application of the Spanning Tree Protocol.
            If the Port Enable state is disabled, the port role will be
            nonstp(5)"
        ::= { swMSTPMstPortEntry 7 }    		
     

-- -----------------------------------------------------------------------------
-- MSTP Trap
-- -----------------------------------------------------------------------------
    swMSTPTraps				OBJECT IDENTIFIER ::= { dgs6600StpExtMIB 11 }
	swMSTPNotify			OBJECT IDENTIFIER ::= { swMSTPTraps 1 }
	swMSTPNotifyPrefix		OBJECT IDENTIFIER ::= { swMSTPNotify 0 }


    swMSTPPortLBDTrap	NOTIFICATION-TYPE
        OBJECTS		{swMSTPPort}
        STATUS  	current
        DESCRIPTION
            "When STP port loopback detect is enabled, a trap will be generated."
        ::= { swMSTPNotifyPrefix 1 }

    swMSTPPortBackupTrap	NOTIFICATION-TYPE
        OBJECTS			{swMSTPMstPort, swMSTPMstPortInsID}
        STATUS  		current
        DESCRIPTION
            "When the STP port role goes to backup (defined in the STP standard),
             a trap will be generated."
        ::= { swMSTPNotifyPrefix 2 }

    swMSTPPortAlternateTrap	NOTIFICATION-TYPE
        OBJECTS			{swMSTPMstPort, swMSTPMstPortInsID}
        STATUS			current
        DESCRIPTION
            "When the STP port role goes to alternate (defined in the STP standard),
             a trap will be generated."
        ::= { swMSTPNotifyPrefix 3 }

    swMSTPHwFilterStatusChange NOTIFICATION-TYPE
        OBJECTS         {
                           swMSTPPort,
                           swMSTPPortOperFilterBpdu
                        }
        STATUS          current
        DESCRIPTION     "This trap is sent when a BPDU hardware filter status port changes."
        ::= { swMSTPNotifyPrefix 4 }

    swMSTPRootRestrictedChange NOTIFICATION-TYPE
        OBJECTS         {
                           swMSTPPort,
                           swMSTPPortRestrictedRole
                        }
        STATUS          current
        DESCRIPTION     "This trap is sent when a restricted role state port changes."
        ::= { swMSTPNotifyPrefix 5 }

END
