-- ============================================================================
-- Copyright (c) 2004-2023 New H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: The purpose of this MIB file is to provide the definition of
--              the ARP trap.
-- Reference:
-- Version: V1.2
-- History:
-- V1.0 2021-12-08
--   Initial version, created by daifei
-- V1.1 2022-05-13
--   Added hh3cARPTrapPacketValidCheck by lkf9751
--   Added hh3cARPTrapHostMoveResume and hh3cARPTrapGatewayCheck by zkf9482
--   Added hh3cARPTrapDtcDropVlanPkt, hh3cARPTrapDtcDropVsiPkt,
--   hh3cARPTrapDtcDropIfPkt, hh3cARPTrapMacMismatch,
--   hh3cARPTrapEntryCheck by xkf9359
-- V1.2 2023-04-20
--   Added hh3cARPTrapPktQueue by yuanyuchen
-- ============================================================================
HH3C-ARP-TRAP-MIB DEFINITIONS ::= BEGIN

IMPORTS
        hh3cCommon
    FROM HH3C-OID-MIB
        DisplayString
    FROM SNMPv2-TC
        Unsigned32, IpAddress, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE
    FROM SNMPv2-SMI;
-- Node definitions
hh3cARPTrap MODULE-IDENTITY
    LAST-UPDATED "202304201710Z"      -- APR 20, 2023 at 17:10 GMT
    ORGANIZATION
        "New H3C Technologies Co., Ltd."
    CONTACT-INFO
        "Platform Team New H3C Technologies Co., Ltd.
         Hai-Dian District Beijing P.R. China
         http://www.h3c.com
         Zip: 100085"
    DESCRIPTION
        "This MIB file defines the ARP trap warning feature only."
    REVISION "202304201710Z"        -- APR 20, 2023 at 17:10 GMT
    DESCRIPTION
        "Add hh3cARPTrapPktQueue."
    REVISION "202205131800Z"        -- MAY 13, 2022 at 18:00 GMT
    DESCRIPTION
        "Added hh3cARPTrapPacketValidCheck, hh3cARPTrapHostMoveResume, hh3cARPTrapDtcDropVlanPkt, hh3cARPTrapDtcDropVsiPkt,
         hh3cARPTrapDtcDropIfPkt, hh3cARPTrapMacMismatch,
         hh3cARPTrapEntryCheck, and
         hh3cARPTrapGatewayCheck."
    REVISION "202112081800Z"        -- DEC 08, 2021 at 18:00 GMT
    DESCRIPTION
        "The initial version of this MIB file."
    ::= { hh3cCommon 217}

-- hh3cARPTrapEntry
hh3cARPTrapEntry OBJECT IDENTIFIER ::= { hh3cARPTrap 1 }

hh3cARPTrapsEntry OBJECT IDENTIFIER  ::= { hh3cARPTrapEntry 0 }

-- hh3cARPTrapsEntry
hh3cARPTrapThresholdAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapEntryThreshold,
            hh3cARPTrapDynamicEntryNum,
            hh3cARPTrapStaticEntryNum,
            hh3cARPTrapOtherEntryNum
        }
    STATUS      current
    DESCRIPTION
        "If the numbers of ARP entry on a device exceeds the threshold,
         a trap message is generated and sent to the remote monitoring device."
    ::= { hh3cARPTrapsEntry 1 }

hh3cARPTrapThresholdResume NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapEntryThreshold,
            hh3cARPTrapDynamicEntryNum,
            hh3cARPTrapStaticEntryNum,
            hh3cARPTrapOtherEntryNum
        }
    STATUS      current
    DESCRIPTION
        "If the numbers of ARP entry on a device drops below the threshold,
         a trap message is generated and sent to the remote monitoring device."
    ::= { hh3cARPTrapsEntry 2 }

hh3cARPTrapSlotThresholdAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapEntryChassis,
            hh3cARPTrapEntrySlot,
            hh3cARPTrapEntryThreshold,
            hh3cARPTrapDynamicEntryNum
        }
    STATUS      current
    DESCRIPTION
        "If the numbers of ARP entry of slot exceeds the threshold,
         a trap message is generated and sent to the remote monitoring device."
    ::= { hh3cARPTrapsEntry 3 }

hh3cARPTrapSlotThresholdResume NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapEntryChassis,
            hh3cARPTrapEntrySlot,
            hh3cARPTrapEntryThreshold,
            hh3cARPTrapDynamicEntryNum
        }
    STATUS      current
    DESCRIPTION
        "If the numbers of ARP entry of slot drops below the threshold,
         a trap message is generated and sent to the remote monitoring device."
    ::= { hh3cARPTrapsEntry 4 }

hh3cARPTrapIfThresholdAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapEntryIfName,
            hh3cARPTrapEntryThreshold,
            hh3cARPTrapDynamicEntryNum
        }
    STATUS      current
    DESCRIPTION
        "If the numbers of ARP entry exceeds the threshold of the interface,
         a trap message is generated and sent to the remote monitoring device."
    ::= { hh3cARPTrapsEntry 5 }

hh3cARPTrapIfThresholdResume NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapEntryIfName,
            hh3cARPTrapEntryThreshold,
            hh3cARPTrapDynamicEntryNum
        }
    STATUS      current
    DESCRIPTION
        "If the numbers of ARP entry drops below the threshold of the interface,
         a trap message is generated and sent to the remote monitoring device."
    ::= { hh3cARPTrapsEntry 6 }

hh3cARPTrapSuppThresholdAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapEntryThreshold,
            hh3cARPTrapSuppEntryNum
        }
    STATUS      current
    DESCRIPTION
        "If the numbers of ARP suppression entry on a device exceeds the
         threshold, a trap message is generated and sent to the remote
         monitoring device."
    ::= { hh3cARPTrapsEntry 7 }

hh3cARPTrapSuppThresholdResume NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapEntryThreshold,
            hh3cARPTrapSuppEntryNum
        }
    STATUS      current
    DESCRIPTION
        "If the numbers of ARP suppression entry on a device drops below the
        threshold, a trap message is generated and sent to the remote
        monitoring device."
    ::= { hh3cARPTrapsEntry 8 }

hh3cARPTrapEntryObjects OBJECT IDENTIFIER  ::= { hh3cARPTrapEntry 1 }

-- hh3cARPEntryTrapObjects

hh3cARPTrapEntryChassis OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of chassis ID. If the value is 65535, the device is
        not a stacked device ."
    ::= { hh3cARPTrapEntryObjects 1 }

hh3cARPTrapEntrySlot OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
    "The information of slot."
    ::= { hh3cARPTrapEntryObjects 2 }

hh3cARPTrapEntryIfName OBJECT-TYPE
    SYNTAX      DisplayString(SIZE (0..255))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of interface name."
    ::= { hh3cARPTrapEntryObjects 3 }

hh3cARPTrapEntryThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of Threshold."
    ::= { hh3cARPTrapEntryObjects 4 }

hh3cARPTrapDynamicEntryNum OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The numbers of ARP dynamic entry."
    ::= { hh3cARPTrapEntryObjects 5 }

hh3cARPTrapStaticEntryNum OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The numbers of ARP static entry."
    ::= { hh3cARPTrapEntryObjects 6 }

hh3cARPTrapOtherEntryNum OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The numbers of ARP other entry."
    ::= { hh3cARPTrapEntryObjects 7 }

hh3cARPTrapSuppEntryNum OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The numbers of ARP suppression entry."
    ::= { hh3cARPTrapEntryObjects 8 }

hh3cARPTrapPkt OBJECT IDENTIFIER  ::= { hh3cARPTrap 2 }

-- hh3cARPTrapLocalConflict
hh3cARPTrapLocalConflict OBJECT IDENTIFIER ::= { hh3cARPTrapPkt 1 }

hh3cARPTrapsLocal OBJECT IDENTIFIER  ::= { hh3cARPTrapLocalConflict 0 }

hh3cARPTrapMACConflictAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapLocalConflictIf,
            hh3cARPTrapLocalConflictMac,
            hh3cARPTrapLocalSrcIp,
            hh3cARPTrapLocalPeVlan,
            hh3cARPTrapLocalCeVlan,
            hh3cARPTrapLocalInboundIf
        }
    STATUS      current
    DESCRIPTION
        "If the MAC address conflict occurred, a trap message is generated
        and sent to the remote monitoring device."
    ::= { hh3cARPTrapsLocal 1 }

hh3cARPTrapMACConflictResume NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapLocalConflictIf,
            hh3cARPTrapLocalConflictMac,
            hh3cARPTrapLocalSrcIp,
            hh3cARPTrapLocalPeVlan,
            hh3cARPTrapLocalCeVlan,
            hh3cARPTrapLocalInboundIf
        }
    STATUS      current
    DESCRIPTION
        "If the MAC address conflict was removed, a trap message is generated
        and sent to the remote monitoring device."
    ::= { hh3cARPTrapsLocal 2 }

hh3cARPTrapMACIPConflictAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapLocalConflictIf,
            hh3cARPTrapLocalConflictMac,
            hh3cARPTrapLocalConflictIP,
            hh3cARPTrapLocalDstMac,
            hh3cARPTrapLocalDstIP,
            hh3cARPTrapLocalPeVlan,
            hh3cARPTrapLocalCeVlan,
            hh3cARPTrapLocalInboundIf
        }
    STATUS      current
    DESCRIPTION
        "If a MAC and IP address conflicts occurred, a trap message is generated
        and sent to the remote monitoring device."
    ::= { hh3cARPTrapsLocal 3 }

hh3cARPTrapMACIPConflictResume NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapLocalConflictIf,
            hh3cARPTrapLocalConflictMac,
            hh3cARPTrapLocalConflictIP,
            hh3cARPTrapLocalDstMac,
            hh3cARPTrapLocalDstIP,
            hh3cARPTrapLocalPeVlan,
            hh3cARPTrapLocalCeVlan,
            hh3cARPTrapLocalInboundIf
        }
    STATUS      current
    DESCRIPTION
        "If the MAC and IP address conflicts were resolved, a trap
          message is generated and sent
         to the remote monitoring device."
    ::= { hh3cARPTrapsLocal 4 }

hh3cARPTrapIPConflictAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapLocalConflictIf,
            hh3cARPTrapLocalConflictIP,
            hh3cARPTrapLocalSrcMac,
            hh3cARPTrapLocalPeVlan,
            hh3cARPTrapLocalCeVlan
        }
    STATUS      current
    DESCRIPTION
        "If the device received an ARP packet with a duplicate
         IP address, a trap message is generated and sent
         to the remote monitoring device."
    ::= { hh3cARPTrapsLocal 5 }

hh3cARPTrapIPConflictResume NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapLocalConflictIf,
            hh3cARPTrapLocalConflictIP,
            hh3cARPTrapLocalSrcMac,
            hh3cARPTrapLocalPeVlan,
            hh3cARPTrapLocalCeVlan
        }
    STATUS      current
    DESCRIPTION
        "If the IP address conflicts were resolved, a trap message is generated
        and sent to the remote monitoring device."
    ::= { hh3cARPTrapsLocal 6 }

hh3cARPTrapLocalObjects OBJECT IDENTIFIER  ::= { hh3cARPTrapLocalConflict 1 }

hh3cARPTrapLocalConflictIf OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..47))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Conflict Interface name."
    ::= { hh3cARPTrapLocalObjects 1 }

hh3cARPTrapLocalConflictMac OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..15))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The mac address of Conflict Interface."
    ::= { hh3cARPTrapLocalObjects 2 }

hh3cARPTrapLocalConflictIP OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The ip address of Conflict Interface."
    ::= { hh3cARPTrapLocalObjects 3 }

hh3cARPTrapLocalSrcMac OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..15))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The source mac of Arp packet"
    ::= { hh3cARPTrapLocalObjects 4}

hh3cARPTrapLocalSrcIp OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The source ip of Arp packet"
    ::= { hh3cARPTrapLocalObjects 5 }

hh3cARPTrapLocalDstMac OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..15))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The destination mac of Arp packet."
    ::= { hh3cARPTrapLocalObjects 6}

hh3cARPTrapLocalDstIP OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The destination ip of Arp packet."
    ::= { hh3cARPTrapLocalObjects 7 }

hh3cARPTrapLocalPeVlan OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The first vlan ip of Arp packet."
    ::= { hh3cARPTrapLocalObjects 8}

hh3cARPTrapLocalCeVlan OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "TThe second vlan ip of Arp packet."
    ::= { hh3cARPTrapLocalObjects 9 }

hh3cARPTrapLocalInboundIf OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..47))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "TThe physical inbound inerface of Arp packet."
    ::= { hh3cARPTrapLocalObjects 10}

-- hh3cARPTrapHostMove
hh3cARPTrapHostMove OBJECT IDENTIFIER ::= { hh3cARPTrapPkt 2 }

hh3cARPTrapsHostMove OBJECT IDENTIFIER  ::= { hh3cARPTrapHostMove 0 }

hh3cARPTrapHostMoveAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapMoveUserIP,
            hh3cARPTrapMoveUserMAC,
            hh3cARPTrapMoveLocalIf,
            hh3cARPTrapMoveLocalPeVlan,
            hh3cARPTrapMoveLocalCeVlan,
            hh3cARPTrapMoveRemoteIF,
            hh3cARPTrapMoveRemotePeVlan,
            hh3cARPTrapMoveRemoteCeVlan
        }
    STATUS      current
    DESCRIPTION
        "If the device detected a user moved to another interface,
         a trap message is generated and sent
         to the remote monitoring device."
    ::= { hh3cARPTrapsHostMove 1 }

hh3cARPTrapHostMoveResume NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapMoveUserIP,
            hh3cARPTrapMoveUserMAC,
            hh3cARPTrapMoveLocalIf,
            hh3cARPTrapMoveLocalPeVlan,
            hh3cARPTrapMoveLocalCeVlan,
            hh3cARPTrapMoveRemoteIF,
            hh3cARPTrapMoveRemotePeVlan,
            hh3cARPTrapMoveRemoteCeVlan
        }
    STATUS      current
    DESCRIPTION
        "If the device detects that the event of the user moving to
        another interface is cleared, it sends a trap message to the remote
        monitoring device."
    ::= { hh3cARPTrapsHostMove 2 }

hh3cARPTrapHostMoveObjects OBJECT IDENTIFIER  ::= { hh3cARPTrapHostMove 1 }

hh3cARPTrapMoveUserIP OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The ip address of user moved to another interface."
    ::= { hh3cARPTrapHostMoveObjects 1 }

hh3cARPTrapMoveUserMAC OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..15))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The mac address of user moved to another interface."
    ::= { hh3cARPTrapHostMoveObjects 2 }

hh3cARPTrapMoveLocalIf OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..47))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The interface before user move."
    ::= { hh3cARPTrapHostMoveObjects 3 }

hh3cARPTrapMoveLocalPeVlan OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The first vlan before user move."
    ::= { hh3cARPTrapHostMoveObjects 4}

hh3cARPTrapMoveLocalCeVlan OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The second vlan before user move."
    ::= { hh3cARPTrapHostMoveObjects 5 }

hh3cARPTrapMoveRemoteIF OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..47))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The interface after user move."
    ::= { hh3cARPTrapHostMoveObjects 6}

hh3cARPTrapMoveRemotePeVlan OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The first vlan after user move."
    ::= { hh3cARPTrapHostMoveObjects 7 }

hh3cARPTrapMoveRemoteCeVlan OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The second vlan after user move."
    ::= { hh3cARPTrapHostMoveObjects 8 }

-- hh3cARPTrapUserIpConflict
hh3cARPTrapUserIpConflict OBJECT IDENTIFIER ::= { hh3cARPTrapPkt 3 }

hh3cARPTrapsUserIpConflict OBJECT IDENTIFIER  ::= { hh3cARPTrapUserIpConflict 0 }

hh3cARPTrapUserIpConflictAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapUIPCPRcvMac,
            hh3cARPTrapUIPCPRcvPVid,
            hh3cARPTrapUIPCPRcvCVid,
            hh3cARPTrapUIPCPRcvIf,
            hh3cARPTrapUIPCPLocalMac,
            hh3cARPTrapUIPCPLocalIf,
            hh3cARPTrapUIPCPLocalPVid,
            hh3cARPTrapUIPCPLocalCVid,
            hh3cARPTrapUIPCPIpAddr
        }
    STATUS      current
    DESCRIPTION
        "If the device detected a user IP address conflict,
        a trap message is generated and sent
        to the remote monitoring device."
    ::= { hh3cARPTrapsUserIpConflict 1 }

hh3cARPTrapUserIpConflictObjs OBJECT IDENTIFIER  ::= { hh3cARPTrapUserIpConflict 1 }

hh3cARPTrapUIPCPRcvMac OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..15))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The mac address of New user."
    ::= { hh3cARPTrapUserIpConflictObjs 1 }

hh3cARPTrapUIPCPRcvPVid OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The first vlan of New user."
    ::= { hh3cARPTrapUserIpConflictObjs 2}

hh3cARPTrapUIPCPRcvCVid OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The second vlan of  New user."
    ::= { hh3cARPTrapUserIpConflictObjs 3 }

hh3cARPTrapUIPCPRcvIf OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..47))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The  Interface of  New user."
    ::= { hh3cARPTrapUserIpConflictObjs 4 }

hh3cARPTrapUIPCPLocalMac OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..15))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The mac address of  Old user."
    ::= { hh3cARPTrapUserIpConflictObjs 5}

hh3cARPTrapUIPCPLocalPVid OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The first vlan of  Old user."
    ::= { hh3cARPTrapUserIpConflictObjs 6 }

hh3cARPTrapUIPCPLocalCVid OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The second vlan of  Old user."
    ::= { hh3cARPTrapUserIpConflictObjs 7}

hh3cARPTrapUIPCPLocalIf OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..47))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The Interface of  Old user."
    ::= { hh3cARPTrapUserIpConflictObjs 8 }

hh3cARPTrapUIPCPIpAddr OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Conflict ip address."
    ::= { hh3cARPTrapUserIpConflictObjs 9 }

-- hh3cARPTrapAckStrictCheck
hh3cARPTrapAckStrictCheck OBJECT IDENTIFIER ::= { hh3cARPTrapPkt 4 }

hh3cARPTrapsAckStrictCheck OBJECT IDENTIFIER  ::= { hh3cARPTrapAckStrictCheck 0 }

hh3cARPTrapAckStrictCheckAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapAckIfName,
            hh3cARPTrapAckSourceIP
        }
    STATUS      current
    DESCRIPTION
        "If the interface received an ARP reply that was not requested by the
         device, a trap message is generated and sent to the remote monitoring
         device."
    ::= { hh3cARPTrapsAckStrictCheck 1 }

hh3cARPTrapAckStrictObjs OBJECT IDENTIFIER  ::= { hh3cARPTrapAckStrictCheck 1 }

hh3cARPTrapAckIfName OBJECT-TYPE
    SYNTAX      DisplayString(SIZE (0..255))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The interface of receiving an ARP reply."
    ::= { hh3cARPTrapAckStrictObjs 1}

hh3cARPTrapAckSourceIP OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The source ip of the ARP reply."
    ::= { hh3cARPTrapAckStrictObjs 2 }

-- hh3cARPTrapSpeedLimit
hh3cARPTrapSpeedLimit OBJECT IDENTIFIER ::= { hh3cARPTrapPkt 5 }

hh3cARPTrapsSpeedLimit OBJECT IDENTIFIER  ::= { hh3cARPTrapSpeedLimit 0 }

hh3cARPTrapSpeedLimitAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapSpeedLimitChassis,
            hh3cARPTrapSpeedLimitSlot,
            hh3cARPTrapSpeedLimitSupValue,
            hh3cARPTrapSpeedLimitCurValue,
            hh3cARPTrapSpeedLimitSupType
        }
    STATUS      current
    DESCRIPTION
        "If the rate of sending ARP packets or deliving ARP miss messages
        exceeded the rate limit, a trap message is generated and sent
        to the remote monitoring device."
    ::= { hh3cARPTrapsSpeedLimit 1 }

hh3cARPTrapSpeedLimitResume NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapSpeedLimitChassis,
            hh3cARPTrapSpeedLimitSlot,
            hh3cARPTrapSpeedLimitSupValue,
            hh3cARPTrapSpeedLimitCurValue,
            hh3cARPTrapSpeedLimitSupType
        }
    STATUS      current
    DESCRIPTION
        "If the rate of sending ARP packets or deliving ARP miss messages
        droped below the rate limit, a trap message is generated and sent
        to the remote monitoring device."
    ::= { hh3cARPTrapsSpeedLimit 2 }

hh3cARPTrapSpeedLimitObjs OBJECT IDENTIFIER  ::= { hh3cARPTrapSpeedLimit 1 }

hh3cARPTrapSpeedLimitChassis OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of chassis ID. If the value is 65535, the device is
        not a stacked device ."
    ::= { hh3cARPTrapSpeedLimitObjs 1 }

hh3cARPTrapSpeedLimitSlot OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
    "The information of slot."
    ::= { hh3cARPTrapSpeedLimitObjs 2 }

hh3cARPTrapSpeedLimitSupValue OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "pps"
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The threshold rate of speed limit."
    ::= { hh3cARPTrapSpeedLimitObjs 3 }

hh3cARPTrapSpeedLimitCurValue OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "pps"
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The current rate of speed limit."
    ::= { hh3cARPTrapSpeedLimitObjs 4 }

hh3cARPTrapSpeedLimitSupType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            packet(1),
            miss(2)
        }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The current rate of speed limit:
         'packet' means Arp packet Speed Limit.
         'miss' means Arp Miss Message Speed Limit."
    ::= { hh3cARPTrapSpeedLimitObjs 5}

-- hh3cARPTrapPacketValidCheck
hh3cARPTrapPacketValidCheck OBJECT IDENTIFIER ::= { hh3cARPTrapPkt 6 }

hh3cARPTrapsPacketValidCheck OBJECT IDENTIFIER  ::= { hh3cARPTrapPacketValidCheck 0 }

hh3cARPTrapPacketValidCheckAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapPktValidCheckIf,
            hh3cARPTrapPktValidCheckMac,
            hh3cARPTrapPktValidCheckIp,
            hh3cARPTrapPktValidCheckVlan,
            hh3cARPTrapPktValidtCheckSvlan
        }
    STATUS      current
    DESCRIPTION
        "If the device receives an invalid ARP packet,
        a trap message is generated and sent to
        the remote monitoring device."
    ::= { hh3cARPTrapsPacketValidCheck 1 }

hh3cARPTrapPacketValidCheckObjs OBJECT IDENTIFIER  ::= { hh3cARPTrapPacketValidCheck 1 }

hh3cARPTrapPktValidCheckIf OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..47))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Name of the interface that received the ARP packet."
    ::= { hh3cARPTrapPacketValidCheckObjs 1 }

hh3cARPTrapPktValidCheckMac OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..15))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        " Source MAC address of the ARP packet."
    ::= { hh3cARPTrapPacketValidCheckObjs 2 }

hh3cARPTrapPktValidCheckIp OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Source IP address of ARP packet."
    ::= { hh3cARPTrapPacketValidCheckObjs 3 }

hh3cARPTrapPktValidCheckVlan OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "VLAN ID of the ARP packet."
    ::= { hh3cARPTrapPacketValidCheckObjs 4 }

hh3cARPTrapPktValidtCheckSvlan OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Service VLAN ID of the ARP packet."
    ::= { hh3cARPTrapPacketValidCheckObjs 5 }

-- hh3cARPTrapGatewayCheck
hh3cARPTrapGatewayCheck OBJECT IDENTIFIER ::= { hh3cARPTrapPkt 7 }

hh3cARPTrapsGatewayCheck OBJECT IDENTIFIER  ::= { hh3cARPTrapGatewayCheck 0 }
hh3cARPTrapGatewayCheckAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapGatewayCheckIf,
            hh3cARPTrapGatewayCheckSlot,
            hh3cARPTrapGatewayCheckIp
        }
    STATUS      current
    DESCRIPTION
        "If the ARP gateway protection feature intercepts an ARP attack
        packet, a trap message is generated and sent to
        the remote monitoring device."
    ::= { hh3cARPTrapsGatewayCheck 1 }

hh3cARPTrapGatewayCheckResume NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapGatewayCheckIf,
            hh3cARPTrapGatewayCheckSlot,
            hh3cARPTrapGatewayCheckIp
        }
    STATUS      current
    DESCRIPTION
        "If the device is no longer attacked for a period of
        time, a trap message is generated and sent to
        the remote monitoring device."
    ::= { hh3cARPTrapsGatewayCheck 2 }

hh3cARPTrapGatewayCheckObjs OBJECT IDENTIFIER  ::= { hh3cARPTrapGatewayCheck 1 }

hh3cARPTrapGatewayCheckIf OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..47))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Name of the interface that received the ARP packet."
    ::= { hh3cARPTrapGatewayCheckObjs 1 }

hh3cARPTrapGatewayCheckSlot OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Slot of interface board."
    ::= { hh3cARPTrapGatewayCheckObjs 2 }

hh3cARPTrapGatewayCheckIp OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        " IP address of the ARP packet."
    ::= { hh3cARPTrapGatewayCheckObjs 3 }

-- hh3cARPTrapDtcDropVlanPkt
hh3cARPTrapDtcDropVlanPkt OBJECT IDENTIFIER ::= { hh3cARPTrapPkt 8 }

hh3cARPTrapsDtcDropVlanPkt OBJECT IDENTIFIER  ::= { hh3cARPTrapDtcDropVlanPkt 0 }

hh3cARPTrapDtcDropVlanPktAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapDtcDropVlanPktChassis,
            hh3cARPTrapDtcDropVlanPktSlot,
            hh3cARPTrapDtcDropVlanPktIfName,
            hh3cARPTrapDtcDropVlanPktVlanId,
            hh3cARPTrapDtcDropVlanPktServId,
            hh3cARPTrapDtcDropVlanPktType
        }
    STATUS      current
    DESCRIPTION
        "ARP detection packet loss alarm of VLAN virtual interface."
    ::= { hh3cARPTrapsDtcDropVlanPkt 1 }

hh3cARPTrapDtcDropVlanPktObjs OBJECT IDENTIFIER  ::= { hh3cARPTrapDtcDropVlanPkt 1 }

hh3cARPTrapDtcDropVlanPktChassis OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The chassis number of the loss ARP detection-drop packet. If the value is 65535, the device is
        not a stacked device."
    ::= { hh3cARPTrapDtcDropVlanPktObjs 1 }

hh3cARPTrapDtcDropVlanPktSlot OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
    "The slot number of the ARP detection-drop packet."
    ::= { hh3cARPTrapDtcDropVlanPktObjs 2 }

hh3cARPTrapDtcDropVlanPktIfName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE (0..255))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Name of the interface of the ARP detection-drop packet."
    ::= { hh3cARPTrapDtcDropVlanPktObjs 3 }

hh3cARPTrapDtcDropVlanPktVlanId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The vlan id of the ARP detection-drop packet."
    ::= { hh3cARPTrapDtcDropVlanPktObjs 4 }

hh3cARPTrapDtcDropVlanPktServId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The service id of the ARP detection-drop packet."
    ::= { hh3cARPTrapDtcDropVlanPktObjs 5}

hh3cARPTrapDtcDropVlanPktType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            sourceMacInvalidDrop(1),
            destMacInvalidDrop(2),
            ipInvalidDrop(3),
            ipcimNobindingDrop(4)
        }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The type of the ARP detection-drop packet:
         'sourceMacInvalidDrop' means Arp packet dropped by invalid source mac address.
     'destMacInvalidDrop' means Arp packet dropped by invalid destination mac address.
     'ipInvalidDrop' means Arp packet dropped by invalid ip address.
         'ipcimNobindingDrop' means Arp packet dropped by ipcim has no binding."
    ::= { hh3cARPTrapDtcDropVlanPktObjs 6}

-- hh3cARPTrapDtcDropVsiPkt

hh3cARPTrapDtcDropVsiPkt OBJECT IDENTIFIER ::= { hh3cARPTrapPkt 9 }

hh3cARPTrapsDtcDropVsiPkt OBJECT IDENTIFIER  ::= { hh3cARPTrapDtcDropVsiPkt 0 }

hh3cARPTrapDtcDropVsiPktAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapDtcDropVsiPktChassis,
            hh3cARPTrapDtcDropVsiPktSlot,
            hh3cARPTrapDtcDropVsiPktIfName,
            hh3cARPTrapDtcDropVsiPktVlanId,
            hh3cARPTrapDtcDropVsiPktServId,
            hh3cARPTrapDtcDropVsiPktType
        }
    STATUS      current
    DESCRIPTION
        "ARP detection packet loss alarm of VSI virtual interface."
    ::= { hh3cARPTrapsDtcDropVsiPkt 1 }

hh3cARPTrapDtcDropVsiPktObjs OBJECT IDENTIFIER  ::= { hh3cARPTrapDtcDropVsiPkt 1 }

hh3cARPTrapDtcDropVsiPktChassis OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The chassis number of the loss ARP detection-drop packet. If the value is 65535, the device is
        not a stacked device."
    ::= { hh3cARPTrapDtcDropVsiPktObjs 1 }

hh3cARPTrapDtcDropVsiPktSlot OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
    "The slot number of the ARP detection-drop packet."
    ::= { hh3cARPTrapDtcDropVsiPktObjs 2 }

hh3cARPTrapDtcDropVsiPktIfName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE (0..255))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Name of the interface of the ARP detection-drop packet."
    ::= { hh3cARPTrapDtcDropVsiPktObjs 3 }

hh3cARPTrapDtcDropVsiPktVlanId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The vlan id of the ARP detection-drop packet."
    ::= { hh3cARPTrapDtcDropVsiPktObjs 4 }

hh3cARPTrapDtcDropVsiPktServId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The service id of the ARP detection-drop packet."
    ::= { hh3cARPTrapDtcDropVsiPktObjs 5}

hh3cARPTrapDtcDropVsiPktType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            sourceMacInvalidDrop(1),
            destMacInvalidDrop(2),
            ipInvalidDrop(3),
            ipcimNobindingDrop(4)
        }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The type of the ARP detection-drop packet:
         'sourceMacInvalidDrop' means Arp packet dropped by invalid source mac address.
     'destMacInvalidDrop' means Arp packet dropped by invalid destination mac address.
     'ipInvalidDrop' means Arp packet dropped by invalid ip address.
         'ipcimNobindingDrop' means Arp packet dropped by ipcim has no binding."
    ::= { hh3cARPTrapDtcDropVsiPktObjs 6}

-- hh3cARPTrapDtcDropIfPkt

hh3cARPTrapDtcDropIfPkt OBJECT IDENTIFIER ::= { hh3cARPTrapPkt 10 }

hh3cARPTrapsDtcDropIfPkt OBJECT IDENTIFIER  ::= { hh3cARPTrapDtcDropIfPkt 0 }

hh3cARPTrapDtcDropIfPktAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapDtcDropIfPktChassis,
            hh3cARPTrapDtcDropIfPktSlot,
            hh3cARPTrapDtcDropIfPktIfName,
            hh3cARPTrapDtcDropIfPktVlanId,
            hh3cARPTrapDtcDropIfPktServId,
            hh3cARPTrapDtcDropIfPktType
        }
    STATUS      current
    DESCRIPTION
        "ARP detection packet loss alarm of layer 2 Ethernet interface"
    ::= { hh3cARPTrapsDtcDropIfPkt 1 }

hh3cARPTrapDtcDropIfPktObjs OBJECT IDENTIFIER  ::= { hh3cARPTrapDtcDropIfPkt 1 }

hh3cARPTrapDtcDropIfPktChassis OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The chassis number of the loss ARP detection-drop packet. If the value is 65535, the device is
        not a stacked device."
    ::= { hh3cARPTrapDtcDropIfPktObjs 1 }

hh3cARPTrapDtcDropIfPktSlot OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
    "The slot number of the ARP detection-drop packet."
    ::= { hh3cARPTrapDtcDropIfPktObjs 2 }

hh3cARPTrapDtcDropIfPktIfName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE (0..255))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Name of the interface of the ARP detection-drop packet."
    ::= { hh3cARPTrapDtcDropIfPktObjs 3 }

hh3cARPTrapDtcDropIfPktVlanId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The vlan id of the ARP detection-drop packet."
    ::= { hh3cARPTrapDtcDropIfPktObjs 4 }

hh3cARPTrapDtcDropIfPktServId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The service id of the ARP detection-drop packet."
    ::= { hh3cARPTrapDtcDropIfPktObjs 5}

hh3cARPTrapDtcDropIfPktType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            sourceMacInvalidDrop(1),
            destMacInvalidDrop(2),
            ipInvalidDrop(3),
            ipcimNobindingDrop(4)
        }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The type of the ARP detection-drop packet:
         'sourceMacInvalidDrop' means Arp packet dropped by invalid source mac address.
     'destMacInvalidDrop' means Arp packet dropped by invalid destination mac address.
     'ipInvalidDrop' means Arp packet dropped by invalid ip address.
         'ipcimNobindingDrop' means Arp packet dropped by ipcim has no binding."
    ::= { hh3cARPTrapDtcDropIfPktObjs 6}

-- hh3cARPTrapMacMismatch
hh3cARPTrapMacMismatch OBJECT IDENTIFIER ::= { hh3cARPTrapPkt 11 }

hh3cARPTrapsMacMismatch OBJECT IDENTIFIER  ::= { hh3cARPTrapMacMismatch 0 }

hh3cARPTrapMacMismatchAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapMacMismatchChassis,
            hh3cARPTrapMacMismatchSlot,
            hh3cARPTrapMacMismatchIfName,
            hh3cARPTrapMacMismatchIP,
            hh3cARPTrapMacMismatchVrf,
            hh3cARPTrapMacMismatchMac
        }
    STATUS      current
    DESCRIPTION
        "Alarm of inconsistency between MAC address of static ARP and actual MAC address."
    ::= { hh3cARPTrapsMacMismatch 1 }

hh3cARPTrapMacMismatchResume NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapMacMismatchChassis,
            hh3cARPTrapMacMismatchSlot,
            hh3cARPTrapMacMismatchIfName,
            hh3cARPTrapMacMismatchIP,
            hh3cARPTrapMacMismatchVrf,
            hh3cARPTrapMacMismatchMac
        }
    STATUS      current
    DESCRIPTION
        "Alarm of consistency between MAC address of static ARP and actual MAC address."
    ::= { hh3cARPTrapsMacMismatch 2 }

hh3cARPTrapMacMismatchObjs OBJECT IDENTIFIER  ::= { hh3cARPTrapMacMismatch 1 }

hh3cARPTrapMacMismatchChassis OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of chassis ID. If the value is 65535, the device is
        not a stacked device ."
    ::= { hh3cARPTrapMacMismatchObjs 1 }

hh3cARPTrapMacMismatchSlot OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
    "The information of slot."
    ::= { hh3cARPTrapMacMismatchObjs 2 }

hh3cARPTrapMacMismatchIfName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE (0..255))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of the interface name."
    ::= { hh3cARPTrapMacMismatchObjs 3 }

hh3cARPTrapMacMismatchIP OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of ip address."
    ::= { hh3cARPTrapMacMismatchObjs 4 }

hh3cARPTrapMacMismatchVrf OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of vrf index."
    ::= { hh3cARPTrapMacMismatchObjs 5}

hh3cARPTrapMacMismatchMac OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..15))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of mac address."
    ::= { hh3cARPTrapMacMismatchObjs 6}

-- hh3cARPTrapEntryCheck
hh3cARPTrapEntryCheck OBJECT IDENTIFIER ::= { hh3cARPTrapPkt 12 }

hh3cARPTrapsEntryCheck OBJECT IDENTIFIER  ::= { hh3cARPTrapEntryCheck 0 }

hh3cARPTrapEntryCheckAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapEntryCheckChassis,
            hh3cARPTrapEntryCheckSlot,
            hh3cARPTrapEntryCheckIfName,
            hh3cARPTrapEntryCheckIP,
            hh3cARPTrapEntryCheckMac,
            hh3cARPTrapEntryCheckPeVlan,
            hh3cARPTrapEntryCheckCeVlan,
            hh3cARPTrapEntryCheckPortIfName
        }
    STATUS      current
    DESCRIPTION
        "The alarm of attempts to modify an existing ARP table entry."
    ::= { hh3cARPTrapsEntryCheck 1 }

hh3cARPTrapEntryCheckObjs OBJECT IDENTIFIER  ::= { hh3cARPTrapEntryCheck 1 }

hh3cARPTrapEntryCheckChassis OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of chassis ID. If the value is 65535, the device is
        not a stacked device ."
    ::= { hh3cARPTrapEntryCheckObjs 1 }

hh3cARPTrapEntryCheckSlot OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
    "The information of slot."
    ::= { hh3cARPTrapEntryCheckObjs 2 }

hh3cARPTrapEntryCheckIfName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE (0..255))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of the interface name."
    ::= { hh3cARPTrapEntryCheckObjs 3 }

hh3cARPTrapEntryCheckIP OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of the ip address."
    ::= { hh3cARPTrapEntryCheckObjs 4 }

hh3cARPTrapEntryCheckMac OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..15))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of the mac address."
    ::= { hh3cARPTrapEntryCheckObjs 5}

hh3cARPTrapEntryCheckPeVlan OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of the pe vlan id."
    ::= { hh3cARPTrapEntryCheckObjs 6}

hh3cARPTrapEntryCheckCeVlan OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of the ce vlan id."
    ::= { hh3cARPTrapEntryCheckObjs 7}

hh3cARPTrapEntryCheckPortIfName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE (0..255))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of the port name."
    ::= { hh3cARPTrapEntryCheckObjs 8}

-- hh3cARPTrapPktQueue
hh3cARPTrapPktQueue OBJECT IDENTIFIER ::= { hh3cARPTrapPkt 13 }

hh3cARPTrapsPktQueue OBJECT IDENTIFIER  ::= { hh3cARPTrapPktQueue 0 }

hh3cARPTrapPktQueThresholdAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapPktQueChassis,
            hh3cARPTrapPktQueSlot,
            hh3cARPTrapPktQueNum
        }
    STATUS      current
    DESCRIPTION
        "The current size of the ARP_PKT queue exceeds the threshold."
    ::= { hh3cARPTrapsPktQueue 1 }

hh3cARPTrapPktQueThresholdResume NOTIFICATION-TYPE
    OBJECTS
        {
            hh3cARPTrapPktQueChassis,
            hh3cARPTrapPktQueSlot,
            hh3cARPTrapPktQueNum
        }
    STATUS      current
    DESCRIPTION
        "The current size of the ARP_PKT queue drops below the threshold."
    ::= { hh3cARPTrapsPktQueue 2 }

hh3cARPTrapPktQueueObjects OBJECT IDENTIFIER  ::= { hh3cARPTrapPktQueue 1 }

hh3cARPTrapPktQueChassis OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of chassis ID. If the value is 65535, the device is
         not a stacked device."
    ::= { hh3cARPTrapPktQueueObjects 1 }

hh3cARPTrapPktQueSlot OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The information of slot."
    ::= { hh3cARPTrapPktQueueObjects 2 }

hh3cARPTrapPktQueNum OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The number of packets in the ARP_PKT queue."
    ::= { hh3cARPTrapPktQueueObjects 3 }

END

