--  =================================================================
-- Copyright (c) 2004-2022 New H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: The MIB is designed to configure the Enhanced Media Delivery Index.
-- Reference:
-- Version: V1.1
-- History:
-- V1.0 2022-09-01, Du Wei, Initial version
-- V1.1 2022-12-01, Du Wei,
--     Added nodes hh3cEmdiFlowSrcIPType,hh3cEmdiFlowSrcIP, hh3cEmdiFlowDstIPType,
--      hh3cEmdiFlowDstIP, hh3cEmdiFlowSrcPort, hh3cEmdiFlowDstPort, hh3cEmdiFlowProtocol,
--      hh3cEmdiFlowVlanID and hh3cEmdiFlowVxlanID for hh3cEmdiFlowConflict trap.
--     Added nodes hh3cEmdiChassisID and hh3cEmdiSlotID for hh3cEmdiInstanceExceed trap.
-- =================================================================
HH3C-EMDI-MIB DEFINITIONS ::= BEGIN

IMPORTS
    hh3cCommon
        FROM HH3C-OID-MIB
    InetAddressType, InetAddress
        FROM INET-ADDRESS-MIB
    Integer32, Unsigned32, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE
        FROM SNMPv2-SMI;

hh3cEmdi MODULE-IDENTITY
    LAST-UPDATED "202212010000Z"
    ORGANIZATION
        "New H3C Tech. Co., Ltd."
    CONTACT-INFO
        "Platform Team New H3C Technologies Co., Ltd.
        Haidian 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 configure the Enhanced Media Delivery Index."
    REVISION "202212010000Z"
    DESCRIPTION
        "Added nodes hh3cEmdiFlowSrcIPType, hh3cEmdiFlowSrcIP, hh3cEmdiFlowDstIPType,
         hh3cEmdiFlowDstIP, hh3cEmdiFlowSrcPort, hh3cEmdiFlowDstPort, hh3cEmdiFlowProtocol,
         hh3cEmdiFlowVlanID, and hh3cEmdiFlowVxlanID for hh3cEmdiFlowConflict trap.
         Added nodes hh3cEmdiChassisID and hh3cEmdiSlotID for hh3cEmdiInstanceExceed trap."
    REVISION "202209010000Z"
    DESCRIPTION
        "Initial revision of this MIB module."
    ::= { hh3cCommon 251 }
--
-- Node definitions
--
hh3cEmdiNotifications OBJECT IDENTIFIER ::= { hh3cEmdi 1 }
hh3cEmdiNotification OBJECT IDENTIFIER ::= { hh3cEmdiNotifications 0 }

hh3cEmdiIndicatorOverThres NOTIFICATION-TYPE
    OBJECTS
    {
        hh3cEmdiInstanceID,
        hh3cEmdiIndicatorType,
        hh3cEmdiIndicatorValue,
        hh3cEmdiIndicatorThreshold,
        hh3cEmdiSuppressTimes
    }
    STATUS current
    DESCRIPTION
        "The trap is generated when the monitored indicator reaches the alarm threshold
        successively."
    ::= { hh3cEmdiNotification 1 }

hh3cEmdiIndicatorOverThresResume NOTIFICATION-TYPE
    OBJECTS
    {
        hh3cEmdiInstanceID,
        hh3cEmdiIndicatorType,
        hh3cEmdiIndicatorValue,
        hh3cEmdiIndicatorThreshold,
        hh3cEmdiSuppressTimes
    }
    STATUS current
    DESCRIPTION
        "The trap is generated when the monitored indicator drops below the alarm threshold
        successively."
    ::= { hh3cEmdiNotification 2 }

hh3cEmdiFlowConflict NOTIFICATION-TYPE
    OBJECTS
    {
        hh3cEmdiInstanceID,
        hh3cEmdiFlowSrcIPType,
        hh3cEmdiFlowSrcIP,
        hh3cEmdiFlowDstIPType,
        hh3cEmdiFlowDstIP,
        hh3cEmdiFlowSrcPort,
        hh3cEmdiFlowDstPort,
        hh3cEmdiFlowProtocol,
        hh3cEmdiFlowVlanID,
        hh3cEmdiFlowVxlanID
    }
    STATUS current
    DESCRIPTION
        "The trap is generated when the flow bound to a dynamic instance conflicts with the flow in the existing instance."
    ::= { hh3cEmdiNotification 3 }

hh3cEmdiInstanceExceed NOTIFICATION-TYPE
    OBJECTS { hh3cEmdiChassisID, hh3cEmdiSlotID }
    STATUS current
    DESCRIPTION
        "Maximum number of running instances already reached."
    ::= { hh3cEmdiNotification 4 }

hh3cEmdiNotificationObjects OBJECT IDENTIFIER ::= { hh3cEmdiNotifications 1 }

hh3cEmdiInstanceID OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "eMDI instance ID."
    ::= { hh3cEmdiNotificationObjects 1 }

hh3cEmdiIndicatorType OBJECT-TYPE
    SYNTAX INTEGER
    {
        rtplr(1),
        rtpser(2),
        uplr(3),
        dplr(4)
    }
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Monitored indicator type."
    ::= { hh3cEmdiNotificationObjects 2 }

hh3cEmdiIndicatorValue OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Monitored indicator value."
    ::= { hh3cEmdiNotificationObjects 3 }

hh3cEmdiIndicatorThreshold OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Alarm threshold for the monitored indicator."
    ::= { hh3cEmdiNotificationObjects 4 }

hh3cEmdiSuppressTimes OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Number of consecutive alarms to be suppressed before alarming."
    ::= { hh3cEmdiNotificationObjects 5 }

hh3cEmdiFlowSrcIPType OBJECT-TYPE
    SYNTAX InetAddressType
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Source IP address type of the flow."
    ::= { hh3cEmdiNotificationObjects 6 }

hh3cEmdiFlowSrcIP OBJECT-TYPE
    SYNTAX InetAddress
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Source IP address of the flow."
    ::= { hh3cEmdiNotificationObjects 7 }

hh3cEmdiFlowDstIPType OBJECT-TYPE
    SYNTAX InetAddressType
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Destination IP address type of the flow."
    ::= { hh3cEmdiNotificationObjects 8 }

hh3cEmdiFlowDstIP OBJECT-TYPE
    SYNTAX InetAddress
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Destination IP address of the flow."
    ::= { hh3cEmdiNotificationObjects 9 }

hh3cEmdiFlowSrcPort OBJECT-TYPE
    SYNTAX Integer32 (1..65535)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Source port of the flow."
    ::= { hh3cEmdiNotificationObjects 10 }

hh3cEmdiFlowDstPort OBJECT-TYPE
    SYNTAX Integer32 (1..65535)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Destination port of the flow."
    ::= { hh3cEmdiNotificationObjects 11 }

hh3cEmdiFlowProtocol OBJECT-TYPE
    SYNTAX INTEGER
    {
        tcp(1),
        udp(2)
    }
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Transport layer protocol of the flow."
    ::= { hh3cEmdiNotificationObjects 12 }

hh3cEmdiFlowVlanID OBJECT-TYPE
    SYNTAX Integer32 (1..4094)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "VLAN ID."
    ::= { hh3cEmdiNotificationObjects 13 }

hh3cEmdiFlowVxlanID OBJECT-TYPE
    SYNTAX Integer32 (0..16777215)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "VXLAN ID."
    ::= { hh3cEmdiNotificationObjects 14 }

hh3cEmdiChassisID OBJECT-TYPE
    SYNTAX Integer32 (0..65535)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Chassis ID. If the value is 65535, the device is not a stacked device ."
    ::= { hh3cEmdiNotificationObjects 15 }


hh3cEmdiSlotID OBJECT-TYPE
    SYNTAX Integer32 (0..65535)
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "Slot number."
    ::= { hh3cEmdiNotificationObjects 16 }

END
