-- 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-STP-MIB.mib
-- Revision 1.10  2015/04/02 

ZYXEL-STP-MIB DEFINITIONS ::= BEGIN

    IMPORTS
	OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	
		
	MODULE-IDENTITY
		FROM SNMPv2-SMI
	
	EnabledStatus
		FROM  P-BRIDGE-MIB
     
    dot1dBasePort
       	FROM BRIDGE-MIB 
	
	ifIndex
    	FROM IF-MIB					-- RFC2863
		
	zyMstpInstanceId
		FROM ZYXEL-MSTP-MIB
     
	esMgmt			
		FROM ZYXEL-ES-SMI;

	zyxelStp MODULE-IDENTITY
		LAST-UPDATED	"201207010000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for Spanning Tree Protocol (STP)"
		::= { esMgmt 79 }

	zyxelStpSetup     			OBJECT IDENTIFIER ::= { zyxelStp 1 }
	zyxelStpStatus				OBJECT IDENTIFIER ::= { zyxelStp 2 }
	zyxelStpNotifications       OBJECT IDENTIFIER ::= { zyxelStp 3 }
  
-- *******************************************************************
-- *
-- * zyxelStpSetup
-- *
-- *******************************************************************

-- zyxelStpMode
		zyStpMode OBJECT-TYPE
        SYNTAX  INTEGER{
			rstp(1),
			mrstp(2),
			mstp (3)
		}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                    "Activate one of the spanning tree protocol modes on the Switch. "
        ::= { zyxelStpSetup 1 }
		
-- zyxelStpRstpState
		zyStpRstpState	OBJECT-TYPE
		SYNTAX			EnabledStatus
        MAX-ACCESS  		read-write
        STATUS  		current
        DESCRIPTION
                    "Enable/Disable rapid spanning tree protocol. 
					You must also activate rapid spanning tree protocol mode on the switch."
        ::= { zyxelStpSetup 2}	
                                  
-- zyxelStpRootGuardRstpTable
		zyxelStpRootGuardRstpTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF	ZyxelStpRootGuardRstpPortEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
                 	"A table cantains RSTP Root Guard configuration."
		::= { zyxelStpSetup 3 }		                                  
				                              
-- zyxelStpRootGuardRstpPortEntry		
		zyxelStpRootGuardRstpPortEntry	OBJECT-TYPE                           
		SYNTAX	ZyxelStpRootGuardRstpPortEntry                           
		MAX-ACCESS	not-accessible                           
		STATUS	current
        DESCRIPTION    	
					"A entry cantains RSTP Root Guard port configuration."	
		INDEX          	{ dot1dBasePort }						
		::= { zyxelStpRootGuardRstpTable 1 }			               
		
		ZyxelStpRootGuardRstpPortEntry ::=
           SEQUENCE {
        	zyStpRootGuardRstpState		EnabledStatus
           }  
           
-- zyStpRootGuardRstpState           
        zyStpRootGuardRstpState	OBJECT-TYPE	
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Enabled/Disabled RSTP Root Guard on the indicated port."
        ::= { zyxelStpRootGuardRstpPortEntry 1 }


-- zyxelStpRootGuardMrstpTable
		zyxelStpRootGuardMrstpTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF	ZyxelStpRootGuardMrstpPortEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
                 	"A table cantains MRSTP Root Guard configuration."
		::= { zyxelStpSetup 4 }		                                  
				                              
-- zyxelStpRootGuardMrstpPortEntry		
		zyxelStpRootGuardMrstpPortEntry	OBJECT-TYPE                           
		SYNTAX	ZyxelStpRootGuardMrstpPortEntry                           
		MAX-ACCESS	not-accessible                           
		STATUS	current
        DESCRIPTION    	
					"A entry cantains MRSTP Root Guard port configuration."	
		INDEX          	{ dot1dBasePort }						
		::= { zyxelStpRootGuardMrstpTable 1 }			               
		
		ZyxelStpRootGuardMrstpPortEntry ::=
           SEQUENCE {
        	zyStpRootGuardMrstpState		EnabledStatus
           }  
           
-- zyStpRootGuardMrstpState           
        zyStpRootGuardMrstpState	OBJECT-TYPE	
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Enabled/Disabled MRSTP Root Guard on the indicated port."
        ::= { zyxelStpRootGuardMrstpPortEntry 1 }
               
               
-- zyxelStpRootGuardMstpTable
		zyxelStpRootGuardMstpTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF	ZyxelStpRootGuardMstpPortEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
                 	"A table cantains MSTP Root Guard configuration."
		::= { zyxelStpSetup 5 }		                                  
				                              
-- zyxelStpRootGuardMstpPortEntry		
		zyxelStpRootGuardMstpPortEntry	OBJECT-TYPE                           
		SYNTAX	ZyxelStpRootGuardMstpPortEntry                           
		MAX-ACCESS	not-accessible                           
		STATUS	current
        DESCRIPTION    	
					"A entry cantains MSTP Root Guard port configuration."	
		INDEX          	{ dot1dBasePort }						
		::= { zyxelStpRootGuardMstpTable 1 }			               
		
		ZyxelStpRootGuardMstpPortEntry ::=
           SEQUENCE {
        	zyStpRootGuardMstpState		EnabledStatus
           }  
           
-- zyStpRootGuardMstpState           
        zyStpRootGuardMstpState	OBJECT-TYPE	
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Enabled/Disabled MSTP Root Guard on the indicated port."
        ::= { zyxelStpRootGuardMstpPortEntry 1 }         
                                          

-- zyxelStpAutoPathcostSetup
		zyxelStpAutoPathcostSetup	OBJECT IDENTIFIER ::= { zyxelStpSetup 6 }
		
-- zyStpAutoPathcostMode        
        zyStpAutoPathcostMode	OBJECT-TYPE	
        SYNTAX  INTEGER{
			short(1),
			long(2),
			user-defined (3)
		}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                    "Activate one of the path cost modes on the Switch. "
        ::= { zyxelStpAutoPathcostSetup 1 }
		
-- zyStpAutoPathcostUserValuesSpeed10M
		zyStpAutoPathcostUserValuesSpeed10M		OBJECT-TYPE	
		SYNTAX      Integer32 (1..200000000)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"user-defined values of path cost on link speed <=10Mbps"
		::= { zyxelStpAutoPathcostSetup 10 }

-- zyStpAutoPathcostUserValuesSpeed10M
		zyStpAutoPathcostUserValuesSpeed100M		OBJECT-TYPE	
		SYNTAX      Integer32 (1..200000000)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"user-defined values of path cost on link speed <=100Mbps"
		::= { zyxelStpAutoPathcostSetup 20 }

-- zyStpAutoPathcostUserValuesSpeed1G
		zyStpAutoPathcostUserValuesSpeed1G		OBJECT-TYPE	
		SYNTAX      Integer32 (1..200000000)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"user-defined values of path cost on link speed <=1Gbps"
		::= { zyxelStpAutoPathcostSetup 30 }

-- zyStpAutoPathcostUserValuesSpeed2P5G
		zyStpAutoPathcostUserValuesSpeed2P5G	OBJECT-TYPE	
		SYNTAX      Integer32 (1..200000000)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"user-defined values of path cost on link speed <=2.5Gbps"
		::= { zyxelStpAutoPathcostSetup 40 }

-- zyStpAutoPathcostUserValuesSpeed5G
		zyStpAutoPathcostUserValuesSpeed5G		OBJECT-TYPE	
		SYNTAX      Integer32 (1..200000000)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"user-defined values of path cost on link speed <=5Gbps"
		::= { zyxelStpAutoPathcostSetup 50 }
		
-- zyStpAutoPathcostUserValuesSpeed10G
		zyStpAutoPathcostUserValuesSpeed10G		OBJECT-TYPE	
		SYNTAX      Integer32 (1..200000000)
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"user-defined values of path cost on link speed <5Gbps "
		::= { zyxelStpAutoPathcostSetup 60 }

--****************************************************************
-- 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)         
-- *******************************************************************
-- *                                                                                                                                                                                                          
-- * zyxelStpStatus
-- *
-- *******************************************************************
		zyxelStpRootGuardTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF	ZyxelStpRootGuardEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
                 	"A table cantains Root Guard status."    
        ::= { zyxelStpStatus 1 } 
                	
		
		zyxelStpRootGuardEntry	OBJECT-TYPE
		SYNTAX	ZyxelStpRootGuardEntry                           
		MAX-ACCESS	not-accessible                           
		STATUS	current
        DESCRIPTION    	
					"A entry cantains Root Guard status."
		INDEX	{ zyStpRootGuardInstance, dot1dBasePort }
		::= { zyxelStpRootGuardTable 1 }
		
		ZyxelStpRootGuardEntry ::=
        	SEQUENCE {
       			zyStpRootGuardInstance   		MstiOrCistInstanceIndex,
       			zyStpRootGuardStatus			INTEGER 		
          	}  
          	
        zyStpRootGuardInstance	OBJECT-TYPE	  	
        SYNTAX	MstiOrCistInstanceIndex      			        
     	MAX-ACCESS      not-accessible
        STATUS      	current
        DESCRIPTION
        ""    
        ::= { zyxelStpRootGuardEntry 1 }  	
         	
        zyStpRootGuardStatus	OBJECT-TYPE	  	
        SYNTAX      INTEGER {
           forwarding(0),
           rootInconsistent(1)
        }			        
     	MAX-ACCESS      read-only
        STATUS      	current
        DESCRIPTION
        ""    
        ::= { zyxelStpRootGuardEntry 2 }
        
-- *******************************************************************
-- *                                                                                                                                                                                                          
-- * zyxelStpNotifications
-- *
-- *******************************************************************
-- zyStpRootGuardDetect
   		zyStpRootGuardDetect NOTIFICATION-TYPE
   		OBJECTS {
               		zyStpMode, 		
                	zyMstpInstanceId,
                	ifIndex  
        }	
        STATUS  current
        DESCRIPTION
               ""     
        ::= { zyxelStpNotifications 1} 

-- zyStpRootGuardRecovered 
		zyStpRootGuardRecovered NOTIFICATION-TYPE   
        OBJECTS {
               		zyStpMode, 		
                	zyMstpInstanceId,
                	ifIndex  
        }	
        STATUS  current
        DESCRIPTION
               ""     
        ::= { zyxelStpNotifications 2}
        
END        