-- *****************************************************************
-- FS-ANTI-ARPCHEAT-MIB.mib:  FS Anti Arpcheat MIB file
--
-- January 2007, LinYanMin
--
-- Copyright (c) 2007 by FS.COM Inc..
-- All rights reserved.
-- 
-- *****************************************************************

FS-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 FS-TC 
        VlanId
                FROM Q-BRIDGE-MIB
        fsMgmt
                FROM FS-SMI;
 
fsAntiArpcheatMIB MODULE-IDENTITY
        LAST-UPDATED "200701290000Z"
        ORGANIZATION "FS.COM Inc.."
        CONTACT-INFO
                " 
                Tel: 400-865-2852 

                E-mail: https://www.fs.com/live_chat_service_mail.html"
        DESCRIPTION
                "This module defines fs anti arpcheat mibs."
        REVISION      "200701290000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { fsMgmt 41}

fsAntiArpcheatMIBObjects OBJECT IDENTIFIER ::= { fsAntiArpcheatMIB 1 }

--
--  user management
--

fsTrustedArpDelete 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."      
    ::= { fsAntiArpcheatMIBObjects 1 }  


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

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

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

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

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

trustedArpMediaPhysAddress OBJECT-TYPE
     SYNTAX  MacAddress
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
              "The MAC address that is correspondent with the trusted ARP."          
     ::= { fsTrustedArpEntry 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."
    ::= { fsTrustedArpEntry 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." 
    ::= { fsTrustedArpEntry 5 }  

-- compliance statements
         
fsAntiArpcheatMIBConformance OBJECT IDENTIFIER ::= { fsAntiArpcheatMIB 2 }
fsAntiArpcheatMIBCompliances OBJECT IDENTIFIER ::= { fsAntiArpcheatMIBConformance 1 }
fsAntiArpcheatMIBGroups      OBJECT IDENTIFIER ::= { fsAntiArpcheatMIBConformance 2 }

fsAntiArpcheatMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the FS Anti Arpcheat MIB"
        MODULE  -- this module
                MANDATORY-GROUPS { fsAntiArpcheatMIBGroup
                 }
                       
        ::= { fsAntiArpcheatMIBCompliances 1 }
                
-- units of conformance

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

END
