    QTECH-L3Igmp-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE,
        Integer32, Counter64,IpAddress         FROM SNMPv2-SMI
        
        DisplayString, TruthValue,MacAddress,RowStatus    FROM SNMPv2-TC  

        PortList                                                  FROM Q-BRIDGE-MIB
              
        MODULE-COMPLIANCE, OBJECT-GROUP         FROM SNMPv2-CONF
        
        gbnL3                                   FROM QTECH-MASTER-MIB
        
        mib-2                                   FROM RFC1213-MIB;
    
        
    gbnL3IgmpMib MODULE-IDENTITY
        LAST-UPDATED    "0411190001Z"  -- November 19,2004  
        ORGANIZATION    "QTECH LLC"
        CONTACT-INFO    "Basil Budko
                         E-mail: budko@qtech.ru"

        DESCRIPTION     "GBN Enterprise MIB definition."

        REVISION        "0411190001Z"  -- November 19,2004  
        DESCRIPTION     "Initial MIB creation."

        ::= { gbnL3 7 }

    PortList ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Each octet within this value specifies a set of eight
        ports, with the first octet specifying ports 1 through
        8, the second octet specifying ports 9 through 16, etc.
        Within each octet, the most significant bit represents
        the lowest numbered port, and the least significant bit
        represents the highest numbered port.  Thus, each port
        of the bridge is represented by a single bit within the
        value of this object.  If that bit has a value of '1'
        then that port is included in the set of ports; the port
        is not included if its bit has a value of '0'."
    SYNTAX      OCTET STRING

   gbnL3IgmpProxyGroup        OBJECT IDENTIFIER ::= { gbnL3IgmpMib 1 }   
    
   
    igmpProxyEnable OBJECT-TYPE
        SYNTAX   TruthValue
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "The enabled status of igmp proxy on this switch."
           --ڽϴigmpʹ״̬          
      ::= { gbnL3IgmpProxyGroup 1 }      
      
    igmpProxyIfIndex OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "The interface from which all IP multicast datagrams are received, 
            or 0 if the upstream interface is not configged."   
            --нӿIGMP򿪴ܺΪһ
            --ӿڷͱ뿪ġ
      ::= { gbnL3IgmpProxyGroup 2 }        
      
    igmpGrpNum OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The summation of group which is learned from IGMP and 
            configged statically."   
            --ͨIGMPѧϰ;̬õĶಥ
      ::= { gbnL3IgmpProxyGroup 3 }  
      
    igmpGrpMembNum OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The summation of group member which is learned from IGMP
            and configged statically."   
            --ͨIGMPѧϰ;̬õĶಥԱ
      ::= { gbnL3IgmpProxyGroup 4 } 

--  IGMP interface extend MIB 

    igmpIfExTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF IgmpIfExEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "IGMP interface extend information including the configured  access control 
           list and querier timeout."    
           --IGMPķʿбͲѯʱ
       ::= { gbnL3IgmpMib 2 }

    igmpIfExEntry OBJECT-TYPE
        SYNTAX   IgmpIfExEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information describing the configured ACL and querier timeout ." 
           --ʿбϢ
       INDEX { igmpifIndex }
       ::= { igmpIfExTable 1 }

    IgmpIfExEntry ::=
	    SEQUENCE {
		        igmpifIndex     	Integer32,
		        igmpIfPortList  	PortList,
		        igmpifAccessNum		Integer32,
		        igmpifQuerierExpire  	Integer32,
		        igmpifV2QuerierTimer	TimeTicks,
		        igmpifLimiGroupNum	Integer32
	              }

    igmpifIndex OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "the index of the interface receiving IGMP packets."       
           --IGMPĵĽӿ
      ::= { igmpIfExEntry 1 }     
      
    igmpIfPortList OBJECT-TYPE
        SYNTAX   PortList
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "the ports filter IGMP packets in this interface."   
           --IGMPĵĶ˿б
      ::= { igmpIfExEntry 2 }
      
    igmpifAccessNum OBJECT-TYPE
        SYNTAX   Integer32
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "the number of the access control list used to filter IGMP packet"  
           --ڹIGMPĵķʿб
      ::= { igmpIfExEntry 3 }  
      
     igmpifQuerierExpire OBJECT-TYPE    
        SYNTAX   Integer32 
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "The amount of time elapsed before the Other Querier
            Present Timer expires"  
           --ѯ߳ʱʱ䣬ѯߴʱҪһʱ䣬ʱ
           --ûյѯߵĲѯĺ󣬱زܳΪѯߡ
      ::= { igmpIfExEntry 4 }

    igmpifV2QuerierTimer OBJECT-TYPE    
        SYNTAX   TimeTicks 
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
            "The time remaining until the host assumes that there are no
            IGMPv2 routers present on the interface.  While this is non-
            zero and igmpInterfaceV1QuerierTimer is zero, the host will 
            reply to all queries with version 2 membership reports." 
           --v2汾ѯ߳ʱʱֵΪ0v1汾ѯ߳ʱʱ
           --Ϊ0ʱʱv2Ĳѯġ
      ::= { igmpIfExEntry 5 } 

    igmpifLimiGroupNum OBJECT-TYPE    
        SYNTAX   Integer32 
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
            "the limit count of group for the interface" 
           --ƽӿڼĶಥĬֵΪƷֵ֧ಥS3526Ϊ255S3750Ϊ1024          
      ::= { igmpIfExEntry 6 }

    igmpGroupVlanTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF IgmpGroupVlanEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           " the list information of static group and ingress vlan."    
           --̬ಥvlanϢ
       	::= { gbnL3IgmpMib 3 }
  	
    igmpGroupVlanEntry OBJECT-TYPE
	SYNTAX IgmpGroupVlanEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		" entry of information about static group and ingress vlan"
		--̬ಥvlan
	INDEX { igmpGroupIP, igmpVlanID }
	::= { igmpGroupVlanTable 1 }
				
    IgmpGroupVlanEntry ::= SEQUENCE {
    			igmpGroupIP          IpAddress,
			igmpVlanID 	     Integer32,
			igmpGroupVlanStatus  RowStatus
		}
						  	      	        	    
    igmpGroupIP OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
			" the static multicast group ip "
			--̬ಥ
	::= { igmpGroupVlanEntry 1 }      
    igmpVlanID OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
			"the specific ingress vlan"
			--ָvlan
	::= { igmpGroupVlanEntry 2 }
    igmpGroupVlanStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
			"The status of this entry."
			--״̬
	::= { igmpGroupVlanEntry 3 }	
              
      
--  igmpCacheTableEx extend MIB
--  igmpಥչ.added by xzy (2006-8-2 for igmpv3)

    FilterMode ::= INTEGER {
    	include(1),
    	exclude(2)
    }

    igmpCacheTableEx OBJECT-TYPE
        SYNTAX   SEQUENCE OF IgmpCacheExEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "IGMP cache extend information including the configured filter mode and source list."    
           --IGMPģʽԴַб
       ::= { gbnL3IgmpMib 4 }

       
    igmpCacheExEntry OBJECT-TYPE
        SYNTAX   IgmpCacheExEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           "Information describing the configured filter mode and source list." 
           --ģʽԴַбϢ
       INDEX      { igmpCacheAddressEx, igmpCacheIfIdxEx }
       ::= { igmpCacheTableEx 1 } 
       
    IgmpCacheExEntry ::= SEQUENCE {
        igmpCacheAddressEx          IpAddress,
        igmpCacheIfIdxEx            Integer32,
    	igmpCacheVersion2HostTimer  TimeTicks,
    	igmpCacheFilterMode         FilterMode
    }
      

         
    igmpCacheAddressEx OBJECT-TYPE
	SYNTAX     IpAddress
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION
	        "The IP multicast group address for which this entry
	        contains information."
	        --ಥַ
	::= { igmpCacheExEntry 1 }
	 
    igmpCacheIfIdxEx OBJECT-TYPE
	    	SYNTAX     Integer32
	    	MAX-ACCESS not-accessible
	    	STATUS     current
	    	DESCRIPTION
            	"The interface for which this entry contains information for
            	an IP multicast group address."
            	--ӿ
	::= { igmpCacheExEntry 2 }

    igmpCacheVersion2HostTimer OBJECT-TYPE
    	SYNTAX     TimeTicks
    	MAX-ACCESS read-only
    	STATUS     current
    	DESCRIPTION
	    	"The time remaining until the local router will assume that
	    	there are no longer any IGMP version 2 members on the IP
	    	subnet attached to this interface.  Upon hearing any IGMPv2
	    	Membership Report, this value is reset to the group
	    	membership timer."
	    	--v2ʱ䶨ʱ
	::= { igmpCacheExEntry 3 }

    igmpCacheFilterMode OBJECT-TYPE
    	SYNTAX     FilterMode
    	MAX-ACCESS read-only
    	STATUS     current
    	DESCRIPTION
            "The Filter Mode for the IP multicast group address."
            --Ĺģʽ
	::= { igmpCacheExEntry 4 }
	

    igmpSrcInfoTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF IgmpSrcInfoEntry
        MAX-ACCESS   not-accessible
        STATUS   current
        DESCRIPTION
           " the list information of specific source ip addres."    
           --ԴַбϢ
       	::= { gbnL3IgmpMib 5 }
  	
    igmpSrcInfoEntry OBJECT-TYPE
	SYNTAX IgmpSrcInfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
			" entry of information about specific source"
			--ָԴַ
	INDEX { igmpCacheAddressEx, igmpCacheIfIdxEx, igmpSrcAddress }
	::= { igmpSrcInfoTable 1 }
				
    IgmpSrcInfoEntry ::= SEQUENCE {
			igmpSrcAddress 	            IpAddress,
			igmpSrcTimer                TimeTicks,
			igmpSrcInfoStatus           RowStatus
		}				  	      	        	    
    
    igmpSrcAddress OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
			"the specific source address"
			--ָԴַ
	::= { igmpSrcInfoEntry 1 }
	
    igmpSrcTimer OBJECT-TYPE
	SYNTAX TimeTicks
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
			" the timer of the specific source address"
			--ָԴʱ
	::= { igmpSrcInfoEntry 2 } 

    igmpSrcInfoStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
			"The status of this entry."
			--״̬
	::= { igmpSrcInfoEntry 3 } 	        
  END
