-- ==================================================================
-- Copyright (c) 2004-2020 New H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: Lan Switch trap MIB
-- Reference:
-- Version: V1.9
-- 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
-- V1.6 2018-04-13 updated by wangweihui
--      Add hh3cLswAlarmInPortInNum
-- V1.7 2019-01-11 updated by wangweihui
--      Add hh3cCoreUsageSevereRecoveryNotification
--          hh3cCoreUsageMinorNotification
--          hh3cCoreUsageMinorRecoveryNotification
-- V1.8 2019-11-22 updated by xuyuanqiang
--      Add hh3cDMAMemoryUsageCriticalNotification
--          hh3cDMAMemoryUsageRecoverNotification
-- V1.9 2020-10-15 updated by caohao
--      Add hh3cRemainingPowerNotEnough
--          hh3cFrameRemainingPower
-- ==================================================================

-- ==================================================================
--
-- Variables and types be imported
--
-- ==================================================================
HH3C-LswTRAP-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE, Unsigned32, Integer32
        FROM SNMPv2-SMI
    hh3clswCommon
        FROM HH3C-OID-MIB
    CounterBasedGauge64
        FROM HCNUM-TC
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    hh3cDevMPowerNum, hh3cDevMFanNum, hh3cDevMFirstTrapTime
        FROM HH3C-LswDEVM-MIB
    hh3cLswFrameIndex, hh3cLswSlotIndex, hh3cLswSubslotIndex, hh3cLswCpuIndex, hh3cLswCoreIndex, hh3cLswCoreThreshold,
    hh3cLswCoreMinorThreshold, hh3cLswCoreRecoveryThreshold,hh3cLswCpuRatio,hh3cLswCpuUsageMinorThreshold,hh3cLswCpuUsageSevereThreshold,
    hh3cLswCpuUsageRecoverThreshold,hh3cLswCpuMemory,hh3cLswCpuMemoryFree,hh3cLswCpuMemoryFreeRatio,hh3cLswCpuMemoryHighTotal,hh3cLswCpuMemoryHighFree,
    hh3cLswCpuMemoryLowTotal,hh3cLswCpuMemoryLowFree,hh3cLswCpuMemorySecureThreshold,hh3cLswCpuMemoryEarlyWarningThreshold,hh3cLswCpuMemoryNormalThreshold,
    hh3cLswCpuMemoryMinorThreshold,hh3cLswCpuMemorySevereThreshold,hh3cLswCpuMemoryCriticalThreshold,hh3cLswCpuMemoryCurrentState
        FROM HH3C-LSW-DEV-ADM-MIB;

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

    hh3cLswTrapMib MODULE-IDENTITY
            LAST-UPDATED "202010150000Z"
            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 "202010150000Z"
            DESCRIPTION
            "Add hh3cRemainingPowerNotEnough
             hh3cFrameRemainingPower."
            REVISION "201911220000Z"
            DESCRIPTION
            "Add hh3cDMAMemoryUsageCriticalNotification
             hh3cDMAMemoryUsageRecoverNotification."
            REVISION "201901110000Z"
            DESCRIPTION
            "Added hh3cCoreUsageSevereRecoveryNotification
            hh3cCoreUsageMinorNotification
            hh3cCoreUsageMinorRecoveryNotificationm."
            REVISION "201804130000Z"
            DESCRIPTION
            "Added hh3cLswAlarmInPortInNum."
            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
            "Initial revision"
            ::= { 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 does not support 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 dose not support 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 }

-- For compatibility reasons, DO NOT add notification nodes under hh3csLswTRAPMibObject.
-- Please use hh3csLswTRAPMibObjectV2Prefix instead.

-- ==================================================================
--
-- 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 }

    hh3cLswAlarmInPortInNum OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Alarm-in port-in num."
        ::= { hh3csLswTRAPMibInfor 10 }

    hh3cDMAMemoryTotal   OBJECT-TYPE
        SYNTAX     CounterBasedGauge64
        UNITS "byte"
        MAX-ACCESS     accessible-for-notify
        STATUS     current
        DESCRIPTION
            "The total DMA-memory space on the node."
        ::= { hh3csLswTRAPMibInfor 11 }

    hh3cDMAMemoryUsed   OBJECT-TYPE
        SYNTAX     CounterBasedGauge64
        UNITS "byte"
        MAX-ACCESS     accessible-for-notify
        STATUS     current
        DESCRIPTION
            "The used DMA-memory space on the node."
        ::= { hh3csLswTRAPMibInfor 12 }

    hh3cDMAMemoryFree   OBJECT-TYPE
        SYNTAX     CounterBasedGauge64
        UNITS "byte"
        MAX-ACCESS     accessible-for-notify
        STATUS     current
        DESCRIPTION
            "The free memory space on the node."
        ::= { hh3csLswTRAPMibInfor 13 }

    hh3cDMAMemoryFreeRatio   OBJECT-TYPE
        SYNTAX     Unsigned32 (0..100)
        MAX-ACCESS     accessible-for-notify
        STATUS     current
        DESCRIPTION
            "The percentage of free DMA-memory space on the node."
        ::= { hh3csLswTRAPMibInfor 14 }

    hh3cDMAMemoryCriticalThreshold   OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS     accessible-for-notify
        STATUS     current
        DESCRIPTION
            "The critical alarm threshold for free DMA-memory,
             MB or percentage."
        ::= { hh3csLswTRAPMibInfor 15 }

    hh3cDMAMemoryRecoverThreshold   OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS     accessible-for-notify
        STATUS     current
        DESCRIPTION
            "The normal state threshold for free DMA-memory,
             MB or percentage.

             When the free DMA-memory space exceeds this threshold, a recovery notification will be sent.
             The normal state threshold cannot be smaller than the critical alarm threshold."
        ::= { hh3csLswTRAPMibInfor 16 }

    hh3cDMAMemoryCurrentState   OBJECT-TYPE
        SYNTAX          INTEGER
        {
            normal (1),
            critical (2)
        }
        MAX-ACCESS     accessible-for-notify
        STATUS     current
        DESCRIPTION
            "Current status of free DMA-memory.

             Normal
             Critical"
        ::= { hh3csLswTRAPMibInfor 17 }

    hh3cFrameRemainingPower   OBJECT-TYPE
        SYNTAX     Unsigned32
        UNITS "W"
        MAX-ACCESS     accessible-for-notify
        STATUS     current
        DESCRIPTION
            "Remaining power of the frame."
        ::= {hh3csLswTRAPMibInfor 18}

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

    hh3cCoreUsageNotification NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cLswCpuIndex,
            hh3cLswCoreIndex,
            hh3cLswCoreTrapUsage,
            hh3cLswCoreThreshold,
            hh3cLswTrapCpuUsage,
            hh3cLswTrapCoreProcessInfo,
            hh3cLswCoreMinorThreshold,
            hh3cLswCoreRecoveryThreshold
            }
      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, hh3cLswAlarmInPortInNum }
        STATUS current
        DESCRIPTION
            "Alarm reported on the alarm-in port."
        ::= { hh3csLswTRAPMibObjectV2Prefix 3 }

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

    hh3cCoreUsageSevereRecoveryNotification NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cLswCpuIndex,
            hh3cLswCoreIndex,
            hh3cLswCoreTrapUsage,
            hh3cLswCoreThreshold,
            hh3cLswTrapCpuUsage,
            hh3cLswTrapCoreProcessInfo,
            hh3cLswCoreMinorThreshold,
            hh3cLswCoreRecoveryThreshold
            }
      STATUS current
      DESCRIPTION
            "
            When the product does not support hh3cLswCoreRecoveryThreshold,
            the trap indicates that the core usage decreased to or below
            the hh3cLswCoreThreshold.
            When the product supports hh3cLswCoreRecoveryThreshold,
            the trap indicates that the core usage decreased to or below
            the hh3cLswCoreMinorThreshold.
            "
      ::= { hh3csLswTRAPMibObjectV2Prefix 10 }

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

    hh3cCoreUsageMinorRecoveryNotification NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cLswCpuIndex,
            hh3cLswCoreIndex,
            hh3cLswCoreTrapUsage,
            hh3cLswCoreThreshold,
            hh3cLswTrapCpuUsage,
            hh3cLswTrapCoreProcessInfo,
            hh3cLswCoreMinorThreshold,
            hh3cLswCoreRecoveryThreshold
            }
      STATUS current
      DESCRIPTION
            "
            When the product does not support hh3cLswCoreRecoveryThreshold,
            the trap indicates that the core usage decreased to or below
            the hh3cLswCoreMinorThreshold.
            When the product supports hh3cLswCoreRecoveryThreshold,
            the trap indicates that the core usage decreased to or below
            the hh3cLswCoreRecoveryThreshold.
            "
      ::= { hh3csLswTRAPMibObjectV2Prefix 12 }

      hh3cDMAMemoryUsageCriticalNotification NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cLswCpuIndex,
            hh3cDMAMemoryTotal,
            hh3cDMAMemoryUsed,
            hh3cDMAMemoryFree,
            hh3cDMAMemoryCurrentState,
            hh3cDMAMemoryFreeRatio,
            hh3cDMAMemoryCriticalThreshold
            }
      STATUS current
      DESCRIPTION
            "The trap indicates that the free DMA-memory space decreased to or below
             the critical alarm threshold."
      ::= { hh3csLswTRAPMibObjectV2Prefix 41 }

      hh3cDMAMemoryUsageRecoverNotification NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cLswSlotIndex,
            hh3cLswCpuIndex,
            hh3cDMAMemoryTotal,
            hh3cDMAMemoryUsed,
            hh3cDMAMemoryFree,
            hh3cDMAMemoryCurrentState,
            hh3cDMAMemoryFreeRatio,
            hh3cDMAMemoryRecoverThreshold
            }
      STATUS current
      DESCRIPTION
            "The trap indicates that the of free DMA-memory space increased to or above
             the normal state threshold."
      ::= { hh3csLswTRAPMibObjectV2Prefix 42 }

      hh3cRemainingPowerNotEnough NOTIFICATION-TYPE
      OBJECTS {
            hh3cLswFrameIndex,
            hh3cFrameRemainingPower
            }
      STATUS current
      DESCRIPTION
            "The trap indicates that the remaining power of the chassis is not enouth."
      ::= { hh3csLswTRAPMibObjectV2Prefix 43 }
END
