    TPLINK-IP-SOURCE-GUARD-MIB DEFINITIONS ::= BEGIN

         IMPORTS
            OBJECT-TYPE,MODULE-IDENTITY
          	  	         	FROM SNMPv2-SMI
			ifIndex
						FROM  RFC1213-MIB
            tplinkMgmt
					FROM TPLINK-MIB;
        
		tplinkIpSourceGuardMIB MODULE-IDENTITY
		LAST-UPDATED    "201212130930Z"
		ORGANIZATION    "TPLINK"
		CONTACT-INFO    "www.tplink.com"
		DESCRIPTION	    "Private MIB for ip source guard configuration."
		REVISION        "201212130930Z"
		DESCRIPTION
				"Initial version of this MIB module."
		::= { tplinkMgmt 29 }	
		
		tplinkIpSourceGuardMIBObjects 		OBJECT IDENTIFIER ::= {tplinkIpSourceGuardMIB 1}
		tplinkIpSourceGuardNotifications 	OBJECT IDENTIFIER ::= {tplinkIpSourceGuardMIB 2}
		
		tpIpSourceGuardConfig  	OBJECT IDENTIFIER ::= {tplinkIpSourceGuardMIBObjects 1}
 
        -- the ip filter config       
            tpIpSourceGuardLoggingConfig OBJECT-TYPE
	          SYNTAX  INTEGER{
	      		disable(0), 						
	      		enable(1)			
	      		}
	            MAX-ACCESS  read-write
	            STATUS  current
	            DESCRIPTION
	                    "0. disable
	                     1. enable
	                     Enable/Disable the IP Source Guard logging illegal packets function."
	            ::= { tpIpSourceGuardConfig 1 }
			
         tpIpSourceGuardConfigTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF TPIPSOURCEGUARDCONFIGENTRY
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "A list of ip source guard config entries.
                     Here you can configure the IP Source Guard feature."
            ::= { tpIpSourceGuardConfig 2 }

        tpIpSourceGuardConfigEntry OBJECT-TYPE
            SYNTAX  TPIPSOURCEGUARDCONFIGENTRY
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "An entry contains of the information of ip source guard config."
            INDEX   { ifIndex }
            ::= { tpIpSourceGuardConfigTable 1 }
    
        TPIPSOURCEGUARDCONFIGENTRY ::=
            SEQUENCE {
								tpIpSourceGuardConfigPort
										OCTET STRING,
								tpIpSourceGuardConfigType
										INTEGER,
								tpIpSourceGuardConfigPortLag
										OCTET STRING 
            }
            
        tpIpSourceGuardConfigPort OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE (1..255)) 
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "port number"
            ::= { tpIpSourceGuardConfigEntry 1 }
        
        tpIpSourceGuardConfigType OBJECT-TYPE
            SYNTAX  INTEGER{
	      		disable(0), 
				sip(1),
	      		sip-mac(2)		
	      		}
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
                    "Select Security Type for the port.
                     0. disable: Select this option to disable the IP Source Guard feature for the port.
                     1. SIP: Only the packets with its source IP address and port number matched 
                            to the IP-MAC binding rules can be processed. 
                     2. SIP+MAC: Only the packets with its source IP address, 
                                source MAC address and port number matched to the IP-MAC binding rules can be processed."
            ::= { tpIpSourceGuardConfigEntry 2 }    
            
        tpIpSourceGuardConfigPortLag OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE (1..255))  
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "the lag the port belong to"
            ::= { tpIpSourceGuardConfigEntry 3 }  

       -- the IP Source Guard trap
		   tpIpSourceGuardRxIllegalIpPacket NOTIFICATION-TYPE 
				STATUS          current
				DESCRIPTION 
					"A notification is sent when IP Source Guard received illegal IP packets."
				::= { tplinkIpSourceGuardNotifications 1}				
  			
END

