TPLINK-DLDP-MIB DEFINITIONS ::= BEGIN
		IMPORTS
		MODULE-IDENTITY, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE
			FROM SNMPv2-SMI
		tplinkMgmt	          
			FROM TPLINK-MIB;							
			
		tplinkDldpMIB MODULE-IDENTITY
		LAST-UPDATED    "201307030000Z"
		ORGANIZATION    "TP-LINK"
		CONTACT-INFO    " www.tplink.com"
		DESCRIPTION     "DLDP Private MIB."
		REVISION        "201307030000Z"
		DESCRIPTION     "Initial version of this MIB module."
		::= { tplinkMgmt 58 }
		
		tplinkDldpMIBObjects OBJECT IDENTIFIER ::= {tplinkDldpMIB 1}
		tplinkDldpNotifications OBJECT IDENTIFIER ::= {tplinkDldpMIB 2}
		
	    tpDldpEnable OBJECT-TYPE
         			SYNTAX  INTEGER{
	      							disable(0), 						--disable
	      							enable(1)							--enable
	      							}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable DLDP function globally on the Switch.
                      0. disable 
                      1. enable"
              ::= { tplinkDldpMIBObjects 1 } 
	    
	    tpDldpInterval OBJECT-TYPE
         			SYNTAX  INTEGER(1..30) 
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "The interval time of advertisement"
              ::= { tplinkDldpMIBObjects 2 }  

		tpDldpShutmode OBJECT-TYPE
         			SYNTAX  INTEGER{
	      							auto(0), 						--auto
	      							manual(1)						--manual
	      							}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select DLDP shut-mode globally on the Switch.
                      0. auto 
                      1. manual"
              ::= { tplinkDldpMIBObjects 3 }
			    
																										          	  	          
	   	tpDldpCtrlTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF PORTDLDPCTRLENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "A list of port configuration for DLDP."
              ::= { tplinkDldpMIBObjects 4 }
              
              
         tpDldpCtrlEntry OBJECT-TYPE
              SYNTAX  PORTDLDPCTRLENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "The entry of the port DLDP list ."
              INDEX   { tpDldpPortId }
              ::= { tpDldpCtrlTable 1 }
              
              
        PORTDLDPCTRLENTRY ::=
              SEQUENCE {
                  tpDldpPortId
                      INTEGER, 
                  tpDldpState
                  		INTEGER{
	      										disable(0), 					--Disable
	      										enable(1)						--Enable
	      											}, 
                  tpDldpProtocolState
                  		INTEGER{
	      										initial(0), 					--Initial
	      										inactive(1),					--Inactive
												active(2),						--Active
												probe(3),						--Probe
												adver(4),						--Adver
												disable(5)						--Disable
	      											},
                  tpDldpLinkState
                  		INTEGER{
	      										link-down(0),					--Link-Down
												link-up(1) 						--Link-Up
	      											}, 
                  tpDldpNeighborState
                  		INTEGER{
	      										unknown(0),						--Unknown
												unidirectional(1), 				--Unidirectional
												bidirectional(2),				--Bidirectional
												aging(3),						--Aging
												notAccess(4)					--NotAccess
	      											}
              }
              
			   tpDldpPortId  OBJECT-TYPE
			     SYNTAX  INTEGER  
			      MAX-ACCESS  read-only
			      STATUS  current
			      DESCRIPTION
			              "The port id."
			      ::= { tpDldpCtrlEntry 1 }
			      
			   tpDldpState  OBJECT-TYPE
			     SYNTAX  INTEGER{
	      										disable(0), 					--Disable
	      										enable(1)						--Enable
	      											}   
			      MAX-ACCESS  read-write
			      STATUS  current
			      DESCRIPTION
			              "The state of the DLDP."
			      ::= { tpDldpCtrlEntry 2 }
			      
			   tpDldpProtocolState  OBJECT-TYPE
			     SYNTAX  INTEGER{
	      										initial(0), 					--Initial
	      										inactive(1),					--Inactive
												active(2),						--Active
												probe(3),						--Probe
												adver(4),						--Adver
												disable(5)						--Disable
	      											} 
			      MAX-ACCESS  read-only
			      STATUS  current
			      DESCRIPTION
			              "The protocol state of the port."
			      ::= { tpDldpCtrlEntry 3 }
			      
			   tpDldpLinkState  OBJECT-TYPE
			     SYNTAX  INTEGER{
	      										link-down(0), 					--Link-Down
	      										link-up(1)						--Link-Up
	      											}  
			      MAX-ACCESS  read-only
			      STATUS  current
			      DESCRIPTION
			              "The link state of the port."
			      ::= { tpDldpCtrlEntry 4 }
			      
			   tpDldpNeighborState  OBJECT-TYPE
			     SYNTAX  INTEGER{
	      										unknown(0),						--Unknown
												unidirectional(1), 				--Unidirectional
												bidirectional(2),				--Bidirectional
												aging(3),						--Aging
												notAccess(4)					--NotAccess
	      											}  
			      MAX-ACCESS  read-only
			      STATUS  current
			      DESCRIPTION
			              "The neighor state of the port."
			      ::= { tpDldpCtrlEntry 5 }

        -- dldp trap
		    tpDldpDetectUnidirectionalNeighor NOTIFICATION-TYPE 
				STATUS          current
				DESCRIPTION 
					"A notification is sent when unidirectional neighor of interface is detected."
				::= { tplinkDldpNotifications 1}					

END										
										