ELTEX-MES-ISS-ARP-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Integer32
            FROM SNMPv2-SMI
        TruthValue
            FROM SNMPv2-TC
        ifIndex
            FROM IF-MIB
        eltMesIss
            FROM ELTEX-MES-ISS-MIB;

eltMesIssArpMIB MODULE-IDENTITY
        LAST-UPDATED "202225100000Z"
        ORGANIZATION "Eltex Enterprise, Ltd."
        CONTACT-INFO
                "eltex-co.ru"
        DESCRIPTION
                "The MIB contains scalars used to configure ARP
                 functionaly on an IP interface."
        REVISION "202225100000Z"
        DESCRIPTION "Added eltMesIssArpInspection object."
        REVISION "202103090000Z"
        DESCRIPTION "Initial revision."
    ::= { eltMesIss 26 }

-- ========================================================================== --
--                             Groups in the MIB                              --
-- ========================================================================== --

eltMesIssArpObjects             OBJECT IDENTIFIER ::= { eltMesIssArpMIB 1 }

eltMesIssArpInterfaceConfigs    OBJECT IDENTIFIER ::= { eltMesIssArpObjects 1 }
eltMesIssArpGlobals             OBJECT IDENTIFIER ::= { eltMesIssArpObjects 2 }
eltMesIssArpInspection          OBJECT IDENTIFIER ::= { eltMesIssArpObjects 3 }

eltMesIssArpInspectionStats     OBJECT IDENTIFIER ::= { eltMesIssArpInspection 1 }

-- ========================================================================== --
--                            ARP global variables                            --
-- ========================================================================== --

eltMesIssArpGratuitousInterval OBJECT-TYPE
    SYNTAX      Integer32 (15..86400)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This is variable used to configure sending interval of
         the periodic Gratuitous ARP. It is recommended to use
         an interval equal to half the ARP timeout value."
    DEFVAL      { 150 }
    ::= { eltMesIssArpGlobals 1 }

-- ========================================================================== --
--                        ARP Interface configurations                        --
-- ========================================================================== --

eltMesIssArpInterfaceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltMesIssArpInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table specifies ARP settings on an IP interface."
    ::= { eltMesIssArpInterfaceConfigs 1 }

eltMesIssArpInterfaceEntry OBJECT-TYPE
    SYNTAX     EltMesIssArpInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry in the eltMesIssArpInterfaceTable."
    INDEX       { ifIndex }
    ::= { eltMesIssArpInterfaceTable 1 }

EltMesIssArpInterfaceEntry ::=
    SEQUENCE {
        eltMesIssArpGratuitousPeriodicEnable TruthValue
    }

eltMesIssArpGratuitousPeriodicEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This variable displays the current state of sending the periodic
         Gratuitous ARP on a VLAN interface. By default, the Gratuitous ARP
         request rate is half the ARP timeout."
    DEFVAL { true }
    ::= { eltMesIssArpInterfaceEntry 1 }

-- ========================================================================== --
--                  ARP Inspection statistics per interface                   --
-- ========================================================================== --

eltMesIssArpInspectionIfStatsTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF EltMesIssArpInspectionIfStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains information of ARP inspection status and
         statistics on each interface."
    ::= { eltMesIssArpInspectionStats 1 }

eltMesIssArpInspectionIfStatsEntry OBJECT-TYPE
    SYNTAX      EltMesIssArpInspectionIfStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry contains the informations whether ARP Inspection is
         enabled/disabled on the given interface."
    INDEX       { ifIndex }
    ::= { eltMesIssArpInspectionIfStatsTable 1 }

EltMesIssArpInspectionIfStatsEntry ::= SEQUENCE {
    eltMesIssArpInspectionIfForwardedPackets        Integer32,
    eltMesIssArpInspectionIfDroppedPackets          Integer32,
    eltMesIssArpInspectionIfIPValidFailures         Integer32,
    eltMesIssArpInspectionIfDestMacFailures         Integer32,
    eltMesIssArpInspectionIfSrcMacFailures          Integer32,
    eltMesIssArpInsectionIfStatsClear               TruthValue
}

eltMesIssArpInspectionIfForwardedPackets OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies total number of ARP packets that are forwarded
         on this interface."
    ::= { eltMesIssArpInspectionIfStatsEntry 1 }

eltMesIssArpInspectionIfDroppedPackets OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies total number of ARP packets that are dropped
         on this interface."
    ::= { eltMesIssArpInspectionIfStatsEntry 2 }

eltMesIssArpInspectionIfIPValidFailures OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies total number of ARP packets that are dropped
         due to IP validation failures on this interface."
    ::= { eltMesIssArpInspectionIfStatsEntry 3 }

eltMesIssArpInspectionIfDestMacFailures OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies total number of ARP packets that are dropped
         due to DEST MAC validation failures on this interface."
    ::= { eltMesIssArpInspectionIfStatsEntry 4 }

eltMesIssArpInspectionIfSrcMacFailures OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies total number of ARP packets that are dropped
         due to SRC MAC validation failures on this interface."
    ::= { eltMesIssArpInspectionIfStatsEntry 5 }

eltMesIssArpInsectionIfStatsClear OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object is used to clear all Dynamic ARP Inspection statistics of
         this interface.
         Setting this object to true will cause the statistics to be reset
         and setting this object to false will have no effect.
         This object revert backs to false after clearing the statistics."
    DEFVAL      { false }
    ::= { eltMesIssArpInspectionIfStatsEntry 6 }

END
