TPLINK-PORTCONFIG-MIB DEFINITIONS ::= BEGIN
IMPORTS
	OBJECT-TYPE,MODULE-IDENTITY,Counter64
			FROM SNMPv2-SMI
	ifIndex						
						FROM RFC1213-MIB
	DisplayString 
						FROM SNMPv2-TC        	  	         	
	tplinkMgmt	          
			FROM TPLINK-MIB;

tplinkPortConfigMIB MODULE-IDENTITY
    LAST-UPDATED  "201211290000Z"
    ORGANIZATION  "TP-LINK"
    CONTACT-INFO  "www.tplink.com"
    DESCRIPTION
         "This MIB module contain a collection of managed objects
          for port configuration."

    REVISION    "201211290000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { tplinkMgmt 8 }

tplinkPortConfigMIBObjects OBJECT IDENTIFIER ::= {tplinkPortConfigMIB 1}
tplinkPortConfigNotifications OBJECT IDENTIFIER ::= {tplinkPortConfigMIB 2}																										  

tpPortConfigTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF TpPortConfigEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
	"A table that contains information about every port. You can 
	configure the basic parameters for the ports. The parameters 
	will affect the working mode of the port, please set the 
	parameters appropriate to your needs."
	::= {tplinkPortConfigMIBObjects 1}
	
tpPortConfigJumbo OBJECT-TYPE
	SYNTAX INTEGER
		(1518..9216)
	MAX-ACCESS
		read-write
	STATUS
		current
	DESCRIPTION
		"This object indicates the jumbo size. 
	The default maximum transmission unit (MTU) size is 1518 bytes. 
	the maximum MTU size you can set is 9216 bytes."
	::= { tpPortConfigTable 1 }

tpPortConfigEntry OBJECT-TYPE
	SYNTAX	TpPortConfigEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
	"A list of information for each port of the device."
	INDEX{ifIndex}
	::= {tpPortConfigTable 2}
						
TpPortConfigEntry ::=
	SEQUENCE 
	{
		tpPortConfigDescription
			DisplayString,
		tpPortConfigStatus
			INTEGER,
		tpPortConfigSpeed
			INTEGER,
		tpPortConfigDuplex
			INTEGER,
		tpPortConfigFlowCtrl
			INTEGER,
		tpPortConfigLAG
			DisplayString
	}
					
tpPortConfigDescription	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
	"This object indicate the description of the port."
	::= {tpPortConfigEntry 2}
	
tpPortConfigStatus	OBJECT-TYPE
	SYNTAX						
		INTEGER
		{
			disable(0),
			enable(1)
		}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
	"This object indicates the link status of the port. When enable 
	is selected, the port can forward the packets normall."
	::= {tpPortConfigEntry 3}

tpPortConfigSpeed	OBJECT-TYPE
	SYNTAX
		INTEGER
		{
			speed-10Mbps(0),
			speed-100Mbps(1),
			speed-1Gigabps(2), 
			speed-10Gigabps(3),
			auto(4)
		}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
	"This object indicates the speed and duplex mode of the port. 
	The device connected to the switch should be in the same Speed
	and Duplex mode with the switch. When auto is selected, the 
	Speed and Duplex mode will be determined by auto negotiation."
	::= {tpPortConfigEntry 4}
	
tpPortConfigDuplex	OBJECT-TYPE
	SYNTAX
		INTEGER
		{
			half(0),
			full(1),
			auto(2)
		}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
	"This object indicates the speed and duplex mode of the port. 
	The device connected to the switch should be in the same Speed
	and Duplex mode with the switch. When auto is selected, the 
	Speed and Duplex mode will be determined by auto negotiation."
	::= {tpPortConfigEntry 5}						

tpPortConfigFlowCtrl	OBJECT-TYPE
	SYNTAX
		INTEGER
		{
			disable(0),
			enable(1)
		}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
	"This object indicates the port status of the flow control. When
	Flow Control is enabled, the switch can synchronize the speed 
	with its peer to avoid the packet loss caused by congestion."
	::= {tpPortConfigEntry 6}
	
tpPortConfigLAG	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
	"This object indicates the lag number of the port."
	::= {tpPortConfigEntry 7}   
	
	
	


















tpPortCableTestTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF TpPortCableTestEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
	"A table that contains information about cable test result 
	of ports. The linkup port does not do actual cable test and 
	return the normal status directly."
	::= {tplinkPortConfigMIBObjects 2}

tpPortCableTestEntry OBJECT-TYPE
	SYNTAX	TpPortCableTestEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
	"A list of information for each port of the device."
	INDEX{ifIndex}
	::= {tpPortCableTestTable 1}
						
TpPortCableTestEntry ::=
	SEQUENCE 
	{
		tpPairAStatus
			DisplayString, 
		tpPairALength
			DisplayString,
		tpPairBStatus
			DisplayString, 
		tpPairBLength
			DisplayString,
		tpPairCStatus
			DisplayString, 
		tpPairCLength
			DisplayString,
		tpPairDStatus
			DisplayString, 
		tpPairDLength
			DisplayString
		
	}     
	
	
	
tpPairAStatus	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
	"This object indicate the status of pair A of the port."
	::= {tpPortCableTestEntry 2}

tpPairALength	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
	"This object indicate the length of pair A of the port."
	::= {tpPortCableTestEntry 3}


tpPairBStatus	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
	"This object indicate the status of pair B of the port."
	::= {tpPortCableTestEntry 4}

tpPairBLength	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
	"This object indicate the length of pair B of the port."
	::= {tpPortCableTestEntry 5}

tpPairCStatus	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
	"This object indicate the status of pair C of the port."
	::= {tpPortCableTestEntry 6}

tpPairCLength	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
	"This object indicate the length of pair C of the port."
	::= {tpPortCableTestEntry 7}

tpPairDStatus	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
	"This object indicate the status of pair D of the port."
	::= {tpPortCableTestEntry 8}

tpPairDLength	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
	"This object indicate the length of pair D of the port."
	::= {tpPortCableTestEntry 9}


	







tpPortCableTestCFTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF TpPortCableTestCFEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
	"A table that contains information about cable test careful result 
	of ports. cable test careful result is a backup of the last flush 
	operation result."
	::= {tplinkPortConfigMIBObjects 3}

	
	
	
tpPortCableTestFlush OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS  read-write
	STATUS  current
	DESCRIPTION
	"Here you can indicate port to get the exact cable test result .
	 0. Flush cable test result of all the port.
	 x/x/x . which port to test. "
	::= { tpPortCableTestCFTable 1 }


	
tpPortCableTestCFEntry OBJECT-TYPE
	SYNTAX	TpPortCableTestCFEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
	"A list of information for each port of the device."
	INDEX{ifIndex}
	::= {tpPortCableTestCFTable 2}
						
TpPortCableTestCFEntry ::=
	SEQUENCE 
	{
		tpPairAStatusCF
			DisplayString, 
		tpPairALengthCF
			DisplayString,
		tpPairBStatusCF
			DisplayString, 
		tpPairBLengthCF
			DisplayString,
		tpPairCStatusCF
			DisplayString, 
		tpPairCLengthCF
			DisplayString,
		tpPairDStatusCF
			DisplayString, 
		tpPairDLengthCF
			DisplayString
		
	}     
	
	
	
tpPairAStatusCF	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
	"This object indicate the status of pair A of the port."
	::= {tpPortCableTestCFEntry 2}

tpPairALengthCF	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
	"This object indicate the length of pair A of the port."
	::= {tpPortCableTestCFEntry 3}


tpPairBStatusCF	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
	"This object indicate the status of pair B of the port."
	::= {tpPortCableTestCFEntry 4}

tpPairBLengthCF	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
	"This object indicate the length of pair B of the port."
	::= {tpPortCableTestCFEntry 5}

tpPairCStatusCF	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
	"This object indicate the status of pair C of the port."
	::= {tpPortCableTestCFEntry 6}

tpPairCLengthCF	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
	"This object indicate the length of pair C of the port."
	::= {tpPortCableTestCFEntry 7}

tpPairDStatusCF	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
	"This object indicate the status of pair D of the port."
	::= {tpPortCableTestCFEntry 8}

tpPairDLengthCF	OBJECT-TYPE
	SYNTAX	DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
	"This object indicate the length of pair D of the port."
	::= {tpPortCableTestCFEntry 9}

	

	
	
	
	
	

	
	
tpPortTrafficMonitorTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF TpPortTrafficMonitorEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
	"A table that contains the detailed traffic information of each 
	port, which facilitates you to monitor the traffic and locate 
	faults promptly."
	::= {tplinkPortConfigMIBObjects 4}
	
tpPortTrafficMonitorEntry OBJECT-TYPE
	SYNTAX	TpPortTrafficMonitorEntry
	MAX-ACCESS	not-accessible
	STATUS	current
	DESCRIPTION
	"Dispaly all interfaces counters."
	INDEX{ifIndex}
	::= {tpPortTrafficMonitorTable 1}
											
TpPortTrafficMonitorEntry ::=
SEQUENCE 
{
	tpPortRxPkts
		Counter64,
	tpPortRxBytes
		Counter64,
	tpPortRxUcast
		Counter64,
	tpPortRxMcast
		Counter64,
	tpPortRxBcast
		Counter64,
	tpPortRxJumbo
		Counter64,
	tpPortRxAlignment
		Counter64,
	tpPortRxUnderSize
		Counter64,
	tpPortRx64Pkts
		Counter64,
	tpPortRx65-127Pkts
		Counter64,
	tpPortRx128-255Pkts
		Counter64,
	tpPortRx256-511Pkts
		Counter64,
	tpPortRx512-1023Pkts
		Counter64,
	tpPortRxOver1023Pkts
		Counter64,
	tpPortTxPkts
		Counter64,
	tpPortTxBytes
		Counter64,
	tpPortTxUcast
		Counter64,
	tpPortTxMcast
		Counter64,
	tpPortTxBcast
		Counter64,
	tpPortTxJumbo
		Counter64,
	tpPortTxCollisions
		Counter64,
	tpPortTrafficMonitorClear	
		INTEGER	
	}

		
	tpPortRxPkts	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicates the port number."
		::= {tpPortTrafficMonitorEntry 2}
	
	tpPortRxBytes	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicate the description of the port."
		::= {tpPortTrafficMonitorEntry 3}
		
	tpPortRxUcast	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicates the port number."
		::= {tpPortTrafficMonitorEntry 4}
	
	tpPortRxMcast	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicate the description of the port."
		::= {tpPortTrafficMonitorEntry 5}

	tpPortRxBcast	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicates the port number."
		::= {tpPortTrafficMonitorEntry 6}
		
	tpPortRxJumbo	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicates the port number."
		::= {tpPortTrafficMonitorEntry 7}	
	
	tpPortRxAlignment	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicate the description of the port."
		::= {tpPortTrafficMonitorEntry 8}

	tpPortRxUnderSize	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicates the port number."
		::= {tpPortTrafficMonitorEntry 9}
	
	tpPortRx64Pkts	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicate the description of the port."
		::= {tpPortTrafficMonitorEntry 10}
		
	tpPortRx65-127Pkts	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicates the port number."
		::= {tpPortTrafficMonitorEntry 11}
	
	tpPortRx128-255Pkts	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicate the description of the port."
		::= {tpPortTrafficMonitorEntry 12}

	tpPortRx256-511Pkts	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicates the port number."
		::= {tpPortTrafficMonitorEntry 13}
	
	tpPortRx512-1023Pkts	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicate the description of the port."
		::= {tpPortTrafficMonitorEntry 14}

	tpPortRxOver1023Pkts	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicates the port number."
		::= {tpPortTrafficMonitorEntry 15}
	
	tpPortTxPkts	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicate the description of the port."
		::= {tpPortTrafficMonitorEntry 16}
		
	tpPortTxBytes	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicates the port number."
		::= {tpPortTrafficMonitorEntry 17}
	
	tpPortTxUcast	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicate the description of the port."
		::= {tpPortTrafficMonitorEntry 18}

	tpPortTxMcast	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicates the port number."
		::= {tpPortTrafficMonitorEntry 19}
	
	tpPortTxBcast	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicate the description of the port."
		::= {tpPortTrafficMonitorEntry 20}
		
	tpPortTxJumbo	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicate the description of the port."
		::= {tpPortTrafficMonitorEntry 21}	
		
	tpPortTxCollisions	OBJECT-TYPE
		SYNTAX	Counter64
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
		"This object indicate the description of the port."
		::= {tpPortTrafficMonitorEntry 22}
		
	tpPortTrafficMonitorClear OBJECT-TYPE
		SYNTAX 		INTEGER
					{
						null(1)
						clear(2)
					}
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION	
			"When the value of this object is assigned to clear(2), then traffic 
			information of port will be cleared."
		::= {tpPortTrafficMonitorEntry 23}
	
	tpEEETable OBJECT-TYPE
		SYNTAX	SEQUENCE OF TpEEEEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
		"A table of port energy efficient ethernet function."
		::= {tplinkPortConfigMIBObjects 5}

	
	tpEEEEntry OBJECT-TYPE
		SYNTAX  TpEEEEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		"An entry contains of the information of port EEE function."
		INDEX   { ifIndex }
		::= { tpEEETable 1 }
		
	TpEEEEntry ::=
		SEQUENCE	{
			tpEEEPort
				DisplayString,
			tpEEEStatus
				INTEGER,
			tpEEEPortLag
				DisplayString
		}
	
	tpEEEPort OBJECT-TYPE
		SYNTAX	DisplayString
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The port number of the switch."
		::= {tpEEEEntry 1}
	
	tpEEEStatus OBJECT-TYPE
		SYNTAX	INTEGER
		{
			disable(0),
			enable(1)
		}
		MAX-ACCESS	read-write
		STATUS	current
		DESCRIPTION
			"The EEE status of the specified port."
		::= {tpEEEEntry 2}
		
	tpEEEPortLag OBJECT-TYPE
		SYNTAX	DisplayString
		MAX-ACCESS	read-only
		STATUS	current
		DESCRIPTION
			"The LAG number which the port belongs to."
		::= {tpEEEEntry 3}	
END										
										