-- =====================================================================
-- Copyright (c) 2004-2022 New H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: LACP extend MIB
-- Reference:
-- Version: V2.1
-- History:
--   V1.0 Initial version
--   V1.1 2004-10-12 updated by gaolong
--        Remove OID comments.
--        Change MAX-ACCESS clause value of hh3cAggLinkNumber to accessible-for-notify
--        because this index object is used when sending notification.
--        Fix a default value error of hh3cAggResourceAllocationValue.
--   V1.2 2004-10-25 updated by fuzhenyu
--        Change the range of hh3cAggLinkNumber from (1..256) to (1..728)
--        Change the size of hh3cAggPortNotAttachedString from (1..50) to (1..255)
--   V1.3 2006-03-05 updated by zhangjian
--        Edit the description of hh3cAggPortNotAttachedReason.
--        Change value range of hh3cAggLinkNumber.
--   V1.4 2006-11-15 updated by zhangjian
--        Change MAX-ACCESS clause of hh3cAggPortIndex to accessible-for-notify.
--        Add hh3cAggPortInactiveNotification2 and hh3cAggPortActiveNotification.
--   V1.5 2009-10-09 updated by songjianyong
--        Change value range of hh3cAggPortNotAttachedReason.
--   V1.6 2010-03-26 updated by songjianyong
--        Change value range of hh3cAggPortNotAttachedReason.
--   V1.7 2011-10-12 updated by liyugang
--        Change some descriptions.
--   V1.8 2021-07-20 updated by wangmeng
--        Add hh3cAggPartnerMisconnect and hh3cAggPartnerMisconnectResume.
--   V1.9 2022-05-28 updated by zhengjun
--        Add hh3cAggAllMemberDown hh3cAggLacpPartnerExpired hh3cAggPortLacpInactive
--        hh3cAggMemberNumberChanged hh3cAggAllMemberUp hh3cAggAllMemberDownRecovery
--        hh3cAggMemberLinkDown hh3cAggMemberLinkUp hh3cAggMemberCoutExceedThreshold
--        and hh3cAggPortLacpNegotiateRecovery hh3cAggMemberCoutExceedRecovery
--        hh3cAggMemberCoutExceedRecovery trap.
--   V2.0 2022-07-18 updated by zhengjun
--        Add hh3cAggMemberChange and hh3cAggPortLacpActive trap.
--        2022-08-19 updated by zhengjun
--        Add hh3cAggTotalLinkLoss, hh3cAggTotalLinkLossResume,
--        hh3cAggPartialLinkLoss and hh3cAggPartialLinkLossResume trap.
--   V2.1 2022-11-29 updated by zhengjun
--        Add hh3cAggPortActiveNotification and hh3cAggPortInactiveNotification2
--        agg port name and member port name.
-- =====================================================================
HH3C-LAG-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
            FROM SNMPv2-CONF
        Integer32, Gauge32, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE
            FROM SNMPv2-SMI
        DisplayString, RowStatus,TruthValue
            FROM SNMPv2-TC
        hh3cRhw
            FROM HH3C-OID-MIB
        PortList
            FROM Q-BRIDGE-MIB;

    hh3cLAG MODULE-IDENTITY
        LAST-UPDATED "202211291048Z"
        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
            "LACP extend MIB."
        REVISION
            "202211291048Z"
        DESCRIPTION
            "Add hh3cAggPortActiveNotification and hh3cAggPortInactiveNotification2,
             agg port name and member port name."
        REVISION
            "202208191056Z"
        DESCRIPTION
            "Add hh3cAggTotalLinkLoss, hh3cAggTotalLinkLossResume,
             hh3cAggPartialLinkLoss and hh3cAggPartialLinkLossResume trap."
        REVISION
            "202207181051Z"
        DESCRIPTION
            "Add hh3cAggMemberChange and hh3cAggPortLacpActive trap."
        REVISION
            "202205280937Z"
        DESCRIPTION
            "Add hh3cAggAllMemberDown, hh3cAggLacpPartnerExpired, hh3cAggPortLacpInactive,
             hh3cAggMemberNumberChanged, hh3cAggAllMemberUp, hh3cAggAllMemberDownRecovery,
             hh3cAggMemberLinkDown, hh3cAggMemberLinkUp, hh3cAggMemberCoutExceedThreshold,
             and hh3cAggPortLacpNegotiateFailed, hh3cAggPortLacpNegotiateRecovery
             hh3cAggMemberCoutExceedRecovery trap."
        REVISION
            "202107201942Z"
        DESCRIPTION
            "Add hh3cAggPartnerMisconnect and hh3cAggPartnerMisconnectResume."
        ::= { hh3cRhw 25 }

--
-- Node definitions
--

    hh3cLAGMibObjects OBJECT IDENTIFIER ::= { hh3cLAG 1 }


    hh3cAggLinkTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Hh3cAggLinkEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of aggregate link objects."
        ::= { hh3cLAGMibObjects 1 }


    hh3cAggLinkEntry OBJECT-TYPE
        SYNTAX Hh3cAggLinkEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entry of table."
        INDEX { hh3cAggLinkNumber }
        ::= { hh3cAggLinkTable 1 }


    Hh3cAggLinkEntry ::=
        SEQUENCE {
            hh3cAggLinkNumber
                Integer32,
            hh3cAggLinkName
                DisplayString,
            hh3cAggLinkMode
                INTEGER,
            hh3cAggLinkPortList
                PortList,
            hh3cAggLinkState
                RowStatus,
            hh3cAggPortListSelectedPorts
                PortList,
            hh3cAggPortListSamePartnerPorts
                PortList
         }

    hh3cAggLinkNumber OBJECT-TYPE
        SYNTAX Integer32 (1..2147483647)
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "The serial number of aggregation group."
        ::= { hh3cAggLinkEntry 1 }


    hh3cAggLinkName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..32))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Aggregation name."
        ::= { hh3cAggLinkEntry 2 }


    hh3cAggLinkMode OBJECT-TYPE
        SYNTAX INTEGER
            {
            manual(1),
            static(2),
            dynamic(3)
            }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Type of aggregation.
             manual: Manual aggregation, no LACP.
             static: Membership specified by user, LACP is
                     used to validate.
             dynamic: Completely dynamic aggregation detected
                      by LACP."
        ::= { hh3cAggLinkEntry 3 }


    hh3cAggLinkPortList OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "List of ports in this link aggregation group, by bridge port
             number. If the mode of the link aggregation group is manual
             or static, you can update this list to your
             hearts content. However, if the link aggregation group is
             dynamic, the system will maintain it. You are not
             permitted to set the value of this to
             all zeroes."
        ::= { hh3cAggLinkEntry 4 }


    hh3cAggLinkState OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "RowStatus, now support three states:
            createAndGo, active, destroy."
        ::= { hh3cAggLinkEntry 5 }


    hh3cAggPortListSelectedPorts OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A PortList of physical ports that have been
             selected but not attached to this aggregator.
             When the bit is set to 1,it means the
             corresponding port is in the portlist."
        ::= { hh3cAggLinkEntry 6 }


    hh3cAggPortListSamePartnerPorts OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "PortList of physical ports that have the
             same Actor SystemID and partner systemID as
             this aggregator, but have different actor
             and partner keys of aggregator."
        ::= { hh3cAggLinkEntry 7 }


    hh3cAggPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Hh3cAggPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of aggregate port objects."
        ::= { hh3cLAGMibObjects 2 }


    hh3cAggPortEntry OBJECT-TYPE
        SYNTAX Hh3cAggPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entry of table."
        INDEX { hh3cAggPortIndex }
        ::= { hh3cAggPortTable 1 }


    Hh3cAggPortEntry ::=
        SEQUENCE {
            hh3cAggPortIndex
                Gauge32,
            hh3cAggPortNotAttachedReason
                Integer32,
            hh3cAggPortLacpState
                TruthValue,
            hh3cAggPortNotAttachedString
                DisplayString
        }

    hh3cAggPortIndex OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Port ifindex which is according to RFC1213 MIB."
        ::= { hh3cAggPortEntry 1 }


    hh3cAggPortNotAttachedReason OBJECT-TYPE
        SYNTAX Integer32 (0..10)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Reason why this port is selected for an
             aggregator but not attached,
             0: The port is attached to this aggregator.
             1: The current number of active ports has
                reached the upper limit.
             2: All aggregation resources are already in-use.
             3: The port's configuration is improper
                for being attached.
             4: The port's partner is improper for being attached.
             5: The number of current active ports
                has not reached the lower limit.
             6: The port's physical state (down) is
                improper for being attached.
             7: The port is not selected for an aggregator.
             8: The port's hardware restriction is
                improper for being attached.
             9: The port's speed is improper for being attached.
             10: The port's duplex mode is improper for being attached."
        ::= { hh3cAggPortEntry 2 }

    hh3cAggPortLacpState OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Control ports' lacp enble or disable."
        ::= { hh3cAggPortEntry 3 }

    hh3cAggPortNotAttachedString OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..255))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The string which interprets this
             port is selected for an aggregator
             but not attached."
        ::= { hh3cAggPortEntry 4 }


    hh3cAggResourceAllocationValue OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The priority value calculated to decide which
             aggregations have first call on the load-sharing
             aggregation resources in the hardware. It
             depends on the aggregation type and total
             speed."
        DEFVAL { "0" }
        ::= { hh3cLAGMibObjects 3 }


    hh3cLAGMibNotifications OBJECT IDENTIFIER ::= { hh3cLAG 2 }


    hh3cAggSpeedChangedNotification NOTIFICATION-TYPE
        OBJECTS { hh3cAggLinkNumber }
        STATUS current
        DESCRIPTION
            "This event will be triggered whenever an
             aggregation changes its speed."
        ::= { hh3cLAGMibNotifications 1 }


    hh3cAggPortInactiveNotification NOTIFICATION-TYPE
        OBJECTS { hh3cAggLinkNumber }
        STATUS current
        DESCRIPTION
            "This event will be triggered whenever any port
             in aggregator is made inactive."
        ::= { hh3cLAGMibNotifications 2 }


    hh3cAggPortInactiveNotification2 NOTIFICATION-TYPE
        OBJECTS { hh3cAggLinkNumber,
                  hh3cAggPortIndex,
                  hh3cAggMemberPortName,
                  hh3cAggPortName }
        STATUS current
        DESCRIPTION
            "This event will be triggered whenever the port
             in aggregator is made inactive."
        ::= { hh3cLAGMibNotifications 3 }


    hh3cAggPortActiveNotification NOTIFICATION-TYPE
        OBJECTS { hh3cAggLinkNumber,
                  hh3cAggPortIndex,
                  hh3cAggMemberPortName,
                  hh3cAggPortName }
        STATUS current
        DESCRIPTION
            "This event will be triggered whenever the port
             in aggregator is made active."
        ::= { hh3cLAGMibNotifications 4 }

    hh3cLAGMibConformance OBJECT IDENTIFIER ::= { hh3cLAG 3 }


    hh3cLAGMibCompliances OBJECT IDENTIFIER ::= { hh3cLAGMibConformance 1 }


    hh3cLAGMibCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
            "The compliance statement for SNMP entities
             which implement the Lag MIB."
        MODULE -- this module
            MANDATORY-GROUPS
                { hh3cLAGMibObjectGroup, hh3cLAGMibNotificationGroup }
        ::= { hh3cLAGMibCompliances 1 }


    hh3cLAGMibGroup OBJECT IDENTIFIER ::= { hh3cLAGMibConformance 2 }


    hh3cLAGMibObjectGroup OBJECT-GROUP
        OBJECTS { hh3cAggLinkName, hh3cAggLinkMode, hh3cAggLinkPortList,
                hh3cAggLinkState, hh3cAggPortListSelectedPorts,
                hh3cAggPortListSamePartnerPorts,
                hh3cAggPortNotAttachedReason, hh3cAggPortLacpState,
                hh3cAggPortNotAttachedString,
                hh3cAggResourceAllocationValue }
        STATUS current
        DESCRIPTION
            "The collection of objects which are used to
             represent LAG objects."
        ::= { hh3cLAGMibGroup 1 }


-- The hh3cLAGMibNotificationGroup TRAP group is forzen and can not add new trap to this group.
    hh3cLAGMibNotificationGroup NOTIFICATION-GROUP
        NOTIFICATIONS { hh3cAggSpeedChangedNotification,
                        hh3cAggPortInactiveNotification,
                        hh3cAggPortInactiveNotification2,
                        hh3cAggPortActiveNotification }
        STATUS current
        DESCRIPTION
            "The collection of objects which are used to
             represent notifications."
        ::= { hh3cLAGMibGroup 2 }

-- All new trap are defined here.
hh3cLAGMibNotificationsPrefix OBJECT IDENTIFIER ::= { hh3cLAG 0 }

hh3cAggPartnerMisconnect NOTIFICATION-TYPE
    OBJECTS { hh3cAggLinkNumber,
              hh3cAggPortIndex }
    STATUS current
    DESCRIPTION
        "This event will be triggered whenever the peer link of the LACP
         member interface might be incorrectly connected.
        "
    ::= { hh3cLAGMibNotificationsPrefix 5 }

hh3cAggPartnerMisconnectResume NOTIFICATION-TYPE
    OBJECTS { hh3cAggLinkNumber,
              hh3cAggPortIndex }
    STATUS current
    DESCRIPTION
        "This event will be triggered whenever the peer link of the LACP
         member interface was correctly connected.
        "
    ::= { hh3cLAGMibNotificationsPrefix 6 }

hh3cAggAllMemberDown NOTIFICATION-TYPE
    OBJECTS { hh3cAggPortName }
    STATUS current
    DESCRIPTION
        "This event will be triggered when all aggregation member ports
        went down."
    ::= { hh3cLAGMibNotificationsPrefix 7 }

hh3cAggAllMemberDownRecovery NOTIFICATION-TYPE
    OBJECTS { hh3cAggPortName }
    STATUS current
    DESCRIPTION
        "This event will be triggered when all down aggregation member
        ports recoverd."
    ::= { hh3cLAGMibNotificationsPrefix 8 }

hh3cAggAllMemberUp NOTIFICATION-TYPE
    OBJECTS { hh3cAggPortName }
    STATUS current
    DESCRIPTION
        "This event will be triggered when all aggregation member ports
        came up."
    ::= { hh3cLAGMibNotificationsPrefix 9 }

hh3cAggMemberLinkDown NOTIFICATION-TYPE
    OBJECTS { hh3cAggPortName,
              hh3cAggMemberPortName }
    STATUS current
    DESCRIPTION
        "This event will be triggered when an aggregation member link
        went down."
    ::= { hh3cLAGMibNotificationsPrefix 10 }

hh3cAggMemberLinkUp NOTIFICATION-TYPE
    OBJECTS { hh3cAggPortName,
              hh3cAggMemberPortName }
    STATUS current
    DESCRIPTION
        "This event will be triggered when an aggregation member link
        came up."
    ::= { hh3cLAGMibNotificationsPrefix 11 }

hh3cAggMemberCoutExceedThreshold NOTIFICATION-TYPE
    OBJECTS { hh3cAggPortName,
              hh3cAggUpThreshold }
    STATUS current
    DESCRIPTION
        "This event will be triggered when the number of selected aggregation
        member ports exceeded the threshold."
    ::= { hh3cLAGMibNotificationsPrefix 12 }

hh3cAggMemberCoutExceedRecovery NOTIFICATION-TYPE
    OBJECTS { hh3cAggPortName,
              hh3cAggUpThreshold }
    STATUS current
    DESCRIPTION
        "This event will be triggered when the number of selected aggregation
        member ports dropped below the threshold."
    ::= { hh3cLAGMibNotificationsPrefix 13 }

hh3cAggMemberNumberChanged NOTIFICATION-TYPE
    OBJECTS { hh3cAggPortName,
              hh3cAggMemberPortName,
              hh3cAggTotalActiveNum,
              hh3cAggReasonCode }
    STATUS current
    DESCRIPTION
        "This event will be triggered when the number of selected aggregation
        member ports changed."
    ::= { hh3cLAGMibNotificationsPrefix 14 }

hh3cAggLacpPartnerExpired NOTIFICATION-TYPE
    OBJECTS { hh3cAggPortName,
              hh3cAggMemberPortName,
              hh3cAggLinkNumber }
    STATUS current
    DESCRIPTION
        "This event will be triggered when an LACP peer expired."
    ::= { hh3cLAGMibNotificationsPrefix 15 }

hh3cAggPortLacpInactive NOTIFICATION-TYPE
    OBJECTS { hh3cAggPortName,
              hh3cAggMemberPortName,
              hh3cAggLinkNumber,
              hh3cAggOldPduInfo,
              hh3cAggNewPduInfo,
              hh3cAggPduChangeCode }
    STATUS current
    DESCRIPTION
        "This event will be triggered when an aggregation member port
        was unselected after receiving a packet."
    ::= { hh3cLAGMibNotificationsPrefix 16 }

hh3cAggPortLacpNegotiateFailed NOTIFICATION-TYPE
    OBJECTS { hh3cAggPortName,
              hh3cAggMemberPortName,
              hh3cAggLinkNumber }
    STATUS current
    DESCRIPTION
        "This event will be triggered when an aggregation member port
        failed to negotiate with the peer."
    ::= { hh3cLAGMibNotificationsPrefix 17 }

hh3cAggPortLacpNegotiateRecovery NOTIFICATION-TYPE
    OBJECTS { hh3cAggPortName,
              hh3cAggMemberPortName,
              hh3cAggLinkNumber }
    STATUS current
    DESCRIPTION
        "This event will be triggered when an aggregation member port
        negotiated with the peer successfully."
    ::= { hh3cLAGMibNotificationsPrefix 18 }

hh3cAggMemberChange NOTIFICATION-TYPE
    OBJECTS { hh3cAggPortName,
              hh3cAggMemberPortName,
              hh3cAggChangeType }
    STATUS current
    DESCRIPTION
        "This event will be triggered when an aggregation member port changes."
    ::= { hh3cLAGMibNotificationsPrefix 19 }

hh3cAggPortLacpActive NOTIFICATION-TYPE
    OBJECTS { hh3cAggPortName,
              hh3cAggMemberPortName,
              hh3cAggLinkNumber }
    STATUS current
    DESCRIPTION
        "This event will be triggered when an aggregation member port recovers from
         the LACP inactive state."
    ::= { hh3cLAGMibNotificationsPrefix 20 }

hh3cAggTotalLinkLoss NOTIFICATION-TYPE
    OBJECTS { hh3cAggPortName,
              hh3cAggLinkNumber }
    STATUS current
    DESCRIPTION
        "This event will be triggered when the bandwidth of an aggregate
         interface drops to zero."
    ::= { hh3cLAGMibNotificationsPrefix 21 }

hh3cAggTotalLinkLossResume NOTIFICATION-TYPE
    OBJECTS { hh3cAggPortName,
              hh3cAggLinkNumber }
    STATUS current
    DESCRIPTION
        "This event will be triggered when the bandwidth of an aggregate
         interface restores to the original value."
    ::= { hh3cLAGMibNotificationsPrefix 22 }

hh3cAggPartialLinkLoss NOTIFICATION-TYPE
    OBJECTS { hh3cAggPortName,
              hh3cAggMemberPortName,
              hh3cAggLinkNumber }
    STATUS current
    DESCRIPTION
        "This event will be triggered when the bandwidth of an aggregate
         interface drops."
    ::= { hh3cLAGMibNotificationsPrefix 23 }

hh3cAggPartialLinkLossResume NOTIFICATION-TYPE
    OBJECTS { hh3cAggPortName,
              hh3cAggMemberPortName,
              hh3cAggLinkNumber }
    STATUS current
    DESCRIPTION
        "This event will be triggered when the bandwidth of an aggregate
         interface restores to the original value."
    ::= { hh3cLAGMibNotificationsPrefix 24 }

hh3cAggTrapOjbects OBJECT IDENTIFIER ::= { hh3cLAG 4 }

hh3cAggPortName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..255))
    MAX-ACCESS   accessible-for-notify
    STATUS       current
    DESCRIPTION
        "Aggregate interface name."
    ::= { hh3cAggTrapOjbects 1 }

hh3cAggMemberPortName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..255))
    MAX-ACCESS   accessible-for-notify
    STATUS       current
    DESCRIPTION
        "Aggregation member port name."
    ::= { hh3cAggTrapOjbects 2 }

hh3cAggOldPduInfo OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..512))
    MAX-ACCESS   accessible-for-notify
    STATUS       current
    DESCRIPTION
        "An aggregation member port's old PDU information."
    ::= { hh3cAggTrapOjbects 3 }

hh3cAggNewPduInfo OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..512))
    MAX-ACCESS   accessible-for-notify
    STATUS       current
    DESCRIPTION
        "An aggregation member port's new PDU information."
    ::= { hh3cAggTrapOjbects 4 }

hh3cAggPduChangeCode OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..255))
    MAX-ACCESS   accessible-for-notify
    STATUS       current
    DESCRIPTION
        "Why an aggregation member port was unselected."
    ::= { hh3cAggTrapOjbects 5 }

hh3cAggTotalActiveNum OBJECT-TYPE
    SYNTAX      Integer32(1..2147483647)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Number of selected member ports."
    ::= { hh3cAggTrapOjbects 6 }

hh3cAggUpThreshold OBJECT-TYPE
    SYNTAX      Integer32(1..2147483647)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "Maximum number of selected member ports."
    ::= { hh3cAggTrapOjbects 7 }

hh3cAggReasonCode OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..255))
    MAX-ACCESS   accessible-for-notify
    STATUS       current
    DESCRIPTION
        "Aggregation member port change reason."
    ::= { hh3cAggTrapOjbects 8 }

hh3cAggChangeType OBJECT-TYPE
    SYNTAX INTEGER
        {
        unknown(1),
        join(2),
        leave(3)
        }
    MAX-ACCESS accessible-for-notify
    STATUS current
    DESCRIPTION
        "The member change type.
        unknown : The member change type is unknown.
        join    : The member joins the group.
        leave   : The member leaves the group.
        "
    ::= { hh3cAggTrapOjbects 9 }

END
