-- ==================================================================
-- Copyright (c) 2004-2017 New H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: Lan Switch trap MIB
-- Reference:
-- Version: V1.5
-- History:
-- V1.0 Created by Zhangshilin, 2001.06.29
-- V1.1 Modified by lifengguang 2008.11.10, add trap node hh3cBootImageUpdated
-- V1.2 2011-11-26 updated by duyanbing
--      Add hh3cDevMFirstTrapTime to powerfailure and hh3cPowerNormal.
-- V1.3 2012-04-26 updated by wangcong
--      Added hh3cNetworkHealthMonitorFailure, hh3cNetworkHealthMonitorNormal for reserving.
-- V1.4 2013-03-08 updated by fangliwen
--      Added hh3cCpuRemoved, hh3cCpuFailure, hh3cCpuNormal.
--      2014-08-02 updated by fangliwen
--      Added hh3cPowerIncompatible.
-- V1.5 2016-12-21 updated by yanfang
--      Add hh3cCpuUsageSevereNotification
--          hh3cCpuUsageSevereRecoverNotification
--          hh3cCpuUsageMinorNotification
--          hh3cCpuUsageMinorRecoverNotification.
--          hh3cMemoryUsageEarlyWarningNotification
--          hh3cMemoryUsageEarlyWarningRecoverNotification
--          hh3cMemoryUsageMinorNotification
--          hh3cMemoryUsageMinorRecoverNotification
--          hh3cMemoryUsageSevereNotification
--          hh3cMemoryUsageSevereRecoverNotification
--          hh3cMemoryUsageCriticalNotification
--          hh3cMemoryUsageCriticalRecoverNotification.
--      2017-06-23 updated by wangweihui
--      Add hh3cCoreUsageNotification
--      2017-07-17 updated by fangliwen
--      Add hh3cBoardPowerNotEnough, hh3cAvailablePower and hh3cRequiredPower.
--      2017-12-5 updated by yuhaiyan
--      Add hh3cAlarmInPortIn
--          hh3cAlarmInPortRecover
-- ==================================================================

-- ==================================================================
--
-- Variables and types be imported
--
-- ==================================================================
HH3C-LswTRAP-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE, Unsigned32
        FROM SNMPv2-SMI
    hh3clswCommon
        FROM HH3C-OID-MIB
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    hh3cDevMPowerNum, hh3cDevMFanNum, hh3cDevMFirstTrapTime
        FROM HH3C-LswDEVM-MIB
    hh3cLswFrameIndex, hh3cLswSlotIndex, hh3cLswSubslotIndex, hh3cLswCpuIndex, hh3cLswCoreIndex, hh3cLswCoreThreshold
        FROM HH3C-LSW-DEV-ADM-MIB;

-- ==================================================================
--
-- ======================= definition begin =========================
--
-- ==================================================================

    hh3cLswTrapMib MODULE-IDENTITY
            LAST-UPDATED "201712050000Z"
            ORGANIZATION
                "New H3C Tech. Co., Ltd."
            CONTACT-INFO
                "Platform Team New H3C Tech. Co., Ltd.
                Hai-Dian District Beijing P.R. China
                http://www.h3c.com
                Zip:100085
                "
            DESCRIPTION
            ""
            REVISION "201712050000Z"
            DESCRIPTION
            "Added hh3cAlarmInPortIn,  hh3cAlarmInPortRecover."
            REVISION "201707170000Z"
            DESCRIPTION
            "Added hh3cBoardPowerNotEnough, hh3cAvailablePower and hh3cRequiredPower."
            REVISION "201706240000Z"
            DESCRIPTION
            "hh3cCoreUsageNotification.
             Add hh3csLswTRAPMibObjectV2Prefix for bindings of notification."
            REVISION "201701120000Z"
            DESCRIPTION
            "Add hh3cCpuUsageSevereNotification
             hh3cCpuUsageSevereRecoverNotification
             hh3cCpuUsageMinorNotification
             hh3cCpuUsageMinorRecoverNotification.
             hh3cMemoryUsageEarlyWarningNotification
             hh3cMemoryUsageEarlyWarningRecoverNotification
             hh3cMemoryUsageMinorNotification
             hh3cMemoryUsageMinorRecoverNotification
             hh3cMemoryUsageSevereNotification
             hh3cMemoryUsageSevereRecoverNotification
             hh3cMemoryUsageCriticalNotification
             hh3cMemoryUsageCriticalRecoverNotification.
             Add hh3csLswTRAPMibInfor for bindings of notification."
            REVISION "201111260000Z"
            DESCRIPTION
            ""
            ::= { hh3clswCommon 12 }

-- ==================================================================
--
-- lsw trap object
--
-- ==================================================================
    hh3csLswTRAPMibObject OBJECT IDENTIFIER ::= { hh3cLswTrapMib 1 }

    hh3cpowerfailure NOTIFICATION-TYPE
      OBJECTS { hh3cDevMPowerNum, hh3cDevMFirstTrapTime }
      STATUS  current
      DESCRIPTION
              "Power supply failure"
      ::= { hh3csLswTRAPMibObject 1 }

    hh3cPowerNormal NOTIFICATION-TYPE
      OBJECTS { hh3cDevMPowerNum, hh3cDevMFirstTrapTime }
      STATUS  current
      DESCRIPTION
              "Power supply normal"
      ::= { hh3csLswTRAPMibObject 2 }

    hh3cMasterPowerNormal NOTIFICATION-TYPE
      OBJECTS { hh3cDevMPowerNum }
      STATUS  current
      DESCRIPTION
              "Master power supply normal"
      ::= { hh3csLswTRAPMibObject 3 }

    hh3cSlavePowerNormal NOTIFICATION-TYPE
      OBJECTS { hh3cDevMPowerNum }
      STATUS  current
      DESCRIPTION
              "Slave power supply normal"
      ::= { hh3csLswTRAPMibObject 4 }

    hh3cPowerRemoved NOTIFICATION-TYPE
      OBJECTS { hh3cDevMPowerNum }
      STATUS  current
      DESCRIPTION
              "Power removed"
      ::= { hh3csLswTRAPMibObject 5 }

    hh3cfanfailure NOTIFICATION-TYPE
      OBJECTS { hh3cDevMFanNum }
      STATUS  current
      DESCRIPTION
              "Fan failure"
      ::= { hh3csLswTRAPMibObject 6 }

    hh3cFanNormal NOTIFICATION-TYPE
      OBJECTS { hh3cDevMFanNum }
      STATUS  current
      DESCRIPTION
              "Fan normal"
      ::= { hh3csLswTRAPMibObject 7 }

    hh3cBoardRemoved NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex }
      STATUS  current
      DESCRIPTION
              "Board removed"
      ::= { hh3csLswTRAPMibObject 8 }

    hh3cBoardInserted NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex,hh3cLswSlotIndex }
      STATUS  current
      DESCRIPTION
              "Board inserted"
      ::= { hh3csLswTRAPMibObject 9 }

    hh3cBoardFailure NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex }
      STATUS  current
      DESCRIPTION
              "Board failed"
      ::= { hh3csLswTRAPMibObject 10 }

    hh3cBoardNormal NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex }
      STATUS  current
      DESCRIPTION
              "Board normal"
      ::= { hh3csLswTRAPMibObject 11 }

    hh3cSubcardRemove NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex, hh3cLswSubslotIndex }
      STATUS  current
      DESCRIPTION
              "Sub card removed"
      ::= { hh3csLswTRAPMibObject 12 }

    hh3cSubcardInsert NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex, hh3cLswSubslotIndex }
      STATUS  current
      DESCRIPTION
              "Sub card inserted"
      ::= { hh3csLswTRAPMibObject 13 }

    hh3cBoardTemperatureLower NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex }
      STATUS  current
      DESCRIPTION
              "Board temperature low"
      ::= { hh3csLswTRAPMibObject 14 }

    hh3cBoardTemperatureFromLowerToNormal NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex }
      STATUS  current
      DESCRIPTION
              "Board temperature form lower to normal"
      ::= { hh3csLswTRAPMibObject 15 }

    hh3cBoardTemperatureHigher NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex }
      STATUS  current
      DESCRIPTION
              "Board temperature high"
      ::= { hh3csLswTRAPMibObject 16 }

    hh3cBoardTemperatureFormHigherToNormal NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex }
      STATUS  current
      DESCRIPTION
              "Board temperature from higher to normal"
      ::= { hh3csLswTRAPMibObject 17 }

    hh3cRequestLoading NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex }
      STATUS  current
      DESCRIPTION
              "Board request load"
      ::= { hh3csLswTRAPMibObject 18 }

    hh3cLoadFailure NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex }
      STATUS  current
      DESCRIPTION
              "Board load failure"
      ::= { hh3csLswTRAPMibObject 19 }

    hh3cLoadFinished NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex }
      STATUS  current
      DESCRIPTION
              "Board load finished"
      ::= { hh3csLswTRAPMibObject 20 }

    hh3cBackBoardModeSetFuilure NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex }
      STATUS  current
      DESCRIPTION
              "Back board mode set failure"
      ::= { hh3csLswTRAPMibObject 21 }

    hh3cBackBoardModeSetOK NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex }
      STATUS  current
      DESCRIPTION
              "Back board mode set OK"
      ::= { hh3csLswTRAPMibObject 22 }

    hh3cPowerInserted NOTIFICATION-TYPE
      OBJECTS { hh3cDevMPowerNum }
      STATUS  current
      DESCRIPTION
              "Power inserted"
      ::= { hh3csLswTRAPMibObject 23 }

    hh3cBootImageUpdated NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex }
      STATUS  current
      DESCRIPTION
              "This trap node indicates that the boot image of specified board
              is updated."
      ::= { hh3csLswTRAPMibObject 24 }

    hh3cCpuRemoved NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex, hh3cLswCpuIndex }
      STATUS  current
      DESCRIPTION
              "Node removed"
      ::= { hh3csLswTRAPMibObject 25 }

    hh3cCpuFailure NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex, hh3cLswCpuIndex }
      STATUS  current
      DESCRIPTION
              "Node failed"
      ::= { hh3csLswTRAPMibObject 26 }

    hh3cCpuNormal NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex, hh3cLswCpuIndex }
      STATUS  current
      DESCRIPTION
              "Node normal"
      ::= { hh3csLswTRAPMibObject 27 }

      hh3cPowerIncompatible NOTIFICATION-TYPE
      OBJECTS { hh3cDevMPowerNum}
      STATUS  current
      DESCRIPTION
              "Power module is incompatible with the device"
      ::= { hh3csLswTRAPMibObject 28 }

      hh3cCpuUsageSevereNotification NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cLswCpuIndex,
            hh3cLswCpuRatio,
            hh3cLswCpuUsageMinorThreshold,
            hh3cLswCpuUsageSevereThreshold,
            hh3cLswCpuUsageRecoverThreshold,
            hh3csLswTrapCpuCoreInfo,
            hh3csLswTrapProcessCpuInfo
            }
      STATUS current
      DESCRIPTION
            "The trap indicates that the CPU usage increased to or above
             the hh3cLswCpuUsageSevereThreshold."
      ::= { hh3csLswTRAPMibObject 29 }

      hh3cCpuUsageSevereRecoverNotification NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cLswCpuIndex,
            hh3cLswCpuRatio,
            hh3cLswCpuUsageMinorThreshold,
            hh3cLswCpuUsageSevereThreshold,
            hh3cLswCpuUsageRecoverThreshold,
            hh3csLswTrapCpuCoreInfo,
            hh3csLswTrapProcessCpuInfo
            }
      STATUS current
      DESCRIPTION
            "
            When the product not supports hh3cLswCpuUsageRecoverThreshold,
            the trap indicates that the CPU usage decreased to or below
            the hh3cLswCpuUsageSevereThreshold.
            When the product supports hh3cLswCpuUsageRecoverThreshold,
            the trap indicates that the CPU usage decreased to or below
            the hh3cLswCpuUsageMinorThreshold.
            "
      ::= { hh3csLswTRAPMibObject 30 }

      hh3cCpuUsageMinorNotification NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cLswCpuIndex,
            hh3cLswCpuRatio,
            hh3cLswCpuUsageMinorThreshold,
            hh3cLswCpuUsageSevereThreshold,
            hh3cLswCpuUsageRecoverThreshold,
            hh3csLswTrapCpuCoreInfo,
            hh3csLswTrapProcessCpuInfo
            }
      STATUS current
      DESCRIPTION
            "The trap indicates that the CPU usage increased to or above
             the hh3cLswCpuUsageMinorThreshold."
      ::= { hh3csLswTRAPMibObject 31 }

      hh3cCpuUsageMinorRecoverNotification NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cLswCpuIndex,
            hh3cLswCpuRatio,
            hh3cLswCpuUsageMinorThreshold,
            hh3cLswCpuUsageSevereThreshold,
            hh3cLswCpuUsageRecoverThreshold,
            hh3csLswTrapCpuCoreInfo,
            hh3csLswTrapProcessCpuInfo
            }
      STATUS current
      DESCRIPTION
            "
            When the product not supports hh3cLswCpuUsageRecoverThreshold,
            the trap indicates that the CPU usage decreased to or below
            the hh3cLswCpuUsageMinorThreshold.
            When the product supports hh3cLswCpuUsageRecoverThreshold,
            the trap indicates that the CPU usage decreased to or below
            the hh3cLswCpuUsageRecoverThreshold.
            "
      ::= { hh3csLswTRAPMibObject 32 }

      hh3cMemoryUsageEarlyWarningNotification NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cLswCpuIndex,
            hh3cLswCpuMemory,
            hh3cLswCpuMemoryFree,
            hh3cLswCpuMemoryFreeRatio,
            hh3cLswCpuMemoryHighTotal,
            hh3cLswCpuMemoryHighFree,
            hh3cLswCpuMemoryLowTotal,
            hh3cLswCpuMemoryLowFree,
            hh3cLswCpuMemorySecureThreshold,
            hh3cLswCpuMemoryEarlyWarningThreshold,
            hh3cLswCpuMemoryNormalThreshold,
            hh3cLswCpuMemoryMinorThreshold,
            hh3cLswCpuMemorySevereThreshold,
            hh3cLswCpuMemoryCriticalThreshold,
            hh3cLswCpuMemoryCurrentState,
            hh3csLswTrapProcessMemoryInfo,
            hh3csLswTrapSlubInfo
            }
      STATUS current
      DESCRIPTION
            "The trap indicates that the amount of free memory decreased to or below
            the hh3cMemoryUsageEarlyWarningThreshold."
      ::= { hh3csLswTRAPMibObject 33 }

      hh3cMemoryUsageEarlyWarningRecoverNotification NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cLswCpuIndex,
            hh3cLswCpuMemory,
            hh3cLswCpuMemoryFree,
            hh3cLswCpuMemoryFreeRatio,
            hh3cLswCpuMemoryHighTotal,
            hh3cLswCpuMemoryHighFree,
            hh3cLswCpuMemoryLowTotal,
            hh3cLswCpuMemoryLowFree,
            hh3cLswCpuMemorySecureThreshold,
            hh3cLswCpuMemoryEarlyWarningThreshold,
            hh3cLswCpuMemoryNormalThreshold,
            hh3cLswCpuMemoryMinorThreshold,
            hh3cLswCpuMemorySevereThreshold,
            hh3cLswCpuMemoryCriticalThreshold,
            hh3cLswCpuMemoryCurrentState,
            hh3csLswTrapProcessMemoryInfo,
            hh3csLswTrapSlubInfo
            }
      STATUS current
      DESCRIPTION
            "The trap indicates that the amount of free memory usage increased to or above
             the hh3cMemoryUsageSecureThreshold."
      ::= { hh3csLswTRAPMibObject 34 }

      hh3cMemoryUsageMinorNotification NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cLswCpuIndex,
            hh3cLswCpuMemory,
            hh3cLswCpuMemoryFree,
            hh3cLswCpuMemoryFreeRatio,
            hh3cLswCpuMemoryHighTotal,
            hh3cLswCpuMemoryHighFree,
            hh3cLswCpuMemoryLowTotal,
            hh3cLswCpuMemoryLowFree,
            hh3cLswCpuMemorySecureThreshold,
            hh3cLswCpuMemoryEarlyWarningThreshold,
            hh3cLswCpuMemoryNormalThreshold,
            hh3cLswCpuMemoryMinorThreshold,
            hh3cLswCpuMemorySevereThreshold,
            hh3cLswCpuMemoryCriticalThreshold,
            hh3cLswCpuMemoryCurrentState,
            hh3csLswTrapProcessMemoryInfo,
            hh3csLswTrapSlubInfo
            }
      STATUS current
      DESCRIPTION
            "The trap indicates that the amount of free memory decreased to or below
            the hh3cLswCpuMemoryMinorThreshold."
      ::= { hh3csLswTRAPMibObject 35 }

      hh3cMemoryUsageMinorRecoverNotification NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cLswCpuIndex,
            hh3cLswCpuMemory,
            hh3cLswCpuMemoryFree,
            hh3cLswCpuMemoryFreeRatio,
            hh3cLswCpuMemoryHighTotal,
            hh3cLswCpuMemoryHighFree,
            hh3cLswCpuMemoryLowTotal,
            hh3cLswCpuMemoryLowFree,
            hh3cLswCpuMemorySecureThreshold,
            hh3cLswCpuMemoryEarlyWarningThreshold,
            hh3cLswCpuMemoryNormalThreshold,
            hh3cLswCpuMemoryMinorThreshold,
            hh3cLswCpuMemorySevereThreshold,
            hh3cLswCpuMemoryCriticalThreshold,
            hh3cLswCpuMemoryCurrentState,
            hh3csLswTrapProcessMemoryInfo,
            hh3csLswTrapSlubInfo
            }
      STATUS current
      DESCRIPTION
            "The trap indicates that the amount of free memory usage increased to or above
             the hh3cLswCpuMemoryNormalThreshold."
      ::= { hh3csLswTRAPMibObject 36 }

      hh3cMemoryUsageSevereNotification NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cLswCpuIndex,
            hh3cLswCpuMemory,
            hh3cLswCpuMemoryFree,
            hh3cLswCpuMemoryFreeRatio,
            hh3cLswCpuMemoryHighTotal,
            hh3cLswCpuMemoryHighFree,
            hh3cLswCpuMemoryLowTotal,
            hh3cLswCpuMemoryLowFree,
            hh3cLswCpuMemorySecureThreshold,
            hh3cLswCpuMemoryEarlyWarningThreshold,
            hh3cLswCpuMemoryNormalThreshold,
            hh3cLswCpuMemoryMinorThreshold,
            hh3cLswCpuMemorySevereThreshold,
            hh3cLswCpuMemoryCriticalThreshold,
            hh3cLswCpuMemoryCurrentState,
            hh3csLswTrapProcessMemoryInfo,
            hh3csLswTrapSlubInfo
            }
      STATUS current
      DESCRIPTION
            "The trap indicates that the amount of free memory decreased to or below
             the hh3cMemoryUsageSevereThreshold."
      ::= { hh3csLswTRAPMibObject 37 }

      hh3cMemoryUsageSevereRecoverNotification NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cLswCpuIndex,
            hh3cLswCpuMemory,
            hh3cLswCpuMemoryFree,
            hh3cLswCpuMemoryFreeRatio,
            hh3cLswCpuMemoryHighTotal,
            hh3cLswCpuMemoryHighFree,
            hh3cLswCpuMemoryLowTotal,
            hh3cLswCpuMemoryLowFree,
            hh3cLswCpuMemorySecureThreshold,
            hh3cLswCpuMemoryEarlyWarningThreshold,
            hh3cLswCpuMemoryNormalThreshold,
            hh3cLswCpuMemoryMinorThreshold,
            hh3cLswCpuMemorySevereThreshold,
            hh3cLswCpuMemoryCriticalThreshold,
            hh3cLswCpuMemoryCurrentState,
            hh3csLswTrapProcessMemoryInfo,
            hh3csLswTrapSlubInfo
            }
      STATUS current
      DESCRIPTION
            "The trap indicates that the amount of free memory usage increased to or above
            the hh3cMemoryUsageMinorThreshold."
      ::= { hh3csLswTRAPMibObject 38 }

      hh3cMemoryUsageCriticalNotification NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cLswCpuIndex,
            hh3cLswCpuMemory,
            hh3cLswCpuMemoryFree,
            hh3cLswCpuMemoryFreeRatio,
            hh3cLswCpuMemoryHighTotal,
            hh3cLswCpuMemoryHighFree,
            hh3cLswCpuMemoryLowTotal,
            hh3cLswCpuMemoryLowFree,
            hh3cLswCpuMemorySecureThreshold,
            hh3cLswCpuMemoryEarlyWarningThreshold,
            hh3cLswCpuMemoryNormalThreshold,
            hh3cLswCpuMemoryMinorThreshold,
            hh3cLswCpuMemorySevereThreshold,
            hh3cLswCpuMemoryCriticalThreshold,
            hh3cLswCpuMemoryCurrentState,
            hh3csLswTrapProcessMemoryInfo,
            hh3csLswTrapSlubInfo
            }
      STATUS current
      DESCRIPTION
            "The trap indicates that the amount of free memory decreased to or below
             the hh3cMemoryUsageCriticalThreshold."
      ::= { hh3csLswTRAPMibObject 39 }

      hh3cMemoryUsageCriticalRecoverNotification NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cLswCpuIndex,
            hh3cLswCpuMemory,
            hh3cLswCpuMemoryFree,
            hh3cLswCpuMemoryFreeRatio,
            hh3cLswCpuMemoryHighTotal,
            hh3cLswCpuMemoryHighFree,
            hh3cLswCpuMemoryLowTotal,
            hh3cLswCpuMemoryLowFree,
            hh3cLswCpuMemorySecureThreshold,
            hh3cLswCpuMemoryEarlyWarningThreshold,
            hh3cLswCpuMemoryNormalThreshold,
            hh3cLswCpuMemoryMinorThreshold,
            hh3cLswCpuMemorySevereThreshold,
            hh3cLswCpuMemoryCriticalThreshold,
            hh3cLswCpuMemoryCurrentState,
            hh3csLswTrapProcessMemoryInfo,
            hh3csLswTrapSlubInfo
            }
      STATUS current
      DESCRIPTION
            "The trap indicates that the amount of free memory usage increased to or above
             the hh3cMemoryUsageSevereThreshold."
      ::= { hh3csLswTRAPMibObject 40 }

    hh3cNetworkHealthMonitorFailure OBJECT IDENTIFIER ::= { hh3csLswTRAPMibObject 98 }
    hh3cNetworkHealthMonitorNormal OBJECT IDENTIFIER ::= { hh3csLswTRAPMibObject 99 }

-- ==================================================================
--
-- lsw trap info
--
-- ==================================================================
   hh3csLswTRAPMibInfor OBJECT IDENTIFIER ::= { hh3cLswTrapMib 2 }

   hh3csLswTrapCpuCoreInfo OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..255))
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "hh3cLswCpuCoreIndex,hh3cLswCpuCoreUsage,hh3cLswCpuCoreUsr,
             hh3cLswCpuCoreSys,hh3cLswCpuCoreIrq,hh3cLswCpuCoreIdle.

            Each line contains the following comma-separated values:

            hh3cLswCpuCoreIndex(Integer32):CPU core index.
            hh3cLswCpuCoreUsage(Unsigned32): Percentage of CPU core usage ,0~100
            hh3cLswCpuCoreUsr(Unsigned32): Percentage of CPU core user usage ,0~100
            hh3cLswCpuCoreSys(Unsigned32): Percentage of CPU core system usage ,0~100
            hh3cLswCpuCoreIrq(Unsigned32): Percentage of CPU core interrupt usage ,0~100
            hh3cLswCpuCoreIdle(Unsigned32): Percentage of CPU core idle usage ,0~100
            "
        ::= { hh3csLswTRAPMibInfor 1}

   hh3csLswTrapProcessCpuInfo OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..255))
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "hh3cLswProcessJobId,hh3cLswProcessPid,hh3cLswProcessName,
            hh3cLswProcessState,hh3cLswProcessPriority,hh3cLswProcessFDs,
            hh3cLswProcessRunTime,hh3cLswProcessCpuRatio5Secs,hh3cLswProcessCpuRatio1Min,
            hh3cLswProcessCpuRatio5Mins.

            Each line contains the following comma-separated values:

            hh3cLswProcessName: Process name
            hh3cLswProcessJobId:Job ID
            hh3cLswProcessPid: Process ID
            hh3cLswProcessPriority: Process priority
            hh3cLswProcessState: Process state
                {
                R(1):running,
                S(2):sleeping,
                T(3):tracedorStopped,
                D(4):uninterruptibleSleep,
                Z(5):zombie
                }
            hh3cLswProcessFDs: Process FDs
            hh3cLswProcessRunTime: Process run time
            hh3cLswProcessCpuRatio: CPU ratio for the process.
            "
        ::= { hh3csLswTRAPMibInfor 2 }

   hh3csLswTrapProcessMemoryInfo OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..255))
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "hh3cLswProcessJobId,hh3cLswProcessName,hh3cLswProcessMemoryUsed.

            Each line contains the following comma-separated values:

            hh3cLswProcessJobId: Job ID
            hh3cLswProcessName: Process name
            hh3cLswProcessMemoryUsed:
            Memory be used by the process(text + data + stack + dynamic)in KB.
            "
        ::= { hh3csLswTRAPMibInfor 3 }

   hh3csLswTrapSlubInfo OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..255))
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "hh3cLswSlubInfoUsed + hh3cLswSlubInfoName.

            Each line contains the following comma-separated values:

            hh3cLswSlubInfoName: Name of slubinfo
            hh3cLswSlubInfoUsed: Memory be used by the slub(num*size)
            "
        ::= { hh3csLswTRAPMibInfor 4 }

    hh3cLswTrapCpuUsage OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..255))
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Cpu usage in 5sec 1min 5min."
        ::= { hh3csLswTRAPMibInfor 5 }

    hh3cLswTrapCoreProcessInfo OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..255))
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "
            Each line contains the following values:
            JID PID PPID CPU State Memory 5Sec 1Min 5Min Name.
            "
        ::= { hh3csLswTRAPMibInfor 6 }

    hh3cLswCoreTrapUsage   OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS     accessible-for-notify
        STATUS     current
        DESCRIPTION
            "Core usage in last 30 minutes."
        ::= {hh3csLswTRAPMibInfor 7}

    hh3cBoardAvailablePower OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Available power of power supply."
        ::= { hh3csLswTRAPMibInfor 8 }

    hh3cBoardRequiredPower OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Power required for a single board."
        ::= { hh3csLswTRAPMibInfor 9 }

    hh3csLswTRAPMibObjectV2 OBJECT IDENTIFIER ::= { hh3cLswTrapMib 3 }
    hh3csLswTRAPMibObjectV2Prefix OBJECT IDENTIFIER ::= { hh3csLswTRAPMibObjectV2 0 }

    hh3cCoreUsageNotification NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cLswCpuIndex,
            hh3cLswCoreIndex,
            hh3cLswCoreTrapUsage,
            hh3cLswCoreThreshold,
            hh3cLswTrapCpuUsage,
            hh3cLswTrapCoreProcessInfo
            }
      STATUS current
      DESCRIPTION
            "The trap indicates that the amount of core usage increased to or above
             the hh3cLswCoreThreshold."
      ::= { hh3csLswTRAPMibObjectV2Prefix 1 }

    hh3cBoardPowerNotEnough NOTIFICATION-TYPE
      OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex, hh3cBoardAvailablePower, hh3cBoardRequiredPower}
      STATUS  current
      DESCRIPTION
              "Not enough power for the board."
      ::= { hh3csLswTRAPMibObjectV2Prefix 2 }

    hh3cAlarmInPortIn NOTIFICATION-TYPE
        OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex }
        STATUS current
        DESCRIPTION
            "Alarm reported on the alarm-in port."
        ::= { hh3csLswTRAPMibObjectV2Prefix 3 }

    hh3cAlarmInPortRecover NOTIFICATION-TYPE
        OBJECTS { hh3cLswFrameIndex, hh3cLswSlotIndex }
        STATUS current
        DESCRIPTION
            "Alarm removed on the alarm-in port."
        ::= { hh3csLswTRAPMibObjectV2Prefix 4 }

END
