  TPLINK-IPMACBINDING-MIB DEFINITIONS ::= BEGIN

	 IMPORTS
		TPRowStatus
				FROM TPLINK-TC-MIB 							
		OBJECT-TYPE,MODULE-IDENTITY,IpAddress
				FROM SNMPv2-SMI
		tplinkMgmt
				FROM TPLINK-MIB;
				
		tplinkIpMacBindingMIB MODULE-IDENTITY
				LAST-UPDATED    "201212171014Z"
				ORGANIZATION    "TPLINK"
				CONTACT-INFO    "www.tplink.com"
				DESCRIPTION	    "Private MIB for IP MAC Binding configuration."
				REVISION        "201212171014Z"
				DESCRIPTION
				"Initial version of this MIB module."
			::= { tplinkMgmt 68 }

            tplinkIpMacBindingMIBObjects		OBJECT IDENTIFIER	::= { tplinkIpMacBindingMIB 1 }
            tplinkIpMacBindingNotifications		OBJECT IDENTIFIER	::= { tplinkIpMacBindingMIB 2 }
                                                
            tpIpMacBindigConfigure				OBJECT IDENTIFIER ::= {tplinkIpMacBindingMIBObjects 1}			
                
            tpIpMacBindingTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF TPIPMACBINDINGENTRY
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                "A list of IP MAC Binding entries.
                 Here you can add or delete entries.
                 Here you can only Modify the hostname and protected type of IP MAC Binding entries whitch are already created."
            ::= { tpIpMacBindigConfigure 1 }
        
            tpIpMacBindingEntry OBJECT-TYPE
            SYNTAX  TPIPMACBINDINGENTRY
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                "An entry contains of the information of IP MAC Binding."
            INDEX   {tpBindingIp}
            ::= { tpIpMacBindingTable 1 }
        
            TPIPMACBINDINGENTRY ::=
            SEQUENCE {
                tpBindingHostName
                    OCTET STRING (SIZE (1..20)),
                tpBindingIp
                    IpAddress,
                tpBindingMac
                    OCTET STRING (SIZE (1..17)),
                tpBindingVlanId
                    INTEGER,
                tpBindingPort
                    OCTET STRING (SIZE (1..20)),			
                tpBindingProtectType
                    INTEGER,
                tpBindingSource
                    INTEGER,
                tpBindingRowStatus
                    TPRowStatus
            }
            
            tpBindingHostName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..20))
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                    "Host Name of the binding entry."
                ::= {tpIpMacBindingEntry 1}
        
            tpBindingIp OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                    "IP address of the binding entry."
                ::= {tpIpMacBindingEntry 2}
         
            tpBindingMac OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..17))
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                    "MAC address of the binding entry."
                ::= {tpIpMacBindingEntry 3}
        
            tpBindingVlanId OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                    "VLAN ID of the binding entry."
                ::= {tpIpMacBindingEntry 4}
        
            tpBindingPort OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..20))
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                    "Port number of the binding entry."
                ::= {tpIpMacBindingEntry 5}
        
            tpBindingProtectType OBJECT-TYPE
                SYNTAX INTEGER {
                    none(0),
                    arp-detection(1),
                    ip-source-guard(2),
                    both(3)
                }
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                    "Protect type of the binding entry.
                    none: Do not apply the entry to any one of network security functions.
                    arp-detection: Apply the entry to ARP Detetion function.
                    ip-source-guard: Apply the entry to IP Source Guard function. 
                    both: Apply the entry to both ARP Detection and IP Source Guard."
                ::= {tpIpMacBindingEntry 6}
                
            tpBindingSource OBJECT-TYPE
                SYNTAX INTEGER{
                    manual(1),
                    arp-scanning(2),
                    dhcp-snooping(3)
                }
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                    "Source of the binding entry.
                    manual: The entry comes from manual binding.
                    arp-scanning: The entry comes from ARP Scanning .
                    dhcp-snooping: The entry comes from DHCP Snooping."
                ::= {tpIpMacBindingEntry 7}
                        
            tpBindingRowStatus OBJECT-TYPE
                SYNTAX  TPRowStatus
                MAX-ACCESS  read-write
                STATUS  current
                DESCRIPTION
                    "the following value are states:
                    these values may be read or written
                    active(1),
                    notInService(2),
        
                    the following value is a state:
                    this value may be read, but not written
                    notReady(3),
        
                    the following three values are
                    actions: these values may be written,
                    but are never read
                    createAndGo(4),
                    createAndWait(5),
                    destroy(6)"
                ::= {tpIpMacBindingEntry 8}
                
END
