-- =================================================================
-- Copyright (c) 2010-2014 Hewlett-Packard Development Company, L.P.
--
-- Description: description of entity extend properties.
-- Reference:
-- History V3.1
-- V1.0 Created by weixinzhe, Thursday, April 22, 2004 at 18:26:02
-- V1.1 modified by yelinhui, add hpnicfEntityExtMacAddress
-- V1.2 modified by panxidong, add hpnicfEntityExtErrorStatus
-- V1.3 2004-10-12 updated by gaolong
--      Remove BITS from IMPORTS
-- V1.4 2005-02-25 modified by longyin
--      Add error status stackPortBlocked(22) and stackPortFailed(23)
--      for hpnicfEntityExtErrorStatus
-- V1.5 2006-05-16 modified by wangsihai
--      Add error status sensorError(81) in hpnicfEntityExtErrorStatus
-- V1.6 2006-07-03 modified by lifengguang
--      Add hpnicfEntityExtManuTable
-- V1.7 2007-09-21 modified by lifengguang
--      Add notification object hpnicfEntityExtSFPAlarmOn and hpnicfEntityExtSFPAlarmOff
--      Add hpnicfEntityExtPowerTable
-- V1.8 2007-11-19 modified by jinyi
--      Add hpnicfEntityExtCpuMaxUsage
-- V1.9 2008-02-27 modified by lifengguang
--      Add Trap nodes: hpnicfEntityExtSFPPhony
-- V2.0 2008-07-11 modified by lisong
--      Add hpnicfProcessTable
--      Add notification object hpnicfEntityInsert and hpnicfEntityRemove
-- V2.1 2008-07-14 modified by lifengguang
--      Add error status hardwareFaulty(91) in hpnicfEntityExtErrorStatus
--      Add Trap nodes: hpnicfEntityExtForcedPowerOff and hpnicfEntityExtForcedPowerOn
--      Add Trap nodes: hpnicfEntityExtFaultAlarmOn and hpnicfEntityExtFaultAlarmOff
-- V2.2 2008-10-24 modified by lifengguang
--      Add nodes hpnicfEntityExtLowerTemperatureThreshold and
--      hpnicfEntityExtShutdownTemperatureThreshold in hpnicfEntityExtStateTable
--      Add trap nodes hpnicfEntityExtResourceLack and hpnicfEntityExtResourceEnough
--      in hpnicfEntityExtTrapsPrefix
--      Add trap nodes hpnicfEntityExtTemperatureLower, hpnicfEntityExtTemperatureTooUp
--      and hpnicfEntityExtTemperatureNormal in hpnicfEntityExtTrapsPrefix
-- V2.3 2009-04-07 Added trap nodes hpnicfEntityExternalAlarmOccur and
--      hpnicfEntityExternalAlarmRecover
-- v2.4 2009-05-05 Added hpnicfEntityExtCpuAvgUsage, hpnicfEntityExtMemAvgUsage,
--      hpnicfEntityExtPhyMemSize, hpnicfEntityExtMemType, hpnicfEntityExtPhyCpuFrequency,
--      hpnicfEntityExtFirstUsedDate,
--      hpnicfEntityExtCpuUsageThresholdRecover, hpnicfEntityExtMemUsageThresholdRecover
-- V2.5 2010-08-09
--      Added hpnicfEntityExtShutdownLowerTemperatureThreshold,
--      hpnicfEntityExtCriticalLowerTemperatureThreshold,
--      hpnicfEntityExtCritLowerTempThresholdNotification and
--      hpnicfEntityExtTemperatureTooLow by zhanglei 06807.
--      Added hpnicfEntityExtMemAllocatedFailed, hpnicfEntityExtECCParityAlarm,
--      hpnicfEntityExtTrapDescription, hpnicfEntityExtECCParityAlarmStatus
--      by zhangqingjun 02357.
--      Modified description of hpnicfEntityExtPhyMemSize by haoyan 06611.
-- V2.6 2010-12-06
--      Added hpnicfEntityExtFanDirectionNotPreferred, hpnicfEntityExtFanDirectionNotAccord
--      by lifengguang 03035.
-- V2.7 2011-04-06
--      Added hpnicfEntityExtSFPInvalid, hpnicfEntityExtSFPInvalidNow and
--      hpnicfEntityExtSFPInvalidInDays by songhao 02718.
--      Changed SYNTAX of hpnicfEntityExtMemSize and hpnicfEntityExtPhyMemSize
--      from Integer32 to Unsigned32 by songhao 02718.
-- V2.8 2011-08-30
--      Added hpnicfEntityExtCpuUsageRecoverThreshold;
--      Added hpnicfEntityExtCpuUsageRecoverThreshold to hpnicfEntityExtCpuUsageThresholdNotfication and
--      hpnicfEntityExtCpuUsageThresholdRecover by shuaixiaojuan 04117.
--      Added hpnicfEntityExtFirstTrapTime by duyanbing 04404.
-- V2.9 2013-04-27
--      Added hpnicfEntityExtMemSizeRev by fangliwen 08502.
--      Added trap nodes hpnicfEntityExtMemUsageThresholdOverTrap and
--      hpnicfEntityExtMemUsageThresholdRecoverTrap by fangliwen 08502.
-- V3.0 2013-12-16
--      Added hpnicfEntityExtCpuUsageIn1Minute and hpnicfEntityExtCpuUsageIn5Minutes
--      by fangliwen 08502.
-- V3.1 2014-01-24
--      Added hpnicfEntityExtVoltageObjects by fangliwen 08502.
--      Added trap nodes hpnicfEntityExtVoltageNormal, hpnicfEntityExtVoltageTooLow,
--      hpnicfEntityExtVoltageLower, hpnicfEntityExtVoltageHigher and
--      hpnicfEntityExtVoltageTooHigh by fangliwen 08502.
-- =================================================================
HPN-ICF-ENTITY-EXT-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        hpnicfCommon
            FROM HPN-ICF-OID-MIB
        OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
            FROM SNMPv2-CONF
        OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE, Integer32,
        Unsigned32, Gauge32, TimeTicks
            FROM SNMPv2-SMI
        TEXTUAL-CONVENTION, MacAddress, DateAndTime, DisplayString
            FROM SNMPv2-TC
        SnmpAdminString
            FROM SNMP-FRAMEWORK-MIB
        entPhysicalIndex, entPhysicalName, entPhysicalDescr
            FROM ENTITY-MIB
        CounterBasedGauge64
            FROM HCNUM-TC;

    hpnicfEntityExtend MODULE-IDENTITY
        LAST-UPDATED "201111260000Z"
        ORGANIZATION
            ""
        CONTACT-INFO
            ""
        DESCRIPTION
            "The private MIB file includes the general extent
            information of the device."
        ::= { hpnicfCommon 6 }

    HpnicfAdminState  ::=  TEXTUAL-CONVENTION
        STATUS            current
        DESCRIPTION
            "The administrative state for this object, and it is possible to
            set the state when needed.
            A value of locked means the resource is administratively prohibited
            from use. A value of shuttingDown means that usage is
            administratively limited to current instances of use.
            A value of unlocked means the resource is not administratively
            prohibited from use."
        REFERENCE
            "ITU Recommendation X.731, 'Information Technology - Open
            Systems Interconnection - System Management: State
            Management Function', 1992"
        SYNTAX  INTEGER
        {
            notSupported(1),
            locked(2),
            shuttingDown(3),
            unlocked(4)
        }

    HpnicfOperState  ::=  TEXTUAL-CONVENTION
        STATUS            current
        DESCRIPTION
            " Represents the possible values of operational states.
            A value of disabled means the resource is totally
            inoperable. A value of enabled means the resource
            is partially or fully operable."
        REFERENCE
            "ITU Recommendation X.731, 'Information Technology - Open
            Systems Interconnection - System Management: State
            Management Function', 1992"
        SYNTAX  INTEGER
        {
            notSupported (1),
            disabled(2),
            enabled(3),
            dangerous(4)
        }
    HpnicfAlarmStatus  ::=  TEXTUAL-CONVENTION
        STATUS            current
        DESCRIPTION
            "Represents the possible values of alarm status.
            When no bits of this attribute are set, then none of the
            status conditions described below are present. When the
            value of under repair is set, the resource is currently
            being repaired.

            When the value of critical is set, one or more critical
            alarms are active against the resource. When the value of
            major is set, one or more major alarms are active against
            the resource. When the value of minor is set, one or more
            minor alarms are active against the resource. When the
            value of warning is set, one or more warning alarms are
            active against the resource. When the value of
            indeterminate is set, one or more  alarms of indeterminate
            severity are active against the resource.
            When the value of alarm outstanding is set, one or more
            alarms is active against the resource. The fault may or may
            not be disabling."
            REFERENCE
            "ITU Recommendation X.731, 'Information Technology - Open
            Systems Interconnection - System Management: State
            Management Function', 1992"
        SYNTAX           BITS
        {
            notSupported (0),
            underRepair(1),
            critical(2),
            major(3),
            minor(4),
            alarmOutstanding(5),
            warning (6), -- Not defined in X.731
            indeterminate (7) -- Not defined in X.731
        }


    HpnicfStandbyStatus  ::=  TEXTUAL-CONVENTION
        STATUS            current
        DESCRIPTION
                " Represents the possible values of standby status.

                  A value of hotStandby means the resource is not providing
                  service, but is will be immediately able to take over the
                  role of the resource to be backed-up, without the need for
                  initialization activity, and will contain the same
                  information as the resource to be backed up. A value of
                  coldStandy means that the resource is to back-up another
                  resource, but will not be immediately able to take over
                  the role of a resource to be backed up, and will require
                  some initialization activity. A value of providingService
                  means the resource is providing service."
        REFERENCE
            "ITU Recommendation X.731, 'Information Technology - Open
            Systems Interconnection - System Management: State
            Management Function', 1992"
        SYNTAX            INTEGER
        {
            notSupported (1),
            hotStandby(2),
            coldStandby(3),
            providingService(4)
        }


    hpnicfEntityExtObjects OBJECT IDENTIFIER ::= { hpnicfEntityExtend 1 }


--  MIB contains four groups

    hpnicfEntityExtState OBJECT IDENTIFIER ::= { hpnicfEntityExtObjects 1 }

    hpnicfEntityExtStateTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HpnicfEntityExtStateEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This table contains one row per physical entity, There is
            always at least one row for an 'overall' physical entity.
            The information in each row may be not include all the object
            in this table, because of the entity need not some of the
            information here."
        ::= { hpnicfEntityExtState 1 }

    hpnicfEntityExtStateEntry OBJECT-TYPE
        SYNTAX HpnicfEntityExtStateEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The information about a particular physical entity."
        INDEX { hpnicfEntityExtPhysicalIndex }
        ::= { hpnicfEntityExtStateTable 1 }

    HpnicfEntityExtStateEntry ::= SEQUENCE {
        hpnicfEntityExtPhysicalIndex
            Integer32,
        hpnicfEntityExtAdminStatus
            HpnicfAdminState,
        hpnicfEntityExtOperStatus
            HpnicfOperState,
        hpnicfEntityExtStandbyStatus
            HpnicfStandbyStatus,
        hpnicfEntityExtAlarmLight
            HpnicfAlarmStatus,
        hpnicfEntityExtCpuUsage
            Integer32,
        hpnicfEntityExtCpuUsageThreshold
            Integer32,
        hpnicfEntityExtMemUsage
            Integer32,
        hpnicfEntityExtMemUsageThreshold
            Integer32,
        hpnicfEntityExtMemSize
            Unsigned32,
        hpnicfEntityExtUpTime
            Integer32,
        hpnicfEntityExtTemperature
            Integer32,
        hpnicfEntityExtTemperatureThreshold
            Integer32,
        hpnicfEntityExtVoltage
            Integer32,
        hpnicfEntityExtVoltageLowThreshold
            Integer32,
        hpnicfEntityExtVoltageHighThreshold
            Integer32,
        hpnicfEntityExtCriticalTemperatureThreshold
            Integer32,
        hpnicfEntityExtMacAddress
            MacAddress,
        hpnicfEntityExtErrorStatus
            INTEGER,
        hpnicfEntityExtCpuMaxUsage
            Integer32,
        hpnicfEntityExtLowerTemperatureThreshold
            Integer32,
        hpnicfEntityExtShutdownTemperatureThreshold
            Integer32,
        hpnicfEntityExtPhyMemSize
            Unsigned32,
        hpnicfEntityExtPhyCpuFrequency
            Integer32,
        hpnicfEntityExtFirstUsedDate
            DateAndTime,
        hpnicfEntityExtCpuAvgUsage
            Integer32,
        hpnicfEntityExtMemAvgUsage
            Integer32,
        hpnicfEntityExtMemType
            OCTET STRING,
        hpnicfEntityExtCriticalLowerTemperatureThreshold
            Integer32,
        hpnicfEntityExtShutdownLowerTemperatureThreshold
            Integer32,
        hpnicfEntityExtCpuUsageRecoverThreshold
            Integer32,
        hpnicfEntityExtMemSizeRev
            CounterBasedGauge64,
        hpnicfEntityExtCpuUsageIn1Minute
            Integer32,
        hpnicfEntityExtCpuUsageIn5Minutes
            Integer32
     }

    hpnicfEntityExtPhysicalIndex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "The index of hpnicfEntityExtStateTable.
            This index is identical to entPhysicalIndex in ENTITY-MIB"
        ::= { hpnicfEntityExtStateEntry 1 }

    hpnicfEntityExtAdminStatus OBJECT-TYPE
        SYNTAX HpnicfAdminState
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The administrative state for this object."
        ::= { hpnicfEntityExtStateEntry 2 }

    hpnicfEntityExtOperStatus OBJECT-TYPE
        SYNTAX HpnicfOperState
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The operate state for this object."
        ::= { hpnicfEntityExtStateEntry 3 }

    hpnicfEntityExtStandbyStatus OBJECT-TYPE
        SYNTAX HpnicfStandbyStatus
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object is used for monitoring standby status.
            Not all entities support this object."
        ::= { hpnicfEntityExtStateEntry 4 }

    hpnicfEntityExtAlarmLight OBJECT-TYPE
        SYNTAX HpnicfAlarmStatus
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The alarm status for this entity. It does not include
            the severity of alarms raised on child components. In
            this condition, there will be a alarm light on the entity,
            the object should have the same status with it."
        ::= { hpnicfEntityExtStateEntry 5 }

    hpnicfEntityExtCpuUsage OBJECT-TYPE
        SYNTAX Integer32 (0..100)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The CPU usage for this entity. Generally, the overall
            CPU usage on the entity is calculated, independent of
            the number of CPUs on the entity."
        ::= { hpnicfEntityExtStateEntry 6 }

    hpnicfEntityExtCpuUsageThreshold OBJECT-TYPE
        SYNTAX Integer32 (0..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The threshold for the CPU usage. When the CPU usage exceeds
            the threshold, a notification will be sent."
        ::= { hpnicfEntityExtStateEntry 7 }

    hpnicfEntityExtMemUsage OBJECT-TYPE
        SYNTAX Integer32 (0..100)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The memory usage for the entity. This object indicates what
            percent of memory are used."
        ::= { hpnicfEntityExtStateEntry 8 }

    hpnicfEntityExtMemUsageThreshold OBJECT-TYPE
        SYNTAX Integer32 (0..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The threshold for the Memory usage, When the memory usage
            exceeds the threshold, a notification will be sent."
        ::= { hpnicfEntityExtStateEntry 9 }

    hpnicfEntityExtMemSize OBJECT-TYPE
        SYNTAX Unsigned32
        UNITS "bytes"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The size of memory for the entity.

            If the amount of memory exceeds 4,294,967,295 bytes,
            the value remains 4,294,967,295 bytes."
        ::= { hpnicfEntityExtStateEntry 10 }

    hpnicfEntityExtUpTime OBJECT-TYPE
        SYNTAX Integer32
        UNITS "seconds"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The uptime for the entity. The meaning of uptime is
            when the entity is up, and the value of the object
            will add 1 seconds while the entity is running."
        ::= { hpnicfEntityExtStateEntry 11 }

    hpnicfEntityExtTemperature OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The temperature for the entity."
        ::= { hpnicfEntityExtStateEntry 12 }

    hpnicfEntityExtTemperatureThreshold OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The threshold for the temperature. When the temperature
            exceeds the threshold, a notification will be sent."
        ::= { hpnicfEntityExtStateEntry 13 }

    hpnicfEntityExtVoltage OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The voltage for the entity."
        ::= { hpnicfEntityExtStateEntry 14 }

    hpnicfEntityExtVoltageLowThreshold OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The low-threshold for the voltage.
            When voltage is lower than low-threshold, a notification will be
            sent."
        ::= { hpnicfEntityExtStateEntry 15 }

    hpnicfEntityExtVoltageHighThreshold OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The high-threshold for the voltage.
            When voltage greater than high-threshold, a notification will be
            sent."
        ::= { hpnicfEntityExtStateEntry 16 }

    hpnicfEntityExtCriticalTemperatureThreshold OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " The threshold for the critical Temperature. When temperature
            exceeds the critical temperature, a notification will be sent."
        ::= { hpnicfEntityExtStateEntry 17 }

    hpnicfEntityExtMacAddress OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "MAC Address of the entity."
        ::= { hpnicfEntityExtStateEntry 18 }

    hpnicfEntityExtErrorStatus OBJECT-TYPE
        SYNTAX INTEGER
            {
            notSupported(1),
            normal(2),
            postFailure(3),
            entityAbsent(4),
            poeError(11),
            stackError(21),
            stackPortBlocked(22),
            stackPortFailed(23),
            sfpRecvError(31),
            sfpSendError(32),
            sfpBothError(33),
            fanError (41),
            psuError(51),
            rpsError(61),
            moduleFaulty(71),
            sensorError(81),
            hardwareFaulty(91)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Indicate the error state of this entity object. Now it only
            supports Port, general power supply, RPS power supply and
            board/Subcard. It may have one of these values.
            The following four values  can be used for all kinds of entities.

            notSupported(1) means this entity cannot support this function.
            normal(2) means the statement of this entity is normal. for ports,
            it doesn't differentiate 10M/s, 100M/s, 1000M/s, duplex and
            half-duplex. For fan, power supply and board-Subcard, it means
            their states are normal.
            postFailure(3)  means the entity fails to POST.
            entityAbsent(4) means the entity is absent now.


            The following values is depended on the entity.

            For Port entities, it may have the following  values. If its POST
            is failure,
            then the value of the instance will be postFailure(3), otherwise
            the value will be normal(2).

            If enable power supply over Ethernet on this port is failure,
            the value of this instance will be poeError(11), otherwise it will
            be normal(2).

            For stack port, if it connects to another stack port normally, and
            these two units merge into one stack, then the value of this
            instance will be normal(2).
            If something wrong occurs and the unit cannot merge into stack,
            the value of this instance will be stackPortFailed(23).  If the
            stack port forms resilient daisy chain with another stack port
            on the other unit, the value of this instance will be
            stackPortBlocked(22).


            For SFP ports, if it fail to receive, the value of this instance
            will be sfpRecvError(31), if it fail to send, the value is
            sfpSendError(32), if it fail to send and receive, the value is
            sfpBothError(33), otherwise it will be normal(2).

            fanError(41) means that the fan stops working.

            psuError(51) means that the Power Supply Unit is in the state of
            fault.

            rpsError(61) means the RPS is in the state of fault.

            moduleFaulty(71) means the Module is in the state of fault.

            sensorError(81) means the sensor is in the state of fault.

            hardwareFaulty(91) means the hardware of specified entity is in the state of fault.

            NMS must be compatible with the states which may be added
            in the future."
        ::= { hpnicfEntityExtStateEntry 19 }

    hpnicfEntityExtCpuMaxUsage OBJECT-TYPE
        SYNTAX Integer32(0..100)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The maximal CPU usage for the entity in the period of time."
        ::= { hpnicfEntityExtStateEntry 20 }

    hpnicfEntityExtLowerTemperatureThreshold OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The threshold for the lower Temperature. When temperature runs
            under the threshold, a notification will be sent."
        ::= { hpnicfEntityExtStateEntry 21 }

    hpnicfEntityExtShutdownTemperatureThreshold OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The threshold for the shutdown Temperature. When temperature
            exceeds the threshold, a notification will be sent and the entity
            will be shutdown."
        ::= { hpnicfEntityExtStateEntry 22 }

    hpnicfEntityExtPhyMemSize OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The memory size of entity. This is the physical attribute of entity."
        ::= { hpnicfEntityExtStateEntry 23 }

    hpnicfEntityExtPhyCpuFrequency OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The CPU frequency of entity. Unit of measure is MHZ."
        ::= { hpnicfEntityExtStateEntry 24 }

    hpnicfEntityExtFirstUsedDate OBJECT-TYPE
        SYNTAX DateAndTime (SIZE(8))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The first used date of the entity."
        ::= { hpnicfEntityExtStateEntry 25 }

    hpnicfEntityExtCpuAvgUsage OBJECT-TYPE
        SYNTAX Integer32(0..100)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The average CPU usage for the entity in a period of time."
        ::= { hpnicfEntityExtStateEntry 26 }

    hpnicfEntityExtMemAvgUsage OBJECT-TYPE
        SYNTAX Integer32(0..100)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The average memory usage for the entity in a period of time."
        ::= { hpnicfEntityExtStateEntry 27 }

    hpnicfEntityExtMemType OBJECT-TYPE
        SYNTAX OCTET STRING(SIZE (0..64))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The memory type of entity."
        ::= { hpnicfEntityExtStateEntry 28 }

    hpnicfEntityExtCriticalLowerTemperatureThreshold OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The threshold for the critical Temperature.  When temperature
            exceeds the critical lower temperature, a notification will be sent."
        ::= { hpnicfEntityExtStateEntry 29 }

    hpnicfEntityExtShutdownLowerTemperatureThreshold OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The threshold for the shutdown Temperature.  When temperature
            exceeds the lower threshold, a notification will be sent and the entity
            will be shutdown."
        ::= { hpnicfEntityExtStateEntry 30 }

    hpnicfEntityExtCpuUsageRecoverThreshold OBJECT-TYPE
        SYNTAX Integer32 (0..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The recover threshold for the CPU usage.  When the CPU usage falls down to
            the threshold, a notification is sent.  The hpnicfEntityExtCpuUsageRecoverThreshold
            must be less than or equal to the hpnicfEntityExtCpuUsageThreshold."
        DEFVAL      { 100 }
        ::= { hpnicfEntityExtStateEntry 31 }

    hpnicfEntityExtMemSizeRev OBJECT-TYPE
        SYNTAX CounterBasedGauge64
        UNITS "bytes"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Size of memory space for the entity.

            This node is used to replace hpnicfEntityExtMemSize."
        ::= { hpnicfEntityExtStateEntry 32 }

    hpnicfEntityExtCpuUsageIn1Minute OBJECT-TYPE
        SYNTAX Integer32 (0..100)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The CPU usage in last one minute for this entity.
            Generally, the overall CPU usage on the entity is
            calculated, independent of the number of CPUs on
            the entity."
        ::= { hpnicfEntityExtStateEntry 33 }

    hpnicfEntityExtCpuUsageIn5Minutes OBJECT-TYPE
        SYNTAX Integer32 (0..100)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The CPU usage in last five minutes for this entity.
            Generally, the overall CPU usage on the entity is
            calculated, independent of the number of CPUs on
            the entity."
        ::= { hpnicfEntityExtStateEntry 34 }

    hpnicfEntityExtManu OBJECT IDENTIFIER ::= { hpnicfEntityExtObjects 2 }

    hpnicfEntityExtManuTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HpnicfEntityExtManuEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The table about device manufacture information."
        ::= { hpnicfEntityExtManu 1 }

    hpnicfEntityExtManuEntry OBJECT-TYPE
        SYNTAX HpnicfEntityExtManuEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The device manufacture information about a particular physical
            entity."
        INDEX { hpnicfEntityExtManuPhysicalIndex }
        ::= { hpnicfEntityExtManuTable 1 }

    HpnicfEntityExtManuEntry ::= SEQUENCE {
        hpnicfEntityExtManuPhysicalIndex
            Integer32,
        hpnicfEntityExtManuSerialNum
            SnmpAdminString,
        hpnicfEntityExtManuBuildInfo
            SnmpAdminString,
        hpnicfEntityExtManuBOM
            SnmpAdminString,
        hpnicfEntityExtMacAddressCount
            Unsigned32
     }

    hpnicfEntityExtManuPhysicalIndex OBJECT-TYPE
        SYNTAX Integer32 (1..2147483647)
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "The index of hpnicfEntityExtManuTable.
            This index is identical to entPhysicalIndex in ENTITY-MIB."
        ::= { hpnicfEntityExtManuEntry 1 }

    hpnicfEntityExtManuSerialNum OBJECT-TYPE
        SYNTAX SnmpAdminString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Manufacture serial number.
            The manufacture serial number of the entity such as chassis,
            module, and so on.  It is got from the device when manufacturing.
            For low level box-device, the manufacture serial number is the
            device-number of System Control Board(SCB for short), it is written
            into the SCB directly; for middle level or high level frame-device,
            the manufacture serial number is the device-numbers of SCB and
            Service Board, because the SCB, Service Board and chassis are
            separate to sale and the device-number of chassis cannot be
            written into board."
        ::= { hpnicfEntityExtManuEntry 2 }

    hpnicfEntityExtManuBuildInfo OBJECT-TYPE
        SYNTAX SnmpAdminString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Device version information.
            The device version information of the entity such as chassis,
            module, and so on.  It consists of software version information
            and hardware version information."
        ::= { hpnicfEntityExtManuEntry 3 }

    hpnicfEntityExtManuBOM OBJECT-TYPE
        SYNTAX SnmpAdminString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Device BOM code.
            The device BOM code of the entity such as chassis, module, and so
            on.  It is the component code of ERP system, which can be
            disassembled from device-number."
        ::= { hpnicfEntityExtManuEntry 4 }

    hpnicfEntityExtMacAddressCount OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "MAC address count.
            The count of MAC addresses of the entity, such as chassis, module,
            or port, and so on."
        ::= { hpnicfEntityExtManuEntry 5 }

    hpnicfEntityExtPower OBJECT IDENTIFIER ::= { hpnicfEntityExtObjects 3 }

    hpnicfEntityExtPowerTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HpnicfEntityExtPowerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This table describes the power information of all the physical
            entity on the device, such as the fans, the subcards, the boards,
            etc."
        ::= { hpnicfEntityExtPower 1 }

    hpnicfEntityExtPowerEntry OBJECT-TYPE
        SYNTAX HpnicfEntityExtPowerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The entity power information about a particular physical entity."
        INDEX { hpnicfEntityExtPowerPhysicalIndex }
        ::= { hpnicfEntityExtPowerTable 1 }

    HpnicfEntityExtPowerEntry ::= SEQUENCE {
        hpnicfEntityExtPowerPhysicalIndex
            Integer32,
        hpnicfEntityExtNominalPower
            Gauge32,
        hpnicfEntityExtCurrentPower
            Gauge32,
        hpnicfEntityExtAveragePower
            Integer32,
        hpnicfEntityExtPeakPower
            Integer32
     }

    hpnicfEntityExtPowerPhysicalIndex OBJECT-TYPE
        SYNTAX Integer32 (1..2147483647)
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "The index of hpnicfEntityExtPowerTable.
            This index is identical to entPhysicalIndex in ENTITY-MIB."
        ::= { hpnicfEntityExtPowerEntry 1 }

    hpnicfEntityExtNominalPower OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The nominal power of the entity expressed in milliWatts."
        ::= { hpnicfEntityExtPowerEntry 2 }

    hpnicfEntityExtCurrentPower OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The measured usage power of the entity expressed in milliWatts."
        ::= { hpnicfEntityExtPowerEntry 3 }

    hpnicfEntityExtAveragePower OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The average power consumed by the entity expressed in milliWatts.
            Writing a value of zero to this object resets its value to zero.
            Writing any other value to this object has no effect on its value
            and an error is returned."
        ::= { hpnicfEntityExtPowerEntry 4 }

    hpnicfEntityExtPeakPower OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The peak power consumed by the entity expressed in milliWatts.
            Writing a value of zero to this object resets its value to zero.
            Writing any other value to this object has no effect on its value
            and an error is returned."
        ::= { hpnicfEntityExtPowerEntry 5 }

-- Process Table
    hpnicfProcessObjects OBJECT IDENTIFIER ::= { hpnicfEntityExtObjects 4 }

    hpnicfProcessTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HpnicfProcessEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The Table describes the information about a particular process,
            namely a task."
        ::= { hpnicfProcessObjects 1 }

    hpnicfProcessEntry OBJECT-TYPE
        SYNTAX HpnicfProcessEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The information about a particular process, namely a task."
        INDEX { hpnicfProcessID }
        ::= { hpnicfProcessTable 1 }

    HpnicfProcessEntry ::= SEQUENCE {
        hpnicfProcessID          Unsigned32,
        hpnicfProcessName        DisplayString,
        hpnicfProcessUtil5Min    Unsigned32
     }

    hpnicfProcessID OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the identifier of process, namely task ID
            in system."
    ::= { hpnicfProcessEntry 1 }

    hpnicfProcessName OBJECT-TYPE
        SYNTAX          DisplayString(SIZE(1..32))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object indicates the process name."
    ::= { hpnicfProcessEntry 2 }

    hpnicfProcessUtil5Min OBJECT-TYPE
        SYNTAX          Unsigned32(0..100)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "This object provides a general idea of how busy a process caused
            the processor to be over a 5 minute period.  The ratio is calculated
            by the overall CPU usage caused by the process."
    ::= { hpnicfProcessEntry 3 }

    hpnicfEntityExtVoltageObjects OBJECT IDENTIFIER ::= { hpnicfEntityExtObjects 5 }

    hpnicfEntityExtVoltageTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HpnicfEntityExtVoltageEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The table describes the voltage information of the voltage sensor
            entities on the device."
        ::= { hpnicfEntityExtVoltageObjects 1 }

    hpnicfEntityExtVoltageEntry OBJECT-TYPE
        SYNTAX HpnicfEntityExtVoltageEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The voltage information of the voltage sensor entity."
        INDEX { hpnicfEntityExtPhysicalIndex }
        ::= { hpnicfEntityExtVoltageTable 1 }

    HpnicfEntityExtVoltageEntry ::= SEQUENCE {
        hpnicfEntityExtCurrentVoltage
            Integer32,
        hpnicfEntityExtNominalVoltage
            Integer32,
        hpnicfEntityExtVoltageState
            INTEGER,
        hpnicfEntityExtVoltageMajorLowThreshold
            Integer32,
        hpnicfEntityExtVoltageFatalLowThreshold
            Integer32,
        hpnicfEntityExtVoltageMajorHighThreshold
            Integer32,
        hpnicfEntityExtVoltageFatalHighThreshold
            Integer32
     }

    hpnicfEntityExtCurrentVoltage OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The current voltage in millivolts of the voltage
            sensor entity."
    ::= { hpnicfEntityExtVoltageEntry 1 }

    hpnicfEntityExtNominalVoltage OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The nominal voltage in millivolts of the voltage
            sensor entity."
    ::= { hpnicfEntityExtVoltageEntry 2 }

    hpnicfEntityExtVoltageState OBJECT-TYPE
        SYNTAX          INTEGER
        {
             normal   (0),
             low      (1),
             tooLow  (2),
             high     (3),
             tooHigh (4)
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The voltage state of the voltage sensor entity."
    ::= { hpnicfEntityExtVoltageEntry 3 }

    hpnicfEntityExtVoltageMajorLowThreshold OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The low threshold for the voltage sensor entity.

            When the voltage is lower than the threshold, a notification
            will be sent."
    ::= { hpnicfEntityExtVoltageEntry 4 }

    hpnicfEntityExtVoltageFatalLowThreshold OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The fatal low voltage threshold for the voltage sensor entity.

            When the voltage is lower than the threshold, a notification
            will be sent."
    ::= { hpnicfEntityExtVoltageEntry 5 }

    hpnicfEntityExtVoltageMajorHighThreshold OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The high threshold for the voltage sensor entity.

            When the voltage is higher than the threshold, a notification
            will be sent."
    ::= { hpnicfEntityExtVoltageEntry 6 }

    hpnicfEntityExtVoltageFatalHighThreshold OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The fatal high threshold for the voltage sensor entity.

            When the voltage is higher than the threshold, a notification
            will be sent."
    ::= { hpnicfEntityExtVoltageEntry 7 }

-- End

    hpnicfEntityExtTraps OBJECT IDENTIFIER ::= { hpnicfEntityExtend 2 }

    hpnicfEntityExtTrapsPrefix OBJECT IDENTIFIER ::= { hpnicfEntityExtTraps 0 }
    hpnicfEntityExtTrapsInfor OBJECT IDENTIFIER ::= { hpnicfEntityExtTraps 1 }

    hpnicfEntityExtTemperatureThresholdNotification NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtTemperature,
            hpnicfEntityExtTemperatureThreshold,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight
            }
        STATUS current
        DESCRIPTION
            "The hpnicfEntityExtTemperatureThresholdNotification
            indicates the temperature exceeded the threshold.
            In this condition, user should check the status and the
            environment of the entity, sometimes it happens because
            of the failure of air-condition."
        ::= { hpnicfEntityExtTrapsPrefix 1 }

    hpnicfEntityExtVoltageLowThresholdNotification NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtVoltage,
            hpnicfEntityExtVoltageLowThreshold,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight
            }
        STATUS current
        DESCRIPTION
            "The hpnicfEntityExtVoltageLowThresholdNotification indicates
            the voltage is lower than the threshold.

            If the voltage is lower too much than the entity needs,
            the entity will halt."
        ::= { hpnicfEntityExtTrapsPrefix 2 }

    hpnicfEntityExtVoltageHighThresholdNotification NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtVoltage,
            hpnicfEntityExtVoltageHighThreshold,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight
            }
        STATUS current
        DESCRIPTION
            "The hpnicfEntityExtVoltageHighThresholdNotification indicates
            the voltage is higher than the threshold.

            If the voltage is higher too much than the entity needs,
            The entity may be damaged by the high voltage."
        ::= { hpnicfEntityExtTrapsPrefix 3 }

    hpnicfEntityExtCpuUsageThresholdNotfication NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtCpuUsage,
            hpnicfEntityExtCpuUsageThreshold,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight,
            hpnicfEntityExtCpuUsageRecoverThreshold,
            hpnicfEntityExtFirstTrapTime
            }
        STATUS current
        DESCRIPTION
            "The hpnicfEntityExtCpuUsageThresholdNotfication indicates
            the entity is overloaded."
        ::= { hpnicfEntityExtTrapsPrefix 4 }

    hpnicfEntityExtMemUsageThresholdNotification NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtMemUsage,
            hpnicfEntityExtMemUsageThreshold,
            hpnicfEntityExtMemSize,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight,
            hpnicfEntityExtFirstTrapTime
            }
        STATUS current
        DESCRIPTION
            "The hpnicfEntityExtMemUsageThresholdNotification indicates
            the entity is overloaded."
        ::= { hpnicfEntityExtTrapsPrefix 5 }

    hpnicfEntityExtOperEnabled NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight
            }
        STATUS current
        DESCRIPTION
            "The trap indicates the entity is operable at present."
        ::= { hpnicfEntityExtTrapsPrefix 6 }

    hpnicfEntityExtOperDisabled NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight
            }
        STATUS current
        DESCRIPTION
            "The trap indicates the entity is not operable at present."
        ::= { hpnicfEntityExtTrapsPrefix 7 }

    hpnicfEntityExtCriticalTemperatureThresholdNotification NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtTemperature,
            hpnicfEntityExtCriticalTemperatureThreshold,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight
            }
        STATUS current
        DESCRIPTION
            "The hpnicfEntityExtCriticalTemperatureThresholdNotification
            indicates the temperature exceeds the critical temperature.
            In this condition, user should check the status and the
            environment of the entity, sometimes it happens because
            of the failure of air-condition."
        ::= { hpnicfEntityExtTrapsPrefix 8 }

    hpnicfEntityExtSFPAlarmOn NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtErrorStatus,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight
            }
        STATUS current
        DESCRIPTION
            "The trap is generated when the SFP module fails
            or runs abnormally for some particular reason."
        ::= { hpnicfEntityExtTrapsPrefix 9 }

    hpnicfEntityExtSFPAlarmOff NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtErrorStatus,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight
            }
        STATUS current
        DESCRIPTION
            "The trap is generated when the SFP module restores to
            normal status."
        ::= { hpnicfEntityExtTrapsPrefix 10 }

    hpnicfEntityExtSFPPhony NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            entPhysicalName,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight
            }
        STATUS current
        DESCRIPTION
            "This module is NOT sold by authorized manufacturer.
            The normal function of the device or assume the maintenance
            responsibility thereof will NOT be guaranteed.
            The trap is generated periodically after a phony module has been
            found."
        ::= { hpnicfEntityExtTrapsPrefix 11 }

    hpnicfEntityInsert NOTIFICATION-TYPE
        OBJECTS { entPhysicalDescr, hpnicfEntityExtAdminStatus, hpnicfEntityExtOperStatus }
        STATUS current
        DESCRIPTION
            "The trap is generated when a removable entity inserting to
            device."
        ::= { hpnicfEntityExtTrapsPrefix 12 }

    hpnicfEntityRemove NOTIFICATION-TYPE
        OBJECTS { entPhysicalDescr, hpnicfEntityExtAdminStatus, hpnicfEntityExtOperStatus }
        STATUS current
        DESCRIPTION
            "The trap is generated when a removable entity removing from
            device."
        ::= { hpnicfEntityExtTrapsPrefix 13 }

    hpnicfEntityExtForcedPowerOff NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            entPhysicalName,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight
            }
        STATUS current
        DESCRIPTION
            "The trap indicates the entity is forced to power off."
        ::= { hpnicfEntityExtTrapsPrefix 14 }

    hpnicfEntityExtForcedPowerOn NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            entPhysicalName,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight
            }
        STATUS current
        DESCRIPTION
            "The trap indicates the entity is forced to power on."
        ::= { hpnicfEntityExtTrapsPrefix 15 }

    hpnicfEntityExtFaultAlarmOn NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            entPhysicalName,
            hpnicfEntityExtErrorStatus,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight
            }
        STATUS current
        DESCRIPTION
            "The trap indicates a fault occurs on the specified entity."
        ::= { hpnicfEntityExtTrapsPrefix 16 }

    hpnicfEntityExtFaultAlarmOff NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            entPhysicalName,
            hpnicfEntityExtErrorStatus,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight
            }
        STATUS current
        DESCRIPTION
            "The trap indicates a fault disappears on the specified entity."
        ::= { hpnicfEntityExtTrapsPrefix 17 }

    hpnicfEntityExtResourceLack NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            entPhysicalName
            }
        STATUS current
        DESCRIPTION
            "The trap indicates that a kind of resource is not enough on the
            specified entity."
        ::= { hpnicfEntityExtTrapsPrefix 18 }

    hpnicfEntityExtResourceEnough NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            entPhysicalName
            }
        STATUS current
        DESCRIPTION
            "The trap indicates that the entity recovers from the status of no
            enough resource."
        ::= { hpnicfEntityExtTrapsPrefix 19 }

    hpnicfEntityExtTemperatureLower NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            entPhysicalName,
            hpnicfEntityExtTemperature,
            hpnicfEntityExtLowerTemperatureThreshold,
            hpnicfEntityExtAdminStatus
            }
        STATUS current
        DESCRIPTION
            "The trap indicates the temperature of a specified entity is under
            the lower threshold. In this condition, user should check the
            status and the environment of the entity, sometimes it goes wrong
            for some reason."
        ::= { hpnicfEntityExtTrapsPrefix 20 }

    hpnicfEntityExtTemperatureTooUp NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            entPhysicalName,
            hpnicfEntityExtTemperature,
            hpnicfEntityExtShutdownTemperatureThreshold,
            hpnicfEntityExtAdminStatus
            }
        STATUS current
        DESCRIPTION
            "The trap indicates the temperature of a specified entity exceeded
            the shutdown threshold. In this condition, user should check the
            status and the environment of the entity, sometimes it goes wrong
            for some reason."
        ::= { hpnicfEntityExtTrapsPrefix 21 }

    hpnicfEntityExtTemperatureNormal NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            entPhysicalName,
            hpnicfEntityExtTemperature,
            hpnicfEntityExtLowerTemperatureThreshold,
            hpnicfEntityExtTemperatureThreshold,
            hpnicfEntityExtAdminStatus
            }
        STATUS current
        DESCRIPTION
            "The trap indicates the temperature of a specified entity recover
            from abnormal status."
        ::= { hpnicfEntityExtTrapsPrefix 22 }

    hpnicfEntityExternalAlarmOccur NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            entPhysicalName
            }
        STATUS current
        DESCRIPTION
            "The trap is generated when the monitored device connected to the
             specified entity fails."
        ::= { hpnicfEntityExtTrapsPrefix 23 }

    hpnicfEntityExternalAlarmRecover NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            entPhysicalName
            }
        STATUS current
        DESCRIPTION
            "The trap is generated when the failed device connected to the
             specified entity returns to normal."
        ::= { hpnicfEntityExtTrapsPrefix 24 }

    hpnicfEntityExtCpuUsageThresholdRecover NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtCpuUsage,
            hpnicfEntityExtCpuUsageThreshold,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight,
            hpnicfEntityExtCpuUsageRecoverThreshold,
            hpnicfEntityExtFirstTrapTime
            }
        STATUS current
        DESCRIPTION
            "The trap indicates the CPU usage descends the threshold."
        ::= { hpnicfEntityExtTrapsPrefix 25 }

    hpnicfEntityExtMemUsageThresholdRecover NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtMemUsage,
            hpnicfEntityExtMemUsageThreshold,
            hpnicfEntityExtMemSize,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight,
            hpnicfEntityExtFirstTrapTime
            }
        STATUS current
        DESCRIPTION
            "The trap indicates the memory usage descends the threshold."
        ::= { hpnicfEntityExtTrapsPrefix 26 }

    hpnicfEntityExtMemAllocatedFailed NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtTrapDescription
            }
        STATUS current
        DESCRIPTION
            "The trap indicates the memory allocated failed."
        ::= { hpnicfEntityExtTrapsPrefix 27 }

    hpnicfEntityExtECCParityAlarm NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtECCParityAlarmStatus,
            hpnicfEntityExtTrapDescription
            }
        STATUS current
        DESCRIPTION
            "The trap indicates the ECC(Error Correction Code) parity error alarm."
        ::= { hpnicfEntityExtTrapsPrefix 28 }

    hpnicfEntityExtCritLowerTempThresholdNotification NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            entPhysicalName,
            hpnicfEntityExtTemperature,
            hpnicfEntityExtCriticalLowerTemperatureThreshold
            }
        STATUS current
        DESCRIPTION
            "The hpnicfEntityExtCritLowerTempThresholdNotification
            indicates the temperature is lower than the threshold.

            If the temperature is lower too much than the entity needs,
            the entity will halt."
        ::= { hpnicfEntityExtTrapsPrefix 29 }

    hpnicfEntityExtTemperatureTooLow NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            entPhysicalName,
            hpnicfEntityExtTemperature,
            hpnicfEntityExtShutdownLowerTemperatureThreshold
            }
        STATUS current
        DESCRIPTION
            "The hpnicfEntityExtTemperatureTooLow indicates the temperature
            is lower than the threshold.

            If the temperature is lower too much than the entity needs,
            the entity halts now."
        ::= { hpnicfEntityExtTrapsPrefix 30 }

    hpnicfEntityExtFanDirectionNotPreferred NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            entPhysicalName
            }
        STATUS current
        DESCRIPTION
            "This trap indicates the specified fan's direction does not
            accord with preferred. The two parameters indicate the entity
            index and physical name of fan."
        ::= { hpnicfEntityExtTrapsPrefix 31 }

    hpnicfEntityExtFanDirectionNotAccord NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            entPhysicalName
            }
        STATUS current
        DESCRIPTION
            "This trap indicates the direction of fans does not accord
            with each other. The two parameters indicate the parent
            entity of the fans."
        ::= { hpnicfEntityExtTrapsPrefix 32 }

    hpnicfEntityExtSFPInvalid NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            entPhysicalName,
            hpnicfEntityExtSFPInvalidInDays
            }
        STATUS current
        DESCRIPTION
            "The transceiver module is not compatible with the interface card.
            The authorized manufacturer therefore shall NOT guarantee
            the normal function of the transceiver.
            The transceiver module will be invalidated in days.
            Please replace it with a compatible one as soon as possible.
            The trap is generated periodically after a phony transceiver module
            has been found."
        ::= { hpnicfEntityExtTrapsPrefix 33 }

    hpnicfEntityExtSFPInvalidNow NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            entPhysicalName
            }
        STATUS current
        DESCRIPTION
            "This transceiver module is not compatible with the interface card.
            The authorized manufacturer therefore shall NOT guarantee
            the normal function of the transceiver.
            The trap is generated after a phony transceiver module
            has been found."
        ::= { hpnicfEntityExtTrapsPrefix 34 }

    hpnicfEntityExtMemUsageThresholdOverTrap NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtMemUsage,
            hpnicfEntityExtMemUsageThreshold,
            hpnicfEntityExtMemSizeRev,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight
            }
        STATUS current
        DESCRIPTION
            "This trap indicates that the memory usage of the entity is
            overloaded.

            This trap is used to replace
            hpnicfEntityExtMemUsageThresholdNotification."
        ::= { hpnicfEntityExtTrapsPrefix 35 }

    hpnicfEntityExtMemUsageThresholdRecoverTrap NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtMemUsage,
            hpnicfEntityExtMemUsageThreshold,
            hpnicfEntityExtMemSizeRev,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtAlarmLight
            }
        STATUS current
        DESCRIPTION
            "This trap indicates that the memory usage decreased below
            the threshold.

            This trap is used to replace
            hpnicfEntityExtMemUsageThresholdRecover."
        ::= { hpnicfEntityExtTrapsPrefix 36 }

    hpnicfEntityExtVoltageNormal NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtCurrentVoltage,
            hpnicfEntityExtNominalVoltage,
            hpnicfEntityExtVoltageMajorLowThreshold,
            hpnicfEntityExtVoltageMajorHighThreshold
            }
        STATUS current
        DESCRIPTION
            "This trap indicates that the voltage recovers to normal."
        ::= { hpnicfEntityExtTrapsPrefix 37 }

    hpnicfEntityExtVoltageLower NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtCurrentVoltage,
            hpnicfEntityExtNominalVoltage,
            hpnicfEntityExtVoltageMajorLowThreshold
            }
        STATUS current
        DESCRIPTION
            "This trap indicates that the voltage is lower than the
            low threshold."
        ::= { hpnicfEntityExtTrapsPrefix 38 }

    hpnicfEntityExtVoltageTooLow NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtCurrentVoltage,
            hpnicfEntityExtNominalVoltage,
            hpnicfEntityExtVoltageFatalLowThreshold
            }
        STATUS current
        DESCRIPTION
            "This trap indicates that the voltage is lower than the
            fatal low threshold."
        ::= { hpnicfEntityExtTrapsPrefix 39 }

    hpnicfEntityExtVoltageHigher NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtCurrentVoltage,
            hpnicfEntityExtNominalVoltage,
            hpnicfEntityExtVoltageMajorHighThreshold
            }
        STATUS current
        DESCRIPTION
            "This trap indicates that the voltage is higher than the
            high threshold."
        ::= { hpnicfEntityExtTrapsPrefix 40 }

    hpnicfEntityExtVoltageTooHigh NOTIFICATION-TYPE
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtCurrentVoltage,
            hpnicfEntityExtNominalVoltage,
            hpnicfEntityExtVoltageFatalHighThreshold
            }
        STATUS current
        DESCRIPTION
            "This trap indicates that the voltage is higher than the
            fatal high threshold."
        ::= { hpnicfEntityExtTrapsPrefix 41 }

    hpnicfEntityExtTrapDescription OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..255))
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "The information of trap."
        ::= { hpnicfEntityExtTrapsInfor 1 }

    hpnicfEntityExtECCParityAlarmStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                         other(1),
                         l1cache(2),       -- cpu l1 data cache err
                         l2cache(3),       -- cpu l2 data cache err
                         sdram(4),         -- sdram err for cpu
                         mac(5),           -- mac err
                         tcam(6),          -- tcam err
                         ingressbuffer(7), -- IB err
                         egressbuffer(8),  -- EB err
                         lpm(9),           -- lpm err
                         controlmemory(10) -- controlmemory err
                        }
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
               "ECC parity error."
        ::= { hpnicfEntityExtTrapsInfor 2 }

    hpnicfEntityExtSFPInvalidInDays OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "The days when the transceiver module is still valid,
            but after those days, it will be invalidated."
        ::= { hpnicfEntityExtTrapsInfor 3 }

    hpnicfEntityExtFirstTrapTime OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
            "Represents the first trap time."
        ::= { hpnicfEntityExtTrapsInfor 4 }

--  Conformance and Compliance
    hpnicfEntityExtConformance OBJECT IDENTIFIER ::= { hpnicfEntityExtend 3 }

    hpnicfEntityExtCompliances OBJECT IDENTIFIER ::= { hpnicfEntityExtConformance 1 }

--  this module
    hpnicfEntityExtCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
            "The compliance statement for systems supporting this MIB."
        MODULE -- this module
            MANDATORY-GROUPS { hpnicfEntityExtGroup, hpnicfEntityExtNotificationGroup,
                               hpnicfEntityExtManuGroup, hpnicfEntityExtPowerGroup }
            OBJECT hpnicfEntityExtAdminStatus
                MIN-ACCESS read-only
                DESCRIPTION
                    "Write access is not required."
            OBJECT hpnicfEntityExtCpuUsageThreshold
                MIN-ACCESS read-only
                DESCRIPTION
                    "Write access is not required."
            OBJECT hpnicfEntityExtMemUsageThreshold
                MIN-ACCESS read-only
                DESCRIPTION
                    "Write access is not required."
            OBJECT hpnicfEntityExtTemperatureThreshold
                MIN-ACCESS read-only
                DESCRIPTION
                    "Write access is not required."
            OBJECT hpnicfEntityExtVoltageLowThreshold
                MIN-ACCESS read-only
                DESCRIPTION
                    "Write access is not required."
            OBJECT hpnicfEntityExtVoltageHighThreshold
                MIN-ACCESS read-only
                DESCRIPTION
                    "Write access is not required."
        ::= { hpnicfEntityExtCompliances 1 }

    hpnicfEntityExtGroups OBJECT IDENTIFIER ::= { hpnicfEntityExtConformance 2 }

    hpnicfEntityExtGroup OBJECT-GROUP
        OBJECTS {
            hpnicfEntityExtPhysicalIndex,
            hpnicfEntityExtAdminStatus,
            hpnicfEntityExtOperStatus,
            hpnicfEntityExtStandbyStatus,
            hpnicfEntityExtAlarmLight,
            hpnicfEntityExtCpuUsage,
            hpnicfEntityExtCpuUsageThreshold,
            hpnicfEntityExtMemUsage,
            hpnicfEntityExtMemUsageThreshold,
            hpnicfEntityExtMemSize,
            hpnicfEntityExtUpTime,
            hpnicfEntityExtTemperature,
            hpnicfEntityExtTemperatureThreshold,
            hpnicfEntityExtVoltage,
            hpnicfEntityExtVoltageLowThreshold,
            hpnicfEntityExtVoltageHighThreshold,
            hpnicfEntityExtCriticalTemperatureThreshold,
            hpnicfEntityExtMacAddress,
            hpnicfEntityExtErrorStatus,
            hpnicfEntityExtCpuMaxUsage,
            hpnicfEntityExtLowerTemperatureThreshold,
            hpnicfEntityExtShutdownTemperatureThreshold,
            hpnicfEntityExtPhyMemSize,
            hpnicfEntityExtPhyCpuFrequency,
            hpnicfEntityExtFirstUsedDate,
            hpnicfEntityExtCpuAvgUsage,
            hpnicfEntityExtMemAvgUsage,
            hpnicfEntityExtMemType,
            hpnicfEntityExtCriticalLowerTemperatureThreshold,
            hpnicfEntityExtShutdownLowerTemperatureThreshold,
            hpnicfEntityExtCpuUsageRecoverThreshold,
            hpnicfEntityExtMemSizeRev,
            hpnicfEntityExtCpuUsageIn1Minute,
            hpnicfEntityExtCpuUsageIn5Minutes
            }
        STATUS current
        DESCRIPTION
            "Entity Extend group."
        ::= { hpnicfEntityExtGroups 1 }

    hpnicfEntityExtNotificationGroup NOTIFICATION-GROUP
        NOTIFICATIONS { hpnicfEntityExtTemperatureThresholdNotification,
                hpnicfEntityExtVoltageLowThresholdNotification,
                hpnicfEntityExtVoltageHighThresholdNotification,
                hpnicfEntityExtCpuUsageThresholdNotfication,
                hpnicfEntityExtMemUsageThresholdNotification,
                hpnicfEntityExtOperEnabled,
                hpnicfEntityExtOperDisabled,
                hpnicfEntityExtCriticalTemperatureThresholdNotification,
                hpnicfEntityExtSFPAlarmOn,
                hpnicfEntityExtSFPAlarmOff,
                hpnicfEntityExtSFPPhony,
                hpnicfEntityInsert,
                hpnicfEntityRemove,
                hpnicfEntityExtForcedPowerOff,
                hpnicfEntityExtForcedPowerOn,
                hpnicfEntityExtFaultAlarmOn,
                hpnicfEntityExtFaultAlarmOff,
                hpnicfEntityExtResourceLack,
                hpnicfEntityExtResourceEnough,
                hpnicfEntityExtTemperatureLower,
                hpnicfEntityExtTemperatureTooUp,
                hpnicfEntityExtTemperatureNormal,
                hpnicfEntityExternalAlarmOccur,
                hpnicfEntityExternalAlarmRecover,
                hpnicfEntityExtCpuUsageThresholdRecover,
                hpnicfEntityExtMemUsageThresholdRecover,
                hpnicfEntityExtMemAllocatedFailed,
                hpnicfEntityExtECCParityAlarm,
                hpnicfEntityExtCritLowerTempThresholdNotification,
                hpnicfEntityExtTemperatureTooLow,
                hpnicfEntityExtFanDirectionNotPreferred,
                hpnicfEntityExtFanDirectionNotAccord,
                hpnicfEntityExtSFPInvalid,
                hpnicfEntityExtSFPInvalidNow,
                hpnicfEntityExtMemUsageThresholdOverTrap,
                hpnicfEntityExtMemUsageThresholdRecoverTrap,
                hpnicfEntityExtVoltageNormal,
                hpnicfEntityExtVoltageTooLow,
                hpnicfEntityExtVoltageLower,
                hpnicfEntityExtVoltageHigher,
                hpnicfEntityExtVoltageTooHigh
                }
        STATUS current
        DESCRIPTION
            "Entity Extend Notification group."
            ::= { hpnicfEntityExtGroups 2 }

    hpnicfEntityExtManuGroup OBJECT-GROUP
        OBJECTS {
            hpnicfEntityExtManuPhysicalIndex,
            hpnicfEntityExtManuSerialNum,
            hpnicfEntityExtManuBuildInfo,
            hpnicfEntityExtManuBOM,
            hpnicfEntityExtMacAddressCount
            }
        STATUS current
        DESCRIPTION
            "Standard Device Manufacture Information group."
        ::= { hpnicfEntityExtGroups 3 }

    hpnicfEntityExtPowerGroup OBJECT-GROUP
        OBJECTS {
            hpnicfEntityExtPowerPhysicalIndex,
            hpnicfEntityExtNominalPower,
            hpnicfEntityExtCurrentPower,
            hpnicfEntityExtAveragePower,
            hpnicfEntityExtPeakPower
            }
        STATUS current
        DESCRIPTION
            "Standard Entity Power Information group."
        ::= { hpnicfEntityExtGroups 4 }

    END
