-- ===================================================================== -- 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