#-MIBFILE: HH3C-MAC-INFORMATION-MIB.mib

HH3C-MAC-INFORMATION-MIB DEFINITIONS ::= BEGIN


hh3c OBJECT IDENTIFIER ::= { enterprises 25506 }
hh3cCommon OBJECT IDENTIFIER ::= { hh3c 2 }
DisplayString ::=
	OCTET STRING (SIZE(0..255))

PhysAddress ::=
	OCTET STRING

MacAddress ::=
	OCTET STRING (SIZE(6))

TruthValue ::=
	INTEGER {
	true(1),
	false(2)
	}

TestAndIncr ::=
	INTEGER (0..2147483647)

AutonomousType ::=
	OBJECT IDENTIFIER

InstancePointer ::=
	OBJECT IDENTIFIER

VariablePointer ::=
	OBJECT IDENTIFIER

RowPointer ::=
	OBJECT IDENTIFIER

RowStatus ::=
	INTEGER {
	active(1),
	notInService(2),
	notReady(3),
	createAndGo(4),
	createAndWait(5),
	destroy(6)
	}

TimeStamp ::=
	TimeTicks

TimeInterval ::=
	INTEGER (0..2147483647)

DateAndTime ::=
	OCTET STRING (SIZE(8|11))

StorageType ::=
	INTEGER {
	other(1),
	volatile(2),
	nonVolatile(3),
	permanent(4),
	readOnly(5)
	}

TDomain ::=
	OBJECT IDENTIFIER

TAddress ::=
	OCTET STRING (SIZE(1..255))

OwnerString ::=
	OCTET STRING (SIZE(0..255))

InterfaceIndex ::=
	INTEGER (1..2147483647)

InterfaceIndexOrZero ::=
	INTEGER (0..2147483647)

mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
ifTable OBJECT IDENTIFIER ::= { interfaces 2 }
ifEntry OBJECT IDENTIFIER ::= { ifTable 1 }
ifIndex OBJECT IDENTIFIER ::= { ifEntry 1 }
Hh3cMACInfoWorkMode ::=
	INTEGER {
	trap(1),
	syslog(2)
	}

hh3cMACInformation OBJECT IDENTIFIER ::= { hh3cCommon 87 }

hh3cMACInformationObjects OBJECT IDENTIFIER ::= { hh3cMACInformation 1 }

hh3cMACInformationMibGlobal OBJECT IDENTIFIER ::= { hh3cMACInformationObjects 1 }

hh3cMACInformationMIBTableTroop OBJECT IDENTIFIER ::= { hh3cMACInformationObjects 2 }

hh3cMACInformationMibTrap OBJECT IDENTIFIER ::= { hh3cMACInformationObjects 3 }

hh3cMACInformationMibTrapExt OBJECT IDENTIFIER ::= { hh3cMACInformationObjects 4 }

hh3cMACInformationEnabled OBJECT-TYPE
	SYNTAX INTEGER {
	enabled(1),
	disabled(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The value is a global setting.  The feature will not work until the
value is set to enabled(1).  If the value is set to disabled(2),
the feature will stop working even there are interfaces that have
been enabled the feature."
	::= { hh3cMACInformationMibGlobal 1 }


hh3cMACInformationcSendInterval OBJECT-TYPE
	SYNTAX INTEGER (1..20000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The maximum interval that the device generate syslogs or traps.
The unit is second."
	::= { hh3cMACInformationMibGlobal 2 }


hh3cMACInformationLearntMACNum OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of MAC addresses that learnt by the device since the
hh3cMACInformationEnabled is set to enabled(1) and hh3cMACLearntEnable
is set to enabled(1) at least on one interface. If the hh3cMACInformationEnabled
is set to disabled(2), the object will always return 0."
	::= { hh3cMACInformationMibGlobal 3 }


hh3cMACInformationRemovedMACNum OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of MAC addresses that removed by the device since the
hh3cMACInformationEnabled is set to enabled(1) and hh3cMACRemovedEnable
is set to enabled(1) at least on one interface. If the hh3cMACInformationEnabled
is set to disabled(2), the object will always return 0."
	::= { hh3cMACInformationMibGlobal 4 }


hh3cMACInformationTrapSendNum OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of traps that have been generated. This object is valid
only when the hh3cMACInfomationWorkMode is set to trap(1). If the
hh3cMACInfomationWorkMode is set to syslog(2), the object will always return 0."
	::= { hh3cMACInformationMibGlobal 5 }


hh3cMACInformationSyslogSendNum OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of syslogs that have been generated. This object is valid only
when the hh3cMACInfomationWorkMode is set to syslog(2). If the
hh3cMACInfomationWorkMode is set to trap(1), the object will always return 0."
	::= { hh3cMACInformationMibGlobal 6 }


hh3cMACInformationCacheLen OBJECT-TYPE
	SYNTAX INTEGER (0..1000)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The maximum queue lenth used to cache the changed MAC addresses information
in the monitored device. If the value is set to 0, syslog or trap will generate
as soon as there is a MAC address learnt or removed."
	::= { hh3cMACInformationMibGlobal 7 }


hh3cMACInfomationWorkMode OBJECT-TYPE
	SYNTAX INTEGER {
	trap(1),
	syslog(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The working mode of MAC Information feature.  If the object is
set to trap(1), the device will use trap mode to notify the MAC
address information and all properties of trap interrelated is
valid.  If the object is set to syslog(2), the device will use
syslog mode to notify the MAC address information and all
properties of trap interrelated is invalid."
	::= { hh3cMACInformationMibGlobal 8 }


hh3cMACInfomationIfTable OBJECT-TYPE
	SYNTAX SEQUENCE OF Hh3cMACInfomationIfEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The table is used to enable or disable the MAC Information feature
on interfaces."
	::= { hh3cMACInformationMIBTableTroop 1 }


hh3cMACInfomationIfEntry OBJECT-TYPE
	SYNTAX Hh3cMACInfomationIfEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The entry of hh3cMACInfomationIfTable."
	INDEX { ifIndex  }

	::= { hh3cMACInfomationIfTable 1 }

hh3cMACInfomationIfEntry ::=
	SEQUENCE {
		hh3cMACLearntEnable INTEGER,
		hh3cMACRemovedEnable INTEGER
		}

hh3cMACLearntEnable OBJECT-TYPE
	SYNTAX INTEGER {
	enabled(1),
	disabled(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "If the object is set to enabled(1) on interface, the device
will cache the MAC address information that learnt on the interface."
	::= { hh3cMACInfomationIfEntry 1 }


hh3cMACRemovedEnable OBJECT-TYPE
	SYNTAX INTEGER {
	enabled(1),
	disabled(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "If the object is set to enable(1) on interface, the device
will cache the MAC address information that removed on the interface."
	::= { hh3cMACInfomationIfEntry 2 }


hh3cMACInformationTraps OBJECT IDENTIFIER ::= { hh3cMACInformationMibTrap 0 }

hh3cMACInformationTrapObjects OBJECT IDENTIFIER ::= { hh3cMACInformationMibTrap 2 }

hh3cMACInfoTrapIndex OBJECT-TYPE
	SYNTAX INTEGER (1..4294967295)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The sequence number of trap information. When it reaches the
maximum value, it should be set to 1."
	::= { hh3cMACInformationTrapObjects 1 }


hh3cMACInfoTrapCount OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The cell number of the current trap information.  The trap
message may consists of more than one MAC address information.
Each of the one MAC address information in one trap is called cell."
	::= { hh3cMACInformationTrapObjects 2 }


hh3cMACInfoTrapMsg OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(1..254))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This object is the MAC information that learnt or removed
in the monitored device. It can consists of more than
one MAC information in the object.
This object is in the format of '<cell1><cell2>...'. Each
cell consists of 12 octets in the format of
'<operationType><VLAN><MAC><MACtype><ifIndex>'.

<operationType> is the reason type of MAC address changed and have
size of 1 octet. It only supports the following values.
1 - MAC learnt.
2 - MAC removed.

<VLAN> is the vlan number that correspond to the MAC address in
MAC address table and has size of 2 octet.

<MAC> is the MAC address and has size of 6 octets.

<MACtype> is the MAC address type and has size of 1 octet. It only
supports the following values.
0 - Unknown
1 - Learnt
2 - Config dynamic
3 - Config static
4 - Blackhole
5 - Security
6 - 802.1x
7 - MAC authentication
8 - Voice VLAN
9 - Ext

<ifIndex> is the index of the interface where the MAC
address is learnt or removed and has size of 2 octets."
	::= { hh3cMACInformationTrapObjects 3 }


hh3cMACInformationTrapsExt OBJECT IDENTIFIER ::= { hh3cMACInformationMibTrapExt 0 }

hh3cMACInformationTrapObjectsExt OBJECT IDENTIFIER ::= { hh3cMACInformationMibTrapExt 2 }

hh3cMACInfoTrapVerExt OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The version of trap information."
	::= { hh3cMACInformationTrapObjectsExt 1 }


hh3cMACInfoTrapIndexExt OBJECT-TYPE
	SYNTAX INTEGER (1..4294967295)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The sequence number of trap information.  When it reaches the
maximum value, it should be set to 1."
	::= { hh3cMACInformationTrapObjectsExt 2 }


hh3cMACInfoTrapCountExt OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The cell number of the current trap information.  The trap
message may consists of more than one MAC address information.
Each of the one MAC address information in one trap is called cell."
	::= { hh3cMACInformationTrapObjectsExt 3 }


hh3cMACInfoTrapMsgExt OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(1..254))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This object is the MAC information that learnt or removed
in the monitored device.  It can consists of more than
one MAC information in the object.
This object is in the format of '<cell1><cell2>...'.  Each
cell consists of 14 octets in the format of
'<operationType><VLAN><MAC><MACtype><ifIndex>'.

<operationType> is the reason type of MAC address changed and have
size of 1 octet.  It only supports the following values.
1 - MAC learnt.
2 - MAC removed.

<VLAN> is the vlan number that correspond to the MAC address in
MAC address table and has size of 2 octet.

<MAC> is the MAC address and has size of 6 octets.

<MACtype> is the MAC address type and has size of 1 octet.  It only
supports the following values.
0 - Unknown
1 - Learnt
2 - Config dynamic
3 - Config static
4 - Blackhole
5 - Security
6 - 802.1x
7 - MAC authentication
8 - Voice VLAN
9 - Ext

<ifIndex> is the index of the interface where the MAC
address is learnt or removed and has size of 4 octets."
	::= { hh3cMACInformationTrapObjectsExt 4 }


hh3cMACInformationChangedTrap TRAP-TYPE
	ENTERPRISE hh3cMACInformationMibTrap
	VARIABLES { hh3cMACInfoTrapIndex, hh3cMACInfoTrapCount, hh3cMACInfoTrapMsg }
DESCRIPTION "When the cached number of MAC address information is reached the
value specified by hh3cMACInformationCacheLen, trap is generated
and is sent to the remote monitoring device.  The trap is also
generated when the amount of time elapsed since the previous
notification is greater than the interval value specified by
hh3cMACInformationcSendInterval and there is at least one cached
MAC address information learnt or removed. The object is valid
only when hh3cMACInfomationWorkMode is set to trap(1).  When the
hh3cMACInfomationWorkMode is set to syslog(2), No trap will be
generated even hh3cMACInformationEnabled is set to enabled(1) and
the feature is enabled on interface."
	::= 1


hh3cMACInformationChangedTrapExt TRAP-TYPE
	ENTERPRISE hh3cMACInformationMibTrapExt
	VARIABLES { hh3cMACInfoTrapVerExt, hh3cMACInfoTrapIndexExt, hh3cMACInfoTrapCountExt, hh3cMACInfoTrapMsgExt }
DESCRIPTION "When the cached number of MAC address information is reached the
value specified by hh3cMACInformationCacheLen, trap is generated
and is sent to the remote monitoring device.  The trap is also
generated when the amount of time elapsed since the previous
notification is greater than the interval value specified by
hh3cMACInformationcSendInterval and there is at least one cached
MAC address information learnt or removed.  The object is valid
only when hh3cMACInfomationWorkMode is set to trap(1).  When the
hh3cMACInfomationWorkMode is set to syslog(2), No trap will be
generated even hh3cMACInformationEnabled is set to enabled(1) and
the feature is enabled on interface."
	::= 1


END

