TPLINK-IGMPSNOOPING-MIB DEFINITIONS ::= BEGIN

          IMPORTS
             
             OBJECT-TYPE,MODULE-IDENTITY,IpAddress
          	  	        FROM SNMPv2-SMI
			TPRowStatus
				FROM TPLINK-TC-MIB 
			ifIndex
						FROM RFC1213-MIB
			tplinkMgmt
					FROM TPLINK-MIB;
          	  	          
          	 
	    tplinkIgmpSnoopingMIB MODULE-IDENTITY
	    LAST-UPDATED    "201212141432Z"
	    ORGANIZATION    "TPLINK"
	    CONTACT-INFO  	"www.tplink.com"
	    DESCRIPTION
	             "Private MIB for igmpSnooping manage."
	    REVISION        "201212141432Z"
	    DESCRIPTION
	            "Initial version of this MIB module."
	    ::= { tplinkMgmt 25 }
				
				tplinkIgmpSnoopingMIBObjects   			OBJECT IDENTIFIER ::= {tplinkIgmpSnoopingMIB 1}
	  			tplinkIgmpSnoopingNotifications			OBJECT IDENTIFIER ::= {tplinkIgmpSnoopingMIB 2}
        
		tpIgmpSnooping   					OBJECT IDENTIFIER ::= {tplinkIgmpSnoopingMIBObjects 1}
	  	tpIgmpFilter						OBJECT IDENTIFIER ::= {tplinkIgmpSnoopingMIBObjects 2}
	  	tpIgmpAuth							OBJECT IDENTIFIER ::= {tplinkIgmpSnoopingMIBObjects 3}
	  	tpIgmpPacketStatistic				OBJECT IDENTIFIER ::= {tplinkIgmpSnoopingMIBObjects 4}
	  	tpIgmpMultigroup                    OBJECT IDENTIFIER ::= {tplinkIgmpSnoopingMIBObjects 5}
	  	tpIgmpStaticMultigroup              OBJECT IDENTIFIER ::= {tplinkIgmpSnoopingMIBObjects 6}
		
		--**************
		--IGMP SNOOPING
		--**************
		tpIgmpSnoopingGlobalConfig OBJECT IDENTIFIER ::= {tpIgmpSnooping 1}
	
			tpIgmpSnoopingEnable OBJECT-TYPE
         			SYNTAX  INTEGER{
	      							disable(0), 						--disable
	      							enable(1)								--enable
	      							}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable IGMP Snooping function globally on the Switch.
                      0. disable 
                      1. enable"
              ::= { tpIgmpSnoopingGlobalConfig 1 }
              
      	    tpIgmpSnoopingVersion OBJECT-TYPE
         			SYNTAX  INTEGER{
	      							igmpv1(0), 					--V1
	      							igmpv2(1),					--V2
	      							igmpv3(2)					--V3
	      							}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select the operation for the switch to process config the igmp version.
                      0. IGMPv1 
                      1. IGMPv2
                      2. IGMPv3"
              ::= { tpIgmpSnoopingGlobalConfig 2 }
              
         	tpUnknownMulticastPacket OBJECT-TYPE
         			SYNTAX  INTEGER{
	      							forward(0), 						--forward
	      							discard(1)					--discard
	      							}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select the operation for the switch to process unknown multicast.
                      0. forward 
                      1. discard"
              ::= { tpIgmpSnoopingGlobalConfig 3 } 
                       
            tpIgmpHeaderValidation OBJECT-TYPE
         			SYNTAX  INTEGER{
	      							disable(0), 				--disable
	      							enable(1)					--enable
	      						   }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable IGMP Snooping header validation on the Switch.
                      0. disable 
                      1. enable"
              ::= { tpIgmpSnoopingGlobalConfig 4 }    
                   
        tpIgmpPortConfig   	OBJECT IDENTIFIER ::= {tpIgmpSnooping 2}
         
         
            tpIgmpPortTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF TPIGMPPORTENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "IGMP Snooping (Internet Group Management Protocol Snooping) 
                      is a multicast control mechanism running on Layer 2 switch. 
                      It can effectively prevent multicast groups being broadcasted 
                      in the network."
              ::= { tpIgmpPortConfig 1 }

          tpIgmpPortEntry OBJECT-TYPE
              SYNTAX  TPIGMPPORTENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "An entry contains of the information of port configure."
              INDEX { ifIndex }
              ::= { tpIgmpPortTable 1 }
      
          TPIGMPPORTENTRY ::=
              SEQUENCE {
                  tpIgmpSnoopingPortEnable
                      INTEGER,
                  tpIgmpFastLeavePortEnable
                      INTEGER,
                  tpIgmpPortLag
                  		OCTET STRING
                   		
              	}      
          tpIgmpSnoopingPortEnable OBJECT-TYPE
              SYNTAX  INTEGER{
	      										disable(0), 					--Disable
	      										enable(1)						--Enable
	      											}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable IGMP Snooping for the desired port.
                      0. Disable
                      1. Enable"
              ::= { tpIgmpPortEntry 2 }
              
          tpIgmpFastLeavePortEnable OBJECT-TYPE
               SYNTAX  INTEGER{
	      										disable(0), 					--Disable
	      										enable(1)						--Enable
	      											}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable Fast Leave feature for the desired port. 
                      If Fast Leave is enabled for a port, the Switch will immediately 
                      remove this port from the multicast group upon receiving IGMP 
                      leave messages.
                      0. Disable
                      1. Enable"
              ::= { tpIgmpPortEntry 3 }
              
            tpIgmpPortLag OBJECT-TYPE
          		SYNTAX  OCTET STRING (SIZE (0..255))
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      	"Displays the LAG number which the port belongs to."
              ::= { tpIgmpPortEntry 4 } 
             
          
        tpIgmpVlanConfig   	OBJECT IDENTIFIER ::= {tpIgmpSnooping 3}
        
           tpIgmpVlanTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF TPIGMPVLANENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Multicast groups established by IGMP Snooping are based on VLANs. 
                      You can configure different IGMP parameters for different VLANs.
"
              ::= { tpIgmpVlanConfig 1 }

          tpIgmpVlanEntry OBJECT-TYPE
              SYNTAX  TPIGMPVLANENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "An entry contains of the information of igmpsnooping."
              INDEX   {tpIgmpVlanId}
              ::= { tpIgmpVlanTable 1 }
      
          TPIGMPVLANENTRY ::=
              SEQUENCE {
                  tpIgmpVlanId
                      INTEGER,
                  tpIgmpVlanEnable
                  	  INTEGER,
                  tpIgmpVlanFastLeave
                      INTEGER,
                  tpIgmpVlanReportSuppression
                      INTEGER,
                  tpIgmpRouterTime
                      INTEGER, 
                  tpIgmpMemberTime
                  		INTEGER,
                  tpIgmpLeaveTime
                  		INTEGER,				  
                  tpIgmpRouterPort
                 		OCTET STRING,
                  tpIgmpForbiddenRouterPort
                 		OCTET STRING,
                  tpIgmpQueryEnable
                      	INTEGER,
                  tpIgmpQueryInterval
                      	INTEGER, 
                  tpIgmpQueryMaxResponseTime
                  	  	INTEGER,
                  tpIgmpQueryGeneralSrcIp
                 		IpAddress,
                  tpIgmpQueryLastMemberCount
                      	INTEGER, 
                  tpIgmpQueryLastMemberInterval
                  	  	INTEGER,                  
                  tpIgmpVlanStatus
                      TPRowStatus
              }
              
          tpIgmpVlanId OBJECT-TYPE
              SYNTAX  INTEGER (1..4094)  
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Enter the VLAN ID to enable IGMP Snooping for the desired VLAN,1-4094."
              ::= { tpIgmpVlanEntry 1 }   
              
         tpIgmpVlanEnable OBJECT-TYPE
               SYNTAX  INTEGER{
	      						   disable(0), 					--Disable
	      						   enable(1)					--Enable
	      					  }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable IGMP Snooping for the desired vlan.
                      0. Disable
                      1. Enable"
              ::= { tpIgmpVlanEntry 2 }   
          
          tpIgmpVlanFastLeave OBJECT-TYPE
               SYNTAX  INTEGER{
	      						   disable(0), 					--Disable
	      						   enable(1)					--Enable
	      					  }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable Fast Leave feature for the desired vlan. 
                      If Fast Leave is enabled for a vlan, the Switch will immediately 
                      remove this port from the multicast group upon receiving IGMP 
                      leave messages.
                      0. Disable
                      1. Enable"
              ::= { tpIgmpVlanEntry 3 }
              
         tpIgmpVlanReportSuppression OBJECT-TYPE
               SYNTAX  INTEGER{
	      						   disable(0), 					--Disable
	      						   enable(1)					--Enable
	      					  }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable IGMP Snooping report suppression function globally on the Switch.
                      0. Disable
                      1. Enable"
              ::= { tpIgmpVlanEntry 4 }

          tpIgmpRouterTime OBJECT-TYPE
              SYNTAX  INTEGER(60..600)  
              MAX-ACCESS  read-create
              STATUS  current
              DESCRIPTION
                      "Specify the aging time of the router port. Within this time, 
                      if the switch don't receive IGMP query message from the router port, 
                      it will consider this port is not a router port any more,0,60-600 second."
              ::= { tpIgmpVlanEntry 5 }
              
          tpIgmpMemberTime OBJECT-TYPE
              SYNTAX  INTEGER(60..600)  
              MAX-ACCESS  read-create
              STATUS  current
              DESCRIPTION
                      "Specify the aging time of the member port. Within this time, 
                      if the switch don't receive IGMP report message from the member port,
                      it will consider this port is not a member port any more,0,60-600 second."
              ::= { tpIgmpVlanEntry 6}

          tpIgmpLeaveTime OBJECT-TYPE
              SYNTAX  INTEGER(1..30)  
              MAX-ACCESS  read-create
              STATUS  current
              DESCRIPTION
                      "Specify the leave time for the VLAN. 
					  When the switch receives a leave message from a port to leave a multicast group, 
					  it will wait for a leave time before removing the port from the multicast group."
              ::= { tpIgmpVlanEntry 7}			  
 
          tpIgmpRouterPort OBJECT-TYPE
              SYNTAX  OCTET STRING (SIZE (0..255))
              MAX-ACCESS  read-create
              STATUS  current
              DESCRIPTION
                      "Config the static router ports which are mainly used in the network with 
                      stable topology."
              ::= { tpIgmpVlanEntry 8 }

          tpIgmpForbiddenRouterPort OBJECT-TYPE
              SYNTAX  OCTET STRING (SIZE (0..255))
              MAX-ACCESS  read-create
              STATUS  current
              DESCRIPTION
                      "Config the forbidden router ports which are mainly used to forbidden
                      specified ports to become router ports."
              ::= { tpIgmpVlanEntry 9 }   
              
          tpIgmpQueryEnable OBJECT-TYPE
               SYNTAX  INTEGER{
	      						   disable(0), 					--Disable
	      						   enable(1)					--Enable
	      					  }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable IGMP Querier.
                      0. Disable
                      1. Enable"
              ::= { tpIgmpVlanEntry 10 }

          tpIgmpQueryInterval OBJECT-TYPE
              SYNTAX  INTEGER(10..300)  
              MAX-ACCESS  read-create
              STATUS  current
              DESCRIPTION
                      "Enter the Query message interval time. The Querier will send General Query Message with this interval. The interval is ranging from 10 to 300 seconds."
              ::= { tpIgmpVlanEntry 11 }
              
          tpIgmpQueryMaxResponseTime OBJECT-TYPE
              SYNTAX  INTEGER(1..25)  
              MAX-ACCESS  read-create
              STATUS  current
              DESCRIPTION
                      "Enter the value of Maximum Response Time field of the Query message. The host is expected to response to an IGMP general query within this time. The time is ranging from 1 to 25 seconds."
              ::= { tpIgmpVlanEntry 12}
              
          tpIgmpQueryGeneralSrcIp OBJECT-TYPE
              SYNTAX  IpAddress  
              MAX-ACCESS  read-create
              STATUS  current
              DESCRIPTION
                      "Enter the General Query Message source IP address."
              ::= { tpIgmpVlanEntry 13}
          
         tpIgmpQueryLastMemberCount OBJECT-TYPE
              SYNTAX  INTEGER(1..5)  
              MAX-ACCESS  read-create
              STATUS  current
              DESCRIPTION
                      "Enter the Last Listener Query numbers. When the multicast group has no more member ports, 
                      it will send this numbers of Specific Query Message to check whether there is another member. 
                      It is ranging from 1 to 5."
              ::= { tpIgmpVlanEntry 14}
              
         tpIgmpQueryLastMemberInterval OBJECT-TYPE
              SYNTAX  INTEGER(1..5)  
              MAX-ACCESS  read-create
              STATUS  current
              DESCRIPTION
                      "Enter the Last Listener Query interval time. When the multicast group has no more member ports, 
                      it will send the Specific Query Message with this interval time to check whether there is another 
                      member. The interval is ranging from 1 to 5 seconds."
              ::= { tpIgmpVlanEntry 15}
            
         tpIgmpVlanStatus OBJECT-TYPE
              SYNTAX  TPRowStatus
              MAX-ACCESS  read-create
              STATUS  current
              DESCRIPTION
                      "the following two values are states:
                     these values may be read or written
                     active(1),
                     notInService(2),

                     the following value is a state:
                     this value may be read, but not written
                     notReady(3),

                     the following three values are
                     actions: these values may be written,
                     but are never read
                     createAndGo(4),
                     createAndWait(5),
                     destroy(6)"
              ::= { tpIgmpVlanEntry 16 }
			  
		--**************
		--IGMP FILTER
		--**************	  
			      
         tpIgmpPortFilterConfig            OBJECT IDENTIFIER ::= { tpIgmpFilter 1 }  
          tpIgmpFilterPortTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF TPIGMPFILTERPORTENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "When the switch receives IGMP report message, it examines 
                      the multicast filtering IP ID configured on the access port 
                      to determine if the port can join the multicast group. 
                      If the multicast IP is not filtered, the switch will add 
                      the port to the forward port list of the multicast group. 
                      Otherwise, the switch will drop the IGMP report message. 
                      In that way, you can control the multicast groups that users 
                      can access."
              ::= { tpIgmpPortFilterConfig 1 }

          tpIgmpFilterPortEntry OBJECT-TYPE
              SYNTAX  TPIGMPFILTERPORTENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "An entry contains of the information of a port param."
              INDEX { ifIndex }
              ::= { tpIgmpFilterPortTable 1 }
      
          TPIGMPFILTERPORTENTRY ::=
              SEQUENCE {
                  tpIgmpFilterMaxGroup
                      INTEGER,
                  tpIgmpFilterMaxGroupAction
                      INTEGER,
                  tpIgmpFilterBindAddrId
                  		 OCTET STRING,
                  tpIgmpFilterPortLag
                  		 OCTET STRING 
                  		
              	}
                     
           tpIgmpFilterMaxGroup OBJECT-TYPE
               SYNTAX  INTEGER(0..1000)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Specify the maximum number of multicast groups to prevent some 
                      ports taking up too much bandwidth."
              ::= { tpIgmpFilterPortEntry 2 }
              
          tpIgmpFilterMaxGroupAction OBJECT-TYPE
               SYNTAX  INTEGER{ 
	      										drop(0), 				--Drop
	      										replace(1)				--Replace
	      											}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "The policy should be taken when the number of multicast group 
					  a port has joined reach the maximum.
                      0.Drop: drop the successive report packet, and this port can 
					  not join any other multicast group.
                      1.Replace: when the port joins another new multicast group,it 
					  will quit the existing multicast group randomly."
              ::= { tpIgmpFilterPortEntry 3 }
              
          tpIgmpFilterBindAddrId OBJECT-TYPE
              SYNTAX  OCTET STRING (SIZE (0..3))
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Enter the profile ID the port will be bound to. Only one profile
					  can be bound to each port."
              ::= { tpIgmpFilterPortEntry 4 }

          tpIgmpFilterPortLag OBJECT-TYPE
          		SYNTAX  OCTET STRING (SIZE (0..255)) 
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      	"Displays the LAG number which the port belongs to."
              ::= { tpIgmpFilterPortEntry 5 }
        
        --********************
		--IGMP Authentication
		--********************	  
			      
         tpIgmpPortAuthConfig            OBJECT IDENTIFIER ::= { tpIgmpAuth 1 }  
          tpIgmpAuthPortTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF TPIGMPAUTHPORTENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "IGMP Authentication can control the access of multicast packets."
              ::= { tpIgmpPortAuthConfig 1 }

          tpIgmpAuthPortEntry OBJECT-TYPE
              SYNTAX  TPIGMPAUTHPORTENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "An entry contains of the information of port authentication configure."
              INDEX { ifIndex }
              ::= { tpIgmpAuthPortTable 1 }
      
          TPIGMPAUTHPORTENTRY ::=
              SEQUENCE {
                  tpIgmpAuthEnable
                      INTEGER,
                  tpIgmpAuthPortLag
                  		 OCTET STRING 
              	}
                                   
          tpIgmpAuthEnable OBJECT-TYPE
  			  SYNTAX  INTEGER{
	      										disable(0), 					--Disable
	      										enable(1)						--Enable
	      											}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable IGMP Authentication for the desired port.
                      0. Disable
                      1. Enable"
              ::= { tpIgmpAuthPortEntry 2 }
        
          tpIgmpAuthPortLag OBJECT-TYPE
          	  SYNTAX  OCTET STRING (SIZE (0..255)) 
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      	"Displays the LAG number which the port belongs to."
              ::= { tpIgmpAuthPortEntry 3 } 
 	 
		tpIgmpGlobalAuthAccountConfig  		OBJECT IDENTIFIER ::= {tpIgmpAuth 2}
		  tpIgmpGlobalAuthAccountConfigEable OBJECT-TYPE
	         SYNTAX  INTEGER{
	      	 disable(0), 						
	      	 enable(1)						
	      	 }
	         MAX-ACCESS  read-write
	         STATUS  current
	         DESCRIPTION
	               "0. disable 
	               1. enable
	               Enable/Disable the IGMP Authentication Accounting."
	         ::= { tpIgmpGlobalAuthAccountConfig 1 }
 
		--**************
		--PACKET STAT
		--**************	  
		tpIgmpPktStat    OBJECT IDENTIFIER ::= { tpIgmpPacketStatistic 1 }      	      
          
          tpIgmpPktStatTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF TPIGMPPKTSTATENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "A list of  multicast statistic Table."
              ::= { tpIgmpPktStat 1 }

          tpIgmpPktStatEntry OBJECT-TYPE
              SYNTAX  TPIGMPPKTSTATENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "An entry contains of multicast packet statistics over each port."
              INDEX { ifIndex }
              ::= { tpIgmpPktStatTable 1 }
      
          TPIGMPPKTSTATENTRY ::=
              SEQUENCE {
                  tpIgmpQueryPktStat
                      INTEGER,
                 	tpIgmpReportV1PktStat
              				INTEGER,
                  tpIgmpReportV2PktStat
                      INTEGER,
                  tpIgmpReportV3PktStat
                      INTEGER,
                 	tpIgmpLeavePktStat
              				INTEGER,
                  tpIgmpErrorPktStat
                      INTEGER
              }
                 
            tpIgmpQueryPktStat OBJECT-TYPE
            	 SYNTAX  INTEGER
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Displays the number of query packets the port received."
              ::= { tpIgmpPktStatEntry 2 }
           
        	tpIgmpReportV1PktStat OBJECT-TYPE
            	 SYNTAX  INTEGER
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Displays the number of IGMPv1 report packets the port received."
              ::= { tpIgmpPktStatEntry 3 }
                 
          tpIgmpReportV2PktStat OBJECT-TYPE
            	 SYNTAX  INTEGER
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Displays the number of IGMPv2 report packets the port received."
              ::= { tpIgmpPktStatEntry 4 }
              
          tpIgmpReportV3PktStat OBJECT-TYPE
            	 SYNTAX  INTEGER
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Displays the number of IGMPv3 report packets the port received."
              ::= { tpIgmpPktStatEntry 5 }
                 
           tpIgmpLeavePktStat OBJECT-TYPE
            	 SYNTAX  INTEGER
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Displays the number of leave packets the port received."
              ::= { tpIgmpPktStatEntry 6 }
              
            tpIgmpErrorPktStat OBJECT-TYPE
            	 SYNTAX  INTEGER
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Displays the number of error packets the port received."
              ::= { tpIgmpPktStatEntry 7 }
       
		       tpIpIgmpPktStatClear OBJECT-TYPE
		            	 SYNTAX INTEGER
									   				{
									   					commit(1)
									   				}
		              MAX-ACCESS  read-write
		              STATUS  current
		              DESCRIPTION
		                      "igmp packet statistic clear."
		              ::= { tpIgmpPktStat 2 }
			  
		--**************
		--GROUP SHOW
		--**************
		tpIgmpMulticastGroups               OBJECT IDENTIFIER ::= { tpIgmpMultigroup 1 }      	      

          tpIgmpMulticastGroupTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF TPIGMPMULTICASTGROUPENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "A list of  multicast groups Table."
              ::= { tpIgmpMulticastGroups 1 }

          tpIgmpMulticastGroupEntry OBJECT-TYPE
              SYNTAX  TPIGMPMULTICASTGROUPENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "An entry contains of multicast packet statistics over each port."
              INDEX   { tpIgmpMulticastIP ,  tpIgmpVlanID}
              ::= { tpIgmpMulticastGroupTable 1 }
      
          TPIGMPMULTICASTGROUPENTRY ::=
              SEQUENCE {
                  tpIgmpMulticastIP
                      IpAddress,
                 tpIgmpVlanID
              				INTEGER,
                  tpIgmpForwardPorts
                      OCTET STRING,
                  tpIgmpGrouptype
                      INTEGER
              }
                 
            tpIgmpMulticastIP OBJECT-TYPE
            	 SYNTAX  IpAddress
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Displays the multicast IP address."
              ::= { tpIgmpMulticastGroupEntry 1 }
              
            tpIgmpVlanID OBJECT-TYPE
            	 SYNTAX  INTEGER
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Displays the VLAN ID."
              ::= { tpIgmpMulticastGroupEntry 2 }
           
            tpIgmpForwardPorts OBJECT-TYPE
            	 SYNTAX  OCTET STRING(SIZE (0..50))
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Displays the forward ports of multicast group."
              ::= { tpIgmpMulticastGroupEntry 3 }
                 
          tpIgmpGrouptype OBJECT-TYPE
            	 SYNTAX  INTEGER{
	      		static(0), 						
	      		dynamic(1)						
	      		}
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Displays the type of multicast group."
              ::= { tpIgmpMulticastGroupEntry 4 }
		--**************
		--STATIC GROUP
		--**************
		tpIgmpMulticastStaticGroups              OBJECT IDENTIFIER ::= { tpIgmpStaticMultigroup 1 }      	      

          tpIgmpMulticastStaticGroupTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF TPIGMPMULTICASTSTATICGROUPENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "A list of  multicast groups Table."
              ::= { tpIgmpMulticastStaticGroups 1 }

          tpIgmpMulticastStaticGroupEntry OBJECT-TYPE
              SYNTAX  TPIGMPMULTICASTSTATICGROUPENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "An entry contains of multicast packet statistics over each port."
              INDEX   { tpIgmpStaticMulticastIP , tpIgmpStaticVlanID }
              ::= { tpIgmpMulticastStaticGroupTable 1 }
      
          TPIGMPMULTICASTSTATICGROUPENTRY ::=
              SEQUENCE {
                  tpIgmpStaticMulticastIP
                      IpAddress,
                 tpIgmpStaticVlanID
              		INTEGER,
                  tpIgmpStaticForwardPorts
                      OCTET STRING,
                  tpIgmpStaticGroupStatus
                      TPRowStatus
              }
                 
            tpIgmpStaticMulticastIP OBJECT-TYPE
            	 SYNTAX  IpAddress
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The multicast IP address."
              ::= { tpIgmpMulticastStaticGroupEntry 1 }
              
             tpIgmpStaticVlanID OBJECT-TYPE
            	 SYNTAX  INTEGER
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The VLAN ID."
              ::= { tpIgmpMulticastStaticGroupEntry 2 }
           
            tpIgmpStaticForwardPorts OBJECT-TYPE
            	 SYNTAX  OCTET STRING(SIZE (0..50))
              MAX-ACCESS  read-create
              STATUS  current
              DESCRIPTION
                      "The forward ports of multicast group."
              ::= { tpIgmpMulticastStaticGroupEntry 3 }
                 
          tpIgmpStaticGroupStatus  OBJECT-TYPE
	     SYNTAX  TPRowStatus  
	      MAX-ACCESS  read-create
	      STATUS  current
	      DESCRIPTION
	             "  The following values are states:
                     these values may be used as follow:
                     
                     active(1),if the entry is being used.
                     notInService(2),destory the entry.
                     notReady(3),destory the entry.
                     createAndGo(4),not being used
                     createAndWait(5),creat a new entry
                     destroy(6),destory the entry."
              ::= { tpIgmpMulticastStaticGroupEntry 4 }
			  
			  
			  
		END