--  =================================================================
-- Copyright (c) 2004-2022 New H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: The MIB is designed to configure the Intelligent Network
--              Quality Analyzer.
-- Reference:
-- Version: V1.1
-- History:
-- V1.0 2022-09-01, Du Wei, Initial version
-- V1.1 2022-12-01, Du Wei,
--      Added nodes hh3cInqaInstAttrMismatchReason for hh3cInqaInstAttrMismatch,
--      hh3cInqaInstAttrMismatchRecover trap.
-- =================================================================

HH3C-INQA-MIB DEFINITIONS ::= BEGIN

IMPORTS
    hh3cCommon
        FROM HH3C-OID-MIB
    Unsigned32, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    CounterBasedGauge64
        FROM HCNUM-TC;

hh3cInqa MODULE-IDENTITY
    LAST-UPDATED "202212010000Z"
    ORGANIZATION
        "New H3C Tech.  Co., Ltd."
    CONTACT-INFO
        "Platform Team New H3C Technologies Co., Ltd.
        Hai-Dian District Beijing P.R. China
        http://www.h3c.com
        Zip:100085"
    DESCRIPTION
        "The private MIB file includes the network quality information of the
        device. It is to describes notifications of the Intelligent Network Quality Analyzer."
    REVISION "202212010000Z"
    DESCRIPTION
        "Added nodes hh3cInqaInstAttrMismatchReason for hh3cInqaInstAttrMismatch,
         hh3cInqaInstAttrMismatchRecover trap."
    REVISION "202209010000Z"
    DESCRIPTION
        "Initial revision of this MIB module."
    ::= { hh3cCommon 252 }

--
-- Node definitions
--
hh3cInqaNotifications OBJECT IDENTIFIER ::= { hh3cInqa 1 }

hh3cInqaNotification OBJECT IDENTIFIER ::= { hh3cInqaNotifications 0 }

hh3cInqaLossRatioExceed NOTIFICATION-TYPE
    OBJECTS
    {
        hh3cInqaAnalyzerInstID,
        hh3cInqaAnalyzerInstDesc,
        hh3cInqaAmsID,
        hh3cInqaAmsFlowDir,
        hh3cInqaForwardLossRatio,
        hh3cInqaBackwardLossRatio,
        hh3cInqaLossUpperLimit,
        hh3cInqaLossLowerLimit
    }
    STATUS current
    DESCRIPTION
        "The trap is generated when the packet loss ratio of a flow exceeds the upper limit for five consecutive periods."
    ::= { hh3cInqaNotification 1 }

hh3cInqaLossRatioRecover NOTIFICATION-TYPE
    OBJECTS
    {
        hh3cInqaAnalyzerInstID,
        hh3cInqaAnalyzerInstDesc,
        hh3cInqaAmsID,
        hh3cInqaAmsFlowDir,
        hh3cInqaForwardLossRatio,
        hh3cInqaBackwardLossRatio,
        hh3cInqaLossUpperLimit,
        hh3cInqaLossLowerLimit
    }
    STATUS current
    DESCRIPTION
        "The trap is generated when the packet loss ratio of a flow drops below the lower limit for five consecutive periods."
    ::= { hh3cInqaNotification 2 }

hh3cInqaOnewayDelayExceed NOTIFICATION-TYPE
    OBJECTS
    {
        hh3cInqaAnalyzerInstID,
        hh3cInqaAnalyzerInstDesc,
        hh3cInqaAmsID,
        hh3cInqaAmsFlowDir,
        hh3cInqaForwardDelay,
        hh3cInqaBackwardDelay,
        hh3cInqaDelayUpperLimit,
        hh3cInqaDelayLowerLimit
    }
    STATUS current
    DESCRIPTION
        "The trap is generated when the one-way delay of a flow exceeds the upper limit for five consecutive periods."
    ::= { hh3cInqaNotification 3 }

hh3cInqaOnewayDelayRecover NOTIFICATION-TYPE
    OBJECTS
    {
        hh3cInqaAnalyzerInstID,
        hh3cInqaAnalyzerInstDesc,
        hh3cInqaAmsID,
        hh3cInqaAmsFlowDir,
        hh3cInqaForwardDelay,
        hh3cInqaBackwardDelay,
        hh3cInqaDelayUpperLimit,
        hh3cInqaDelayLowerLimit
    }
    STATUS current
    DESCRIPTION
        "The trap is generated when the one-way delay of a flow drops below the lower limit for five consecutive periods."
    ::= { hh3cInqaNotification 4 }

hh3cInqaTwowayDelayExceed NOTIFICATION-TYPE
    OBJECTS
    {
        hh3cInqaAnalyzerInstID,
        hh3cInqaAnalyzerInstDesc,
        hh3cInqaAmsID,
        hh3cInqaAmsFlowDir,
        hh3cInqaTwowayDelay,
        hh3cInqaDelayUpperLimit,
        hh3cInqaDelayLowerLimit
    }
    STATUS current
    DESCRIPTION
        "The trap is generated when the two-way delay of a flow exceeds the upper limit for five consecutive periods."
    ::= { hh3cInqaNotification 5 }

hh3cInqaTwowayDelayRecover NOTIFICATION-TYPE
    OBJECTS
    {
        hh3cInqaAnalyzerInstID,
        hh3cInqaAnalyzerInstDesc,
        hh3cInqaAmsID,
        hh3cInqaAmsFlowDir,
        hh3cInqaTwowayDelay,
        hh3cInqaDelayUpperLimit,
        hh3cInqaDelayLowerLimit
    }
    STATUS current
    DESCRIPTION
        "The trap is generated when the two- way delay of a flow drops below the lower limit for five consecutive periods."
    ::= { hh3cInqaNotification 6 }

hh3cInqaInstAttrMismatch NOTIFICATION-TYPE
    OBJECTS
    {
        hh3cInqaAnalyzerInstID,
        hh3cInqaAnalyzerInstDesc,
        hh3cInqaInstAttrMismatchReason
    }
    STATUS current
    DESCRIPTION
        "The trap is generated when the attributes of collectors bound to the analyzer instance are inconsistent.
        "
    ::= { hh3cInqaNotification 7 }

hh3cInqaInstAttrMismatchRecover NOTIFICATION-TYPE
    OBJECTS
    {
        hh3cInqaAnalyzerInstID,
        hh3cInqaAnalyzerInstDesc,
        hh3cInqaInstAttrMismatchReason
    }
    STATUS current
    DESCRIPTION
        "The trap is generated when the attributes of collectors bound to the analyzer instance are consistent.
        "
    ::= { hh3cInqaNotification 8 }

hh3cInqaNotificationObjects OBJECT IDENTIFIER ::= { hh3cInqaNotifications 1 }

hh3cInqaForwardLossRatio OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..10))
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Packet loss ratio of the forward flow.
         The value ranges from 0.000001 to 100, and the unit is percentage."
    ::= { hh3cInqaNotificationObjects 1 }

hh3cInqaBackwardLossRatio OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..10))
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Packet loss ratio of the backward flow.
         The value ranges from 0.000001 to 100, and the unit is percentage."
    ::= { hh3cInqaNotificationObjects 2 }

hh3cInqaForwardDelay OBJECT-TYPE
    SYNTAX CounterBasedGauge64
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Packet transmission delay of the forward flow."
    ::= { hh3cInqaNotificationObjects 3 }

hh3cInqaBackwardDelay OBJECT-TYPE
    SYNTAX CounterBasedGauge64
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Packet transmission delay of the backward flow."
    ::= { hh3cInqaNotificationObjects 4 }

hh3cInqaTwowayDelay OBJECT-TYPE
    SYNTAX CounterBasedGauge64
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Two-way packet transmission delay."
    ::= { hh3cInqaNotificationObjects 5 }

hh3cInqaInstAttrMismatchReason OBJECT-TYPE
    SYNTAX INTEGER
    {
        unspecified(0),
        flag(1),
        flow(2),
        interval(3)
    }
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Attributes in which the collectors bound to the analyzer instance mismatch. The values include:
        0, unspecified
        1, flag
        2, flow
        3, interval
        "
    ::= { hh3cInqaNotificationObjects 6 }

hh3cInqaObjects OBJECT IDENTIFIER ::= { hh3cInqa 2 }

hh3cInqaAnalyzer OBJECT IDENTIFIER ::= { hh3cInqaObjects 1 }

hh3cInqaAnalyzerInstTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cInqaAnalyzerInstEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table contains information about analyzer instances."
    ::= { hh3cInqaAnalyzer 1 }

hh3cInqaAnalyzerInstEntry OBJECT-TYPE
    SYNTAX Hh3cInqaAnalyzerInstEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Each entry provides analyzer instance configuration information."
    INDEX { hh3cInqaAnalyzerInstID }
    ::= { hh3cInqaAnalyzerInstTable 1 }

Hh3cInqaAnalyzerInstEntry ::=
    SEQUENCE {
        hh3cInqaAnalyzerInstID  Unsigned32,
        hh3cInqaAnalyzerInstDesc  OCTET STRING
     }

hh3cInqaAnalyzerInstID OBJECT-TYPE
    SYNTAX Unsigned32 (1..8355838)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Identifier of the Analyzer instances."
    ::= { hh3cInqaAnalyzerInstEntry 1 }

hh3cInqaAnalyzerInstDesc OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (1..64))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Description for the analyzer instances."
    ::= { hh3cInqaAnalyzerInstEntry 2 }

hh3cInqaAnalyzerAmsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cInqaAnalyzerAmsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table contains AMS of the analyzer instances."
    ::= { hh3cInqaAnalyzer 2 }

hh3cInqaAnalyzerAmsEntry OBJECT-TYPE
    SYNTAX Hh3cInqaAnalyzerAmsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This entry contains AMS of an analyzer instance."
    INDEX { hh3cInqaAnalyzerInstID, hh3cInqaAmsID }
    ::= { hh3cInqaAnalyzerAmsTable 1 }

Hh3cInqaAnalyzerAmsEntry ::=
    SEQUENCE {
        hh3cInqaAmsID       Unsigned32,
        hh3cInqaAmsFlowDir  INTEGER
     }

hh3cInqaAmsID OBJECT-TYPE
    SYNTAX Unsigned32 (1..2147483647)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "AMS ID."
    ::= { hh3cInqaAnalyzerAmsEntry 1 }

hh3cInqaAmsFlowDir OBJECT-TYPE
    SYNTAX INTEGER
    {
        forward(1),
        backward(2),
        bidirection(3)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Flow direction to meature."
    ::= { hh3cInqaAnalyzerAmsEntry 2 }

hh3cInqaAnalyzerLossThresTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cInqaAnalyzerLossThresEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table contains the packet loss alarm parameters of the analyzer instances."
    ::= { hh3cInqaAnalyzer 3 }

hh3cInqaAnalyzerLossThresEntry OBJECT-TYPE
    SYNTAX Hh3cInqaAnalyzerLossThresEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This entry contains the packet loss alarm parameters of an analyzer instance."
    INDEX { hh3cInqaAnalyzerInstID }
    ::= { hh3cInqaAnalyzerLossThresTable 1 }

Hh3cInqaAnalyzerLossThresEntry ::=
    SEQUENCE {
        hh3cInqaLossUpperLimit  OCTET STRING,
        hh3cInqaLossLowerLimit  OCTET STRING
     }

hh3cInqaLossUpperLimit OBJECT-TYPE
    SYNTAX OCTET STRING
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Upper limit of the packet loss ratio.
         The value ranges from 0.000001 to 100, and the unit is percentage."
    ::= { hh3cInqaAnalyzerLossThresEntry 1 }

hh3cInqaLossLowerLimit OBJECT-TYPE
    SYNTAX OCTET STRING
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Lower limit of the packet loss ratio.
         The value ranges from 0.000001 to 100, and the unit is percentage."
    ::= { hh3cInqaAnalyzerLossThresEntry 2 }

hh3cInqaAnalyzerDelayThresTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Hh3cInqaAnalyzerDelayThresEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table contains the packet delay alarm parameters of the analyzer instances."
    ::= { hh3cInqaAnalyzer 4 }

hh3cInqaAnalyzerDelayThresEntry OBJECT-TYPE
    SYNTAX Hh3cInqaAnalyzerDelayThresEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This entry contains the packet delay alarm parameters of an analyzer instance."
    INDEX { hh3cInqaAnalyzerInstID }
    ::= { hh3cInqaAnalyzerDelayThresTable 1 }

Hh3cInqaAnalyzerDelayThresEntry ::=
    SEQUENCE {
        hh3cInqaDelayUpperLimit    CounterBasedGauge64,
        hh3cInqaDelayLowerLimit    CounterBasedGauge64
     }

hh3cInqaDelayUpperLimit OBJECT-TYPE
    SYNTAX CounterBasedGauge64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Upper limit of the packet delay.
         The value ranges from 0 to 3600000000, and the unit is microseconds."
    ::= { hh3cInqaAnalyzerDelayThresEntry 1 }

hh3cInqaDelayLowerLimit OBJECT-TYPE
    SYNTAX CounterBasedGauge64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Lower limit of the packet delay.
         The value ranges from 0 to 3600000000, and the unit is microseconds."
    ::= { hh3cInqaAnalyzerDelayThresEntry 2 }


END

