   TPLINK-ARP-DETECTION-MIB DEFINITIONS ::= BEGIN

         IMPORTS
            OBJECT-TYPE, Counter32
          	  	         	FROM SNMPv2-SMI
			ifIndex
						FROM  RFC1213-MIB
            tplinkArpInspectionMIBObjects	          
          	  	          FROM TPLINK-ARP-INSPECTION-MIB; 
			
			tpArpDetection  	OBJECT IDENTIFIER ::= {tplinkArpInspectionMIBObjects 1}
			tpArpDetectionConfig  	OBJECT IDENTIFIER ::= {tpArpDetection 1}
			tpArpDetectionStat 		OBJECT IDENTIFIER ::= {tpArpDetection 2}
             
        -- the arp defend cheat config
    		tpArpDetectionConfigEnable OBJECT-TYPE
	          SYNTAX  INTEGER{
	      		disable(0), 						
	      		enable(1)			
	      		}
	            MAX-ACCESS  read-write
	            STATUS  current
	            DESCRIPTION
	                    "0. disable
	                     1. enable
	                     Enable/Disable the ARP Detect function."
	            ::= { tpArpDetectionConfig 1 }	
        
         tpArpDetectionTrustPortTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF TPARPDETECTIONTRUSTPORTENTRY
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "A list of trusted port config entries.
                     Here you can configure the Trusted Port."
            ::= { tpArpDetectionConfig 2 }
         
        tpArpDetectionTrustPortEntry OBJECT-TYPE
            SYNTAX  TPARPDETECTIONTRUSTPORTENTRY
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "An entry contains of the information of arp defend trust port."
            INDEX   { ifIndex }
            ::= { tpArpDetectionTrustPortTable 1 }
    
        TPARPDETECTIONTRUSTPORTENTRY ::=
            SEQUENCE {
								tpArpDetectionTrustPort
										OCTET STRING,
								tpArpDetectionTrustPortState
										INTEGER,
								tpArpDetectionTrustPortLag
										OCTET STRING            
					 }
            
        tpArpDetectionTrustPort OBJECT-TYPE
            SYNTAX  OCTET STRING  
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "The port for which the ARP Detect function is unnecessary as the Trusted Port. 
                     The specific ports, such as up-linked port, routing port and LAG port, 
                     should be set as Trusted Port. To ensure the normal communication of the switch, 
                     please configure the ARP Trusted Port before enabling the ARP Detect function. "
            ::= { tpArpDetectionTrustPortEntry 1 }
        
        tpArpDetectionTrustPortState OBJECT-TYPE
            SYNTAX  INTEGER{
	      		trustful(1),
	      		untrusty(0)					
	      		}
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
                    "0. untrusty port
                     1. trustful port"
            ::= { tpArpDetectionTrustPortEntry 2 }
        
        tpArpDetectionTrustPortLag OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE (1..255))  
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "the lag the port belong to"
            ::= { tpArpDetectionTrustPortEntry 3 }
       
       -- the arp defend cheat statics
       tpArpDetectionStatReset OBJECT-TYPE
	          SYNTAX  INTEGER{
	      		notReset(0), 						
	      		reset(1)			
	      		}
	            MAX-ACCESS  read-write
	            STATUS  current
	            DESCRIPTION
	                    "0. notReset
	                     1. reset
	                     clear the statistics"
	            ::= { tpArpDetectionStat 1 }
	            
        tpArpDetectionStatTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF TPARPDETECTIONSTATENTRY
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "A list of arp detection Stat entries.
                    Here you can view the statistics of the illegal ARP packets received by each port."
            ::= { tpArpDetectionStat 2 }
       
       tpArpDetectionStatEntry OBJECT-TYPE
            SYNTAX  TPARPDETECTIONSTATENTRY
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "An entry contains of the information of arp defend nonlegal pkt."
            INDEX   { ifIndex }
            ::= { tpArpDetectionStatTable 1 }
    
        TPARPDETECTIONSTATENTRY ::=
            SEQUENCE {
								tpArpDetectionStatPort
										OCTET STRING, 
								tpArpDetectionStatState
										INTEGER,
								tpArpDetectionStatNonLegalPkt
										Counter32
            }
            
        tpArpDetectionStatPort OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE (1..255)) 
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "port number"
            ::= { tpArpDetectionStatEntry 1 }
        
        tpArpDetectionStatState OBJECT-TYPE
            SYNTAX  INTEGER{
	      		trustful(1),
	      		untrusty(0)					
	      		}
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "0. untrusty port
                     1. trustful port"
            ::= { tpArpDetectionStatEntry 2 }
            
          tpArpDetectionStatNonLegalPkt OBJECT-TYPE
            SYNTAX  Counter32  
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "Displays the number of the received illegal ARP packets."
            ::= { tpArpDetectionStatEntry 3 }
END

