TPLINK-8021X-MIB	DEFINITIONS ::= BEGIN
	IMPORTS
		MODULE-IDENTITY, OBJECT-TYPE, IpAddress 
			FROM SNMPv2-SMI
		tplinkMgmt
			FROM TPLINK-MIB
		ifIndex						
			FROM RFC1213-MIB
		DisplayString 
			FROM SNMPv2-TC;
				
	tplink8021xMIB MODULE-IDENTITY
		LAST-UPDATED    "201212171050Z"
		ORGANIZATION    "TPLINK"
		CONTACT-INFO    "www.tplink.com.cn"
		DESCRIPTION	    "Private MIB for 802.1x configuration."
		REVISION        "201212171050Z"
		DESCRIPTION
				"Initial version of this MIB module."
		::= { tplinkMgmt 31 }
          	  	          
	tplink8021xMIBObjects		OBJECT IDENTIFIER	::= { tplink8021xMIB 1 }
	tplink8021xNotifications	OBJECT IDENTIFIER	::= { tplink8021xMIB 2 }
						  
	tp8021xGlobalConfig  		OBJECT IDENTIFIER 	::= {tplink8021xMIBObjects 1}
  			
		tp8021xGlobalEnable OBJECT-TYPE
	          SYNTAX  INTEGER{
	      		disable(0), 						
	      		enable(1)						
	      		}
	            MAX-ACCESS  read-write
	            STATUS  current
	            DESCRIPTION
	                    "0. disable 
	                     1. enable
	                     Enable/Disable the 802.1X function."
	            ::= { tp8021xGlobalConfig 1 }
      
      	tp8021xAuthMode OBJECT-TYPE
	          SYNTAX  INTEGER{
	      		pap(0), 						
	      		eap(1)						
	      		}
	            MAX-ACCESS  read-write
	            STATUS  current
	            DESCRIPTION
	                    "Select the Authentication Method
	                     0. pap: IEEE 802.1X authentication system uses extensible authentication protocol (EAP) 
	                             to exchange information between the switch and the client. 
	                             The transmission of EAP packets is terminated at the switch and the EAP packets 
	                             are converted to the other protocol (such as RADIUS) packets for transmission.  
	                     1. eap: IEEE 802.1X authentication system uses extensible authentication protocol (EAP) 
	                                 to exchange information between the switch and the client. 
	                                 The EAP protocol packets with authentication data can be encapsulated in the 
	                                 advanced protocol (such as RADIUS) packets to be transmitted to the authentication 
	                                 server."
	            ::= { tp8021xGlobalConfig 2 }
      
		tp8021xHandshake OBJECT-TYPE
	          SYNTAX  INTEGER{
	      		disable(0), 						
	      		enable(1)						
	      		}
	            MAX-ACCESS  read-write
	            STATUS  current
	            DESCRIPTION
	                    "0. disable 
	                     1. enable
	                     Enable/Disable the handshake feature."
	            ::= { tp8021xGlobalConfig 3 }

		tp8021xGuestVlanEnable OBJECT-TYPE
	          SYNTAX  INTEGER{
	      		disable(0), 						
	      		enable(1)						
	      		}
	            MAX-ACCESS  read-write
	            STATUS  current
	            DESCRIPTION
	                    "0. disable 
	                     1. enable
	                     Enable/Disable the Guest VLAN feature."
	            ::= { tp8021xGlobalConfig 4 }
           
        tp8021xGuestVlanID OBJECT-TYPE
			  SYNTAX  INTEGER
				MAX-ACCESS  read-write
				STATUS  current
				DESCRIPTION
						"Enter your desired VLAN ID to enable the Guest VLAN feature. 
						 The supplicants in the Guest VLAN can access the specified network source."
				::= { tp8021xGlobalConfig 5 }  
            
        tp8021xQuietEnable OBJECT-TYPE
	          SYNTAX  INTEGER{
	      		disable(0), 						
	      		enable(1)						
	      		}
	            MAX-ACCESS  read-write
	            STATUS  current
	            DESCRIPTION
	                    "0. disable 
	                     1. enable
	                     Enable/Disable the Quiet timer."
	            ::= { tp8021xGlobalConfig 6 }
	            
		tp8021xQuietPeriod OBJECT-TYPE
			  SYNTAX  INTEGER
				MAX-ACCESS  read-write
				STATUS  current
				DESCRIPTION
						"Specify a value for Quiet Period. Once the supplicant failed to the 802.1X Authentication,
						 then the switch will not respond to the authentication request from the same supplicant 
						 during the Quiet Period. (1-999 second)"
				::= { tp8021xGlobalConfig 7 } 
        
 		tp8021xRetryTimes OBJECT-TYPE
			  SYNTAX  INTEGER
				MAX-ACCESS  read-write
				STATUS  current
				DESCRIPTION
						"Specify the maximum transfer times of the repeated authentication request.(1-9)"
				::= { tp8021xGlobalConfig 8 }  
		   
		tp8021xSupplicantTimeOut OBJECT-TYPE
			  SYNTAX  INTEGER
				MAX-ACCESS  read-write
				STATUS  current
				DESCRIPTION
						"Specify the maximum time for the switch to wait for the response from supplicant 
						 before resending a request to the supplicant. (1-9 second)"
				::= { tp8021xGlobalConfig 9 } 
            
		tp8021xServerTimeOut OBJECT-TYPE
			  SYNTAX  INTEGER
				MAX-ACCESS  read-write
				STATUS  current
				DESCRIPTION
						"Specify the maximum time for the switch to wait for the response from authentication 
						 server before resending a request to the authentication server. (1-9 second)"
				::= { tp8021xGlobalConfig 10 } 
      
		tp8021xAuthPrimaryIP OBJECT-TYPE
			  SYNTAX  IpAddress
				MAX-ACCESS  read-write
				STATUS  current
				DESCRIPTION
						"Enter the IP address of the authentication server."
				::= { tp8021xGlobalConfig 11 } 
          
		tp8021xAuthSecondaryIP OBJECT-TYPE
			  SYNTAX  IpAddress
				MAX-ACCESS  read-write
				STATUS  current
				DESCRIPTION
						"Enter the IP address of the alternate authentication server."
				::= { tp8021xGlobalConfig 12 } 
            
		tp8021xServerAuthPort OBJECT-TYPE
			  SYNTAX  INTEGER
				MAX-ACCESS  read-write
				STATUS  current
				DESCRIPTION
						"Set the UDP port of authentication server(s). The default port is 1812(1-65535)"
				::= { tp8021xGlobalConfig 13 } 
       
		tp8021xServerAuthKey OBJECT-TYPE
              SYNTAX  OCTET STRING (SIZE (0..255))  
				MAX-ACCESS  read-write
				STATUS  current
				DESCRIPTION
						"Set the shared password for the switch and the authentication 
						 servers to exchange messages.(0-31 characters)."
				::= { tp8021xGlobalConfig 14 }
              
		tp8021xAcctEnable OBJECT-TYPE
			  SYNTAX  INTEGER{
				disable(0), 						
				enable(1)						
				}
				MAX-ACCESS  read-write
				STATUS  current
				DESCRIPTION
							"0. disable 
							 1. enable
							 Enable/Disable the accounting feature. "
				::= { tp8021xGlobalConfig 15 } 
              
  		tp8021xAcctPrimaryIP OBJECT-TYPE
			  SYNTAX  IpAddress
				MAX-ACCESS  read-write
				STATUS  current
				DESCRIPTION
						"Enter the IP address of the accounting server."
				::= { tp8021xGlobalConfig 16 } 
          
		tp8021xAcctSecondaryIP OBJECT-TYPE
			  SYNTAX  IpAddress
				MAX-ACCESS  read-write
				STATUS  current
				DESCRIPTION
						"Enter the IP address of the alternate accounting server."
				::= { tp8021xGlobalConfig 17 } 
            
		tp8021xAcctPort OBJECT-TYPE
			  SYNTAX  INTEGER
				MAX-ACCESS  read-write
				STATUS  current
				DESCRIPTION
						"Set the UDP port of accounting server(s). The default port is 1813(1-65535)"
				::= { tp8021xGlobalConfig 18 } 
       
		tp8021xAcctKey OBJECT-TYPE
              SYNTAX  OCTET STRING (SIZE (0..255))  
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
                      "Set the shared password for the switch and the accounting servers
                       to exchange messages. (0-31 characters)."
              ::= { tp8021xGlobalConfig 19 }
       
       -- the 8021x port config
	tp8021xPortConfig 			OBJECT IDENTIFIER ::= {tplink8021xMIBObjects 2}
	
		tp8021xPortConfigTable OBJECT-TYPE
          SYNTAX  SEQUENCE OF TP8021XPORTCONFIGENTRY
          MAX-ACCESS  not-accessible
          STATUS  current
          DESCRIPTION
                  "A list of 8021x port config entries."
          ::= { tp8021xPortConfig 1 }

		tp8021xPortConfigEntry OBJECT-TYPE
          SYNTAX  TP8021XPORTCONFIGENTRY
          MAX-ACCESS  not-accessible
          STATUS  current
          DESCRIPTION
                  "An entry contains of the information of 8021x port config.
                   Here you can configure the ports for the 802.1X authentication."
          INDEX   { ifIndex }
          ::= { tp8021xPortConfigTable 1 }
  
		TP8021XPORTCONFIGENTRY ::=
          SEQUENCE {
					tp8021xPortConfigPortIndex
							DisplayString,
					tp8021xPortConfigEnable
							INTEGER, 
					tp8021xPortConfigGuestVlanEnable
							INTEGER,
					tp8021xPortConfigControlMode
							INTEGER, 
					tp8021xPortConfigControlType
							INTEGER, 
					tp8021xPortConfigAuthState
							INTEGER,
					tp8021xPortConfigPortLag
							OCTET STRING
          }
		  
		tp8021xPortConfigPortIndex OBJECT-TYPE
  			SYNTAX			DisplayString(SIZE(0..16))
  			MAX-ACCESS	read-only
  			STATUS			current
  			DESCRIPTION	
  			"This object indicates the port number."
  			::= {tp8021xPortConfigEntry 1}
  			
		tp8021xPortConfigEnable OBJECT-TYPE
			  SYNTAX  INTEGER{
				disable(0), 						
				enable(1)			
				}
				MAX-ACCESS  read-write
				STATUS  current
				DESCRIPTION
					  "0. disable
					   1. enable
					   Select Enable/Disable the 802.1X authentication feature for the port."
				::= { tp8021xPortConfigEntry 2 }
       
		tp8021xPortConfigGuestVlanEnable OBJECT-TYPE
			  SYNTAX  INTEGER{
				disable(0), 						
				enable(1)			
				}
				MAX-ACCESS  read-write
				STATUS  current
				DESCRIPTION
					  "0. disable
					   1. enable
					   Select Enable/Disable the Guest VLAN feature for the port."
          ::= { tp8021xPortConfigEntry 3 }
     
		tp8021xPortConfigControlMode OBJECT-TYPE
			  SYNTAX  INTEGER{
				forceAuth(0), 						
				forceUnAuth(1),
				autoAuth(2)				
				}
				MAX-ACCESS  read-write
				STATUS  current
				DESCRIPTION
					  "Specify the Control Mode for the port.
					   0. force auth: In this mode, the port can work normally without passing the 802.1X Authentication. 
					   1. force unauth: In this mode, the port is forbidden working for its fixed unauthorized status. 
					   2. auto auth: In this mode, the port will normally work only after passing the 802.1X Authentication."
				::= { tp8021xPortConfigEntry 4 }      
          
      tp8021xPortConfigControlType OBJECT-TYPE
			  SYNTAX  INTEGER{
				macBased(0), 						
				portBased(1)			
				}
				MAX-ACCESS  read-write
				STATUS  current
				DESCRIPTION
					  "Specify the Control Type for the port.
					   0. base of mac:  Any client connected to the port should pass the 802.1X Authentication for access. 
					   1. base of port: All the clients connected to the port can access the network on the condition 
										 that any one of the clients has passed the 802.1X Authentication. "
				::= { tp8021xPortConfigEntry 5 }  
          
      tp8021xPortConfigAuthState OBJECT-TYPE
			  SYNTAX  INTEGER{
				unAuthorized(0), 						
				authorized(1)			
				}
				MAX-ACCESS  read-only
				STATUS  current
				DESCRIPTION
					  "The authentication status of the port. 
					   0. unAuthorized
					   1. Authorized"
				::= { tp8021xPortConfigEntry 6 }
     
     tp8021xPortConfigPortLag OBJECT-TYPE
              SYNTAX  OCTET STRING(SIZE (0..255))  
				MAX-ACCESS  read-only
				STATUS  current
				DESCRIPTION
						"the lag the port belong to"
				::= { tp8021xPortConfigEntry 7 }
END

