-- *****************************************************************
-- FS-ARP-MIB.mib:  FS Arp MIB file
--
-- March 2002, Wuzg
--
-- Copyright (c) 2002 by FS.COM Inc..
-- All rights reserved.
-- 
-- *****************************************************************
--

FS-ARP-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        IpAddress,
        Integer32,
        Counter32
                FROM SNMPv2-SMI
        RowStatus,
        PhysAddress
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        IfIndex
                FROM FS-TC        
        fsMgmt
                FROM FS-SMI;

fsArpMIB MODULE-IDENTITY
        LAST-UPDATED "200203200000Z"
        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 arp mibs."
        REVISION      "200203200000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { fsMgmt 2}

fsArpMIBObjects OBJECT IDENTIFIER ::= { fsArpMIB 1 }


 -- IP Address Translation table

 -- The IP address translation table contain the IpAddress to
 -- `physical' address equivalences for ARP(Address Resolution Protocol). 
   
 fsArpTable OBJECT-TYPE
     SYNTAX  SEQUENCE OF FSArpEntry
     MAX-ACCESS  not-accessible
     STATUS  current
     DESCRIPTION
             "The IP Address Translation table used for mapping
             from IP addresses to physical addresses."
     ::= { fsArpMIBObjects 1 }

 fsArpEntry OBJECT-TYPE
     SYNTAX  FSArpEntry
     MAX-ACCESS  not-accessible
     STATUS  current
     DESCRIPTION
             "Each entry contains one IpAddress to `physical'
             address equivalence."
     INDEX   { fsArpIfIndex,
               fsArpNetAddress }
     ::= { fsArpTable 1 }

 FSArpEntry ::=
     SEQUENCE {
         fsArpIfIndex
             IfIndex,
         fsArpPhysAddress
             PhysAddress,
         fsArpNetAddress
             IpAddress,
         fsArpRemainAge
             Integer32,    
         fsArpType
             INTEGER,
         fsArpEntryType
             INTEGER,    
         fsArpStatus   
             RowStatus 
     }

 fsArpIfIndex OBJECT-TYPE
     SYNTAX  IfIndex
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
             "The interface on which this entry's equivalence
             is effective.  The interface identified by a
             particular value of this index is the same
             interface as identified by the same value of
             ifIndex."
     ::= { fsArpEntry 1 }

 fsArpPhysAddress OBJECT-TYPE
     SYNTAX  PhysAddress
     MAX-ACCESS  read-create
     STATUS  current
     DESCRIPTION
             "The media-dependent `physical' address."
     ::= { fsArpEntry 2 }

 fsArpNetAddress OBJECT-TYPE
     SYNTAX  IpAddress
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
             "The IpAddress corresponding to the media-
             dependent `physical' address."
     ::= { fsArpEntry 3 }

 fsArpRemainAge OBJECT-TYPE
     SYNTAX  Integer32
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
             "The remain age of this ARP entry, in units of minute"
     ::= { fsArpEntry 4 }
     
 fsArpType OBJECT-TYPE
     SYNTAX  INTEGER {
                 arpa(1)       -- none of the following
             }
     MAX-ACCESS  read-create
     STATUS  current
     DESCRIPTION
             "The ARP type of the entry."
     ::= { fsArpEntry 5 }

 fsArpEntryType OBJECT-TYPE
     SYNTAX  INTEGER {
                 static(1),   -- arp entry which is configured manually, these entries will not aging
                 dynamic(2), -- learnd by system, thest entry  may aging.
                 interface(3), -- the arp entry of the corresponding ip of the interface
                 vrrp(4), -- arp entry which is added by the vrrp protocol
                 trusted(5) -- arp entrty which is added through the smp server
             }
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
             "The entry type."
     ::= { fsArpEntry 6 }        
        
 fsArpStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "entry status of this entry. and the means in this enviraments can
            reffer to the text-convention definition of the RowStatus."
    ::= { fsArpEntry 7 }        
                



 --  Interface configure for ARP(Address Resolution Protocol)
   
 fsArpIfTable OBJECT-TYPE
     SYNTAX  SEQUENCE OF FSArpIfEntry
     MAX-ACCESS  not-accessible
     STATUS  current
     DESCRIPTION
             "Interface configure for ARP(Address Resolution Protocol)."
     ::= { fsArpMIBObjects 2 }

 fsArpIfEntry OBJECT-TYPE
     SYNTAX  FSArpIfEntry
     MAX-ACCESS  not-accessible
     STATUS  current
     DESCRIPTION
             "Each entry contains a interface configure for ARP"
     INDEX   { fsArpIfIfIndex}
     ::= { fsArpIfTable 1 }

 FSArpIfEntry ::=
     SEQUENCE {
         fsArpIfIfIndex
             IfIndex,
         fsArpIfCacheTimeOut
             INTEGER
     }

 fsArpIfIfIndex OBJECT-TYPE
     SYNTAX  IfIndex
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
             "The interface on which this entry's equivalence
             is effective.  The interface identified by a
             particular value of this index is the same
             interface as identified by the same value of
             ifIndex."
     ::= { fsArpIfEntry 1 }
                  
 fsArpIfCacheTimeOut OBJECT-TYPE
        SYNTAX INTEGER (60..18000)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Aging time in units of second of Arp table"
        ::= { fsArpIfEntry 2 }

 --  Counter for ARP(Address Resolution Protocol)

 fsArpCurrentTotalNumber OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of current total arp entrys this system have"
        ::= { fsArpMIBObjects 3 }        

 fsArpCurrentUnresolveNumber OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of current unresolve arp entrys this system have"
        ::= { fsArpMIBObjects 4 }        
         
fsArpMIBConformance OBJECT IDENTIFIER ::= { fsArpMIB 2 }
fsArpMIBCompliances OBJECT IDENTIFIER ::= { fsArpMIBConformance 1 }
fsArpMIBGroups      OBJECT IDENTIFIER ::= { fsArpMIBConformance 2 }


-- compliance statements

fsArpMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the FS Arp MIB"
        MODULE  -- this module
                MANDATORY-GROUPS { fsArpMIBGroup
                 }
--        OBJECT           ipNetToMediaIfIndex
--        MIN-ACCESS       read-only
--        DESCRIPTION     "Write access is not required."
--
--        OBJECT           ipNetToMediaPhysAddress
--        MIN-ACCESS       read-create
--        DESCRIPTION     "read-create access is permitted."
--        
--        OBJECT           ipNetToMediaNetAddress
--        MIN-ACCESS       read-only
--        DESCRIPTION     "Write access is not required."
        
        ::= { fsArpMIBCompliances 1 }
                
-- units of conformance

fsArpMIBGroup OBJECT-GROUP
        OBJECTS {
         fsArpIfIndex,
         fsArpPhysAddress,
         fsArpNetAddress,
         fsArpRemainAge,    
         fsArpType,
         fsArpEntryType,
         fsArpStatus, 
         fsArpIfIfIndex,
         fsArpIfCacheTimeOut,
         fsArpCurrentTotalNumber,
         fsArpCurrentUnresolveNumber
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing arp management and
                opertion to a FS agent."
        ::= { fsArpMIBGroups 1 } 
  
END
