	
	TPLINK-LLDPCONFIG-MIB DEFINITIONS ::= BEGIN
       
		IMPORTS
			TPRowStatus       	 
					FROM TPLINK-TC-MIB
			OBJECT-TYPE,IpAddress
					FROM SNMPv2-SMI
			tplinkLldpMIBObjects
					FROM TPLINK-LLDP-MIB
			ifIndex
					FROM RFC1213-MIB;
          	
			lldpConfig OBJECT IDENTIFIER ::= {tplinkLldpMIBObjects 1}
			
			MacAddress ::= OCTET STRING (SIZE (6))
	    
			lldpGlobalConfig	  	OBJECT IDENTIFIER ::= {lldpConfig 1}
			
				  lldpGlobalConfigEnable OBJECT-TYPE
         			SYNTAX  INTEGER{
	      							disable(0), 						--disable
	      							enable(1)								--enable
	      							}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable LLDP function globally on the Switch.
                      0. disable 
                      1. enable"
              ::= { lldpGlobalConfig 1 }

				  lldpGlobalConfigForwardMessageEnable OBJECT-TYPE
         			SYNTAX  INTEGER{
	      							disable(0), 						--disable
	      							enable(1)								--enable
	      							}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Enable/Disable LLDP message forwarding when LLDP Global state is Disable
                      0. disable 
                      1. enable"
              ::= { lldpGlobalConfig 2 }
              
           lldpGlobalConfigTxInterval OBJECT-TYPE
         			SYNTAX  INTEGER(5..32768)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "The interval of the local device send the LLDPDU to the neighbor device."
              ::= { lldpGlobalConfig 3 }
      	   
      	   lldpGlobalConfigTtl OBJECT-TYPE
         			SYNTAX  INTEGER(2..10)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "TTL multiplier determines the TTL value in the LLDPDU packet which the local device send to the neighbor device.
                       TTL value is the time of the local information enabled in the neighbor device,
                       TTL value = TTL multiplier * interval"
              ::= { lldpGlobalConfig 4 }
              
            lldpGlobalConfigTxDelay OBJECT-TYPE
         			SYNTAX  INTEGER(1..8192)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "The delay time of the local device send the LLDPDU packet to the neighbor device.
                       When the config of the local device is changed, it will notify the neighbor device after the setting time delay,
                       which can avoid continually sending the LLPDDU packet to the neighbor device when local device continually change the config."
              ::= { lldpGlobalConfig 5 }
              
            lldpGlobalConfigInitDelay OBJECT-TYPE
         			SYNTAX  INTEGER(1..10)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "When the LLDP mode is changed, the device will initialize after a setting time delay,
                       which can avoid continually initialized when the device continually change the LLDP mode ."
              ::= { lldpGlobalConfig 6 }
              
            lldpGlobalConfigTrap OBJECT-TYPE
         			SYNTAX  INTEGER(5..3600)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "The interval of sending the trap information.
                       When a trap event has happened,just as finded a new neighbor or the neighbor
                       information has changed,the local device would send a trap information to the SNMP server."
              ::= { lldpGlobalConfig 7 }
              
            lldpGlobalConfigFastCount OBJECT-TYPE
         			SYNTAX  INTEGER(1..10)
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "When the LLDP mode of the port changed from disable(or just receive) to send and receive(or just send),
                       the quick send mechanism will be enabled for other device find the local device as fast as it can,and 
                       at this time, the LLDP packet is sended per second, and it get right after sended the setting num LLDPDU packet."
              ::= { lldpGlobalConfig 8 }

	
					lldpPortConfigTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF LLDPPORTCONFIGENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "A table that contains LLDP information of every port."
              ::= { lldpConfig 2 }

          lldpPortConfigEntry OBJECT-TYPE
              SYNTAX  LLDPPORTCONFIGENTRY
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "A list of LLDP information for every port of the device."
              INDEX   { ifIndex }
              ::= { lldpPortConfigTable 1 }
      
          LLDPPORTCONFIGENTRY ::=
              SEQUENCE {
              		lldpConfigPortId
              				OCTET STRING,
                  lldpConfigPortStatus
                  		INTEGER,
                  lldpConfigPortSnmpNotifyEnable
                      INTEGER,
                  lldpConfigPortTlvDescr
                      INTEGER,
                  lldpConfigPortTlvSysCap
                      INTEGER,
                  lldpConfigPortTlvSysDescr
                      INTEGER,
                  lldpConfigPortTlvSysName
                      INTEGER,
                  lldpConfigPortTlvManageAddr
                      INTEGER,
                  lldpConfigPortTlvPortVlanId
                      INTEGER,
                  lldpConfigPortTlvProtoVlanId
                      INTEGER,
                  lldpConfigPortTlvVlanName
                      INTEGER,
                  lldpConfigPortTlvLinkAggre
                      INTEGER,
                  lldpConfigPortTlvPortStatus
                      INTEGER,
                  lldpConfigPortTlvMaxFrame
                      INTEGER,
                  lldpConfigPortTlvPower
                      INTEGER,
				  lldpConfigPortManagementAddress
					  OCTET STRING (SIZE (1..16))
              	}
              	
          lldpConfigPortId OBJECT-TYPE
               SYNTAX  OCTET STRING (SIZE (0..255))
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The port id of the switch."
              ::= { lldpPortConfigEntry 1 }
                  
          lldpConfigPortStatus OBJECT-TYPE
               SYNTAX  INTEGER{
	      										disable(0), 					--Disable
	      										enableTx(1),						--Enable Tx
	      										enableRx(2),               --Enable Rx
	      										enableRxTx(3)            --Enable Rx Tx
	      											}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable Tx/Rx for the Port. 
                      0. Disable
                      1. EnableTx
                      2. EnableRx
                      3. EnableRxTx"
              ::= { lldpPortConfigEntry 2 }
              
          lldpConfigPortSnmpNotifyEnable OBJECT-TYPE
               SYNTAX  INTEGER{
	      										disable(0), 					--Disable
	      										enable(1)						--Enable
	      											}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable Snmp Notify for the Port. 
                      0. Disable
                      1. Enable"
              ::= { lldpPortConfigEntry 3 }
              
          lldpConfigPortTlvDescr OBJECT-TYPE
               SYNTAX  INTEGER{
	      										disable(0), 					--Disable
	      										enable(1)						--Enable
	      											}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable TLV description for the Port. 
                      0. Disable
                      1. Enable"
              ::= { lldpPortConfigEntry 4 }
              
          lldpConfigPortTlvSysCap OBJECT-TYPE
               SYNTAX  INTEGER{
	      										disable(0), 					--Disable
	      										enable(1)						--Enable
	      											}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable TLV system cap for the Port. 
                      0. Disable
                      1. Enable"
              ::= { lldpPortConfigEntry 5 }
              
          lldpConfigPortTlvSysDescr OBJECT-TYPE
               SYNTAX  INTEGER{
	      										disable(0), 					--Disable
	      										enable(1)						--Enable
	      											}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable TLV System description for the Port. 
                      0. Disable
                      1. Enable"
              ::= { lldpPortConfigEntry 6 }
              
          lldpConfigPortTlvSysName OBJECT-TYPE
               SYNTAX  INTEGER{
	      										disable(0), 					--Disable
	      										enable(1)						--Enable
	      											}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable TLV System name for the Port. 
                      0. Disable
                      1. Enable"
              ::= { lldpPortConfigEntry 7 }
              
           lldpConfigPortTlvManageAddr OBJECT-TYPE
               SYNTAX  INTEGER{
	      										disable(0), 					--Disable
	      										enable(1)						--Enable
	      											}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable TLV manage address for the Port. 
                      0. Disable
                      1. Enable"
              ::= { lldpPortConfigEntry 8 }
           
           lldpConfigPortTlvPortVlanId OBJECT-TYPE
               SYNTAX  INTEGER{
	      										disable(0), 					--Disable
	      										enable(1)						--Enable
	      											}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable TLV port Vlan ID for the Port. 
                      0. Disable
                      1. Enable"
              ::= { lldpPortConfigEntry 9 }
              
          lldpConfigPortTlvProtoVlanId OBJECT-TYPE
               SYNTAX  INTEGER{
	      										disable(0), 					--Disable
	      										enable(1)						--Enable
	      											}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable TLV Portocol VlanId for the Port. 
                      0. Disable
                      1. Enable"
              ::= { lldpPortConfigEntry 10 }
              
          lldpConfigPortTlvVlanName OBJECT-TYPE
               SYNTAX  INTEGER{
	      										disable(0), 					--Disable
	      										enable(1)						--Enable
	      											}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable TLV Vlan name for the Port. 
                      0. Disable
                      1. Enable"
              ::= { lldpPortConfigEntry 11 }
              
           lldpConfigPortTlvLinkAggre OBJECT-TYPE
               SYNTAX  INTEGER{
	      										disable(0), 					--Disable
	      										enable(1)						--Enable
	      											}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable TLV link aggre for the Port. 
                      0. Disable
                      1. Enable"
              ::= { lldpPortConfigEntry 12 }
              
          lldpConfigPortTlvPortStatus OBJECT-TYPE
               SYNTAX  INTEGER{
	      										disable(0), 					--Disable
	      										enable(1)						--Enable
	      											}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable TLV port status for the Port. 
                      0. Disable
                      1. Enable"
              ::= { lldpPortConfigEntry 13 }
              
          lldpConfigPortTlvMaxFrame OBJECT-TYPE
               SYNTAX  INTEGER{
	      										disable(0), 					--Disable
	      										enable(1)						--Enable
	      											}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable TLV max frame for the Port. 
                      0. Disable
                      1. Enable"
              ::= { lldpPortConfigEntry 14 }
              
          lldpConfigPortTlvPower OBJECT-TYPE
               SYNTAX  INTEGER{
	      										disable(0), 					--Disable
	      										enable(1)					--Enable
	      											}
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Select Enable/Disable TLV power for the Port. 
                      0. Disable
                      1. Enable"
              ::= { lldpPortConfigEntry 15 } 
			  
            lldpConfigPortManagementAddress OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..16))
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                    "Configure management IP address for the Port."
                ::= {lldpPortConfigEntry 16}			  
           
       
	 END	