-- ============================================================================
-- Copyright (c) 2004-2014 Hangzhou H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: The purpose of this MIB file is to provide the definition of
--              the ARP Rate Limit general configuration.
-- Reference:
-- Version: V1.1
-- History:
-- V1.0 2009-12-08
--   Initial version, created by gejianzhuang
-- V1.1 2013-10-14
--   Add h3cARPRatelimitConfigTable, modified by yanjun
-- ============================================================================
H3C-ARP-RATELIMIT-MIB DEFINITIONS ::= BEGIN

IMPORTS
        h3cCommon
    FROM HUAWEI-3COM-OID-MIB
        Unsigned32, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE
    FROM SNMPv2-SMI
        ifIndex
    FROM IF-MIB;

-- Node definitions
h3cARPRatelimit MODULE-IDENTITY
    LAST-UPDATED "201310141800Z"        -- OCT 14, 2013 at 18:00 GMT
    ORGANIZATION
        "Hangzhou H3C Technologies Co., Ltd."
    CONTACT-INFO
        "Platform Team H3C Technologies Co., Ltd.
         Hai-Dian District Beijing P.R. China
         http://www.h3c.com
         Zip: 100085"
    DESCRIPTION
        "This MIB file defines the ARP packet rate limit configuration.
        The ARP packet rate limit feature monitors and controls the
        rate of ARP packets delivered to the CPU on a device.  The
        current version supports the monitoring feature only."
    REVISION "201310141800Z"
    DESCRIPTION
        "Add h3cARPRatelimitConfigTable."
    REVISION "200912081912Z"
    DESCRIPTION
        "The initial version of this MIB file."
    ::= { h3cCommon 110 }


h3cARPRatelimitObjects OBJECT IDENTIFIER ::= { h3cARPRatelimit 1 }

h3cARPRatelimitTrap OBJECT IDENTIFIER  ::= { h3cARPRatelimitObjects 1 }

h3cARPRatelimitConfig OBJECT IDENTIFIER  ::= { h3cARPRatelimitObjects 2 }

-- h3cARPRatelimitTraps

h3cARPRatelimitTraps OBJECT IDENTIFIER ::= { h3cARPRatelimitTrap 0 }

h3cARPRatelimitOverspeedTrap NOTIFICATION-TYPE
    OBJECTS
        {
            h3cARPRatelimitTrapVer,
            h3cARPRatelimitTrapCount,
            h3cARPRatelimitTrapMsg
        }
    STATUS      current
    DESCRIPTION
        "If the rate of ARP packets delivered to the CPU on a device
        exceeds the threshold, a trap message is generated and sent
        to the remote monitoring device."
    ::= { h3cARPRatelimitTraps 1 }

h3cARPRatelimitTrapObjects OBJECT IDENTIFIER  ::= { h3cARPRatelimitTrap 1 }

h3cARPRatelimitTrapVer OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The version of trap information."
    ::= { h3cARPRatelimitTrapObjects 1 }

h3cARPRatelimitTrapCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Number of cells in the trap message.  A trap message may contain
        multiple cells, each of which indicates that the rate information of
        ARP packets exceeds the threshold."
    ::= { h3cARPRatelimitTrapObjects 2 }

h3cARPRatelimitTrapMsg OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..254))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "This object is the cell section in a trap message sent from a
        monitored device.  This object can contain multiple cells.
        This object is in the format of '<cell1><cell2>...'.  Each cell
        consists of 17 octets in the format of
        '<TrapOrigin><IfIndex><OverSpeedValue><Threshold><Interval>'.

        <TrapOrigin> indicates the source of the trap message and has
        size of 1 octet.  It only supports the following values.
        1 - Global.
        2 - Interface.

        <IfIndex> is the index of the interface where the rate of ARP packet
        exceeds the threshold and has size of 4 octets.  It is 0xFFFFFFFF
        when <TrapOrigin> is 1(Global).

        <OverSpeedValue> indicates the rate that ARP packets are actually
        delivered and has size of 4 octets.

        <Threshold> indicates the threshold that ARP packets can be delivered
        to CPU and has size of 4 octets.

        <Interval> indicates the interval that a trap message is sent out
        and has size of 4 octets."

    ::= { h3cARPRatelimitTrapObjects 3 }

-- h3cARPRatelimitConfigTable

h3cARPRatelimitConfigTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cARPRatelimitConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table is used to configure ARP packet
        rate limit on interfaces."
    ::= { h3cARPRatelimitConfig 1 }

h3cARPRatelimitConfigEntry OBJECT-TYPE
    SYNTAX      H3cARPRatelimitConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of h3cARPRatelimitConfigTable."
    INDEX
        {
            ifIndex
        }
    ::= { h3cARPRatelimitConfigTable 1 }

H3cARPRatelimitConfigEntry ::= SEQUENCE
    {
        h3cARPRatelimitValue     Unsigned32
    }

h3cARPRatelimitValue OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Configure ARP packet rate limit.  Support for the value range
        depends on the device model.  If the object is set to 0, the ARP
        packet rate limit will be disabled."
    ::= { h3cARPRatelimitConfigEntry 1 }
END
