-- ZyXEL Communications Corporation
-- Private Enterprise MIB definition 
  
-- This file describes the ZyXEL Communications Corporation Enterprise MIB.
-- It contains ZyXEL products OIDs, and common managed objects.

-- ZYXEL-MSTP-MIB.mib
-- Revision 1.4  2013/12/06 

ZYXEL-MSTP-MIB DEFINITIONS ::= BEGIN
    IMPORTS
	OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	
		
	MODULE-IDENTITY
		FROM SNMPv2-SMI
	
	RowStatus, TruthValue
		FROM SNMPv2-TC			-- RFC2579
		
	DisplayString                                          
	  	FROM SNMPv2-TC
	  	
	EnabledStatus
		FROM  P-BRIDGE-MIB

	dot1dBasePort
       	FROM BRIDGE-MIB

	 TimeTicks
        FROM SNMPv2-SMI
        
    BridgeId, Timeout
        FROM BRIDGE-MIB  

    NOTIFICATION-TYPE
        FROM SNMPv2-SMI
 	
	TEXTUAL-CONVENTION
			FROM SNMPv2-TC

  Integer32
  	FROM SNMPv2-SMI
 
  Counter32
  	FROM SNMPv2-SMI
 
	esMgmt			
		FROM ZYXEL-ES-SMI;

	zyxelMstp MODULE-IDENTITY
		LAST-UPDATED	"201207010000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for Multiple Spanning Tree Protocol (MSTP)"
		::= { esMgmt 53 }
		
	zyxelMstpSetup	     		OBJECT IDENTIFIER ::= { zyxelMstp 1 }
	zyxelMstpStatus	     		OBJECT IDENTIFIER ::= { zyxelMstp 2 }
	zyxelMstpNotifications 		OBJECT IDENTIFIER ::= { zyxelMstp 3 }


--****************************************************************
-- TEXTUAL-CONVENTIONs
--****************************************************************
		MstiOrCistInstanceIndex ::= TEXTUAL-CONVENTION
      		STATUS       current
    		DESCRIPTION
	            "This textual convention is an extension of the
	            MstiInstanceIndex convention.  This extension permits the
	            additional value of zero, which means Common and Internal
	            Spanning Tree (CIST)."
            SYNTAX      Integer32 (0..16) 

                      
        zyxelMstpGeneral		OBJECT IDENTIFIER ::= { zyxelMstpSetup 1}  
	    
        	zyMstpGeneralState		OBJECT-TYPE
        	SYNTAX    EnabledStatus
        	MAX-ACCESS    read-write
        	STATUS    current
       		DESCRIPTION
        	"Enable/Disable MSTP on the switch."
        	::= { zyxelMstpGeneral 1 }
        
        	zyMstpGeneralConfigIdName    OBJECT-TYPE
        	SYNTAX    DisplayString
        	MAX-ACCESS    read-write
        	STATUS    current 
        	DESCRIPTION 
        	"The configuration name that identifies the MST
         	region and is used as one of the inputs in the 
         	computation of the MST Configuration Identifier." 
       	 	REFERENCE
            	"(12.12.3.4.2.b)"
        	::= { zyxelMstpGeneral 2 }
        
        	zyMstpGeneralConfigIdRevisionLevel OBJECT-TYPE
        	SYNTAX    Integer32
        	MAX-ACCESS    read-write
        	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."
       	 	REFERENCE
            	"(12.12.3.4.2.c)"
        	::= { zyxelMstpGeneral 3 }
	    	    
	    	zyMstpGeneralHelloTime  OBJECT-TYPE
	   		SYNTAX    Timeout (1..10)
        	MAX-ACCESS    read-write
        	STATUS    current 
        	DESCRIPTION
        	"The time interval in seconds between BPDU configuration 
        	 message generations by the root switch. The allowed range is 1 to 10 seconds."                  
        	::= { zyxelMstpGeneral 4 }
       
			zyMstpGeneralMaxAge    OBJECT-TYPE
        	SYNTAX  Timeout (6..40)
        	MAX-ACCESS  read-write
        	STATUS  current 
       		DESCRIPTION
        	"This is the maximum time (in seconds) the switch can wait 
        	 without receiving a BPDU before attempting to reconfigure" 
        	::= { zyxelMstpGeneral 5 }
         
        	zyMstpGeneralForwardDelay   OBJECT-TYPE 
        	SYNTAX  Timeout (4..30)
        	MAX-ACCESS  read-write
        	STATUS  current
        	DESCRIPTION
            "This is the maximum time (in seconds) the switch will wait 
             before changing states. This delay is required because every 
             switch must receive information about topology changes before 
             it starts to forward frames."
            ::= {zyxelMstpGeneral 6}
        
        	zyMstpGeneralMaxHops  OBJECT-TYPE
            SYNTAX      Integer32 (1..255)
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
            "The number of hops (between 1 and 255) in an MSTP region 
             before the BPDU is discarded and the port information is aged."
            ::= { zyxelMstpGeneral 7 }

            zyMstpVlanMapMaxNumberOfInstances  OBJECT-TYPE
            SYNTAX      INTEGER
            MAX-ACCESS  	read-only
            STATUS      current
            DESCRIPTION
            "The maximum number of MSTP VLAN instances that can be created."
            ::= { zyxelMstpSetup 2 }

				    
-- MSTP MAP TABLE
        	zyxelMstpVlanMapTable        OBJECT-TYPE
            SYNTAX      SEQUENCE OF ZyxelMstpVlanMapEntry
            MAX-ACCESS  	not-accessible
            STATUS      current
            DESCRIPTION
               "The table contains MSTP VLAN map configuration."
            ::= { zyxelMstpSetup 3 }	
         
        	zyxelMstpVlanMapEntry        OBJECT-TYPE
            SYNTAX      ZyxelMstpVlanMapEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
               "An entry contains MSTP VLAN map configuration. "
            INDEX  { zyMstpVlanMapInstance }
            ::= { zyxelMstpVlanMapTable 1 }
        
        	ZyxelMstpVlanMapEntry ::= SEQUENCE {
                   zyMstpVlanMapInstance			MstiOrCistInstanceIndex,
                   zyMstpVlanMapVlans1k           	OCTET STRING,
                   zyMstpVlanMapVlans2k           	OCTET STRING,
                   zyMstpVlanMapVlans3k           	OCTET STRING,
                   zyMstpVlanMapVlans4k           	OCTET STRING,
                   zyMstpVlanMapRowStatus    		RowStatus
        	}
        
        	zyMstpVlanMapInstance    OBJECT-TYPE
            SYNTAX      MstiOrCistInstanceIndex
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
            "Uniquely identifies an instance. The entry of this table with index 0
            presents always, represents CIST. When SET operation "
            ::= { zyxelMstpVlanMapEntry 1 }  
        
        	zyMstpVlanMapVlans1k      OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE (0..128))
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
           "A string of octets containing one bit per VLAN. The
            first octet corresponds to VLANs with VlanIndex values
            1 through 8; the second octet to VLANs 9 through
            16 etc.  The most significant bit of each octet
            corresponds to the lowest VlanIndex value in that octet.

            For each VLAN that is mapped to this MSTP instance,
            the bit corresponding to that VLAN is set to '1'.
            Empty (zero) most significant octes are not mandatory."
            ::= { zyxelMstpVlanMapEntry 2 } 
        
        	zyMstpVlanMapVlans2k      OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE (0..128))
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
            "A string of octets containing one bit per VLAN for
             VLANS with VlanIndex values 1024 through 2047. The
             first octet corresponds to VLANs with VlanIndex values
             1024 through 1031; the second octet to VLANs 1032
             through 1039 etc.  The most significant bit of each
             octet corresponds to the lowest VlanIndex value in that
             octet.
             
             For each VLAN that is mapped to this MSTP instance,
             the bit corresponding to that VLAN is set to '1'.

             Empty (zero) most significant octes are not mandatory."
             ::= { zyxelMstpVlanMapEntry 3 }
        
        	zyMstpVlanMapVlans3k      OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE (0..128))
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
            "A string of octets containing one bit per VLAN for
             VLANS with VlanIndex values 2048 through 3071. The
             first octet corresponds to VLANs with VlanIndex values
             of 2048 through 2055; the second octet to VLANs 2056
             through 2063 etc.  The most significant bit of each
             octet corresponds to the lowest VlanIndex value in that
             octet.

             For each VLAN that is mapped to this MSTP instance,
             the bit corresponding to that VLAN is set to '1'.

             Empty (zero) most significant octes are not mandatory."
             ::= { zyxelMstpVlanMapEntry 4 }
        
        	zyMstpVlanMapVlans4k      OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE (0..128))
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
            "A string of octets containing one bit per VLAN for
             VLANS with VlanIndex values 3072 through 4095. The
             first octet corresponds to VLANs with VlanIndex values
             3072 through 3079; the second octet to VLANs 3080
             through 3087 etc.  The most significant bit of each
             octet corresponds to the lowest VlanIndex value in that
             octet.
        
             For each VLAN that is mapped to this MSTP instance,
             the bit corresponding to that VLAN is set to '1'.
           
             Empty (zero) most significant octes are not mandatory."
             ::= { zyxelMstpVlanMapEntry 5 }   
        
        	zyMstpVlanMapRowStatus    OBJECT-TYPE
            SYNTAX  RowStatus
            MAX-ACCESS  read-create
            STATUS  current
            DESCRIPTION 
            "This object allow entries to be created and deleted from the MSTP VLAN map table."
        	::= {  zyxelMstpVlanMapEntry 6 }
    	
-- 		MSTP Port Table, information for all instance of a port
        	zyxelMstpPortTable      OBJECT-TYPE
            SYNTAX      SEQUENCE OF ZyxelMstpPortEntry
            MAX-ACCESS  	not-accessible
            STATUS      current
            DESCRIPTION
            "The table contains MSTP port configuration."
            ::= { zyxelMstpSetup 4 }
        
       	 	zyxelMstpPortEntry      OBJECT-TYPE
            SYNTAX  ZyxelMstpPortEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
            "An entry contains MSTP port configuration. "
            INDEX  { dot1dBasePort }
            ::= { zyxelMstpPortTable 1 }
        
        	ZyxelMstpPortEntry ::= SEQUENCE {
			 zyMstpPortAdminEdgePort            INTEGER
        	}
        
			zyMstpPortAdminEdgePort OBJECT-TYPE
            SYNTAX  INTEGER {
                      true(1),
                      false(2)
            }
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
            "The administrative value of the Edge Port parameter. A
			 value of true(1) indicates that this port should be
         	 assumed as an edge-port, and a value of false(2) indicates
         	 that this port should be assumed as a non-edge-port. "
            ::= { zyxelMstpPortEntry 1 }	
			
-- 		MSTP instance Table
        	zyxelMstpInstanceTable  OBJECT-TYPE
              SYNTAX      SEQUENCE OF ZyxelMstpInstanceEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
              "The table contains MSTP instance configuration."
              ::= { zyxelMstpSetup 5 }

        	zyxelMstpInstanceEntry OBJECT-TYPE
              SYNTAX      ZyxelMstpInstanceEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
              "An entry contains MSTP instance configuration. "
              INDEX { zyMstpInstanceId }
              ::= { zyxelMstpInstanceTable 1 }  
        
       		ZyxelMstpInstanceEntry ::= SEQUENCE {
	           zyMstpInstanceId                      MstiOrCistInstanceIndex,
	           zyMstpInstanceBridgePriority          Integer32
       		}
       
       		zyMstpInstanceId   OBJECT-TYPE
           	SYNTAX      MstiOrCistInstanceIndex
           	MAX-ACCESS      not-accessible
           	STATUS      current
           	DESCRIPTION
            "The number you want to use to identify this MST instance on the switch. 0 means CIST."
           	::= { zyxelMstpInstanceEntry 1 }
       
       		zyMstpInstanceBridgePriority   OBJECT-TYPE
           	SYNTAX	Integer32 (0..61440)
           	MAX-ACCESS	read-write
           	STATUS	current
           	DESCRIPTION
            "priority of the switch for the specific spanning tree instance. 
             The lower the number , the more likely the switch will be chosen 
             as the root bridge within the spanning tree instance. In steps of 4096."
           	DEFVAL       { 32768 }
           	::= { zyxelMstpInstanceEntry 2 } 
       
 -- MSTP Instance Port Table
       	   zyxelMstpInstancePortTable    OBJECT-TYPE
           SYNTAX  SEQUENCE OF ZyxelMstpInstancePortEntry
           MAX-ACCESS  not-accessible
           STATUS  current
           DESCRIPTION
           "The table contains MSTP instance port configuration."
           ::= { zyxelMstpSetup 6 }
       
      	   zyxelMstpInstancePortEntry    OBJECT-TYPE
           SYNTAX  ZyxelMstpInstancePortEntry
           MAX-ACCESS  not-accessible
           STATUS  current
           DESCRIPTION
           "An entry contains MSTP instance port configuration. "
           INDEX  { zyMstpInstancePortInstanceId, dot1dBasePort }
           ::= { zyxelMstpInstancePortTable 1 }
           
       	   ZyxelMstpInstancePortEntry ::=
           SEQUENCE {
         		zyMstpInstancePortInstanceId           MstiOrCistInstanceIndex,
           		zyMstpInstancePortState                EnabledStatus, 
          		zyMstpInstancePortPriority             Integer32,
          		zyMstpInstancePortPathCost             INTEGER   
           }
        
       		zyMstpInstancePortInstanceId     OBJECT-TYPE
            SYNTAX      MstiOrCistInstanceIndex
            MAX-ACCESS      not-accessible
            STATUS      current
            DESCRIPTION
            "The number you want to use to identify this MST instance on the switch. 0 means CIST."
            ::= { zyxelMstpInstancePortEntry 1 }        
        
        	zyMstpInstancePortState     OBJECT-TYPE
            SYNTAX      EnabledStatus
            MAX-ACCESS      read-write
            STATUS      current
            DESCRIPTION
            "Enable/Disable this port to the MST instance."
            ::= { zyxelMstpInstancePortEntry 2 }
         
         	zyMstpInstancePortPriority   OBJECT-TYPE 
            SYNTAX      Integer32 (0..255)
            MAX-ACCESS      read-write
            STATUS      current
            DESCRIPTION
            "Port priority. Priority decides which port should be disable when more than one port forms a loop 
            in a switch. Ports with a higher priority numeric value are disabled first. In steps of 16."
            DEFVAL       { 128 }
            ::= { zyxelMstpInstancePortEntry 3 }
        
         	zyMstpInstancePortPathCost   OBJECT-TYPE 
            SYNTAX      INTEGER (0..200000000)
            MAX-ACCESS      read-write
            STATUS      current
            DESCRIPTION
            "The cost of transmitting a frame on to a LAN through that port."
            ::= { zyxelMstpInstancePortEntry 4 }
             

-- zyxelMstpStatus   
        zyxelMstpInfoGeneral	OBJECT IDENTIFIER ::= { zyxelMstpStatus 1}   
        
        	zyMstpInfoGeneralConfigIdName    OBJECT-TYPE
        	SYNTAX    DisplayString
        	MAX-ACCESS    read-only
        	STATUS    current 
        	DESCRIPTION 
        	"The configuration name that identifies the MST region and is used 
        	 as one of the inputs in the computation of the MST Configuration Identifier." 
        	REFERENCE
            "12.12.3.4.2.b)"
        	::= { zyxelMstpInfoGeneral 1 }
        
        	zyMstpInfoGeneralConfigIdRevisionLevel OBJECT-TYPE
        	SYNTAX    Integer32
        	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."
        	REFERENCE
            "12.12.3.4.2.c)"
        	::= { zyxelMstpInfoGeneral 2 }
	    	    
	  		zyMstpInfoGeneralConfigIdConfigDigest  OBJECT-TYPE
            SYNTAX    OCTET STRING(SIZE(16))
            MAX-ACCESS    read-only
            STATUS    current
            DESCRIPTION
              "A configuration digest is generated from the VLAN-MSTI mapping information. This field displays 
              the 16-octet signature that is included in an MSTP BPDU. This field displays the digest when MSTP 
              is activated on the system. "
            REFERENCE
               "12.12.3.3.3.a.4"
            ::= { zyxelMstpInfoGeneral 3 }
	    
	    	zyMstpInfoGeneralHelloTime  OBJECT-TYPE
	        SYNTAX    Timeout (1..10)
            MAX-ACCESS    read-only
            STATUS    current 
            DESCRIPTION
            "The time interval in seconds between BPDU configuration message generations by the root switch."                  
            ::= { zyxelMstpInfoGeneral 4 }
       
        	zyMstpInfoGeneralMaxAge    OBJECT-TYPE
            SYNTAX  Timeout (6..40)
            MAX-ACCESS  read-only
            STATUS  current 
            DESCRIPTION
            "This is the maximum time (in seconds) the switch can 
             wait without receiving a BPDU before attempting to reconfigure" 
            ::= { zyxelMstpInfoGeneral 5 }
         
        	zyMstpInfoGeneralForwardDelay   OBJECT-TYPE 
            SYNTAX  Timeout (4..30)
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
            "This is the maximum time (in seconds) the switch will wait before 
             changing states. This delay is required because every switch must 
             receive information about topology changes before it starts to forward frames."
            ::= {zyxelMstpInfoGeneral 6}
        	    
			zyMstpInfoGeneralCistRootPathCost  OBJECT-TYPE
            SYNTAX      Integer32
            MAX-ACCESS  	read-only
            STATUS      current
            DESCRIPTION
	    	"This is the path cost from the root port on this switch to the root switch."
            ::= { zyxelMstpInfoGeneral 7 }
	    
			zyMstpInfoGeneralCistRootBridgeId  OBJECT-TYPE
            SYNTAX      OCTET STRING(SIZE(8))
            MAX-ACCESS  	read-only
            STATUS      current
            DESCRIPTION
            "This is the path cost from the root port on this switch to the root switch."
            ::= { zyxelMstpInfoGeneral 8 }   
                	
-- MSTP Vlan Table
        	zyxelMstpInfoVlanMapTable       OBJECT-TYPE
            SYNTAX      SEQUENCE OF ZyxelMstpInfoVlanMapEntry
            MAX-ACCESS  	not-accessible
            STATUS      current
            DESCRIPTION
            "The table contains MSTP VLAN map information."
            ::= { zyxelMstpStatus 2 } 
        
        	zyxelMstpInfoVlanMapEntry  OBJECT-TYPE
            SYNTAX      ZyxelMstpInfoVlanMapEntry
            MAX-ACCESS      not-accessible
            STATUS      current
            DESCRIPTION
            "An entry contains MSTP VLAN map information."
            INDEX  { zyMstpInfoVlanMapVid }
            ::= { zyxelMstpInfoVlanMapTable 1 }
           
        	ZyxelMstpInfoVlanMapEntry ::= SEQUENCE {
              zyMstpInfoVlanMapVid			INTEGER,
              zyMstpInfoVlanMapInstance     MstiOrCistInstanceIndex
        	}
           
        	zyMstpInfoVlanMapVid     OBJECT-TYPE
            SYNTAX        INTEGER(1..4094)
            MAX-ACCESS        not-accessible
            STATUS        current
            DESCRIPTION
            "The VLAN ID for which this entry contains the instance mapped."
            ::= { zyxelMstpInfoVlanMapEntry 1 } 
         
        	zyMstpInfoVlanMapInstance    OBJECT-TYPE
             SYNTAX      MstiOrCistInstanceIndex
             MAX-ACCESS  	 read-only
             STATUS      current
             DESCRIPTION
             "An integer with values ranging from 0 to 64 that identify a 
              the CIST/MSTI instance to which this VLAN is mapped" 
             ::= { zyxelMstpInfoVlanMapEntry 2 }   
             
-- 		MSTP Port Table, information for all instance of a port
        	zyxelMstpInfoPortTable      OBJECT-TYPE
            SYNTAX      SEQUENCE OF ZyxelMstpInfoPortEntry
            MAX-ACCESS  	not-accessible
            STATUS      current
            DESCRIPTION
            "The table contains MSTP VLAN map information."
            ::= { zyxelMstpStatus 3 }
        
       	 	zyxelMstpInfoPortEntry      OBJECT-TYPE
            SYNTAX  ZyxelMstpInfoPortEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
            "An entry contains MSTP VLAN map information."
            INDEX  { dot1dBasePort }
            ::= { zyxelMstpInfoPortTable 1 }
        
        	ZyxelMstpInfoPortEntry ::= SEQUENCE {
             zyMstpInfoPortOperEdgePort             TruthValue,
             zyMstpInfoPortOperPointToPointMAC      TruthValue
        	}
                
       		zyMstpInfoPortOperEdgePort    OBJECT-TYPE
            SYNTAX    TruthValue
            MAX-ACCESS    read-only
            STATUS    current 
            DESCRIPTION
            "The operational value of the Edge Port parameter.  The object is initialized to the value of the 
            corresponding instance of zyxelMstpPortAdminEdgePort.  When the corresponding instance of 
            zyxelMstpPortAdminEdgePort is set, this object will be changed as well.  This object will 
            also be changed to false on reception of a BPDU."
            ::= { zyxelMstpInfoPortEntry 1 }
        
        	zyMstpInfoPortOperPointToPointMAC    OBJECT-TYPE
            SYNTAX    TruthValue
            MAX-ACCESS    read-only
            STATUS    current
            DESCRIPTION
            "The port is operationally connected to a point-to-point link."
            ::= { zyxelMstpInfoPortEntry 2 } 
						
-- 		MSTP Information Instance Table
        	zyxelMstpInfoInstanceTable  OBJECT-TYPE
            SYNTAX	SEQUENCE OF ZyxelMstpInfoInstanceEntry
            MAX-ACCESS 	not-accessible
            STATUS  current
            DESCRIPTION
            "The table contains MSTP instance information."
            ::= { zyxelMstpStatus 4 }

        	zyxelMstpInfoInstanceEntry OBJECT-TYPE
            SYNTAX  ZyxelMstpInfoInstanceEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
            "An entry contains MSTP instance information."
            INDEX { zyMstpInfoInstanceId }
            ::= { zyxelMstpInfoInstanceTable 1 }  
        
       		ZyxelMstpInfoInstanceEntry ::= SEQUENCE {
	           zyMstpInfoInstanceId                      MstiOrCistInstanceIndex,
	           zyMstpInfoInstanceBridgeId                BridgeId,
	           zyMstpInfoInstanceInternalRootCost        Integer32,
	           zyMstpInfoInstanceRootPort                INTEGER,
	           zyMstpInfoInstanceTimeSinceTopologyChange TimeTicks,
	           zyMstpInfoInstanceTopologyChangesCount    Counter32
       		}
       
       		zyMstpInfoInstanceId   OBJECT-TYPE
           	SYNTAX      MstiOrCistInstanceIndex
           	MAX-ACCESS      not-accessible
           	STATUS      current
          	DESCRIPTION
            "the number you want to use to identify this MST instance on the switch. 0 means CIST."
           ::= { zyxelMstpInfoInstanceEntry 1 }
       
       		zyMstpInfoInstanceBridgeId   OBJECT-TYPE
           	SYNTAX      BridgeId
           	MAX-ACCESS      read-only
           	STATUS      current
          	DESCRIPTION
            "this is the unique identifier for this bridge, consisting of bridge priority plus MAC address. 
             This ID is the same for root and our bridge if the switch is the root switch."
           	::= { zyxelMstpInfoInstanceEntry 2 }   
            
       		zyMstpInfoInstanceInternalRootCost     OBJECT-TYPE
           	SYNTAX      Integer32
           	MAX-ACCESS      read-only
           	STATUS      current
           	DESCRIPTION
             "This is the path cost from the root port in this MST instance to the regional root switch."
           	::= { zyxelMstpInfoInstanceEntry 3 }

       		zyMstpInfoInstanceRootPort      OBJECT-TYPE
           	SYNTAX      INTEGER 
           	MAX-ACCESS      read-only
           	STATUS      current
           	DESCRIPTION
           	"This is the priority and number of the port on the switch through which this switch must communicate with the root of the MST instance."
           	::= { zyxelMstpInfoInstanceEntry 4 }
       
       		zyMstpInfoInstanceTimeSinceTopologyChange  OBJECT-TYPE
           	SYNTAX      TimeTicks
           	MAX-ACCESS      read-only
           	STATUS      current
           	DESCRIPTION
            "This is the time since the spanning tree was last reconfigured."
           	::= { zyxelMstpInfoInstanceEntry 5 }

       		zyMstpInfoInstanceTopologyChangesCount     OBJECT-TYPE
           	SYNTAX      Counter32
           	MAX-ACCESS      read-only
           	STATUS      current
           	DESCRIPTION
            "This is the number of times the spanning tree has been reconfigured."
           	::= { zyxelMstpInfoInstanceEntry 6 }  
           	
-- MSTP Information Instatnce Port Table
       		zyxelMstpInfoInstancePortTable    OBJECT-TYPE
           	SYNTAX  SEQUENCE OF ZyxelMstpInfoInstancePortEntry
           	MAX-ACCESS  not-accessible
           	STATUS  current
           	DESCRIPTION
           	"The table contains MSTP instance port information."
           	::= { zyxelMstpStatus 5 }
       
       		zyxelMstpInfoInstancePortEntry    OBJECT-TYPE
           	SYNTAX  ZyxelMstpInfoInstancePortEntry
           	MAX-ACCESS  not-accessible
           	STATUS  current
           	DESCRIPTION
            "An entry contains MSTP instance port information."
           	INDEX  { zyMstpInfoInstancePortInstanceId, dot1dBasePort }
           	::= { zyxelMstpInfoInstancePortTable 1 }
        
        	ZyxelMstpInfoInstancePortEntry ::=
        	SEQUENCE {
         		zyMstpInfoInstancePortInstanceId   		MstiOrCistInstanceIndex,
          		zyMstpInfoInstancePortPathCost          INTEGER,   
          		zyMstpInfoInstancePortState				INTEGER,
          		zyMstpInfoInstancePortDesignatedRoot    BridgeId,
          		zyMstpInfoInstancePortDesignatedCost    Integer32,
          		zyMstpInfoInstancePortDesignatedBridge  BridgeId,
          		zyMstpInfoInstancePortDesignatedPort    INTEGER
        	}
        
        	zyMstpInfoInstancePortInstanceId     OBJECT-TYPE
            SYNTAX      MstiOrCistInstanceIndex
            MAX-ACCESS      not-accessible
            STATUS      current
            DESCRIPTION
              "The number you want to use to identify this MST instance on the switch. 0 means CIST."
            ::= { zyxelMstpInfoInstancePortEntry 1 }
        
         	zyMstpInfoInstancePortPathCost              OBJECT-TYPE 
            SYNTAX      INTEGER (0..200000000)
            MAX-ACCESS      read-only
            STATUS      current
            DESCRIPTION
            "The cost of transmitting a frame on to a LAN through that port."
            ::= { zyxelMstpInfoInstancePortEntry 2 }

        	zyMstpInfoInstancePortState                 OBJECT-TYPE 
            SYNTAX      INTEGER {
               disabled(0),
               discarding(1),
               learning(2),
               forwarding(3),
               unknown(4)
             }
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
             "STP assigns five port states to eliminate packet looping. A bridge port 
              is not allowed to go directly from blocking state to forwarding state so 
              as to eliminate transient loops."
             ::= { zyxelMstpInfoInstancePortEntry 3 }
         
         	 zyMstpInfoInstancePortDesignatedRoot        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."
             ::= { zyxelMstpInfoInstancePortEntry 4 }
         
         	 zyMstpInfoInstancePortDesignatedCost        OBJECT-TYPE
             SYNTAX      Integer32
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
             "The path cost of the Designated Port is connected to this port.  This value is compared to the Root 
             Path Cost field in received bridge PDUs."
             ::= { zyxelMstpInfoInstancePortEntry 5 }
         
         	 zyMstpInfoInstancePortDesignatedBridge      OBJECT-TYPE
             SYNTAX      BridgeId
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
             "The Bridge Identifier of the bridge that this port considers to be the Designated Bridge for this port's segment."
             ::= { zyxelMstpInfoInstancePortEntry 6 }
        
             zyMstpInfoInstancePortDesignatedPort      OBJECT-TYPE
             SYNTAX      INTEGER
             MAX-ACCESS      read-only
             STATUS      current
             DESCRIPTION
             "The Port Identifier of the port on the Designated Bridge for this port's segment."
             ::= { zyxelMstpInfoInstancePortEntry 7 }  
         
          --		MSTP Traps              
	
	    	zyMstpNewRoot NOTIFICATION-TYPE
         	OBJECTS {
                	zyMstpInstanceId
         	}
         	STATUS  current
         	DESCRIPTION
         	"The newRoot trap indicates that the sending agent has become the new root of the Spanning Tree; 
         	the trap is sent by a bridge soon after its election as the new root, e.g., upon expiration of the 
         	Topology Change Timer, immediately subsequent to its election.  Implementation of this trap is optional."
         	::= { zyxelMstpNotifications 1 }
      
         	zyMstpTopologyChange NOTIFICATION-TYPE
         	OBJECTS {
               	 zyMstpInstanceId
         	}
         	STATUS  current
         	DESCRIPTION
          	"A topologyChange is sent if the topology changed of MSTP has detected."
         	::= { zyxelMstpNotifications 2 } 
         
         
         
END
