TPLINK-PIM-MIB DEFINITIONS ::= BEGIN

	IMPORTS
		MODULE-IDENTITY, OBJECT-TYPE, IpAddress ,Integer32 ,TimeTicks
			FROM SNMPv2-SMI   
		tplinkMgmt
			FROM TPLINK-MIB;
				
	tplinkPimMIB MODULE-IDENTITY
		LAST-UPDATED    "201212130930Z"
		ORGANIZATION    "TPLINK"
		CONTACT-INFO    "www.tplink.com"
		DESCRIPTION	    "Private MIB for PIM configuration."
		REVISION        "201212130930Z"
		DESCRIPTION
				"Initial version of this MIB module."
		::= { tplinkMgmt 77 }

	tplinkPimMIBObjects		OBJECT IDENTIFIER	::= { tplinkPimMIB 1 }
	tplinkPimNotifications	OBJECT IDENTIFIER	::= { tplinkPimMIB 2 }
	tpPim                     OBJECT IDENTIFIER   ::= { tplinkPimMIBObjects 1 }



	tpSGExpiryTimer OBJECT-TYPE
		SYNTAX     Integer32 (60..65535)
		UNITS      "seconds"
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
				"Specify the expiry timer for the entry."
		::= { tpPim 1 }
		
	tpPimdataThresholdRate OBJECT-TYPE
		SYNTAX     INTEGER { zero(0),infinity(1) }
		UNITS      "seconds"
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
				"Select rate which the last-hop router will switch to a source-specific shortest path tree. Specify infinity if you want all sources for the specified group to use the shared tree, never switching to the source tree.The default is 0 kbps. "
		::= { tpPim 2 }


		
-- The PIM Interface Table

	tpPimInterfaceTable OBJECT-TYPE
		SYNTAX     SEQUENCE OF TpPimInterfaceEntry
		MAX-ACCESS not-accessible
		STATUS     current
		DESCRIPTION
				"The (conceptual) table listing the router's PIM interfaces.
				IGMP and PIM are enabled on all interfaces listed in this
				table."
		::= { tpPim 3 }

	tpPimInterfaceEntry OBJECT-TYPE
		SYNTAX     TpPimInterfaceEntry
		MAX-ACCESS not-accessible
		STATUS     current
		DESCRIPTION
				"An entry (conceptual row) in the pimInterfaceTable."
		INDEX      { tpPimInterfaceIndex }
		::= { tpPimInterfaceTable 1 }

	TpPimInterfaceEntry ::= SEQUENCE {
	    tpPimInterface            	     OCTET STRING (SIZE (0..25)),
		tpPimInterfaceIndex              Integer32,	
		tpPimInterfaceType			     INTEGER,
		tpPimInterfaceAddress            IpAddress,
		tpPimInterfaceNetMask            IpAddress,
		tpPimInterfaceMode               INTEGER,
		tpPimInterfaceDRPriority		 INTEGER,
		tpPimInterfaceDRAddress          IpAddress,
		tpPimInterfaceHelloInterval      Integer32,
		tpPimInterfaceBsrBorder	         INTEGER,
		tpPimInterfaceJoinPruneInterval  Integer32
	}
	tpPimInterface  OBJECT-TYPE
		SYNTAX  OCTET STRING (SIZE (0..25))  
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
			" Display the interface which you can configure."
		::= { tpPimInterfaceEntry 1 }
		
	tpPimInterfaceIndex OBJECT-TYPE
		SYNTAX     Integer32
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
				"The Index value of this PIM interface."
		::= { tpPimInterfaceEntry 2 }
	

		
	tpPimInterfaceType OBJECT-TYPE
		SYNTAX     INTEGER { vlan(0),loopback(1), routeport(2) }
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
				"The configured type of this interface."
		DEFVAL     { vlan }
		::= { tpPimInterfaceEntry 3 }	
		
	tpPimInterfaceAddress OBJECT-TYPE
		SYNTAX     IpAddress
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
				"The IP address of the PIM interface."
		::= { tpPimInterfaceEntry 4 }

	tpPimInterfaceNetMask OBJECT-TYPE
		SYNTAX     IpAddress
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
				"The network mask for the IP address of the PIM interface."
		::= { tpPimInterfaceEntry 5 }

	tpPimInterfaceMode OBJECT-TYPE
		SYNTAX     INTEGER { disable(0),dense(1), sparse(2) }
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
				"The configured mode of this PIM interface."
		DEFVAL     { disable }
		::= { tpPimInterfaceEntry 6 }
		
	tpPimInterfaceDRPriority OBJECT-TYPE
		SYNTAX     INTEGER
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
				"The Designated Router Priority value inserted into the 
				DR Priority option on this interface.Numerically higher
				values for this object indicate higher priorities."
					DEFVAL     { 1 }
		::= { tpPimInterfaceEntry 7 }

	tpPimInterfaceDRAddress OBJECT-TYPE
		SYNTAX     IpAddress
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
				"The Designated Router on this PIM interface.  For point-
				to-point interfaces, this object has the value 0.0.0.0."
		::= { tpPimInterfaceEntry 8 }

	tpPimInterfaceHelloInterval OBJECT-TYPE
		SYNTAX     Integer32 (1..18725)
		UNITS      "seconds"
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
				"The frequency at which PIM Hello messages are transmitted
				on this interface."
		DEFVAL     { 30 }
		::= { tpPimInterfaceEntry 9 }
		
	tpPimInterfaceBsrBorder OBJECT-TYPE
		SYNTAX     INTEGER { disable(0),enable(1)}
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
				"The frequency at which PIM Hello messages are transmitted
				on this interface."
		DEFVAL     { disable }
		::= { tpPimInterfaceEntry 10 }


	tpPimInterfaceJoinPruneInterval OBJECT-TYPE
		SYNTAX     Integer32 (1..18724)
		UNITS      "seconds"
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
			"The frequency at which PIM Join/Prune messages are transmitted 
			on this PIM interface. This object corresponds to the 't_periodic' 
			timer value defined in the PIM-SM specification 
			[I-D.ietf-pim-sm-v2-new].  A value of 0 represents an 'infinite' 
			interval, and indicates that periodic PIM Join/Prune messages 
			should not be sent on this interface."
		DEFVAL     { 60 }
		::= { tpPimInterfaceEntry 11 }


-- The PIM Neighbor Table

	tpPimNeighborTable OBJECT-TYPE
		SYNTAX     SEQUENCE OF TpPimNeighborEntry
		MAX-ACCESS not-accessible
		STATUS     current
		DESCRIPTION
				"The (conceptual) table listing the router's PIM neighbors."
		::= { tpPim 4 }

	tpPimNeighborEntry OBJECT-TYPE
		SYNTAX     TpPimNeighborEntry
		MAX-ACCESS not-accessible
		STATUS     current
		DESCRIPTION
				"An entry (conceptual row) in the pimNeighborTable."
		INDEX      { tpPimNeighborAddress }
		::= { tpPimNeighborTable 1 }

	TpPimNeighborEntry ::= SEQUENCE {
		tpPimNeighborInterface    		 OCTET STRING (SIZE (0..25)),
		tpPimNeighborInterfaceIndex      Integer32,
		tpPimNeighborAddress      		 IpAddress,
		tpPimNeighborUpTime      		 TimeTicks,
		tpPimNeighborExpiryTime   		 TimeTicks,
		tpPimNeighborMode         		 INTEGER
	}
	tpPimNeighborInterface OBJECT-TYPE
		SYNTAX     OCTET STRING (SIZE (0..25))
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
				"The interface used to reach this PIM neighbor."
		::= { tpPimNeighborEntry 1 }
	tpPimNeighborInterfaceIndex OBJECT-TYPE
		SYNTAX     Integer32
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
				"The value of ifIndex for the interface used to reach this
				PIM neighbor."
		::= { tpPimNeighborEntry 2 }
		
	tpPimNeighborAddress OBJECT-TYPE
		SYNTAX     IpAddress
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
				"The IP address of the PIM neighbor for which this entry
				contains information."
		::= { tpPimNeighborEntry 3 }

	tpPimNeighborUpTime OBJECT-TYPE
		SYNTAX     TimeTicks
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
				"The time since this PIM neighbor (last) became a neighbor
				of the local router."
		::= { tpPimNeighborEntry 4 }

	tpPimNeighborExpiryTime OBJECT-TYPE
		SYNTAX     TimeTicks
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
				"The minimum time remaining before this PIM neighbor will be
				aged out."
		::= { tpPimNeighborEntry 5 }

	tpPimNeighborMode OBJECT-TYPE
		SYNTAX     INTEGER { dense(1), sparse(2) }
		MAX-ACCESS read-only
		STATUS     deprecated
		DESCRIPTION
				"The active PIM mode of this neighbor.  This object is
			deprecated for PIMv2 routers since all neighbors on the
			interface must be either dense or sparse as determined by
			the protocol running on the interface."
		::= { tpPimNeighborEntry 6 }
		
	
	tpPimCandidateBSRSet OBJECT IDENTIFIER ::= { tpPim 5}
	
	tpPimCBSRInterface OBJECT-TYPE
		SYNTAX     OCTET STRING (SIZE (0..25))
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
				"Specify the interface of the BSR.  "
		::= { tpPimCandidateBSRSet 1 }	
	tpPimCBSRInterfaceIndex OBJECT-TYPE
		SYNTAX     Integer32
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
				"Specify the interface index of the BSR.  "
		::= { tpPimCandidateBSRSet 2 }
		
	tpPimCBSRHashMaskLength OBJECT-TYPE
		SYNTAX     Integer32(0..32)
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
				"Specify the hash mask length of the BSR. The default value is 30.  "
		DEFVAL     { 30 }
		::= { tpPimCandidateBSRSet 3 }
		
	tpPimCBSRPriority OBJECT-TYPE
		SYNTAX     Integer32(0..255)
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
				"Specify the priority of the BSR. The default value is 64.  "
		DEFVAL     { 64 }
		::= { tpPimCandidateBSRSet 4 }
	
		
	tpPimStaticRpSet		OBJECT IDENTIFIER ::= { tpPim 6}
		
	tpPimStaticRpAddress OBJECT-TYPE
		SYNTAX     IpAddress
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
				"Specify the static RP address. "
		::= { tpPimStaticRpSet 1 }
		
	tpPimStaticRpOverride OBJECT-TYPE
		SYNTAX     INTEGER { disable(0), enable(1) }
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
				" Select to enable or disable override mode. 
				If the override mode is enabled, the static RP will take effect no matter the candidate RP is configured or not.
				 Otherwise the static RP will be invalid when the candidate RP is configured.   "
		::= { tpPimStaticRpSet 2 }



-- The PIM Candidate RP-Set Table

	tpPimCandidateRPSetTable OBJECT-TYPE
		SYNTAX     SEQUENCE OF TpPimCandidateRPSetEntry
		MAX-ACCESS not-accessible
		STATUS     current
		DESCRIPTION
				"The (conceptual) table listing PIM information for
				candidate Rendezvous Points (RPs) for IP multicast groups.
				When the local router is the BSR, this information is
			obtained from received Candidate-RP-Advertisements.  When
			the local router is not the BSR, this information is
			obtained from received RP-Set messages."
		::= { tpPim 7 }

	tpPimCandidateRPSetEntry OBJECT-TYPE
		SYNTAX     TpPimCandidateRPSetEntry
		MAX-ACCESS not-accessible
		STATUS     current
		DESCRIPTION
				"An entry (conceptual row) in the pimRPSetTable."
		INDEX      { tpPimCRPSetInterfaceIndex}
		::= { tpPimCandidateRPSetTable 1 }

	TpPimCandidateRPSetEntry ::= SEQUENCE {
		tpPimCRPSetInterface       OCTET STRING (SIZE (0..25)),
		tpPimCRPSetInterfaceIndex  Integer32,
		tpPimCRPSetInterfaceType   INTEGER,
		tpPimCRPSetPriority        Integer32,
		tpPimCRPSetInterVal        Integer32,
		tpPimCRPSetNextAdvertisementTime       TimeTicks,
		tpPimCRPSetInterfaceStatus  INTEGER
	}
	
	tpPimCRPSetInterface OBJECT-TYPE
		SYNTAX     OCTET STRING (SIZE (0..25))
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
				" The c rp interface."
		::= { tpPimCandidateRPSetEntry 1 }
	tpPimCRPSetInterfaceIndex OBJECT-TYPE
		SYNTAX     Integer32
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
				"The ifIndex value of this c rp interface."
		::= { tpPimCandidateRPSetEntry 2 }
		
	tpPimCRPSetInterfaceType OBJECT-TYPE
		SYNTAX     INTEGER { vlan(0), loopback(1),routeport(2)}
		MAX-ACCESS read-only
		STATUS     deprecated
		DESCRIPTION
				"The interface type."
		::= { tpPimCandidateRPSetEntry 3 }
	tpPimCRPSetPriority OBJECT-TYPE
		SYNTAX     Integer32 (0..255)
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
				"Specify the priority of the candidate RP. The default value is 192. "
		DEFVAL     { 192 }
		::= { tpPimCandidateRPSetEntry 4 }
		
	tpPimCRPSetInterVal OBJECT-TYPE
		SYNTAX     Integer32 (1..255)
		MAX-ACCESS read-write
		STATUS     current
		DESCRIPTION
				"Specify the interval of advertisement message of the candidate RP in seconds. The default value is 60.  "
		DEFVAL     { 60 }
		::= { tpPimCandidateRPSetEntry 5 }
		
	tpPimCRPSetNextAdvertisementTime OBJECT-TYPE
		SYNTAX     TimeTicks
		MAX-ACCESS read-only
		STATUS     current
		DESCRIPTION
				"Show the remain time of next RP advertisement packet send.  "
		::= { tpPimCandidateRPSetEntry 6}
	
	tpPimCRPSetInterfaceStatus OBJECT-TYPE
		SYNTAX     INTEGER { disable(0), enable(1)}
		MAX-ACCESS read-write
		STATUS     deprecated
		DESCRIPTION
				"The interface type."
		DEFVAL     { 0 }
		::= { tpPimCandidateRPSetEntry 7 }
		
-- The PIM RP Table

	tpPimRPMappingTable OBJECT-TYPE
		SYNTAX     SEQUENCE OF TpPimRPMappingEntry
		MAX-ACCESS not-accessible
		STATUS     deprecated
		DESCRIPTION
				"Show the RP mapping information. "
		::= { tpPim 8 }

	tpPimRPMappingEntry OBJECT-TYPE
		SYNTAX     TpPimRPMappingEntry
		MAX-ACCESS not-accessible
		STATUS     deprecated
		DESCRIPTION
				"An entry (conceptual row) in the tpPimRPMappingTable.  There is one
				entry per RP address for each IP multicast group."
		INDEX      { tpPimRPGroupAddress, tpPimRPAddress }
		::= { tpPimRPMappingTable 1 }

	TpPimRPMappingEntry ::= SEQUENCE {
		tpPimRPGroupAddress    IpAddress,
		tpPimRPAddress         IpAddress,
		tpPimRPInfoSource      IpAddress,
		tpPimRPPriority        INTEGER,
		tpPimRPHoldTime        TimeTicks,
		tpPimRPExpire          TimeTicks
	}

	tpPimRPGroupAddress OBJECT-TYPE
		SYNTAX     IpAddress
		MAX-ACCESS read-only
		STATUS     deprecated
		DESCRIPTION
				"The IP multicast group address for which this entry
				contains information about an RP."
		::= { tpPimRPMappingEntry 1 }

	tpPimRPAddress OBJECT-TYPE
		SYNTAX     IpAddress
		MAX-ACCESS read-only
		STATUS     deprecated
		DESCRIPTION
				"The IP multicast group address for which this entry
				contains PIM version 1 information about an RP."
		::= { tpPimRPMappingEntry 2 }

	tpPimRPInfoSource OBJECT-TYPE
		SYNTAX     IpAddress
		MAX-ACCESS read-only
		STATUS     deprecated
		DESCRIPTION
				"The state of the RP."
		::= { tpPimRPMappingEntry 3 }

	tpPimRPPriority OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS     deprecated
		DESCRIPTION
				"Show the priority of the RP. "
		::= { tpPimRPMappingEntry 4 }

	tpPimRPHoldTime OBJECT-TYPE
		SYNTAX     TimeTicks
		MAX-ACCESS read-only
		STATUS     deprecated
		DESCRIPTION
				"Show the holdtime of the RP."
		::= { tpPimRPMappingEntry 5 }
		
	tpPimRPExpire OBJECT-TYPE
		SYNTAX     TimeTicks
		MAX-ACCESS read-only
		STATUS     deprecated
		DESCRIPTION
				"Show the expiry time of the RP. If RP is static, the expiry time will be Never."
		::= { tpPimRPMappingEntry 6 }
		

-- The PIM Component Table

	-- conformance information

	-- compliance statements

	-- units of conformance

	-- PIM Traps

	-- conformance information

	-- compliance statements

	-- units of conformance
			
END
