-- ==================================================================
-- Copyright (c) 2004-2021 New H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: IP Multicast MIB
-- Reference:
-- Version: V1.0
-- History:
-- V1.0 2021-12-14 Created by Ma Xiaozhong
-- ==================================================================
--
-- Variables and types be imported
--
-- ==================================================================
HH3C-IPMCAST-MIB DEFINITIONS ::= BEGIN

IMPORTS

    MODULE-IDENTITY,OBJECT-TYPE,NOTIFICATION-TYPE,Unsigned32
        FROM SNMPv2-SMI

    hh3cCommon
        FROM HH3C-OID-MIB

    InetAddressType
        FROM INET-ADDRESS-MIB;

hh3cIpMcast MODULE-IDENTITY
    LAST-UPDATED "202112141400Z"
    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
        "IP Multicast Management MIB"
    -- Revision history.
    REVISION "202112141400Z"
    DESCRIPTION
        "The initial version of this MIB file."
    ::= { hh3cCommon 212 }

--
-- definition
--
hh3cIpMcastNotifications OBJECT IDENTIFIER ::= { hh3cIpMcast 0 }
hh3cIpMcastObjects OBJECT IDENTIFIER ::= { hh3cIpMcast 1 }
hh3cIpMcastTrapBindObjects OBJECT IDENTIFIER ::= { hh3cIpMcast 2 }


--
-- notification configuration
--

hh3cIpMcastEntryLimitType  OBJECT-TYPE
    SYNTAX     INTEGER {
                         starGroup(1),
                         sourceGroup(2)
    }
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION
        "This variable defines IP multicast entry limit type.
        The star-group is (*, G) entry. The source-group is (S, G) entry."
    ::= { hh3cIpMcastTrapBindObjects 1 }

hh3cIpMcastAddressFamily  OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION
        "It is address family of IP multicast."
    ::= { hh3cIpMcastTrapBindObjects 2 }

hh3cIpMcastEntryLimitCount OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION
        "It is the IP multicast entry limit value."
    ::= { hh3cIpMcastTrapBindObjects 3 }

hh3cIpMcastEntryLimitReasonType OBJECT-TYPE
    SYNTAX     INTEGER {
                         entryDeleted(1),
                         configurationChanged(2)
        }
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION
        "Describe the reason for trap sending:
        The 'entryDeleted' status indicates that the reason is table
        entry deletion.
        The 'configurationChanged' status indicates that the reason
        is that the."
    ::= { hh3cIpMcastTrapBindObjects 4 }

--
-- trap
--
hh3cIpMcastEntryExceed  NOTIFICATION-TYPE
    OBJECTS { hh3cIpMcastEntryLimitType,
              hh3cIpMcastAddressFamily,
              hh3cIpMcastEntryLimitCount
            }
    STATUS    current
    DESCRIPTION
            "The hh3cMcastEntryExceed is generated when the IP multicast
            entries
            exceeded global entry limit of IP multicast routing-table."
    ::= { hh3cIpMcastNotifications 1 }

hh3cIpMcastEntryExceedClear  NOTIFICATION-TYPE
    OBJECTS { hh3cIpMcastEntryLimitType,
              hh3cIpMcastAddressFamily,
              hh3cIpMcastEntryLimitCount,
              hh3cIpMcastEntryLimitReasonType
            }
    STATUS    current
    DESCRIPTION
            "The hh3cMcastEntryExceedClear is generated when the IP multicast entries
            fell below global entry limit of IP multicast routing-table."
    ::= { hh3cIpMcastNotifications 2 }
END
