-- 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-IGMP-SNOOPING-MIB.mib
-- Revision 1.7  2013/12/06 

ZYXEL-IGMP-SNOOPING-MIB DEFINITIONS ::= BEGIN

    IMPORTS
	OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	
		
	MODULE-IDENTITY
		FROM SNMPv2-SMI
	
	RowStatus
		FROM SNMPv2-TC			-- RFC2579
		
	DisplayString                                          
	  	FROM SNMPv2-TC
	  	
	EnabledStatus
		FROM  P-BRIDGE-MIB
		
	PortList
		FROM  Q-BRIDGE-MIB
	
	dot1dBasePort
		FROM BRIDGE-MIB		
	
	IpAddress
		FROM SNMPv2-SMI
		

	esMgmt			
		FROM ZYXEL-ES-SMI;
		

	zyxelIgmpSnooping MODULE-IDENTITY
		LAST-UPDATED	"201207010000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for Internet Group Management Protocol (IGMP) snooping"
		::= { esMgmt 31 }
	
	zyxelIgmpSnoopingSetup	OBJECT IDENTIFIER ::= { zyxelIgmpSnooping 1 }
	zyxelIgmpSnoopingStatus	OBJECT IDENTIFIER ::= { zyxelIgmpSnooping 2 }
--
--
--  31.IgmpSnooping
--
--
--	1. zyxelIgmpSnoopingSetup
       
        zyIgmpSnoopingState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "Enable/Disable IGMP snooping to forward group multicast traffic only to ports that are members of that group."
        ::= { zyxelIgmpSnoopingSetup 1 }  

        zyIgmpSnoopingGroupHostTimeout OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "Specify the time in seconds that elapses before the switch removes an IGMP group membership entry 
		 if it does not receive report messages from the port."
        ::= { zyxelIgmpSnoopingSetup 2 }
  
        zyIgmpSnooping8021pPriority OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "Set the 802.1p priority of control messages for IGMP snooping (0~8, 8-No Change)."
        ::= { zyxelIgmpSnoopingSetup 3 }    
          
        zyIgmpSnoopingVlanMode OBJECT-TYPE
        SYNTAX  INTEGER{
            auto(1),
            fixed(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "Select auto to have the switch learn multicast group membership information of 
		 any VLANs automatically. Select fixed to have the switch only learn multicast 
		 group membership information of the VLAN(s) that you specify below."
        ::= { zyxelIgmpSnoopingSetup 4 }
                                            
        zyIgmpSnoopingMaxNumberOfVlans OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The maximum number of IGMP snooping VLAN that can be created."
        ::= { zyxelIgmpSnoopingSetup 5 }
                                       
-- 		zyxelIgmpSnoopingVlanTable

		zyxelIgmpSnoopingVlanTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF ZyxelIgmpSnoopingVlanEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The table contains IGMP snooping VLAN configuration."
        ::= { zyxelIgmpSnoopingSetup 6 }
        
		zyxelIgmpSnoopingVlanEntry OBJECT-TYPE
        SYNTAX	ZyxelIgmpSnoopingVlanEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains IGMP snooping VLAN configuration."
        INDEX          	{ zyIgmpSnoopingVlanVid }
        ::= { zyxelIgmpSnoopingVlanTable 1 }

        ZyxelIgmpSnoopingVlanEntry ::=
           SEQUENCE {
			zyIgmpSnoopingVlanVid		INTEGER,
        	zyIgmpSnoopingVlanName		DisplayString,        	
        	zyIgmpSnoopingVlanRowStatus RowStatus
           }
           
        zyIgmpSnoopingVlanVid OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "VLAN ID which the switch is to perform IGMP snooping."
        ::= { zyxelIgmpSnoopingVlanEntry 1 }        

     	zyIgmpSnoopingVlanName OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "The descriptive name of the VLAN for identification purposes."
        ::= { zyxelIgmpSnoopingVlanEntry 2 }
                 
        zyIgmpSnoopingVlanRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
        "This object allows entries to be created and deleted from the IGMP snooping VLAN table."
        ::= {  zyxelIgmpSnoopingVlanEntry 3 } 
   
        zyIgmpSnoopingQuerierModeState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "The mode which the switch forwards IGMP joins or leave packets to an IGMP query port."
        ::= { zyxelIgmpSnoopingSetup 7 }  

        zyIgmpSnoopingReportProxyState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "Enable/Disable IGMP Snooping report-proxy mode."
        ::= { zyxelIgmpSnoopingSetup 8 } 
 
 -- 	zyxelIgmpSnoopingPortTable

		zyxelIgmpSnoopingPortTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF ZyxelIgmpSnoopingPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The table contains IGMP snooping port configuration."
        ::= { zyxelIgmpSnoopingSetup 9 }
        
		zyxelIgmpSnoopingPortEntry OBJECT-TYPE
        SYNTAX	ZyxelIgmpSnoopingPortEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains IGMP snooping port configuration."
        INDEX          	{ dot1dBasePort }
        ::= { zyxelIgmpSnoopingPortTable 1 }  
               
        ZyxelIgmpSnoopingPortEntry ::=
		SEQUENCE {
        	zyIgmpSnoopingPortMaxGroupLimitedState	EnabledStatus,
        	zyIgmpSnoopingPortMaxOfGroups			INTEGER,
           	zyIgmpSnoopingPortQuerierMode			INTEGER, 
           	zyIgmpSnoopingPortThrottlingAction  	INTEGER,
        	zyIgmpSnoopingPortLeaveMode   			INTEGER,
        	zyIgmpSnoopingPortLeaveTimeout  		INTEGER,
        	zyIgmpSnoopingPortFastLeaveTimeout  	INTEGER			
        }     

        zyIgmpSnoopingPortMaxGroupLimitedState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "Limit the number of multicast groups this port is allowed to join."
        ::= { zyxelIgmpSnoopingPortEntry 1 }

        zyIgmpSnoopingPortMaxOfGroups OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "The number of multicast groups this port is allowed to join. Once a port is registered 
		 in the specified number of multicast groups, any new IGMP join report frame(s) is dropped on this port."
        ::= { zyxelIgmpSnoopingPortEntry 2 }
                
        zyIgmpSnoopingPortQuerierMode OBJECT-TYPE
        SYNTAX  INTEGER {
           	auto(1),
        	fixed(2),
        	edge(3)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "The mode which the switch forwards IGMP join or leave packets to an IGMP query port."
        ::= { zyxelIgmpSnoopingPortEntry 3 }
  
        zyIgmpSnoopingPortThrottlingAction OBJECT-TYPE
        SYNTAX  INTEGER {
         	deny(1),
         	replace(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "Specify how the switch deals with the IGMP reports when the maximum number of the 
		 IGMP groups a port can join is reached."
        ::= { zyxelIgmpSnoopingPortEntry 4 } 
        
        zyIgmpSnoopingPortLeaveMode OBJECT-TYPE
        SYNTAX  INTEGER {
           	normal(0),
        	immediate(1),
        	fast(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "The mode which the switch remove this port from the multicast tree when an IGMP 
		 leave message is received on this port."
        ::= { zyxelIgmpSnoopingPortEntry 5 }
        
        zyIgmpSnoopingPortLeaveTimeout  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "The timeout value in milli-seconds.the switch use this timeout to update the 
		 forwarding table for the port. (200..6348800)"
        ::= { zyxelIgmpSnoopingPortEntry 6 }
        
        zyIgmpSnoopingPortFastLeaveTimeout  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "IGMP fast leave timeout value in mill-seconds. The switch uses this timeout to 
		 update the forwarding table for the port. (200..6348800)"
        ::= { zyxelIgmpSnoopingPortEntry 7 }     

--  zyIgmpSnoopingQuerierVersion		
      zyIgmpSnoopingQuerierVersion OBJECT-TYPE
        SYNTAX  INTEGER {        	
        	igmpV2(2),
        	igmpV3(3)
        }     
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "IGMP version which controls the format and the multicasting method of the 
		IGMP querier packets that the switch sends."
        ::= { zyxelIgmpSnoopingSetup 11 }        

--  zyIgmpSnoopingSmartForward		
      zyIgmpSnoopingSmartForward OBJECT-TYPE
		SYNTAX  EnabledStatus   
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "Specify the action to perform whether the querier port forward known multicast frame. 
		multicast frames are addressed to multicast groups for which the Switch has recorded group members.
		Select enable(1) to send the frame(s) to all querier ports of the same domain 
		Select disable(2) to send the frame(s) to the port which received igmp join report."
        ::= { zyxelIgmpSnoopingSetup 12 }        		
		
--  zyxelIgmpSnoopingRecordTable
        
       zyxelIgmpSnoopingRecordTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelIgmpSnoopingRecordEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The table contains IGMP snooping record information."
        ::= { zyxelIgmpSnoopingStatus 1 }    
              
		zyxelIgmpSnoopingRecordEntry OBJECT-TYPE
        SYNTAX	ZyxelIgmpSnoopingRecordEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains IGMP snooping record information."
        INDEX          	{ zyIgmpSnoopingRecordVid, zyIgmpSnoopingRecordPort, zyIgmpSnoopingRecordGroup }
        ::= { zyxelIgmpSnoopingRecordTable 1 }

        ZyxelIgmpSnoopingRecordEntry ::=
		SEQUENCE {
        	zyIgmpSnoopingRecordIndex   INTEGER,
        	zyIgmpSnoopingRecordVid		INTEGER,
        	zyIgmpSnoopingRecordPort	INTEGER,
        	zyIgmpSnoopingRecordGroup	IpAddress,
        	zyIgmpSnoopingRecordTimeout INTEGER,
        	zyIgmpSnoopingRecordUpTime 	INTEGER
         }

        zyIgmpSnoopingRecordIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The index number of the multicast group."
        ::= { zyxelIgmpSnoopingRecordEntry 1 }

        zyIgmpSnoopingRecordVid OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The multicast VLAN ID."
        ::= { zyxelIgmpSnoopingRecordEntry 2 }

        zyIgmpSnoopingRecordPort OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The port number that belongs to the multicast group."
        ::= { zyxelIgmpSnoopingRecordEntry 3 }

        zyIgmpSnoopingRecordGroup OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "IP multicast group address."
        ::= { zyxelIgmpSnoopingRecordEntry 4 }     
        
        zyIgmpSnoopingRecordTimeout OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The timeout of the multicast group."
        ::= { zyxelIgmpSnoopingRecordEntry 5 }

        zyIgmpSnoopingRecordUpTime OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The time of the multicast group has been up."
        ::= { zyxelIgmpSnoopingRecordEntry 6 }
        
-- 		zyxelIgmpSnoopingInfoVlanTable	

        zyxelIgmpSnoopingInfoVlanTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelIgmpSnoopingInfoVlanEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The table contains IGMP snooping VLAN information."
        ::= { zyxelIgmpSnoopingStatus 2 }

		zyxelIgmpSnoopingInfoVlanEntry OBJECT-TYPE
        SYNTAX	ZyxelIgmpSnoopingInfoVlanEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains IGMP snooping VLAN information."
        INDEX          	{ zyIgmpSnoopingInfoVlanVid }
        ::= { zyxelIgmpSnoopingInfoVlanTable 1 }

        ZyxelIgmpSnoopingInfoVlanEntry ::=
		SEQUENCE {
        	zyIgmpSnoopingInfoVlanVid   		INTEGER,
        	zyIgmpSnoopingInfoVlanType			INTEGER,
        	zyIgmpSnoopingInfoVlanQueryPorts	PortList   	
         }

        zyIgmpSnoopingInfoVlanVid OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The multicast VLAN ID."
        ::= { zyxelIgmpSnoopingInfoVlanEntry 1 }

        zyIgmpSnoopingInfoVlanType OBJECT-TYPE
        SYNTAX  INTEGER {
   			dynamic(1),
 			mvr (2),
			static(3)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The type of multicast."
        ::= { zyxelIgmpSnoopingInfoVlanEntry 2 }
	
        zyIgmpSnoopingInfoVlanQueryPorts OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The query port of multicast."
        ::= { zyxelIgmpSnoopingInfoVlanEntry 3 }          
        
-- 	zyxelIgmpSnoopingCountTable
		
       	zyxelIgmpSnoopingCountTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelIgmpSnoopingCountEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The table contains IGMP snooping count information."
        ::= { zyxelIgmpSnoopingStatus 3 }    
                        
		zyxelIgmpSnoopingCountEntry OBJECT-TYPE
        SYNTAX	ZyxelIgmpSnoopingCountEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains IGMP snooping count information."
        INDEX          	{ zyIgmpSnoopingCountIndex }
        ::= { zyxelIgmpSnoopingCountTable 1 }

        ZyxelIgmpSnoopingCountEntry ::=
		SEQUENCE {
			zyIgmpSnoopingCountIndex    		INTEGER,
        	zyIgmpSnoopingCountV2QueryRx		INTEGER,
        	zyIgmpSnoopingCountV2ReportRx		INTEGER,
        	zyIgmpSnoopingCountV2LeaveRx		INTEGER,        	
        	zyIgmpSnoopingCountV2QueryRxDrop 	INTEGER,
        	zyIgmpSnoopingCountV2ReportRxDrop	INTEGER,
        	zyIgmpSnoopingCountV2LeaveRxDrop  	INTEGER,
        	zyIgmpSnoopingCountV2QueryTx   		INTEGER,
        	zyIgmpSnoopingCountV2ReportTx   	INTEGER,
        	zyIgmpSnoopingCountV2LeaveTx   		INTEGER,
        	zyIgmpSnoopingCountV3QueryRx		INTEGER,
        	zyIgmpSnoopingCountV3ReportRx		INTEGER,
        	zyIgmpSnoopingCountV3QueryRxDrop	INTEGER,
        	zyIgmpSnoopingCountV3ReportRxDrop	INTEGER,
        	zyIgmpSnoopingCountV3QueryTx		INTEGER,
        	zyIgmpSnoopingCountV3ReportTx		INTEGER
        }

        zyIgmpSnoopingCountIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "Index of IgmpSnoopingCountEntry. Value 0 means total count in whole system."
        ::= { zyxelIgmpSnoopingCountEntry 1 } 

--		zyxelIgmpSnoopingCountV2System
        zyIgmpSnoopingCountV2QueryRx OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The counter which the switch receive query packets of IGMP snooping version 2."
        ::= { zyxelIgmpSnoopingCountEntry 2 }

        zyIgmpSnoopingCountV2ReportRx OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The counter which the switch receive report packets of IGMP snooping version 2."
        ::= { zyxelIgmpSnoopingCountEntry 3 }

        zyIgmpSnoopingCountV2LeaveRx OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The counter which the switch receive leave packets of IGMP snooping version 2."
        ::= { zyxelIgmpSnoopingCountEntry 4 }
        
        zyIgmpSnoopingCountV2QueryRxDrop OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The counter which the switch drop query packets of IGMP snooping version 2."
        ::= { zyxelIgmpSnoopingCountEntry 5 }
        
        zyIgmpSnoopingCountV2ReportRxDrop OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The counter which the switch drop report packets of IGMP snooping version 2."
        ::= { zyxelIgmpSnoopingCountEntry 6 }                              
        
        zyIgmpSnoopingCountV2LeaveRxDrop OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The counter which the switch drop leave packets of IGMP snooping version 2."
        ::= { zyxelIgmpSnoopingCountEntry 7 }

        zyIgmpSnoopingCountV2QueryTx OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The counter which the switch sends query packets of IGMP snooping version 2."
        ::= { zyxelIgmpSnoopingCountEntry 8 }
        
        zyIgmpSnoopingCountV2ReportTx OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The counter which the switch sends report packets of IGMP snooping version 2."
        ::= { zyxelIgmpSnoopingCountEntry 9 }

        zyIgmpSnoopingCountV2LeaveTx OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The counter which the switch sends leave packets of IGMP snooping version 2."
        ::= { zyxelIgmpSnoopingCountEntry 10 }
  -- 	zyxelIgmpSnoopingCountV3System    
  		zyIgmpSnoopingCountV3QueryRx OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The counter which the switch receive query packets of IGMP snooping version 3."
        ::= { zyxelIgmpSnoopingCountEntry 11 }

        zyIgmpSnoopingCountV3ReportRx OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The counter which the switch receive report packets of IGMP snooping version 3."
        ::= { zyxelIgmpSnoopingCountEntry 12 }

            
        zyIgmpSnoopingCountV3QueryRxDrop OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The counter which the switch drop query packets of IGMP snooping version 3."
        ::= { zyxelIgmpSnoopingCountEntry 13 }
        
        zyIgmpSnoopingCountV3ReportRxDrop OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The counter which the switch drop report packets of IGMP snooping version 3."
        ::= { zyxelIgmpSnoopingCountEntry 14 }                              
        
    
        zyIgmpSnoopingCountV3QueryTx OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The counter which the switch sends query packets of IGMP snooping version 3."
        ::= { zyxelIgmpSnoopingCountEntry 15 }
        
        zyIgmpSnoopingCountV3ReportTx OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The counter which the switch sends report packets of IGMP snooping version 3."
        ::= { zyxelIgmpSnoopingCountEntry 16 }
            
--    zyxelIgmpSnoopingCountVlanTable
	    zyxelIgmpSnoopingCountVlanTable OBJECT-TYPE
 	    SYNTAX SEQUENCE OF ZyxelIgmpSnoopingCountVlanEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION	
		"The table contains IGMP snooping count VLAN information."

	   ::= { zyxelIgmpSnoopingStatus 4}  
	   
	    zyxelIgmpSnoopingCountVlanEntry OBJECT-TYPE
        SYNTAX	ZyxelIgmpSnoopingCountVlanEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains IGMP snooping count VLAN information."
        INDEX          	{ zyIgmpSnoopingCountVlanVid }
        ::= { zyxelIgmpSnoopingCountVlanTable 1 }

        ZyxelIgmpSnoopingCountVlanEntry ::=
		SEQUENCE {
        	zyIgmpSnoopingCountVlanVid    			INTEGER,
        	zyIgmpSnoopingCountVlanV2QueryRx		INTEGER,
        	zyIgmpSnoopingCountVlanV2ReportRx 		INTEGER,
        	zyIgmpSnoopingCountVlanV2LeaveRx 		INTEGER,
        	zyIgmpSnoopingCountVlanV2QueryRxDrop 	INTEGER,
        	zyIgmpSnoopingCountVlanV2ReportRxDrop 	INTEGER,
        	zyIgmpSnoopingCountVlanV2LeaveRxDrop 	INTEGER,
        	zyIgmpSnoopingCountVlanV2QueryTx 		INTEGER,
        	zyIgmpSnoopingCountVlanV2ReportTx 		INTEGER,
        	zyIgmpSnoopingCountVlanV2LeaveTx 		INTEGER,
        	zyIgmpSnoopingCountVlanV3QueryRx		INTEGER,
        	zyIgmpSnoopingCountVlanV3ReportRx 		INTEGER,
        	zyIgmpSnoopingCountVlanV3QueryRxDrop 	INTEGER,
        	zyIgmpSnoopingCountVlanV3ReportRxDrop 	INTEGER,
        	zyIgmpSnoopingCountVlanV3QueryTx 		INTEGER,
        	zyIgmpSnoopingCountVlanV3ReportTx 		INTEGER      	        	
       }
	   
	   zyIgmpSnoopingCountVlanVid OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	not-accessible
	   STATUS	current
	   DESCRIPTION    
	   "The multicast VLAN ID you want to show."
	   ::={ zyxelIgmpSnoopingCountVlanEntry 1}
	   
	   zyIgmpSnoopingCountVlanV2QueryRx OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch receive query packets of IGMP snooping version 2."
	   ::={ zyxelIgmpSnoopingCountVlanEntry 2}
	   
	   zyIgmpSnoopingCountVlanV2ReportRx OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch receive report packets of IGMP snooping version 2."
	   ::={ zyxelIgmpSnoopingCountVlanEntry 3} 
	   
	   zyIgmpSnoopingCountVlanV2LeaveRx OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch receive leave packets of IGMP snooping version 2."
	   ::={ zyxelIgmpSnoopingCountVlanEntry 4}
	   
	   zyIgmpSnoopingCountVlanV2QueryRxDrop OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch drop query packets of IGMP snooping version 2."
	   ::={ zyxelIgmpSnoopingCountVlanEntry 5}
	   
	   zyIgmpSnoopingCountVlanV2ReportRxDrop OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch drop report packets of IGMP snooping version 2."
	   ::={ zyxelIgmpSnoopingCountVlanEntry 6}
	   
	   zyIgmpSnoopingCountVlanV2LeaveRxDrop OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch drop leave packets of IGMP snooping version 2."
	   ::={ zyxelIgmpSnoopingCountVlanEntry 7}
	   
	   zyIgmpSnoopingCountVlanV2QueryTx OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch sends query packets of IGMP snooping version 2."
	   ::={ zyxelIgmpSnoopingCountVlanEntry 8}
	   
	   zyIgmpSnoopingCountVlanV2ReportTx OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch sends report packets of IGMP snooping version 2."
	   ::={ zyxelIgmpSnoopingCountVlanEntry 9}
	   
	   zyIgmpSnoopingCountVlanV2LeaveTx OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch sends leave packets of IGMP snooping version 2."
	   ::={ zyxelIgmpSnoopingCountVlanEntry 10}
	  
-- 		zyxelIgmpSnoopingCountVlanV3   
	   zyIgmpSnoopingCountVlanV3QueryRx OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch receive query packets of IGMP snooping version 3."
	   ::={ zyxelIgmpSnoopingCountVlanEntry 11}
	   
	   zyIgmpSnoopingCountVlanV3ReportRx OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch receive report packets of IGMP snooping version 3."
	   ::={ zyxelIgmpSnoopingCountVlanEntry 12} 
	   
	   
	   zyIgmpSnoopingCountVlanV3QueryRxDrop OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch drop query packets of IGMP snooping version 3."
	   ::={ zyxelIgmpSnoopingCountVlanEntry 13}
	   
	   zyIgmpSnoopingCountVlanV3ReportRxDrop OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch drop report packets of IGMP snooping version 3."
	   ::={ zyxelIgmpSnoopingCountVlanEntry 14}
	     
	   zyIgmpSnoopingCountVlanV3QueryTx OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch sends query packets of IGMP snooping version 3."
	   ::={ zyxelIgmpSnoopingCountVlanEntry 15}
	   
	   zyIgmpSnoopingCountVlanV3ReportTx OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch sends report packets of IGMP snooping version 3."
	   ::={ zyxelIgmpSnoopingCountVlanEntry 16}
      
--	   zyxelIgmpSnoopingCountPortTable
		zyxelIgmpSnoopingCountPortTable OBJECT-TYPE
 	    SYNTAX SEQUENCE OF ZyxelIgmpSnoopingCountPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION	
		"The table contains IGMP snooping count port information."

	   ::= { zyxelIgmpSnoopingStatus 5}    
	   
	    zyxelIgmpSnoopingCountPortEntry OBJECT-TYPE
        SYNTAX	ZyxelIgmpSnoopingCountPortEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains IGMP snooping count port information."
        INDEX          	{ dot1dBasePort }
        ::= { zyxelIgmpSnoopingCountPortTable 1 }

        ZyxelIgmpSnoopingCountPortEntry ::=
		SEQUENCE {
               zyIgmpSnoopingCountPortV2QueryRx			INTEGER,
               zyIgmpSnoopingCountPortV2ReportRx 		INTEGER,
               zyIgmpSnoopingCountPortV2LeaveRx 		INTEGER,
               zyIgmpSnoopingCountPortV2ReportRxDrop 	INTEGER,
               zyIgmpSnoopingCountPortV2LeaveRxDrop 	INTEGER,
               zyIgmpSnoopingCountPortV2ReportTx 		INTEGER,
               zyIgmpSnoopingCountPortV2LeaveTx 		INTEGER,
               zyIgmpSnoopingCountPortV3QueryRx 		INTEGER,
               zyIgmpSnoopingCountPortV3ReportRx 		INTEGER,
               zyIgmpSnoopingCountPortV3ReportRxDrop 	INTEGER,
			   zyIgmpSnoopingCountPortV3ReportTx 		INTEGER
        }   
	   
	   zyIgmpSnoopingCountPortV2QueryRx  OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch receive query packets of IGMP snooping version 2."
	   ::={ zyxelIgmpSnoopingCountPortEntry 1} 
	   
	   zyIgmpSnoopingCountPortV2ReportRx  OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch receive report packets of IGMP snooping version 2."
	   ::={ zyxelIgmpSnoopingCountPortEntry 2}
	   
	   zyIgmpSnoopingCountPortV2LeaveRx  OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch receive leave packets of IGMP snooping version 2."
	   ::={ zyxelIgmpSnoopingCountPortEntry 3}
	   
	   zyIgmpSnoopingCountPortV2ReportRxDrop  OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch drop report packets of IGMP snooping version 2."
	   ::={ zyxelIgmpSnoopingCountPortEntry 4}
	   
	   zyIgmpSnoopingCountPortV2LeaveRxDrop  OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch drop leave packets of IGMP snooping version 2."
	   ::={ zyxelIgmpSnoopingCountPortEntry 5}
	   
	   zyIgmpSnoopingCountPortV2ReportTx  OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch sends report packets of IGMP snooping version 2."
	   ::={ zyxelIgmpSnoopingCountPortEntry 6}
	   
	   zyIgmpSnoopingCountPortV2LeaveTx  OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch sends leave packets of IGMP snooping version 2."
	   ::={ zyxelIgmpSnoopingCountPortEntry 7}
	   
       zyIgmpSnoopingCountPortV3QueryRx  OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch receive query packets of IGMP snooping version 3."
	   ::={ zyxelIgmpSnoopingCountPortEntry 8} 
	   
	   zyIgmpSnoopingCountPortV3ReportRx  OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch receive report packets of IGMP snooping version 3."
	   ::={ zyxelIgmpSnoopingCountPortEntry 9}

	   zyIgmpSnoopingCountPortV3ReportRxDrop  OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch drop report packets of IGMP snooping version 3."
	   ::={ zyxelIgmpSnoopingCountPortEntry 10}
	   
	   zyIgmpSnoopingCountPortV3ReportTx  OBJECT-TYPE
	   SYNTAX	INTEGER
	   MAX-ACCESS 	read-only
	   STATUS	current
	   DESCRIPTION    
	   "The counter which the switch sends report packets of IGMP snooping version 3."
	   ::={ zyxelIgmpSnoopingCountPortEntry 11}    
	   
 --		zyxelIgmpSnoopingGroupCountStatus                                
 		zyxelIgmpSnoopingGroupCountStatus OBJECT IDENTIFIER
        ::= { zyxelIgmpSnoopingStatus 6 }

        zyIgmpSnoopingGroupCountNumber OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION	
		"The total IGMP snooping group number on this switch."
        ::= { zyxelIgmpSnoopingGroupCountStatus 1 }
 

-- 		zyxelIgmpSnoopingGroupCountVlanTable
	    zyxelIgmpSnoopingGroupCountVlanTable OBJECT-TYPE 
	    SYNTAX SEQUENCE OF ZyxelIgmpSnoopingGroupCountVlanEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION	
		"The table contains IGMP snooping group count VLAN information."
	    ::= { zyxelIgmpSnoopingGroupCountStatus 2} 
	    
	    zyxelIgmpSnoopingGroupCountVlanEntry OBJECT-TYPE
        SYNTAX	ZyxelIgmpSnoopingGroupCountVlanEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains IGMP snooping group count VLAN information."
        INDEX          	{ zyIgmpSnoopingGroupCountVlanVid }
        ::= { zyxelIgmpSnoopingGroupCountVlanTable 1 }

        ZyxelIgmpSnoopingGroupCountVlanEntry ::=
		SEQUENCE {
        	zyIgmpSnoopingGroupCountVlanVid    INTEGER,
        	zyIgmpSnoopingGroupCountVlanNumber	INTEGER        	
         }
   
	    zyIgmpSnoopingGroupCountVlanVid OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS not-accessible
	    STATUS current
	    DESCRIPTION 
		"The multicast group VLAN ID." 
	    ::= {  zyxelIgmpSnoopingGroupCountVlanEntry 1}
	    
	    zyIgmpSnoopingGroupCountVlanNumber OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION 
		"The multicast group number." 
	    ::={  zyxelIgmpSnoopingGroupCountVlanEntry 2} 
          
-- 	 	zyxelIgmpSnoopingGroupCountPortTable
	    zyxelIgmpSnoopingGroupCountPortTable OBJECT-TYPE
	    SYNTAX SEQUENCE OF ZyxelIgmpSnoopingGroupCountPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION	
		"The table contains IGMP snooping group count port information."
	    ::= {zyxelIgmpSnoopingGroupCountStatus 3} 
	    
	    zyxelIgmpSnoopingGroupCountPortEntry OBJECT-TYPE
        SYNTAX	ZyxelIgmpSnoopingGroupCountPortEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains IGMP snooping group count port information."
        INDEX          	{ dot1dBasePort }
        ::= { zyxelIgmpSnoopingGroupCountPortTable 1 }

        ZyxelIgmpSnoopingGroupCountPortEntry ::=
		SEQUENCE {
               	zyIgmpSnoopingGroupCountPortNumber	INTEGER
        }
	    
	    zyIgmpSnoopingGroupCountPortNumber OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION 
		"The multicast group number." 
	    ::={  zyxelIgmpSnoopingGroupCountPortEntry 1}
            
--  zyxelIgmpSnoopingGroupStatus
 		zyxelIgmpSnoopingGroupStatus OBJECT IDENTIFIER
        ::= { zyxelIgmpSnoopingStatus 7 }

--  zyxelIgmpSnoopingGroupTable
	    zyxelIgmpSnoopingGroupTable OBJECT-TYPE 
	    SYNTAX SEQUENCE OF ZyxelIgmpSnoopingGroupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION	
		"The table contains IGMP snooping group information."
	    ::= { zyxelIgmpSnoopingGroupStatus 1} 
	    
	    zyxelIgmpSnoopingGroupEntry OBJECT-TYPE
        SYNTAX	ZyxelIgmpSnoopingGroupEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains IGMP snooping group information."
        INDEX     { zyIgmpSnoopingGroupVid, zyIgmpSnoopingGroupIpAddress }
        ::= { zyxelIgmpSnoopingGroupTable 1 }

        ZyxelIgmpSnoopingGroupEntry ::=
		SEQUENCE {
        	zyIgmpSnoopingGroupVid			INTEGER,
        	zyIgmpSnoopingGroupIpAddress	IpAddress,
        	zyIgmpSnoopingGroupPortCount  	INTEGER,
        	zyIgmpSnoopingGroupPorts		PortList      	
         }
         
	    zyIgmpSnoopingGroupVid OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS not-accessible
	    STATUS current
	    DESCRIPTION 
		"The IGMP snooping group VLAN for VLAN and group." 
	    ::= {  zyxelIgmpSnoopingGroupEntry 1}
	    
	    zyIgmpSnoopingGroupIpAddress OBJECT-TYPE
	    SYNTAX IpAddress
	    MAX-ACCESS not-accessible
	    STATUS current
	    DESCRIPTION 
		"The IGMP snooping group address for VLAN and group." 
	    ::={  zyxelIgmpSnoopingGroupEntry 2}   
	    
	    zyIgmpSnoopingGroupPortCount OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION 
		"The IGMP snooping group port count for VLAN and group." 
	    ::={  zyxelIgmpSnoopingGroupEntry 3}

	    zyIgmpSnoopingGroupPorts OBJECT-TYPE
	    SYNTAX PortList
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION "The IGMP snooping group port list for VLAN and group." 
	    ::={  zyxelIgmpSnoopingGroupEntry 4}
 
       
--	zyxelIgmpSnoopingClientTable 
	    zyxelIgmpSnoopingClientTable	OBJECT-TYPE	
	    SYNTAX	SEQUENCE OF ZyxelIgmpSnoopingClientEntry
	    MAX-ACCESS  not-accessible
	    STATUS  current
	    DESCRIPTION
	    "The table contains IGMP snooping group client information."
	    ::= { zyxelIgmpSnoopingStatus 8 }    
        
	    zyxelIgmpSnoopingClientEntry	OBJECT-TYPE
	    SYNTAX	ZyxelIgmpSnoopingClientEntry
	    MAX-ACCESS	not-accessible
	    STATUS	current
	    DESCRIPTION    	
	    "An entry contains IGMP snooping group client information."
	    INDEX     { zyIgmpSnoopingClientVid, zyIgmpSnoopingClientPort, zyIgmpSnoopingClientGroupIpAddress, zyIgmpSnoopingClientIpAddress  }
	    ::= { zyxelIgmpSnoopingClientTable 1 }

	    ZyxelIgmpSnoopingClientEntry ::=
	    SEQUENCE {
        	zyIgmpSnoopingClientVid				INTEGER,
        	zyIgmpSnoopingClientPort			INTEGER,
        	zyIgmpSnoopingClientGroupIpAddress	IpAddress,
        	zyIgmpSnoopingClientIpAddress		IpAddress,
        	zyIgmpSnoopingClientUpTime			INTEGER
         }

         zyIgmpSnoopingClientVid OBJECT-TYPE
         SYNTAX  INTEGER
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
         "The VLAN where the multicast traffic runs."
         ::= { zyxelIgmpSnoopingClientEntry 1 }

         zyIgmpSnoopingClientPort OBJECT-TYPE
         SYNTAX  INTEGER
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
         "The port where the host connects to the Swtich."
         ::= { zyxelIgmpSnoopingClientEntry 2 }

         zyIgmpSnoopingClientGroupIpAddress OBJECT-TYPE
         SYNTAX  IpAddress
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
         "The multicast group address."
         ::= { zyxelIgmpSnoopingClientEntry 3 }

         zyIgmpSnoopingClientIpAddress OBJECT-TYPE
         SYNTAX  IpAddress
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
         "The host that is interested in the multicast group."
         ::= { zyxelIgmpSnoopingClientEntry 4 }     
         
         zyIgmpSnoopingClientUpTime OBJECT-TYPE
         SYNTAX  INTEGER
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
         "The period of time that the client joins the multicast group."
         ::= { zyxelIgmpSnoopingClientEntry 5 }    

--	zyIgmpSnoopingStatisticsClear 
	    
		zyIgmpSnoopingStatisticsClear OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
		"Clear all IGMP snooping statistics of the switch."
        ::= { zyxelIgmpSnoopingStatus 9 }
       
		zyIgmpSnoopingStatisticsClearSystem OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
		"Clear the IGMP snooping statistics of the system."
        ::= { zyxelIgmpSnoopingStatus 10 }

		zyIgmpSnoopingStatisticsClearPort OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
		"Clear the IGMP snooping statistics of the port(s)."
        ::= { zyxelIgmpSnoopingStatus 11 }

		zyIgmpSnoopingStatisticsClearVlan OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
		"Clear the IGMP snooping statistics of the multicast VLAN(s)."
        ::= { zyxelIgmpSnoopingStatus 12 }
	
END
