-- ============================================================================
-- Copyright (c) 2004-2022 New H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: Multicast Group Membership Discovery (MGMD) Management
--              Information Base (MIB).
-- Reference:
-- Version: V1.0
-- History:
-- V1.0 2022-03-28 Created by QIU YINGZHE
-- ============================================================================
--
-- Variables and types be imported
--
-- ============================================================================

HH3C-MGMD-STD-MIB DEFINITIONS ::= BEGIN


IMPORTS

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

    DisplayString
        FROM SNMPv2-TC

    hh3cCommon
        FROM HH3C-OID-MIB

    InetAddressType,InetAddress
        FROM INET-ADDRESS-MIB

    InterfaceIndex
        FROM IF-MIB;

hh3cMgmdStd MODULE-IDENTITY
    LAST-UPDATED "202203281100Z"
    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
        "The Management MIB for Internet Group Management Protocol
        (IGMP) and Multicast Listener Discover (MLD)"

    -- Revision history.
    REVISION "202203281100Z"
    DESCRIPTION
        "The initial version of this MIB file."
    ::= { hh3cCommon 223 }


hh3cMgmdStdNotifications   OBJECT IDENTIFIER ::= { hh3cMgmdStd 0 }
hh3cMgmdStdTrapBindObjects OBJECT IDENTIFIER ::= { hh3cMgmdStd 1 }
hh3cMgmdStdObjects      OBJECT IDENTIFIER ::= { hh3cMgmdStd 2 }


hh3cMgmdStdInterfaceName OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(1..64))
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION
            "The interface name of the interface for which IGMP or MLD
            is enabled."
    ::= { hh3cMgmdStdTrapBindObjects 1 }

hh3cMgmdStdInterfaceIfIndex OBJECT-TYPE
    SYNTAX     InterfaceIndex
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION
            "The ifIndex value of the interface for which IGMP or MLD
            is enabled.  The table is indexed by the ifIndex value and
            the InetAddressType to allow for interfaces which may be
            configured in both IPv4 and IPv6 modes."
    ::= { hh3cMgmdStdTrapBindObjects 2 }

hh3cMgmdStdGmpJoinVersion OBJECT-TYPE
    SYNTAX     Unsigned32(1..3)
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION
            "The version of MGMD which is running on this interface.
            Value 1 applies to IGMPv1 and MLDv1 version.  Value 2 applies
            to IGMPv2 and MLDv2 version, and value 3 applies to IGMPv3
            version.
            This object can be used to configure a router capable of
            running either version.  For IGMP and MLD to function
            correctly, all routers on a Local Area Network (LAN)
            must be configured to run the same version on that LAN.
            This object MAY be modified under any rowstatus condition."
    DEFVAL     { 2 }
    ::= { hh3cMgmdStdTrapBindObjects 3 }

hh3cMgmdStdAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION
            "The address type of this IGMP or MLD message."
    ::= { hh3cMgmdStdTrapBindObjects 4}

hh3cMgmdStdGmpJoinSrcAddr OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION
           "The IGMP or MLD source address to join."
    ::= { hh3cMgmdStdTrapBindObjects 5 }

hh3cMgmdStdGmpJoinGrpAddr OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION
           "The IGMP or MLD group address to join."
    ::= { hh3cMgmdStdTrapBindObjects 6 }

hh3cMgmdStdGmpJoinSenderIp OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION
           "The host IP address for sending membership report."
    ::= { hh3cMgmdStdTrapBindObjects 7 }

hh3cMgmdStdInstanceName OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..255))
    MAX-ACCESS accessible-for-notify
    STATUS     current
    DESCRIPTION
            "The Name of the Protocol Independent Multicast (PIM) instance."
    ::= { hh3cMgmdStdTrapBindObjects 8 }

hh3cMgmdStdGmpJoin NOTIFICATION-TYPE
    OBJECTS { hh3cMgmdStdInterfaceName,
              hh3cMgmdStdInterfaceIfIndex,
              hh3cMgmdStdGmpJoinVersion,
              hh3cMgmdStdAddressType,
              hh3cMgmdStdGmpJoinSrcAddr,
              hh3cMgmdStdGmpJoinGrpAddr,
              hh3cMgmdStdGmpJoinSenderIp,
              hh3cMgmdStdInstanceName
            }
    STATUS     current
    DESCRIPTION
            "An hh3cMgmdStdGmpJoin notification signifies the IGMP or MLD
            join message was received."
    ::= { hh3cMgmdStdNotifications 1 }

hh3cMgmdStdGmpLeave NOTIFICATION-TYPE
    OBJECTS { hh3cMgmdStdInterfaceName,
              hh3cMgmdStdInterfaceIfIndex,
              hh3cMgmdStdAddressType,
              hh3cMgmdStdGmpJoinSrcAddr,
              hh3cMgmdStdGmpJoinGrpAddr,
              hh3cMgmdStdGmpJoinSenderIp,
              hh3cMgmdStdInstanceName
            }
    STATUS     current
    DESCRIPTION
            "An hh3cMgmdStdGmpLeave notification signifies the IGMP or MLD
            group leaved."
    ::= { hh3cMgmdStdNotifications 2 }

hh3cMgmdStdGmpJoinNotifPeriod OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The minimum time that must elapse between hh3cMgmdStdGmpJoin
            notifications originated by this router.  The maximum value
            65535 represents an 'infinite' time, in which case, no
            GmpJoin notifications are ever sent."
    DEFVAL { 65535 }
    ::= { hh3cMgmdStdObjects 1 }

hh3cMgmdStdGmpLeaveNotifPeriod OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The minimum time that must elapse between hh3cMgmdStdGmpLeave
            notifications originated by this router.  The maximum value
            65535 represents an 'infinite' time, in which case, no
            GmpLeave notifications are ever sent."
    DEFVAL { 65535 }
    ::= { hh3cMgmdStdObjects 2 }

END
