#-MIBFILE: v5_1ha.mib

HA-MIB DEFINITIONS ::= BEGIN


FcWwn ::=
	OCTET STRING (SIZE(8))

SwDomainIndex ::=
	INTEGER (1..239)

SwNbIndex ::=
	INTEGER (1..2048)

SwSensorIndex ::=
	INTEGER (1..1024)

SwPortIndex ::=
	INTEGER

SwTrunkMaster ::=
	INTEGER

bcsi OBJECT IDENTIFIER ::= { enterprises 1588 }
commDev OBJECT IDENTIFIER ::= { bcsi 2 }
fibrechannel OBJECT IDENTIFIER ::= { commDev 1 }
DisplayString ::=
	OCTET STRING

SwFwActs ::=
	INTEGER {
	swFwNoAction(0),
	swFwErrlog(1),
	swFwSnmptrap(2),
	swFwErrlogSnmptrap(3),
	swFwPortloglock(4),
	swFwErrlogPortloglock(5),
	swFwSnmptrapPortloglock(6),
	swFwErrlogSnmptrapPortloglock(7),
	swFwRn(8),
	swFwElRn(9),
	swFwStRn(10),
	swFwElStRn(11),
	swFwPlRn(12),
	swFwElPlRn(13),
	swFwStPlRn(14),
	swFwElStPlRn(15)
	}

SwFwLevels ::=
	INTEGER {
	swFwReserved(1),
	swFwDefault(2),
	swFwCustom(3)
	}

SwFwClassesAreas ::=
	INTEGER {
	swFwEnvTemp(1),
	swFwEnvFan(2),
	swFwEnvPs(3),
	swFwGbicTemp(4),
	swFwGbicRxp(5),
	swFwGbicTxp(6),
	swFwGbicCurrent(7),
	swFwPortLink(8),
	swFwPortSync(9),
	swFwPortSignal(10),
	swFwPortPe(11),
	swFwPortWords(12),
	swFwPortCrcs(13),
	swFwPortRXPerf(14),
	swFwPortTXPerf(15),
	swFwPortState(16),
	swFwFabricEd(17),
	swFwFabricFr(18),
	swFwFabricDi(19),
	swFwFabricSc(20),
	swFwFabricZc(21),
	swFwFabricFq(22),
	swFwFabricFl(23),
	swFwFabricGs(24),
	swFwEPortLink(25),
	swFwEPortSync(26),
	swFwEPortSignal(27),
	swFwEPortPe(28),
	swFwEPortWords(29),
	swFwEPortCrcs(30),
	swFwEPortRXPerf(31),
	swFwEPortTXPerf(32),
	swFwEPortState(33),
	swFwFCUPortLink(34),
	swFwFCUPortSync(35),
	swFwFCUPortSignal(36),
	swFwFCUPortPe(37),
	swFwFCUPortWords(38),
	swFwFCUPortCrcs(39),
	swFwFCUPortRXPerf(40),
	swFwFCUPortTXPerf(41),
	swFwFCUPortState(42),
	swFwFOPPortLink(43),
	swFwFOPPortSync(44),
	swFwFOPPortSignal(45),
	swFwFOPPortPe(46),
	swFwFOPPortWords(47),
	swFwFOPPortCrcs(48),
	swFwFOPPortRXPerf(49),
	swFwFOPPortTXPerf(50),
	swFwFOPPortState(51),
	swFwPerfALPACRC(52),
	swFwPerfEToECRC(53),
	swFwPerfEToERxCnt(54),
	swFwPerfEToETxCnt(55),
	swFwPerffltCusDef(56)
	}

SwFwWriteVals ::=
	INTEGER {
	swFwCancelWrite(1),
	swFwApplyWrite(2)
	}

SwFwTimebase ::=
	INTEGER {
	swFwTbNone(1),
	swFwTbSec(2),
	swFwTbMin(3),
	swFwTbHour(4),
	swFwTbDay(5)
	}

SwFwStatus ::=
	INTEGER {
	disabled(1),
	enabled(2)
	}

SwFwEvent ::=
	INTEGER {
	started(1),
	changed(2),
	exceeded(3),
	below(4),
	above(5),
	inBetween(6)
	}

SwFwBehavior ::=
	INTEGER {
	triggered(1),
	continuous(2)
	}

SwFwState ::=
	INTEGER {
	swFwInformative(1),
	swFwNormal(2),
	swFwFaulty(3)
	}

SwFwLicense ::=
	INTEGER {
	swFwLicensed(1),
	swFwNotLicensed(2)
	}

commDev OBJECT IDENTIFIER ::= { bcsi 2 }
fcSwitch OBJECT IDENTIFIER ::= { fibrechannel 1 }
sw OBJECT IDENTIFIER ::= { fcSwitch 1 }
swSystem OBJECT IDENTIFIER ::= { sw 1 }
swSsn OBJECT IDENTIFIER ::= { swSystem 10 }
PhysicalIndex ::=
	INTEGER (1..2147483647)

PhysicalClass ::=
	INTEGER {
	other(1),
	unknown(2),
	chassis(3),
	backplane(4),
	container(5),
	powerSupply(6),
	fan(7),
	sensor(8),
	module(9),
	port(10),
	stack(11)
	}

SnmpEngineIdOrNone ::=
	OCTET STRING (SIZE(0..32))

mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
entityMIB OBJECT IDENTIFIER ::= { mib-2 47 }
entityMIBObjects OBJECT IDENTIFIER ::= { entityMIB 1 }
entityPhysical OBJECT IDENTIFIER ::= { entityMIBObjects 1 }
entPhysicalTable OBJECT IDENTIFIER ::= { entityPhysical 1 }
entPhysicalEntry OBJECT IDENTIFIER ::= { entPhysicalTable 1 }
entPhysicalIndex OBJECT IDENTIFIER ::= { entPhysicalEntry 1 }
entPhysicalName OBJECT IDENTIFIER ::= { entPhysicalEntry 7 }
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))

haMIB OBJECT IDENTIFIER ::= { fibrechannel 2 }

highAvailability OBJECT IDENTIFIER ::= { haMIB 1 }

haStatus OBJECT-TYPE
	SYNTAX INTEGER {
	redundant(0),
	nonredundant(1)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Whether the system is redundant or not."
	::= { highAvailability 1 }


fruTable OBJECT-TYPE
	SYNTAX SEQUENCE OF FRUEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This table inventories the field replaceable units (FRUs)
slots available. There is entry in this table for each entry
in the entPhysicalTable that has entPhysicalClass set to
'Container (5)' and has a child entry having entPhysicalIsFRU
field to be true"
	::= { highAvailability 5 }


fRUEntry OBJECT-TYPE
	SYNTAX FRUEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "An entry for FRU slot in the fruTable"
	INDEX { entPhysicalIndex  }

	::= { fruTable 1 }

fRUEntry ::=
	SEQUENCE {
		fruClass INTEGER,
		fruStatus INTEGER,
		fruObjectNum Integer32,
		fruSupplierId DisplayString,
		fruSupplierPartNum DisplayString,
		fruSupplierSerialNum DisplayString,
		fruSupplierRevCode DisplayString
		}

fruClass OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	unknown(2),
	chassis(3),
	cp(4),
	other-CP(5),
	switchblade(6),
	wwn(7),
	powerSupply(8),
	fan(9)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The type of the FRU object that these slot can hold"
	::= { fRUEntry 1 }


fruStatus OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	unknown(2),
	on(3),
	off(4),
	faulty(5)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The current status of the FRU object in the slot"
	::= { fRUEntry 2 }


fruObjectNum OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Gives the slot number of the blade and unit number for
everything else"
	::= { fRUEntry 3 }


fruSupplierId OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The supplier id."
	::= { fRUEntry 4 }


fruSupplierPartNum OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The supplier part number."
	::= { fRUEntry 5 }


fruSupplierSerialNum OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..128))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The supplier serial number."
	::= { fRUEntry 6 }


fruSupplierRevCode OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The supplier revision code."
	::= { fRUEntry 7 }


fruHistoryTable OBJECT-TYPE
	SYNTAX SEQUENCE OF FruHistoryEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This table gives the contents of the entire history
log of the FRU events"
	::= { highAvailability 6 }


fruHistoryEntry OBJECT-TYPE
	SYNTAX FruHistoryEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "An entry in this table represents a particular FRU event"
	INDEX { fruHistoryIndex  }

	::= { fruHistoryTable 1 }

fruHistoryEntry ::=
	SEQUENCE {
		fruHistoryIndex Integer32,
		fruHistoryClass INTEGER,
		fruHistoryObjectNum Integer32,
		fruHistoryEvent INTEGER,
		fruHistoryTime DisplayString,
		fruHistoryFactoryPartNum DisplayString,
		fruHistoryFactorySerialNum DisplayString
		}

fruHistoryIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Index of the FRU event in the history table"
	::= { fruHistoryEntry 1 }


fruHistoryClass OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	unknown(2),
	chassis(3),
	cp(4),
	other-CP(5),
	switchblade(6),
	wwn(7),
	powerSupply(8),
	fan(9)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The type of the FRU object related to the event"
	::= { fruHistoryEntry 2 }


fruHistoryObjectNum OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Gives the slot number of the blade and unit number for
everything else"
	::= { fruHistoryEntry 3 }


fruHistoryEvent OBJECT-TYPE
	SYNTAX INTEGER {
	added(1),
	removed(2),
	invalid(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The type of the FRU event"
	::= { fruHistoryEntry 4 }


fruHistoryTime OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Gives the time at which this event happened"
	::= { fruHistoryEntry 5 }


fruHistoryFactoryPartNum OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Gives the factory part num of the FRU object"
	::= { fruHistoryEntry 6 }


fruHistoryFactorySerialNum OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Gives the factory serial num of the FRU object"
	::= { fruHistoryEntry 7 }


cpTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CPEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This table lists all the CPs in the system"
	::= { highAvailability 7 }


cpEntry OBJECT-TYPE
	SYNTAX CPEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "An entry represents a single CP in the system"
	INDEX { entPhysicalIndex  }

	::= { cpTable 1 }

cpEntry ::=
	SEQUENCE {
		cpStatus INTEGER,
		cpIpAddress IpAddress,
		cpIpMask IpAddress,
		cpIpGateway IpAddress,
		cpLastEvent INTEGER
		}

cpStatus OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	unknown(2),
	active(3),
	standby(4),
	failed(5)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Gives the current status of the CP"
	::= { cpEntry 1 }


cpIpAddress OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The IP Address of the Ethernet interface of this CP."
	::= { cpEntry 2 }


cpIpMask OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The IP Mask of the Ethernet interface of this CP."
	::= { cpEntry 3 }


cpIpGateway OBJECT-TYPE
	SYNTAX IpAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The IP Address of the IP Gateway for this CP."
	::= { cpEntry 4 }


cpLastEvent OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	unknown(2),
	haSync(3),
	haOutSync(4),
	cpFaulty(5),
	cpHealthy(6),
	cpActive(7),
	configChange(8),
	failOverStart(9),
	failOverDone(10),
	firmwareCommit(11),
	firmwareUpgrade(12)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The last event related to this CP"
	::= { cpEntry 5 }


haMIBTraps OBJECT IDENTIFIER ::= { haMIB 2 }

haMIBTrapPrefix OBJECT IDENTIFIER ::= { haMIBTraps 0 }

fruStatusChanged TRAP-TYPE
	ENTERPRISE haMIBTraps
	VARIABLES { entPhysicalName, fruStatus }
DESCRIPTION "This trap is sent when status of any FRU object is changed"
	::= 1


cpStatusChanged TRAP-TYPE
	ENTERPRISE haMIBTraps
	VARIABLES { cpStatus, cpLastEvent, swID, swSsn }
DESCRIPTION "This trap is sent when status of any CP object is changed"
	::= 2


fruHistoryTrap TRAP-TYPE
	ENTERPRISE haMIBTraps
	VARIABLES { fruHistoryClass, fruHistoryObjectNum, fruHistoryEvent, fruHistoryTime, fruHistoryFactoryPartNum, fruHistoryFactorySerialNum }
DESCRIPTION "This trap is sent when a FRU is added or removed"
	::= 3


END

