TPLINK-MVR-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;
          	  	          
          	 
	    tplinkMvrMIB MODULE-IDENTITY
	    LAST-UPDATED    "201212141432Z"
	    ORGANIZATION    "TPLINK"
	    CONTACT-INFO  	"www.tplink.com"
	    DESCRIPTION
	             "Private MIB for mvr manage."
	    REVISION        "201212141432Z"
	    DESCRIPTION
	            "Initial version of this MIB module."
	    ::= { tplinkMgmt 99 }
				
				tplinkMvrMIBObjects   			OBJECT IDENTIFIER ::= {tplinkMvrMIB 1}
	  			tplinkMvrNotifications			OBJECT IDENTIFIER ::= {tplinkMvrMIB 2}
        
		tpMvrGlobalConfig   				OBJECT IDENTIFIER ::= {tplinkMvrMIBObjects 1}
	  	tpMvrPortConfig						OBJECT IDENTIFIER ::= {tplinkMvrMIBObjects 2}
	  	tpMvrGroupConfig					OBJECT IDENTIFIER ::= {tplinkMvrMIBObjects 3}
--	  	tpMvrPortMembershipConfig			OBJECT IDENTIFIER ::= {tplinkMvrMIBObjects 4}
	  		
		--**************************************************************************************
    	--    mvrGlobalConfig
    	--**************************************************************************************	
			tpMvrAdminMode OBJECT-TYPE
         			SYNTAX  INTEGER{
	      							disable(0), 						--disable
	      							enable(1)							--enable
	      							}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable MVR function globally on the Switch.
                      0. disable 
                      1. enable"
              ::= { tpMvrGlobalConfig 1 }
              
      	    tpMvrModeType OBJECT-TYPE
         			SYNTAX  INTEGER{
	      							compatible(1),
                     				dynamic(2)		      							}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Shows/Changes MVR mode. 
                    The value compatible(1) indicates that compatible mode is enabled.
                    A value of dynamic(2) indicates that dynamic mode is enabled."
               ::= { tpMvrGlobalConfig 2 }
              
         	tpMvrMulticastVlanId OBJECT-TYPE
         	  SYNTAX  INTEGER (1..4094)  
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Shows/Changes the Multicast Vlan number."          
              ::= { tpMvrGlobalConfig 3 } 
              
            tpMvrMaxMulticastGroupsCount OBJECT-TYPE
	          SYNTAX      INTEGER
	          MAX-ACCESS  read-only
	          STATUS      current 
	          DESCRIPTION
	                   "The maximum number of multicast groups that is supported by MVR."
	          ::= { tpMvrGlobalConfig 4 }
	
	    	tpMvrCurrentMulticastGroupsCount OBJECT-TYPE
	          SYNTAX      INTEGER
	          MAX-ACCESS  read-only
	          STATUS      current 
	          DESCRIPTION
	                   "The current number of MVR groups allocated."
	          ::= { tpMvrGlobalConfig 5 }
	          
	        tpMvrQueryTime OBJECT-TYPE
	          SYNTAX      INTEGER(1..100)
	          MAX-ACCESS  read-write
	          STATUS      current
	          DESCRIPTION
	                   "Shows/Changes the MVR Query time, in centiseconds."
      	      ::= { tpMvrGlobalConfig 6 }
      	      
      	    --**************************************************************************************
            --    mvrPortConfig
    		--**************************************************************************************
                       
            tpMvrPortTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF TPMVRPORTENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "A table of MVR control information about every bridge port.
                      This is indexed by mvrBasePort."
              ::= { tpMvrPortConfig 1 }

          tpMvrPortEntry OBJECT-TYPE
              SYNTAX  TPMVRPORTENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "An entry contains of the information of port configure."
              INDEX { ifIndex }
              ::= { tpMvrPortTable 1 }
      
          TPMVRPORTENTRY ::=
              SEQUENCE {
                  tpMvrPortEnable
                      INTEGER,
                  tpMvrPortType
                      INTEGER,
                  tpMvrPortImmediateLeaveMode
                  	  INTEGER,
                  tpMvrPortStatus
               		  INTEGER
                   		
              	}      
          tpMvrPortEnable OBJECT-TYPE
              SYNTAX  INTEGER{
	      						disable(0), 					--Disable
	      						enable(1)						--Enable
	      					}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable MVR for the desired port.
                      0. Disable
                      1. Enable"
              ::= { tpMvrPortEntry 2 }
              
          tpMvrPortType OBJECT-TYPE
               SYNTAX  INTEGER{
	      						  none(0),
	      						  source(1),
                     			  receiver(2)				      											
                     		  }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "MVR Interface type."
              ::= { tpMvrPortEntry 3 }
           
           tpMvrPortImmediateLeaveMode OBJECT-TYPE
              SYNTAX  INTEGER{
	      						disable(0), 					--Disable
	      						enable(1)						--Enable
	      					}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable Immediate Leave mode for MVR port.
                      0. Disable
                      1. Enable"
              ::= { tpMvrPortEntry 4 }  
              
           tpMvrPortStatus OBJECT-TYPE
	          SYNTAX      INTEGER{
	                     activeInVlan(1),
	                     activeNotInVlan(2),
	                     inactiveInVlan(3),
	                     inactiveNotInVlan(4)
	                    }
	          MAX-ACCESS  read-only
	          STATUS          current
	          DESCRIPTION
	                   "The interface status."
	          ::= { tpMvrPortEntry 5 }

            --**************************************************************************************
    		--    mvrGroupsConfig
    		--**************************************************************************************            
        
           tpMvrGroupTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF TPMVRGROUPSENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                       "A table of MVR groups."
              ::= { tpMvrGroupConfig 1 }

          tpMvrGroupEntry OBJECT-TYPE
              SYNTAX  TPMVRGROUPSENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "MVR information of membership group."
              INDEX   {tpMvrGroupIPAddress}
              ::= { tpMvrGroupTable 1 }
      
          TPMVRGROUPSENTRY ::=
              SEQUENCE {
                  tpMvrGroupIPAddress
                 		IpAddress,
                  tpMvrGroupStatus
                      	INTEGER,
                  tpMvrGroupForwardPorts
                        OCTET STRING,
                  tpMvrGroupAddForwardPorts
                        OCTET STRING,
                  tpMvrGroupDelForwardPorts
                        OCTET STRING,                 
                  tpMvrGroupRowStatus
                      TPRowStatus
              }       
                                  
          tpMvrGroupIPAddress OBJECT-TYPE
              SYNTAX  IpAddress  
              MAX-ACCESS  read-create
              STATUS  current
              DESCRIPTION
                      "The multicast Group IP address."
              ::= { tpMvrGroupEntry 1}
          
          tpMvrGroupStatus OBJECT-TYPE
	        SYNTAX      INTEGER{
	                     active(1),
	                     inactive(2)
	                    }       
	        MAX-ACCESS  read-only
	        STATUS      current
	        DESCRIPTION
	                   "The status of the specific MVR group."
	        ::= { tpMvrGroupEntry 2 }

          tpMvrGroupForwardPorts OBJECT-TYPE
            	 SYNTAX  OCTET STRING(SIZE (0..255))
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Display the forward ports of multicast mvr group."
              ::= { tpMvrGroupEntry 3 } 
                   
          tpMvrGroupAddForwardPorts OBJECT-TYPE
            	 SYNTAX  OCTET STRING(SIZE (0..255))
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Add forward ports to multicast mvr group."
              ::= { tpMvrGroupEntry 4 } 
               
           tpMvrGroupDelForwardPorts OBJECT-TYPE
            	 SYNTAX  OCTET STRING(SIZE (0..255))
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Delete forward ports of multicast mvr group."
              ::= { tpMvrGroupEntry 5 }
                                     
         tpMvrGroupRowStatus 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)"
              ::= { tpMvrGroupEntry 6 }              			  
		END