-- 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-LOOPGUARD-MIB.mib
-- Revision 1.4  2013/12/06 

ZYXEL-LOOPGUARD-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

    NOTIFICATION-TYPE
        FROM SNMPv2-SMI
        
	esMgmt			
		FROM ZYXEL-ES-SMI;

	zyxelLoopGuard MODULE-IDENTITY
		LAST-UPDATED	"201207010000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for loop guard"
		::= { esMgmt 45 }	

	zyxelLoopGuardSetup	     		OBJECT IDENTIFIER ::= { zyxelLoopGuard 1 }
	zyxelLoopGuardNotifications	    OBJECT IDENTIFIER ::= { zyxelLoopGuard 2 }
                    
        
        zyLoopGuardState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Enable/Disable loop guard on the switch. 
			 Loop guard allows you to configure the switch to shut down a port if it detects that packets 
			 sent out on that port loop back to the switch. Loop guard is designed to handle loop problems 
			 on the edge of your network. This can occur when a port is connected to a switch that is in a 
			 loop state. Loop state occurs as a result of human error. For example, it happens when two ports 
			 on a switch are connected with the same cable. When a switch in loop state sends out broadcast 
			 messages the messages loop back to the switch and are re-broadcast again and again causing a 
			 broadcast storm."
        ::= { zyxelLoopGuardSetup 1 }
                                               
-- 		zyxelLoopGuardPortTable

		zyxelLoopGuardPortTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF ZyxelLoopGuardPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        	"The table contains loop guard port configuration."
        ::= { zyxelLoopGuardSetup 2 }
        
		zyxelLoopGuardPortEntry OBJECT-TYPE
        SYNTAX	ZyxelLoopGuardPortEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION
           	"An entry contains loop guard port configuration."
        INDEX          	{ dot1dBasePort }
        ::= { zyxelLoopGuardPortTable 1 }

		ZyxelLoopGuardPortEntry ::=
		SEQUENCE {
			zyLoopGuardPortState	EnabledStatus
		}

        zyLoopGuardPortState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        	"Enable/Disable loop guard on the port."
        ::= { zyxelLoopGuardPortEntry 1 }  
        
	   zyLoopGuardLoopDetect NOTIFICATION-TYPE
       OBJECTS {
				ifIndex
         }       
	   STATUS  current
       DESCRIPTION
               "Loop guard shuts down the port for loop is detected."
       ::= { zyxelLoopGuardNotifications 1 }
        

END
