-- *****************************************************************
-- QTECH-IGMP-SNOOPING-MIB.mib:  Qtech IGMP snooping MIB file
--
-- March 2002, Wuzg
--
-- Copyright (c) 2002 by Qtech Networks Co.,Ltd.
-- All rights reserved.
-- 
-- *****************************************************************
--

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

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32,
        Unsigned32,
        IpAddress
                FROM SNMPv2-SMI
        VlanId
                FROM Q-BRIDGE-MIB
        TruthValue
        --RowStatus
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        MemberMap,
        IfIndex
                FROM QTECH-TC
        EnabledStatus 
                FROM P-BRIDGE-MIB
        qtechMgmt
                FROM QTECH-SMI;

qtechIgmpSnoopingMIB MODULE-IDENTITY
        LAST-UPDATED "200910220000Z"
        ORGANIZATION "Qtech Networks Co.,Ltd."
        CONTACT-INFO
                " 
                Tel: 4008-111-000 

                E-mail: service@qtech.com.cn"

        DESCRIPTION
                "This module defines qtech IGMP snooping mibs for WLAN DEV."
        REVISION      "200910220000Z"

        DESCRIPTION
                "This module defines qtech IGMP snooping mibs."
        REVISION      "200203200000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { qtechMgmt 8}

qtechIgmpSnoopingMIBObjects OBJECT IDENTIFIER ::= { qtechIgmpSnoopingMIB 1 }

--
-- qtech Snooping Igmp Group
--
qtechSNIgmpWorkingMode OBJECT-TYPE
        SYNTAX INTEGER {
            disabled(1),
            svgl(2),    -- shared-vlan-group-learning(2),
            ivgl(3),    -- independent-vlan-group-learning(3)
            ivgl-svgl(4)-- svgl-and-ivgl-coexist(4)
        }
        MAX-ACCESS read-write
        STATUS deprecated
        DESCRIPTION
            "System IGMP snooping working mode:
             disabled(1):
                disable the snooping IGMP function, and all IGMP report or leave
                message will be forward transparent.
             svgl(2):
                shared vlan group learning, all group learning in each VLAN will 
                be awared of by other VLAN.
             ivgl(3):
                independent vlan group learning, all group learning by each VLAN
                cannot be used by other VLAN.
             ivgl-svgl(4):
                svgl-and-ivgl-coexist."                
        DEFVAL { disabled }
        ::= { qtechIgmpSnoopingMIBObjects 1 }

qtechSNIgmpSourcePortCheck OBJECT-TYPE
        SYNTAX EnabledStatus
        MAX-ACCESS read-write
        STATUS deprecated
        DESCRIPTION
            "Only video flow of router port can be accept by switch when 
            this value is enabled"
        DEFVAL { disabled }
        ::= { qtechIgmpSnoopingMIBObjects 2 }
        
qtechSNIgmpSourceIpCheck OBJECT-TYPE
        SYNTAX EnabledStatus
        MAX-ACCESS read-write
        STATUS deprecated
        DESCRIPTION
            " "
        DEFVAL { disabled }
        ::= { qtechIgmpSnoopingMIBObjects 3 }        

qtechSNIgmpSourceIpCheckDefIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS deprecated
        DESCRIPTION
            "Default multicast server ip address of igmp source ip checking,
            this value must be setted before qtechSNIgmpSourceIpCheck be setted
            to enabled"
        ::= { qtechIgmpSnoopingMIBObjects 4 }

qtechSNIgmpSrcIpCheckTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechSNIgmpSrcIpCheckEntry
        MAX-ACCESS not-accessible
        STATUS deprecated
        DESCRIPTION
            "table of igmp source Ip check."
        ::= { qtechIgmpSnoopingMIBObjects 5 }
    
qtechSNIgmpSrcIpCheckEntry OBJECT-TYPE
        SYNTAX QtechSNIgmpSrcIpCheckEntry
        MAX-ACCESS not-accessible
        STATUS deprecated
        DESCRIPTION 
            "list of igmp source Ip check"
        INDEX { qtechSNIgmpSrcIpCheckVID,qtechSNIgmpSrcIpCheckMultiIpAddr }
        ::= { qtechSNIgmpSrcIpCheckTable 1 }
    
QtechSNIgmpSrcIpCheckEntry ::= 
        SEQUENCE {
        qtechSNIgmpSrcIpCheckVID VlanId,
        qtechSNIgmpSrcIpCheckMultiIpAddr IpAddress,
        qtechSNIgmpSrcIpCheckSrcIpAddr IpAddress,
        qtechSNIgmpSrcIpCheckEntryStatus INTEGER
        }

qtechSNIgmpSrcIpCheckVID OBJECT-TYPE
        SYNTAX VlanId
        MAX-ACCESS read-only
        STATUS deprecated
        DESCRIPTION
            "VID of ipmc stream"
        ::= { qtechSNIgmpSrcIpCheckEntry 1 }
        
qtechSNIgmpSrcIpCheckMultiIpAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS deprecated
        DESCRIPTION
            "Group Destination Address for a ipmc stream."
        ::= { qtechSNIgmpSrcIpCheckEntry 2 }

qtechSNIgmpSrcIpCheckSrcIpAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS deprecated
        DESCRIPTION
            "The associate source ip of this ipmc stream. This Stream can be accepted only it's
            source ip address is qtechSNIgmpSrcIpCheckSrcIpAddr."
        ::= { qtechSNIgmpSrcIpCheckEntry 3 }
            
qtechSNIgmpSrcIpCheckEntryStatus OBJECT-TYPE
        SYNTAX INTEGER{
              valid(1),
              delete(2) 
        }
        MAX-ACCESS read-create
        STATUS deprecated
        DESCRIPTION
            "entry status of this entry. Setting this value to 'delete' will delete this
             entry.Setting this value to value have no any effect"
        ::= { qtechSNIgmpSrcIpCheckEntry 4 } 
   
qtechSNIgmpPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechSNIgmpPortEntry
        MAX-ACCESS not-accessible
        STATUS deprecated
        DESCRIPTION
            "Port's configuration concerned with snooping IGMP"
       ::= { qtechIgmpSnoopingMIBObjects 6 }
        
qtechSNIgmpPortEntry OBJECT-TYPE
        SYNTAX QtechSNIgmpPortEntry
        MAX-ACCESS not-accessible
        STATUS deprecated
        DESCRIPTION 
            "list of IGMP port configurations."
        INDEX { qtechSNIgmpPortRouterVID,qtechSNIgmpPortIndex }
        ::= { qtechSNIgmpPortTable 1 }
        
QtechSNIgmpPortEntry ::= 
        SEQUENCE {
        qtechSNIgmpPortRouterVID VlanId,        
        qtechSNIgmpPortIndex IfIndex,
        qtechSNIgmpPortRouterState INTEGER,
        qtechSNIgmpPortRouterProfile Unsigned32
        }
    
qtechSNIgmpPortRouterVID OBJECT-TYPE
        SYNTAX VlanId
        MAX-ACCESS read-write
        STATUS deprecated
        DESCRIPTION
            "the mroute port's vlan id"
        ::= { qtechSNIgmpPortEntry 1 }    
    
qtechSNIgmpPortIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS deprecated
        DESCRIPTION     
            ""
        ::= { qtechSNIgmpPortEntry 2 }

qtechSNIgmpPortRouterState OBJECT-TYPE
        SYNTAX INTEGER{
           mrnone(1),
           mrstatic(2),
           mrdynamic(3)
        }
        MAX-ACCESS read-write
        STATUS deprecated
        DESCRIPTION
            "the mroute port's state,"
        ::= { qtechSNIgmpPortEntry 3 }        

qtechSNIgmpPortRouterProfile OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS deprecated
        DESCRIPTION
            "the mroute port's profile."
        ::= { qtechSNIgmpPortEntry 4 }        
    

--qtechSNIgmpPortDefGroupsFilterBehavior OBJECT-TYPE
--        SYNTAX INTEGER {
--            forwardAllGroups(1),
--            forwardUnregisteredGroups (2),
--            filterUnregisteredGroups (3)
--        }
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--         "Forwarding and filtering of group addressed frames may be managed by specifying 
--         defaults for each outbound Port. The behavior of each of these defaults, as modified
--         by the control elements of more explicit Filtering Database entries applicable to 
--         a given frames MAC Address, reception Port, and outbound Port, is as follows.
--              a) Forward All Groups. The frame is forwarded, unless an explicit Static Filtering
--                 Entry specifies filtering independent of any dynamic filtering information.
--              b) Forward Unregistered Groups. The frame is forwarded, unless
--                 1) An explicit Static Filtering Entry specifies filtering independent 
--                    of any dynamic filtering information; or
--                 2) An explicit Static Filtering Entry specifies forwarding or filtering
--                    on the basis of dynamic filtering information, and an applicable explicit
--                     Group Registration Entry exists specifying filtering;or
--                 3) An applicable explicit Static Filtering Entry does not exist, but an 
--                    applicable Group Registration entry specifies filtering.
--              c) Filter Unregistered Groups. The frame is filtered unless
--                 1) An explicit Static Filtering Entry specifies forwarding independent of 
--                    any dynamic filtering information; or
--                 2) An explicit Static Filtering Entry specifies forwarding or filtering on
--                   the basis of dynamic filtering information, and an applicable explicit 
--                   Group Registration Entry exists specifying forwarding;or
--                 3) An applicable explicit Static Filtering Entry does not exist, but an 
--                    applicable Group Registration entry specifies forwarding."
--        ::= { qtechSNIgmpPortEntry 4 }

qtechSNIgmpGDANumber OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS deprecated
        DESCRIPTION
            "max number of Group Destination Address this system supported."
        ::= { qtechIgmpSnoopingMIBObjects 7 }

qtechSNIgmpGDATable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechSNIgmpGDAEntry
        MAX-ACCESS not-accessible
        STATUS deprecated
        DESCRIPTION
            "table of GDA."
        ::= { qtechIgmpSnoopingMIBObjects 8}
    
qtechSNIgmpGDAEntry OBJECT-TYPE
        SYNTAX QtechSNIgmpGDAEntry
        MAX-ACCESS not-accessible
        STATUS deprecated
        DESCRIPTION 
            "list of GDA of ports"
        INDEX { qtechSNIgmpGDAVID,qtechSNIgmpGDAAddr }
        ::= { qtechSNIgmpGDATable 1 }
    
QtechSNIgmpGDAEntry ::= 
        SEQUENCE {
        qtechSNIgmpGDAVID VlanId,
        qtechSNIgmpGDAAddr IpAddress,
        qtechSNIgmpGDAPortMemberAction MemberMap,
        qtechSNIgmpGDATrunkMemberAction MemberMap
--        qtechSNIgmpGDAStatus RowStatus
--        qtechSNIgmpGDAStatus INTEGER
        }

qtechSNIgmpGDAVID OBJECT-TYPE
        SYNTAX VlanId
        MAX-ACCESS read-only
        STATUS deprecated
        DESCRIPTION
            "VID of ipmc stream"
        ::= { qtechSNIgmpGDAEntry 1 }
        
qtechSNIgmpGDAAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS deprecated
        DESCRIPTION
            "Group Destination Address for a port."
        ::= { qtechSNIgmpGDAEntry 2 }
    
qtechSNIgmpGDAPortMemberAction OBJECT-TYPE
        SYNTAX MemberMap
        MAX-ACCESS read-write
        STATUS deprecated
        DESCRIPTION
            "member physical port of this group, and each port have its action:
             null(1), static(2), dynamic(3), mroute(4). the port is the logic port
             by implementation specific."
        ::= { qtechSNIgmpGDAEntry 3 }
        
qtechSNIgmpGDATrunkMemberAction OBJECT-TYPE
        SYNTAX MemberMap
        MAX-ACCESS read-write
        STATUS deprecated
        DESCRIPTION
            "member trunk port of this group, and each trunk port have its action:
             null(1), static(2), dynamic(3), mroute(4). the port is the logic port
             by implementation specific."
        ::= { qtechSNIgmpGDAEntry 4 }        
   
--qtechSNIgmpGDAStatus OBJECT-TYPE
--        SYNTAX RowStatus
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "the item status"
--        ::= { qtechSNIgmpGDAEntry 5 }    
        
--qtechSNIgmpGDAStatus OBJECT-TYPE
--        SYNTAX INTEGER {
--            invalid(1),
--          dynamic(2),
--          static(3)
--      }
--      MAX-ACCESS read-only
--      STATUS current
--      DESCRIPTION
--          "Status of a logic port's Group Destination Address.
--          dynamic (2):
--          while logic port's GDA dynamic configuration in 
--          snoopingIgmpPortTable is enabled some GDA 
--          will add to table with status dynamic.
--          static (3):
--          add by management, you can specify a GDA by
--          hand for a logic port.
--          changes can occur between every status, from invalid
--          to dynamic, static to dynamic, etc. but can't change
--          from invalid to dynamic or static when 
--          snoopingIgmpGDAAddr is not a valid GDA."
--      ::= { qtechSNIgmpGDAEntry 5 }

qtechSNIgmpSvglVID OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS deprecated
        DESCRIPTION
            "the vid of svgl mode"
        ::= { qtechIgmpSnoopingMIBObjects 9 }
        
qtechSNIgmpSvglProfile OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS deprecated
        DESCRIPTION
            "the profile of svgl mode"
        ::= { qtechIgmpSnoopingMIBObjects 10 }        


qtechSNIgmpMrLearnTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechSNIgmpMrLearnEntry
        MAX-ACCESS not-accessible
        STATUS deprecated
        DESCRIPTION
            "table of MrLearn."
        ::= { qtechIgmpSnoopingMIBObjects 11}
    
qtechSNIgmpMrLearnEntry OBJECT-TYPE
        SYNTAX QtechSNIgmpMrLearnEntry
        MAX-ACCESS not-accessible
        STATUS deprecated
        DESCRIPTION
            "list of MrLearn table"
        INDEX { qtechSNIgmpMrLearnVID }         
        ::= { qtechSNIgmpMrLearnTable 1}
    
QtechSNIgmpMrLearnEntry ::= 
        SEQUENCE {
        qtechSNIgmpMrLearnVID VlanId,
        qtechSNIgmpMrLearnStatus INTEGER
        }

qtechSNIgmpMrLearnVID OBJECT-TYPE
        SYNTAX VlanId
        MAX-ACCESS read-write
        STATUS deprecated
        DESCRIPTION
            "VID of Mr Learn"
        ::= { qtechSNIgmpMrLearnEntry 1 } 
        
qtechSNIgmpMrLearnStatus OBJECT-TYPE
        SYNTAX INTEGER{
        	disable(1),
        	pim-dvmrp(2)
        }
        MAX-ACCESS read-write
        STATUS deprecated
        DESCRIPTION
            "Status of Mr Learn"
        ::= { qtechSNIgmpMrLearnEntry 2 }          

qtechSNIgmpPortFilteringTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechSNIgmpPortFilteringEntry
        MAX-ACCESS not-accessible
        STATUS deprecated
        DESCRIPTION
            "table of igmp snooping port filtering."
        ::= { qtechIgmpSnoopingMIBObjects 12}
    
qtechSNIgmpPortFilteringEntry OBJECT-TYPE
        SYNTAX QtechSNIgmpPortFilteringEntry
        MAX-ACCESS not-accessible
        STATUS deprecated
        DESCRIPTION
            "list of igmp filtering table"
        INDEX { qtechSNPortIndex }         
        ::= { qtechSNIgmpPortFilteringTable 1}
        
QtechSNIgmpPortFilteringEntry ::= 
        SEQUENCE {
        qtechSNPortIndex IfIndex,
        qtechSNIgmpFilteringProfile Unsigned32,
        qtechSNIgmpFilteringMaxGroups Unsigned32
        }

qtechSNPortIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS deprecated
        DESCRIPTION     
            ""
        ::= { qtechSNIgmpPortFilteringEntry 1}  

qtechSNIgmpFilteringProfile OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS deprecated
        DESCRIPTION
            "profile for igmp snooping port filtering"
        ::= { qtechSNIgmpPortFilteringEntry 2 }     


qtechSNIgmpFilteringMaxGroups OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS deprecated
        DESCRIPTION
            "The maximum number of IGMP groups that the L2 interface can join,the number can 
            be from 0-4294967294;4294967295(0xFFFFFFFF) means no limit"
        ::= { qtechSNIgmpPortFilteringEntry 3 }             

qtechSNIgmpGDAConfigTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechSNIgmpGDAConfigEntry
        MAX-ACCESS not-accessible
        STATUS deprecated
        DESCRIPTION
            "GDA config table"
        ::= { qtechIgmpSnoopingMIBObjects 13}
    
qtechSNIgmpGDAConfigEntry OBJECT-TYPE
        SYNTAX QtechSNIgmpGDAConfigEntry
        MAX-ACCESS not-accessible
        STATUS deprecated
        DESCRIPTION 
            "list of GDA table"
        INDEX { qtechSNIgmpGDAConfigVID,qtechSNIgmpGDAConfigAddr }
        ::= { qtechSNIgmpGDAConfigTable 1 }
    
QtechSNIgmpGDAConfigEntry ::= 
        SEQUENCE {
        qtechSNIgmpGDAConfigVID VlanId,
        qtechSNIgmpGDAConfigAddr IpAddress,
        qtechSNIgmpGDAConfigIfIndex IfIndex,
        qtechSNIgmpGDAConfigType INTEGER,
        qtechSNIgmpGDAConfigStatus INTEGER
        }        

qtechSNIgmpGDAConfigVID OBJECT-TYPE
        SYNTAX VlanId
        MAX-ACCESS read-only
        STATUS deprecated
        DESCRIPTION
            "VID of ipmc stream"
        ::= { qtechSNIgmpGDAConfigEntry 1 }
        
qtechSNIgmpGDAConfigAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS deprecated
        DESCRIPTION
            "Group Destination Address for a port."
        ::= { qtechSNIgmpGDAConfigEntry 2 }
        
qtechSNIgmpGDAConfigIfIndex OBJECT-TYPE   
	SYNTAX   IfIndex
        MAX-ACCESS read-only
        STATUS deprecated
        DESCRIPTION
            "member port of this group"
        ::= { qtechSNIgmpGDAConfigEntry 3 }
        
qtechSNIgmpGDAConfigType OBJECT-TYPE   
	SYNTAX   INTEGER{
		null(1),
		static(2),
		dynamic(3),
		mrouter(4)
	}
        MAX-ACCESS read-only
        STATUS deprecated
        DESCRIPTION
            ""
        ::= { qtechSNIgmpGDAConfigEntry 4 }        
        
qtechSNIgmpGDAConfigStatus OBJECT-TYPE   
	SYNTAX   INTEGER{
		valid(1),
		invalid(2)
	}
        MAX-ACCESS read-only
        STATUS deprecated
        DESCRIPTION
            ""
        ::= { qtechSNIgmpGDAConfigEntry 5 }     
        
qtechSNIgmpQueryResponeTime  OBJECT-TYPE   
	SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS deprecated
        DESCRIPTION
            "The maximal response time for Query messages."  
        ::= { qtechIgmpSnoopingMIBObjects 14}                 



qtechIgmpSnoopingWorkingMode OBJECT-TYPE
        SYNTAX INTEGER {
            disabled(1),
            svgl(2),    -- shared-vlan-group-learning(2),
            ivgl(3),    -- independent-vlan-group-learning(3)
            ivgl-svgl(4)-- svgl-and-ivgl-coexist(4)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "System IGMP snooping working mode:
             disabled(1):
                disable the snooping IGMP function, and all IGMP report or leave
                message will be forward transparent.
             svgl(2):
                shared vlan group learning, all group learning in each VLAN will 
                be awared of by other VLAN.
             ivgl(3):
                independent vlan group learning, all group learning by each VLAN
                cannot be used by other VLAN.
             ivgl-svgl(4):
                svgl-and-ivgl-coexist."                
        DEFVAL { disabled }
        ::= { qtechIgmpSnoopingMIBObjects 15 }

qtechIgmpSnoopingGDANumber OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Max number of Group Destination Address this system supported."
        ::= { qtechIgmpSnoopingMIBObjects 16 }

qtechIgmpSnoopingGDATable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechIgmpSnoopingGDAEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "table of GDA."
        ::= { qtechIgmpSnoopingMIBObjects 17}
    
qtechIgmpSnoopingGDAEntry OBJECT-TYPE
        SYNTAX QtechIgmpSnoopingGDAEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            "list of GDA of ports"
        INDEX { qtechIgmpSnoopingGDAVID,qtechIgmpSnoopingGDAAddr }
        ::= { qtechIgmpSnoopingGDATable 1 }
    
QtechIgmpSnoopingGDAEntry ::= 
        SEQUENCE {
        qtechIgmpSnoopingGDAVID VlanId,
        qtechIgmpSnoopingGDAAddr IpAddress,
        qtechIgmpSnoopingGDAPortMemberAction MemberMap
        }

qtechIgmpSnoopingGDAVID OBJECT-TYPE
        SYNTAX VlanId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "VID of ipmc stream"
        ::= { qtechIgmpSnoopingGDAEntry 1 }

qtechIgmpSnoopingGDAAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Group Destination Address for a port."
        ::= { qtechIgmpSnoopingGDAEntry 2 }
    
qtechIgmpSnoopingGDAPortMemberAction OBJECT-TYPE
        SYNTAX MemberMap
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "member physical port of this group, and each port have its action:
             null(1), static(2), dynamic(3), mroute(4). the port is the logic port
             by implementation specific."
        ::= { qtechIgmpSnoopingGDAEntry 3 }

--show vlan snooping status
qtechIgmpSnoopingVlanStatusTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechIgmpSnoopingVlanStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "table of Vlan snooping status."
        ::= { qtechIgmpSnoopingMIBObjects 18}

qtechIgmpSnoopingVlanStatusEntry OBJECT-TYPE
        SYNTAX QtechIgmpSnoopingVlanStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "list of Vlan Status"
        INDEX { qtechIgmpSnoopingVlanStatusVID }         
        ::= { qtechIgmpSnoopingVlanStatusTable 1}

QtechIgmpSnoopingVlanStatusEntry ::= 
        SEQUENCE {
        qtechIgmpSnoopingVlanStatusVID VlanId,
        qtechIgmpSnoopingVlanStatusStatus EnabledStatus
        }

qtechIgmpSnoopingVlanStatusVID OBJECT-TYPE
        SYNTAX VlanId
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "VID of Mr Learn"
        ::= { qtechIgmpSnoopingVlanStatusEntry 1 } 
        
qtechIgmpSnoopingVlanStatusStatus OBJECT-TYPE
        SYNTAX EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Status of Vlan snooping"
        ::= { qtechIgmpSnoopingVlanStatusEntry 2 }

--show svgl vlan
qtechIgmpSnoopingSvglVID OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "the vid of share-vlan mode"
        ::= { qtechIgmpSnoopingMIBObjects 19 }

qtechIgmpSnoopingSvglProfile OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "the profile of svgl mode"
        ::= { qtechIgmpSnoopingMIBObjects 20 }

--show vlan learning
qtechIgmpSnoopingMrLearnTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechIgmpSnoopingMrLearnEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "table of MrLearn."
        ::= { qtechIgmpSnoopingMIBObjects 21}

qtechIgmpSnoopingMrLearnEntry OBJECT-TYPE
        SYNTAX QtechIgmpSnoopingMrLearnEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "list of MrLearn table"
        INDEX { qtechIgmpSnoopingMrLearnVID }         
        ::= { qtechIgmpSnoopingMrLearnTable 1}

QtechIgmpSnoopingMrLearnEntry ::= 
        SEQUENCE {
        qtechIgmpSnoopingMrLearnVID VlanId,
        qtechIgmpSnoopingMrLearnStatus INTEGER
        }

qtechIgmpSnoopingMrLearnVID OBJECT-TYPE
        SYNTAX VlanId
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "VID of Mr Learn"
        ::= { qtechIgmpSnoopingMrLearnEntry 1 } 
        
qtechIgmpSnoopingMrLearnStatus OBJECT-TYPE
        SYNTAX INTEGER{
        	disable(1),
        	pim-dvmrp(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Status of Mr Learn"
        ::= { qtechIgmpSnoopingMrLearnEntry 2 }

qtechIgmpSnoopingPortFilteringTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechIgmpSnoopingPortFilteringEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "table of igmp snooping port filtering."
        ::= { qtechIgmpSnoopingMIBObjects 22 }
    
qtechIgmpSnoopingPortFilteringEntry OBJECT-TYPE
        SYNTAX QtechIgmpSnoopingPortFilteringEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "list of igmp filtering table"
        INDEX { qtechIgmpSnoopingportIndex }         
        ::= { qtechIgmpSnoopingPortFilteringTable 1}
        
QtechIgmpSnoopingPortFilteringEntry ::= 
        SEQUENCE {
        qtechIgmpSnoopingportIndex IfIndex,
        qtechIgmpSnoopingFilteringProfile Unsigned32,
        qtechIgmpSnoopingFilteringMaxGroups Unsigned32
        }

qtechIgmpSnoopingportIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION     
            ""
        ::= { qtechIgmpSnoopingPortFilteringEntry 1}  

qtechIgmpSnoopingFilteringProfile OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "profile for igmp snooping port filtering"
        ::= { qtechIgmpSnoopingPortFilteringEntry 2 }


qtechIgmpSnoopingFilteringMaxGroups OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The maximum number of IGMP groups that the L2 interface can join,the number can 
            be from 0-4294967294;4294967295(0xFFFFFFFF) means no limit"
        ::= { qtechIgmpSnoopingPortFilteringEntry 3 }             

qtechIgmpSnoopingGDAConfigTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechIgmpSnoopingGDAConfigEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "GDA config table"
        ::= { qtechIgmpSnoopingMIBObjects 23 }
    
qtechIgmpSnoopingGDAConfigEntry OBJECT-TYPE
        SYNTAX QtechIgmpSnoopingGDAConfigEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            "list of GDA table static configure"
        INDEX { qtechIgmpSnoopingGDAConfigVID,qtechIgmpSnoopingGDAConfigAddr,qtechIgmpSnoopingGDAConfigIfIndex }
        ::= { qtechIgmpSnoopingGDAConfigTable 1 }
    
QtechIgmpSnoopingGDAConfigEntry ::= 
        SEQUENCE {
        qtechIgmpSnoopingGDAConfigVID VlanId,
        qtechIgmpSnoopingGDAConfigAddr IpAddress,
        qtechIgmpSnoopingGDAConfigIfIndex IfIndex
        }        

qtechIgmpSnoopingGDAConfigVID OBJECT-TYPE
        SYNTAX VlanId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "VID of ipmc stream"
        ::= { qtechIgmpSnoopingGDAConfigEntry 1 }
        
qtechIgmpSnoopingGDAConfigAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Group Destination Address for a port."
        ::= { qtechIgmpSnoopingGDAConfigEntry 2 }
        
qtechIgmpSnoopingGDAConfigIfIndex OBJECT-TYPE   
	SYNTAX   IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "member port of this group"
        ::= { qtechIgmpSnoopingGDAConfigEntry 3 }   
        
qtechIgmpSnoopingQueryResponeTime  OBJECT-TYPE   
	SYNTAX Unsigned32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Query max response time"
        ::= { qtechIgmpSnoopingMIBObjects 24 }

qtechIgmpSnoopingReportSuppress  OBJECT-TYPE   
	SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Report suppress"
        ::= { qtechIgmpSnoopingMIBObjects 25 }                 


qtechIgmpSnoopingFastleave  OBJECT-TYPE   
	SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Fast leave"
        ::= { qtechIgmpSnoopingMIBObjects 26 }

--newgdatable
qtechIgmpSnoopingGDANewTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechIgmpSnoopingGDANewEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "table of GDA."
        ::= { qtechIgmpSnoopingMIBObjects 27}

qtechIgmpSnoopingMulticastWlan  OBJECT-TYPE   
	SYNTAX INTEGER {
            disabled(0),
            enable(1)    -- enable Multicast for Wlan(1)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "enable or disable the global Multicast for Wlan"
        DEFVAL{disabled}
        ::= { qtechIgmpSnoopingMIBObjects 28 }
		
qtechIgmpSnoopingGDANewEntry OBJECT-TYPE
        SYNTAX QtechIgmpSnoopingGDANewEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            "list of GDA of ports"
        INDEX { qtechIgmpSnoopingGDANewInVID,
        	qtechIgmpSnoopingGDANewOutVID,
        	qtechIgsmpSnoopingGDASrc,
        	qtechIgmpSnoopingGDAGrp,
        	qtechIgmpSnoopingGDAIfx }
        ::= { qtechIgmpSnoopingGDANewTable 1 }
    
QtechIgmpSnoopingGDANewEntry ::=
        SEQUENCE {
        qtechIgmpSnoopingGDANewInVID VlanId,
        qtechIgmpSnoopingGDANewOutVID VlanId,
        qtechIgsmpSnoopingGDASrc IpAddress,
        qtechIgmpSnoopingGDAGrp IpAddress,
        qtechIgmpSnoopingGDAIfx   IfIndex,
        qtechIgmpSnoopingGDAIfxAction INTEGER
        }

qtechIgmpSnoopingGDANewInVID OBJECT-TYPE
        SYNTAX VlanId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "VID of In ipmc stream"
        ::= { qtechIgmpSnoopingGDANewEntry 1 }
        
qtechIgmpSnoopingGDANewOutVID OBJECT-TYPE
        SYNTAX VlanId
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "VID of Out ipmc stream"
        ::= { qtechIgmpSnoopingGDANewEntry 2 } 
             
qtechIgsmpSnoopingGDASrc OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Source Address of the entry"
        ::= { qtechIgmpSnoopingGDANewEntry 3 }
        
qtechIgmpSnoopingGDAGrp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Group Address of the entry"
        ::= { qtechIgmpSnoopingGDANewEntry 4 }
             
qtechIgmpSnoopingGDAIfx OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Egress of the entry"
        ::= { qtechIgmpSnoopingGDANewEntry 5 }
              
qtechIgmpSnoopingGDAIfxAction OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Every egress in the entry may have three states: 1. static, 2.dynamic, 3.mroute."
        ::= { qtechIgmpSnoopingGDANewEntry 6 }

        

qtechIgmpSnoopingMIBConformance OBJECT IDENTIFIER ::= { qtechIgmpSnoopingMIB 2 }
qtechIgmpSnoopingMIBCompliances OBJECT IDENTIFIER ::= { qtechIgmpSnoopingMIBConformance 1 }
qtechIgmpSnoopingMIBGroups      OBJECT IDENTIFIER ::= { qtechIgmpSnoopingMIBConformance 2 }


-- compliance statements

qtechIgmpSnoopingMIBCompliance MODULE-COMPLIANCE
        STATUS  deprecated
        DESCRIPTION
                "The compliance statement for entities which implement
                the Qtech Snooping Igmp MIB. It is replaced by 
                the qtechIgmpSnoopingMIBCompliance2."
        MODULE   --this module
                MANDATORY-GROUPS { qtechIgmpSnoopingMIBGroup
                 }
        ::= { qtechIgmpSnoopingMIBCompliances 1 }
        
qtechIgmpSnoopingMIBCompliance2 MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the Qtech Snooping Igmp MIB"
        MODULE  -- this module
                MANDATORY-GROUPS { qtechIgmpSnoopingMIBGroup2
                 }
        ::= { qtechIgmpSnoopingMIBCompliances 2 }
                
-- units of conformance

qtechIgmpSnoopingMIBGroup OBJECT-GROUP
        OBJECTS {
           qtechSNIgmpWorkingMode,
           qtechSNIgmpSourcePortCheck,
           qtechSNIgmpSourceIpCheck,
           qtechSNIgmpSourceIpCheckDefIp,           
           qtechSNIgmpSrcIpCheckVID,
           qtechSNIgmpSrcIpCheckMultiIpAddr,
           qtechSNIgmpSrcIpCheckSrcIpAddr,
           qtechSNIgmpSrcIpCheckEntryStatus,    
           qtechSNIgmpPortRouterVID,        
           qtechSNIgmpPortIndex,
           qtechSNIgmpPortRouterState,
           qtechSNIgmpPortRouterProfile,
           qtechSNIgmpGDANumber,
           qtechSNIgmpGDAVID,
           qtechSNIgmpGDAAddr,
           qtechSNIgmpGDAPortMemberAction,
           qtechSNIgmpGDATrunkMemberAction,   
           qtechSNIgmpSvglVID,   
           qtechSNIgmpSvglProfile,	      
           qtechSNIgmpMrLearnVID,
           qtechSNIgmpMrLearnStatus,
           qtechSNPortIndex,
           qtechSNIgmpFilteringProfile,
           qtechSNIgmpFilteringMaxGroups,
           qtechSNIgmpGDAConfigVID,
           qtechSNIgmpGDAConfigAddr,
           qtechSNIgmpGDAConfigIfIndex,
           qtechSNIgmpGDAConfigType,
           qtechSNIgmpGDAConfigStatus,
           qtechSNIgmpQueryResponeTime           
        }
        STATUS  deprecated
        DESCRIPTION
                "A collection of objects providing snooping Igmp configure.
                It is replaced by the qtechIgmpSnoopingMIBGroup2."
        ::= { qtechIgmpSnoopingMIBGroups 1 }
        
qtechIgmpSnoopingMIBGroup2 OBJECT-GROUP
        OBJECTS {
           qtechIgmpSnoopingWorkingMode,
           qtechIgmpSnoopingGDANumber,
           qtechIgmpSnoopingGDAVID,
           qtechIgmpSnoopingGDAAddr,
           qtechIgmpSnoopingGDAPortMemberAction,
           qtechIgmpSnoopingVlanStatusVID,
           qtechIgmpSnoopingVlanStatusStatus,
           qtechIgmpSnoopingSvglVID,   
           qtechIgmpSnoopingSvglProfile,	      
           qtechIgmpSnoopingMrLearnVID,
           qtechIgmpSnoopingMrLearnStatus,
           qtechIgmpSnoopingportIndex,
           qtechIgmpSnoopingFilteringProfile,
           qtechIgmpSnoopingFilteringMaxGroups,
           qtechIgmpSnoopingGDAConfigVID,
           qtechIgmpSnoopingGDAConfigAddr,
           qtechIgmpSnoopingGDAConfigIfIndex,
           qtechIgmpSnoopingQueryResponeTime,    
           qtechIgmpSnoopingReportSuppress,
           qtechIgmpSnoopingFastleave,
           qtechIgmpSnoopingGDANewInVID,
       	   qtechIgmpSnoopingGDANewOutVID,
       	   qtechIgsmpSnoopingGDASrc,
           qtechIgmpSnoopingGDAGrp,
           qtechIgmpSnoopingGDAIfx,
           qtechIgmpSnoopingGDAIfxAction,
           qtechIgmpSnoopingMulticastWlan	         
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing snooping Igmp configure ."
        ::= { qtechIgmpSnoopingMIBGroups 2 }
        
END
