-- *****************************************************************
-- MY-ANTI-ARPCHEAT-MIB.mib:  My Anti Arpcheat MIB file
--
-- $Copyright$
-- 
-- *****************************************************************

DES7200-ANTI-ARPCHEAT-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32,
        IpAddress
                FROM SNMPv2-SMI
        MacAddress
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        IfIndex
                FROM DES7200-TC 
        VlanId
                FROM Q-BRIDGE-MIB
        myMgmt
                FROM DES7200-SMI;
 
myAntiArpcheatMIB MODULE-IDENTITY
        LAST-UPDATED "200701290000Z"
        ORGANIZATION "D-Link Crop."
        CONTACT-INFO
                " 
                http://support.dlink.com"
        DESCRIPTION
                "This module defines my anti arpcheat mibs."
        REVISION      "200701290000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { myMgmt 41}

myAntiArpcheatMIBObjects OBJECT IDENTIFIER ::= { myAntiArpcheatMIB 1 }

--
--  user management
--

myTrustedArpDelete OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS      current    
    DESCRIPTION
            "Setting the variable value to zero refers to delete all the trusted ARP and L2 interface bindings. 
      Setting any variable values other than zero refers to no action taken."      
    ::= { myAntiArpcheatMIBObjects 1 }  


myTrustedArpTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF MyTrustedArpEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
            "It is used to set the trusted ARP and lists of trusted ARP and L2 interface bindings."
   ::= { myAntiArpcheatMIBObjects 2 }  

myTrustedArpEntry OBJECT-TYPE
    SYNTAX  MyTrustedArpEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
            "Lists of the trusted ARP and L2 interface bindins."
    INDEX   { trustedArpIfIndex,
              trustedArpIp }
    
    ::= { myTrustedArpTable 1 }

MyTrustedArpEntry ::=
    SEQUENCE {
            trustedArpIfIndex
                     IfIndex,
	          trustedArpIp
                     IpAddress,
            trustedArpMediaPhysAddress
                     MacAddress,
            trustedArpVlan
	                   VlanId,
            trustedArpOperationType
                     Integer32
    }

trustedArpIfIndex OBJECT-TYPE
    SYNTAX  IfIndex
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
            "The interface that is correspondent with the trusted ARP."
    ::= { myTrustedArpEntry 1 }

trustedArpIp OBJECT-TYPE
     SYNTAX  IpAddress
     MAX-ACCESS  read-create
     STATUS  current
     DESCRIPTION
             "The IP address that is correspondent with the trusted ARP."
     ::= { myTrustedArpEntry 2 }

trustedArpMediaPhysAddress OBJECT-TYPE
     SYNTAX  MacAddress
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
              "The MAC address that is correspondent with the trusted ARP."          
     ::= { myTrustedArpEntry 3 }	     

trustedArpVlan OBJECT-TYPE
        SYNTAX  VlanId
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "The VLAN ID to which the interface that is correspondent with the trusted ARP belongs."
    ::= { myTrustedArpEntry 4 }    

trustedArpOperationType OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS      current    
    DESCRIPTION
             "Setting the variable value to zero refers to delete the binding of trusted ARP and L2 interface. 
      Setting the variable value to 1 refers to add the binding of trusted ARP and L2 interface. Setting any 
      values other than 0 and 1 refers to no action taken." 
    ::= { myTrustedArpEntry 5 }  

-- compliance statements
         
myAntiArpcheatMIBConformance OBJECT IDENTIFIER ::= { myAntiArpcheatMIB 2 }
myAntiArpcheatMIBCompliances OBJECT IDENTIFIER ::= { myAntiArpcheatMIBConformance 1 }
myAntiArpcheatMIBGroups      OBJECT IDENTIFIER ::= { myAntiArpcheatMIBConformance 2 }

myAntiArpcheatMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the My Anti Arpcheat MIB"
        MODULE  -- this module
                MANDATORY-GROUPS { myAntiArpcheatMIBGroup
                 }
                       
        ::= { myAntiArpcheatMIBCompliances 1 }
                
-- units of conformance

myAntiArpcheatMIBGroup OBJECT-GROUP
        OBJECTS {
         myTrustedArpDelete,
	       trustedArpIfIndex,
	       trustedArpIp,
         trustedArpMediaPhysAddress,
         trustedArpVlan,
         trustedArpOperationType
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing anti arpcheat management and
                opertion to a My agent."
        ::= { myAntiArpcheatMIBGroups 1 } 

END
