
MELLANOX-EFM-MIB DEFINITIONS ::= BEGIN

IMPORTS
	NOTIFICATION-TYPE, OBJECT-TYPE, MODULE-IDENTITY, 
	Integer32, TimeTicks, Counter64, Unsigned32
		FROM SNMPv2-SMI
	TEXTUAL-CONVENTION
		FROM SNMPv2-TC
	mellanox
		FROM MELLANOX-SMI-MIB;

-- Mellanox MIB
-- 

mellanoxMgmt MODULE-IDENTITY
	LAST-UPDATED "201404010000Z"
	ORGANIZATION 
		"Mellanox Technologies, Inc."
	CONTACT-INFO 
		"
		Mellanox Technologies, Inc.
		350 Oakmead Parkway, Suite 100
		Sunnyvale, CA 94085
		Tel: 408-970-3400
		Fax: 408-970-3403
		E-mail: info@mellanox.com
		        "
	DESCRIPTION 
		"EFM MIB"

	REVISION "201404010000Z"
	DESCRIPTION 
		"Added a test trap with varbind of mgmt0 MAC address and a node for generating it"
::= { mellanox 2 }


IbGuid ::= TEXTUAL-CONVENTION
	DISPLAY-HINT 	"1x:"
	STATUS     current
	DESCRIPTION 
		"Globally Unique Identifier (GUID) is a number that uniquely
		         identifies an IB device or component. It is a compliant EUI-64
		         identifier for channel adapter, routers, and switches.
		         This 64-bit value is created by concatenating a 24-bit
		         company ID value and a 40-bit extension. The IEEE Registration
		         Authority assigns the company ID. The extension ID is assigned
		         by the particular company. Therefore, each HCA, TCA, switch, and
		         router shall be assigned an EUI-64 by the manufacturer."
	REFERENCE 
		"InfiniBand Architecture Release 1.2.1 Vol. 1 Section 4.1."
	SYNTAX  OCTET STRING (SIZE(8))

generalMgmt          OBJECT IDENTIFIER ::= { mellanoxMgmt 1 }
gmVariables          OBJECT IDENTIFIER ::= { generalMgmt 1 }

-- -
-- - VARIABLES
-- -

gmSystem             OBJECT IDENTIFIER ::= { gmVariables 1 }
procmgr              OBJECT IDENTIFIER ::= { gmVariables 2 }
storage              OBJECT IDENTIFIER ::= { gmVariables 3 }
cpus                 OBJECT IDENTIFIER ::= { gmVariables 4 }
fanInventory         OBJECT IDENTIFIER ::= { gmVariables 5 }
tempInventory        OBJECT IDENTIFIER ::= { gmVariables 6 }
gmNotifications      OBJECT IDENTIFIER ::= { generalMgmt 2 }
ibSwitch             OBJECT IDENTIFIER ::= { mellanoxMgmt 2 }
ibVariables          OBJECT IDENTIFIER ::= { ibSwitch 1 }

-- -
-- - ibSwitch
-- -

ibInventory          OBJECT IDENTIFIER ::= { ibVariables 1 }
ibPorts              OBJECT IDENTIFIER ::= { ibVariables 2 }
ibNotifications      OBJECT IDENTIFIER ::= { ibSwitch 2 }
subnetMngr           OBJECT IDENTIFIER ::= { mellanoxMgmt 3 }
smVariables          OBJECT IDENTIFIER ::= { subnetMngr 1 }
smNotifications      OBJECT IDENTIFIER ::= { subnetMngr 2 }
bxBridge             OBJECT IDENTIFIER ::= { mellanoxMgmt 4 }
bxVariables          OBJECT IDENTIFIER ::= { bxBridge 1 }

-- -
-- - bxBridge
-- -

bxInventory          OBJECT IDENTIFIER ::= { bxVariables 1 }
bxIbPorts            OBJECT IDENTIFIER ::= { bxVariables 2 }
bxEthPorts           OBJECT IDENTIFIER ::= { bxVariables 3 }
bxFcPorts            OBJECT IDENTIFIER ::= { bxVariables 4 }
bxNotifications      OBJECT IDENTIFIER ::= { bxBridge 2 }
mlxIBObjects         OBJECT IDENTIFIER ::= { mellanoxMgmt 5 }
mlxIBCAInfoGroup     OBJECT IDENTIFIER ::= { mlxIBObjects 1 }
mlxIBSwitchInfoGroup  OBJECT IDENTIFIER ::= { mlxIBObjects 2 }
mlxIBRouterInfoGroup  OBJECT IDENTIFIER ::= { mlxIBObjects 3 }
mlxIBPortInfoGroup   OBJECT IDENTIFIER ::= { mlxIBObjects 4 }
mlxIBNotifications   OBJECT IDENTIFIER ::= { mlxIBObjects 5 }

type  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"System hardware type"
	::= { gmSystem 1 }

serialNumber  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"System serial number"
	::= { gmSystem 2 }

swVersion  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"System software version string"
	::= { gmSystem 3 }

buildInfo  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"System software build information"
	::= { gmSystem 4 }

nodeName  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"System node name"
	::= { gmSystem 5 }

sendTestTrapSet OBJECT-TYPE
	SYNTAX  Unsigned32
	MAX-ACCESS  write-only
	STATUS  current
	DESCRIPTION
		  "A node for generating a test trap."
	::= { gmSystem 6 }
	
procTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF ProcEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"List of processes managed or monitored by MLNX-OS"
	::= { procmgr 1 }

procEntry  OBJECT-TYPE
	SYNTAX 	ProcEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Entry for one process"
	INDEX { procIndex }
	::= { procTable 1 }

ProcEntry ::= SEQUENCE {
	procIndex
		Unsigned32,
	procName
		OCTET STRING,
	procStatus
		OCTET STRING,
	procNumFailures
		Unsigned32
}

procIndex  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Synthetic numeric unique ID of process"
	::= { procEntry 1 }

procName  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Unique name of process"
	::= { procEntry 2 }

procStatus  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Current state of process"
	::= { procEntry 3 }

procNumFailures  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of times process has crashed or exited unexpectedly"
	::= { procEntry 4 }

fsTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF FsEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"List of filesystems currently mounted"
	::= { storage 1 }

fsEntry  OBJECT-TYPE
	SYNTAX 	FsEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Entry for one mounted filesystem"
	INDEX { fsIndex }
	::= { fsTable 1 }

FsEntry ::= SEQUENCE {
	fsIndex
		Unsigned32,
	fsMountPoint
		OCTET STRING,
	fsSpaceTotal
		Counter64,
	fsSpaceUsed
		Counter64,
	fsSpaceFree
		Counter64,
	fsSpaceAvail
		Counter64
}

fsIndex  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Synthetic numeric index for this filesystem"
	::= { fsEntry 1 }

fsMountPoint  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Mount point for this filesystem"
	::= { fsEntry 2 }

fsSpaceTotal  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Total number of bytes in this filesystem"
	::= { fsEntry 3 }

fsSpaceUsed  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of bytes used in this filesystem"
	::= { fsEntry 4 }

fsSpaceFree  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of bytes free in this filesystem"
	::= { fsEntry 5 }

fsSpaceAvail  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of bytes available in this filesystem"
	::= { fsEntry 6 }

cpuTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF CpuEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"List of CPUs"
	::= { cpus 1 }

cpuEntry  OBJECT-TYPE
	SYNTAX 	CpuEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Entry for one CPU"
	INDEX { cpuIndex }
	::= { cpuTable 1 }

CpuEntry ::= SEQUENCE {
	cpuIndex
		Unsigned32,
	idleTime
		TimeTicks,
	systemTime
		TimeTicks,
	userTime
		TimeTicks
}

cpuIndex  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Index of CPU, starting from 0"
	::= { cpuEntry 1 }

idleTime  OBJECT-TYPE
	SYNTAX     TimeTicks
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Time in milliseconds CPU has spent idle"
	::= { cpuEntry 2 }

systemTime  OBJECT-TYPE
	SYNTAX     TimeTicks
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Time in milliseconds CPU has spent busy with system tasks"
	::= { cpuEntry 3 }

userTime  OBJECT-TYPE
	SYNTAX     TimeTicks
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Time in milliseconds CPU has spent busy with user tasks"
	::= { cpuEntry 4 }

fanTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF FanEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"List of fans information"
	::= { fanInventory 1 }

fanEntry  OBJECT-TYPE
	SYNTAX 	FanEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Entry for one fan"
	INDEX { fanIndex }
	::= { fanTable 1 }

FanEntry ::= SEQUENCE {
	fanIndex
		Unsigned32,
	fanName
		OCTET STRING,
	fanStatus
		OCTET STRING,
	fanSpeed
		Unsigned32
}

fanIndex  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Fan index"
	::= { fanEntry 1 }

fanName  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Fan name"
	::= { fanEntry 2 }

fanStatus  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Fan status"
	::= { fanEntry 3 }

fanSpeed  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Fan speed in RPM"
	::= { fanEntry 4 }

tempTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF TempEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"List of temperature sensors"
	::= { tempInventory 1 }

tempEntry  OBJECT-TYPE
	SYNTAX 	TempEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Entry for one piece of temperature sensor"
	INDEX { tempIndex }
	::= { tempTable 1 }

TempEntry ::= SEQUENCE {
	tempIndex
		Unsigned32,
	tempSensorName
		OCTET STRING,
	tempSensorStatus
		OCTET STRING,
	tempSensor
		Unsigned32
}

tempIndex  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Synthetic numeric unique ID of temperature sensor element"
	::= { tempEntry 1 }

tempSensorName  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Temperature sensor name"
	::= { tempEntry 2 }

tempSensorStatus  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Temperature sensor status"
	::= { tempEntry 3 }

tempSensor  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Temperature value in Celsius"
	::= { tempEntry 4 }

internalBusError  NOTIFICATION-TYPE
	STATUS     current
	DESCRIPTION 
		"I2C access failed more than 5 times"
	::= { gmNotifications 1 }

procCrash  NOTIFICATION-TYPE
	OBJECTS { procName }
	STATUS     current
	DESCRIPTION 
		"A process managed by MLNX-OS has terminated unexpectedly and left a core file"
	::= { gmNotifications 2 }

cpuUtilHigh  NOTIFICATION-TYPE
	STATUS     current
	DESCRIPTION 
		"The MLNX-OS management appliance CPU is very busy"
	::= { gmNotifications 3 }

procUnexpectedExit  NOTIFICATION-TYPE
	OBJECTS { procName }
	STATUS     current
	DESCRIPTION 
		"A process managed by MLNX-OS has terminated unexpectedly and no core file was found"
	::= { gmNotifications 4 }

unexpectedShutdown  NOTIFICATION-TYPE
	STATUS     current
	DESCRIPTION 
		"MLNX-OS management appliance shut down unexpectedly"
	::= { gmNotifications 5 }

diskSpaceLow  NOTIFICATION-TYPE
	STATUS     current
	DESCRIPTION 
		"MLNX-OS management appliance is running out of disk space"
	::= { gmNotifications 6 }

systemHealthStatus  NOTIFICATION-TYPE
	OBJECTS { invHealthStatus }
	STATUS     current
	DESCRIPTION 
		"MLNX-OS management appliance health status"
	::= { gmNotifications 7 }

lowPowerRecover  NOTIFICATION-TYPE
	STATUS     current
	DESCRIPTION 
		"MLNX-OS management appliance has restored to normal power"
	::= { gmNotifications 8 }

insufficientFans  NOTIFICATION-TYPE
	STATUS     current
	DESCRIPTION 
		"MLNX-OS management appliance has insufficient number of working fans, please plug in additional fans"
	::= { gmNotifications 9 }

insufficientFansRecover  NOTIFICATION-TYPE
	STATUS     current
	DESCRIPTION 
		"MLNX-OS management appliance has a sufficient number of working fans"
	::= { gmNotifications 10 }

insufficientPower  NOTIFICATION-TYPE
	STATUS     current
	DESCRIPTION 
		"Insufficient power for the system.
		    This notification is available only for chassis types that supports grid-redundancy mode.
		    Insufficient power, max power consumption > actual power budget.
		    Power modules may be missing, or not suitable."
	::= { gmNotifications 11 }

powerRedundancyMismatch  NOTIFICATION-TYPE
	STATUS     current
	DESCRIPTION 
		"System Power cannot meet the redundancy level in fully populated system.
		    This notification is available only for chassis types that supports grid-redundancy mode.
		    Power modules may be missing, or not suitable."
	::= { gmNotifications 12 }

testTrap  NOTIFICATION-TYPE
	OBJECTS { ifPhysAddress }	
	STATUS     current
	DESCRIPTION 
		"A test trap ordered by the system administrator"
	::= { gmNotifications 13 }

internalSpeedMismatch  NOTIFICATION-TYPE
	OBJECTS { mellanoxIfVPIIndex }
	STATUS 	current
	DESCRIPTION 
		"Speed mismatch on internal interface"
	::= { gmNotifications 14 }

invTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF InvEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"List of device inventory information"
	::= { ibInventory 1 }

invEntry  OBJECT-TYPE
	SYNTAX 	InvEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Entry for one piece of inventory"
	INDEX { invIndex }
	::= { invTable 1 }

InvEntry ::= SEQUENCE {
	invIndex
		Unsigned32,
	invName
		OCTET STRING,
	invType
		OCTET STRING,
	invPartNum
		OCTET STRING,
	invSerialNum
		OCTET STRING,
	invFirmware
		OCTET STRING,
	invHealthStatus
		OCTET STRING
}

invIndex  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Synthetic numeric unique ID of inventory element"
	::= { invEntry 1 }

invName  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Unique name of one piece of inventory"
	::= { invEntry 2 }

invType  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Type of inventory element"
	::= { invEntry 3 }

invPartNum  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Part number of inventory element"
	::= { invEntry 4 }

invSerialNum  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Serial number of inventory element"
	::= { invEntry 5 }

invFirmware  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Firmware version running on inventory element"
	::= { invEntry 6 }

invHealthStatus  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Module health status"
	::= { invEntry 7 }

cntTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF CntEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"List of external port counters"
	::= { ibPorts 1 }

cntEntry  OBJECT-TYPE
	SYNTAX 	CntEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Entry for one port"
	INDEX { cntIndex }
	::= { cntTable 1 }

CntEntry ::= SEQUENCE {
	cntIndex
		Unsigned32,
	cntName
		OCTET STRING,
	cntPort
		Unsigned32,
	cntPhyState
		OCTET STRING,
	cntLogState
		OCTET STRING,
	cntRate
		OCTET STRING,
	cntMTU
		OCTET STRING,
	cntRcvData
		Counter64,
	cntRcvPkts
		Counter64,
	cntXmitData
		Counter64,
	cntXmitPkts
		Counter64,
	cntRcvErr
		Counter64,
	cntXmitDiscard
		Counter64,
	cntXmitWait
		Counter64,
	cntSymErr
		Counter64,
	cntVL15Drop
		Counter64,
	cntSpeed
		OCTET STRING,
	cntWidth
		OCTET STRING,
	cntOperationalVLs
		OCTET STRING,
	cntSupportedSpeeds
		OCTET STRING,
	cntSupportedWidths
		OCTET STRING,
	cntMaxSupportedMTUs
		OCTET STRING,
	cntVLCapabilities
		OCTET STRING,
	cntGUID
		OCTET STRING,
	cntLID
		OCTET STRING
}

cntIndex  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Synthetic numeric unique ID of port"
	::= { cntEntry 1 }

cntName  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Module owning this port"
	::= { cntEntry 2 }

cntPort  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Port number on owning module"
	::= { cntEntry 3 }

cntPhyState  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Physical state of this port"
	::= { cntEntry 4 }

cntLogState  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Logical state of this port"
	::= { cntEntry 5 }

cntRate  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Port communication rate"
	::= { cntEntry 6 }

cntMTU  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Maximum block size on this port"
	::= { cntEntry 7 }

cntRcvData  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of bytes received on this port"
	::= { cntEntry 8 }

cntRcvPkts  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of frames received on this port"
	::= { cntEntry 9 }

cntXmitData  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of bytes sent on this port"
	::= { cntEntry 10 }

cntXmitPkts  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of frames sent on this port"
	::= { cntEntry 11 }

cntRcvErr  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of receive errors on this port"
	::= { cntEntry 12 }

cntXmitDiscard  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of send frames dropped on this port"
	::= { cntEntry 13 }

cntXmitWait  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of transmit waits on this port"
	::= { cntEntry 14 }

cntSymErr  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of symbol errors received on this port"
	::= { cntEntry 15 }

cntVL15Drop  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of VL15 frames dropped on this port"
	::= { cntEntry 16 }

cntSpeed  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Speed of each link on this port"
	::= { cntEntry 17 }

cntWidth  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of parallel links on this port"
	::= { cntEntry 18 }

cntOperationalVLs  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Virtaul lanes on this port"
	::= { cntEntry 19 }

cntSupportedSpeeds  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Supported speeds of each link on this port"
	::= { cntEntry 20 }

cntSupportedWidths  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Supported parallel links on this port"
	::= { cntEntry 21 }

cntMaxSupportedMTUs  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Maximum supported block size on this port"
	::= { cntEntry 22 }

cntVLCapabilities  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Virtual lanes capabilities on this port"
	::= { cntEntry 23 }

cntGUID  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Global Unique ID of this port"
	::= { cntEntry 24 }

cntLID  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Local ID of this port"
	::= { cntEntry 25 }

-- -
-- - PRODUCTS
-- -   Note that traps with data get reported with general-MLNX-OS OID
-- - These include: procCrash, cpuUtilHigh, procUnexpectedExit,
-- - unexpectedShutdown, diskSpaceLow.
-- -
-- -
-- - NOTIFICATIONS
-- -

asicChipDown  NOTIFICATION-TYPE
	STATUS     current
	DESCRIPTION 
		"ASIC is down, fatal error"
	::= { ibNotifications 1 }

asicOverTempReset  NOTIFICATION-TYPE
	STATUS     current
	DESCRIPTION 
		"reset happened due to over temperature of ASIC"
	::= { ibNotifications 2 }

asicOverTemp  NOTIFICATION-TYPE
	STATUS     current
	DESCRIPTION 
		"Temperature too high"
	::= { ibNotifications 3 }

lowPower  NOTIFICATION-TYPE
	STATUS     current
	DESCRIPTION 
		"Power redundancy is not available (no redundancy)"
	::= { ibNotifications 4 }

ibSMup  NOTIFICATION-TYPE
	STATUS     current
	DESCRIPTION 
		"Local Subnet Manager has started"
	::= { smNotifications 1 }

ibSMdown  NOTIFICATION-TYPE
	STATUS     current
	DESCRIPTION 
		"Local Subnet Manager has stopped"
	::= { smNotifications 2 }

ibSMrestart  NOTIFICATION-TYPE
	STATUS     current
	DESCRIPTION 
		"Local Subnet Manager been restarted"
	::= { smNotifications 3 }

bxInvTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF BxInvEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"List of device inventory information"
	::= { bxInventory 1 }

bxInvEntry  OBJECT-TYPE
	SYNTAX 	BxInvEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Entry for one piece of inventory"
	INDEX { bxInvIndex }
	::= { bxInvTable 1 }

BxInvEntry ::= SEQUENCE {
	bxInvIndex
		Unsigned32,
	bxInvName
		OCTET STRING,
	bxInvType
		OCTET STRING,
	bxInvPartNum
		OCTET STRING,
	bxInvSerialNum
		OCTET STRING,
	bxInvFirmware
		OCTET STRING
}

bxInvIndex  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Synthetic numeric unique ID of inventory element"
	::= { bxInvEntry 1 }

bxInvName  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Unique name of one piece of inventory"
	::= { bxInvEntry 2 }

bxInvType  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Type of inventory element"
	::= { bxInvEntry 3 }

bxInvPartNum  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Part number of inventory element"
	::= { bxInvEntry 4 }

bxInvSerialNum  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Serial number of inventory element"
	::= { bxInvEntry 5 }

bxInvFirmware  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Firmware version running on inventory element"
	::= { bxInvEntry 6 }

bxIbCntTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF BxIbCntEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"List of InfiniBand port counters"
	::= { bxIbPorts 1 }

bxIbCntEntry  OBJECT-TYPE
	SYNTAX 	BxIbCntEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Entry for one InfiniBand port"
	INDEX { bxIbCntIndex }
	::= { bxIbCntTable 1 }

BxIbCntEntry ::= SEQUENCE {
	bxIbCntIndex
		Unsigned32,
	bxIbCntName
		OCTET STRING,
	bxIbCntPort
		Unsigned32,
	bxIbCntLogState
		OCTET STRING,
	bxIbCntPhyState
		OCTET STRING,
	bxIbCntRate
		OCTET STRING,
	bxIbCntSupportedSpeeds
		OCTET STRING,
	bxIbCntSpeed
		OCTET STRING,
	bxIbCntSupportedWidths
		OCTET STRING,
	bxIbCntWidth
		OCTET STRING,
	bxIbCntMaxSupportedMTUs
		OCTET STRING,
	bxIbCntMTU
		OCTET STRING,
	bxIbCntVLCapabilities
		OCTET STRING,
	bxIbCntOperationalVLs
		OCTET STRING,
	bxIbCntGUID
		OCTET STRING,
	bxIbCntLID
		OCTET STRING,
	bxIbCntRcvPkts
		Counter64,
	bxIbCntRcvData
		Counter64,
	bxIbCntRcvErr
		Counter64,
	bxIbCntSymErr
		Counter64,
	bxIbCntVL15Drop
		Counter64,
	bxIbCntXmitPkts
		Counter64,
	bxIbCntXmitData
		Counter64,
	bxIbCntXmitWaits
		Counter64,
	bxIbCntXmitDiscards
		Counter64
}

bxIbCntIndex  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Synthetic numeric unique ID of port"
	::= { bxIbCntEntry 1 }

bxIbCntName  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Name of this port"
	::= { bxIbCntEntry 2 }

bxIbCntPort  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Port number on owning module"
	::= { bxIbCntEntry 3 }

bxIbCntLogState  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Logical state of this port"
	::= { bxIbCntEntry 4 }

bxIbCntPhyState  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Physical state of this port"
	::= { bxIbCntEntry 5 }

bxIbCntRate  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Port communication rate"
	::= { bxIbCntEntry 6 }

bxIbCntSupportedSpeeds  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Supported speeds of each link on this port"
	::= { bxIbCntEntry 7 }

bxIbCntSpeed  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Speed of each link on this port"
	::= { bxIbCntEntry 8 }

bxIbCntSupportedWidths  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Supported parallel links on this port"
	::= { bxIbCntEntry 9 }

bxIbCntWidth  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of parallel links on this port"
	::= { bxIbCntEntry 10 }

bxIbCntMaxSupportedMTUs  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Maximum supported block size on this port"
	::= { bxIbCntEntry 11 }

bxIbCntMTU  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Maximum block size on this port"
	::= { bxIbCntEntry 12 }

bxIbCntVLCapabilities  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Virtual lanes capabilities on this port"
	::= { bxIbCntEntry 13 }

bxIbCntOperationalVLs  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Virtaul lanes on this port"
	::= { bxIbCntEntry 14 }

bxIbCntGUID  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Global Unique ID of this port"
	::= { bxIbCntEntry 15 }

bxIbCntLID  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Local ID of this port"
	::= { bxIbCntEntry 16 }

bxIbCntRcvPkts  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of frames received on this port"
	::= { bxIbCntEntry 17 }

bxIbCntRcvData  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of bytes received on this port"
	::= { bxIbCntEntry 18 }

bxIbCntRcvErr  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of receive errors on this port"
	::= { bxIbCntEntry 19 }

bxIbCntSymErr  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of symbol errors received on this port"
	::= { bxIbCntEntry 20 }

bxIbCntVL15Drop  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of VL15 frames dropped on this port"
	::= { bxIbCntEntry 21 }

bxIbCntXmitPkts  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of frames sent on this port"
	::= { bxIbCntEntry 22 }

bxIbCntXmitData  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of bytes sent on this port"
	::= { bxIbCntEntry 23 }

bxIbCntXmitWaits  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of transmit waits on this port"
	::= { bxIbCntEntry 24 }

bxIbCntXmitDiscards  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of send frames dropped on this port"
	::= { bxIbCntEntry 25 }

bxEthCntTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF BxEthCntEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"List of Ethernet port counters"
	::= { bxEthPorts 1 }

bxEthCntEntry  OBJECT-TYPE
	SYNTAX 	BxEthCntEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Entry for one Ethernet port"
	INDEX { bxEthCntIndex }
	::= { bxEthCntTable 1 }

BxEthCntEntry ::= SEQUENCE {
	bxEthCntIndex
		Unsigned32,
	bxEthCntName
		OCTET STRING,
	bxEthCntAdminMode
		OCTET STRING,
	bxEthCntStatus
		OCTET STRING,
	bxEthCntSupportedSpeeds
		OCTET STRING,
	bxEthCntSpeed
		OCTET STRING,
	bxEthCntDuplex
		OCTET STRING,
	bxEthCntMTU
		OCTET STRING,
	bxEthCntFlowcontrolStatus
		OCTET STRING,
	bxEthCntFlowcontrolMode
		OCTET STRING,
	bxEthCntFlowcontrolPriorities
		OCTET STRING,
	bxEthCntRcvPkts
		Counter64,
	bxEthCntRcvUcastPkts
		Counter64,
	bxEthCntRcvMcatsPkts
		Counter64,
	bxEthCntRcvBcastPkts
		Counter64,
	bxEthCntRcvJumboPkts
		Counter64,
	bxEthCntRcvData
		Counter64,
	bxEthCntRcvErr
		Counter64,
	bxEthCntRcvNoBuffer
		Counter64,
	bxEthCntRcvRunt
		Counter64,
	bxEthCntRcvCRC
		Counter64,
	bxEthCntXmitPkts
		Counter64,
	bxEthCntXmitUcastPkts
		Counter64,
	bxEthCntXmitMcastPkts
		Counter64,
	bxEthCntXmitBcastPkts
		Counter64,
	bxEthCntXmitJumboPkts
		Counter64,
	bxEthCntXmitData
		Counter64,
	bxEthCntXmitErr
		Counter64
}

bxEthCntIndex  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Synthetic numeric unique ID of port"
	::= { bxEthCntEntry 1 }

bxEthCntName  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Name of this port"
	::= { bxEthCntEntry 2 }

bxEthCntAdminMode  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Administrative mode of this port"
	::= { bxEthCntEntry 3 }

bxEthCntStatus  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Status of this port"
	::= { bxEthCntEntry 4 }

bxEthCntSupportedSpeeds  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Supported speeds of this port"
	::= { bxEthCntEntry 5 }

bxEthCntSpeed  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Speed of this port"
	::= { bxEthCntEntry 6 }

bxEthCntDuplex  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Duplex type of this port"
	::= { bxEthCntEntry 7 }

bxEthCntMTU  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Maximum block size on this port"
	::= { bxEthCntEntry 8 }

bxEthCntFlowcontrolStatus  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Flowcontrol status of this port"
	::= { bxEthCntEntry 9 }

bxEthCntFlowcontrolMode  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Flowcontrol mode of this port"
	::= { bxEthCntEntry 10 }

bxEthCntFlowcontrolPriorities  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Flowcontrol priorities list of this port"
	::= { bxEthCntEntry 11 }

bxEthCntRcvPkts  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of frames received on this port"
	::= { bxEthCntEntry 12 }

bxEthCntRcvUcastPkts  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of unicast frames received on this port"
	::= { bxEthCntEntry 13 }

bxEthCntRcvMcatsPkts  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of multicats frames received on this port"
	::= { bxEthCntEntry 14 }

bxEthCntRcvBcastPkts  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of broadcast frames received on this port"
	::= { bxEthCntEntry 15 }

bxEthCntRcvJumboPkts  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of jumbo frames received on this port"
	::= { bxEthCntEntry 16 }

bxEthCntRcvData  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of bytes received on this port"
	::= { bxEthCntEntry 17 }

bxEthCntRcvErr  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of erroneous frames received on this port"
	::= { bxEthCntEntry 18 }

bxEthCntRcvNoBuffer  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of no buffer erroneous frames received on this port"
	::= { bxEthCntEntry 19 }

bxEthCntRcvRunt  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of runt frames received on this port"
	::= { bxEthCntEntry 20 }

bxEthCntRcvCRC  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of crc erroneous frames received on this port"
	::= { bxEthCntEntry 21 }

bxEthCntXmitPkts  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of frames sent on this port"
	::= { bxEthCntEntry 22 }

bxEthCntXmitUcastPkts  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of unicast frames sent on this port"
	::= { bxEthCntEntry 23 }

bxEthCntXmitMcastPkts  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of multicats frames sent on this port"
	::= { bxEthCntEntry 24 }

bxEthCntXmitBcastPkts  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of broadcast frames sent on this port"
	::= { bxEthCntEntry 25 }

bxEthCntXmitJumboPkts  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of jumbo frames sent on this port"
	::= { bxEthCntEntry 26 }

bxEthCntXmitData  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of bytes sent on this port"
	::= { bxEthCntEntry 27 }

bxEthCntXmitErr  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of erroneous frames sent on this port"
	::= { bxEthCntEntry 28 }

bxFcCntTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF BxFcCntEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"List of Fibre Channel port counters"
	::= { bxFcPorts 1 }

bxFcCntEntry  OBJECT-TYPE
	SYNTAX 	BxFcCntEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Entry for one Fibre Channel port"
	INDEX { bxFcCntIndex }
	::= { bxFcCntTable 1 }

BxFcCntEntry ::= SEQUENCE {
	bxFcCntIndex
		Unsigned32,
	bxFcCntName
		OCTET STRING,
	bxFcCntAdminMode
		OCTET STRING,
	bxFcCntStatus
		OCTET STRING,
	bxFcCntSupportedSpeeds
		OCTET STRING,
	bxFcCntSpeed
		OCTET STRING,
	bxFcCntWWPN
		OCTET STRING,
	bxFcCntFCID
		OCTET STRING,
	bxFcCntRcvCreditsAlloc
		OCTET STRING,
	bxFcCntXmitCreditsAlloc
		OCTET STRING,
	bxFcCntRcvPkts
		Counter64,
	bxFcCntRcvData
		Counter64,
	bxFcCntRcvDiscards
		Counter64,
	bxFcCntRcvErr
		Counter64,
	bxFcCntRcvCRC
		Counter64,
	bxFcCntRcvUnknown
		Counter64,
	bxFcCntRcvLong
		Counter64,
	bxFcCntRcvShort
		Counter64,
	bxFcCntRcvOffline
		Counter64,
	bxFcCntRcvLinkReset
		Counter64,
	bxFcCntRcvNonOperational
		Counter64,
	bxFcCntRcvRemainCredits
		Counter64,
	bxFcCntXmitPkts
		Counter64,
	bxFcCntXmitData
		Counter64,
	bxFcCntXmitDiscards
		Counter64,
	bxFcCntXmitErr
		Counter64,
	bxFcCntXmitOffline
		Counter64,
	bxFcCntXmitLinkReset
		Counter64,
	bxFcCntXmitNonOperational
		Counter64,
	bxFcCntXmitRemainCredits
		Counter64
}

bxFcCntIndex  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Synthetic numeric unique ID of port"
	::= { bxFcCntEntry 1 }

bxFcCntName  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Name of this port"
	::= { bxFcCntEntry 2 }

bxFcCntAdminMode  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Administrative mode of this port"
	::= { bxFcCntEntry 3 }

bxFcCntStatus  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Status of this port"
	::= { bxFcCntEntry 4 }

bxFcCntSupportedSpeeds  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Supported speeds of this port"
	::= { bxFcCntEntry 5 }

bxFcCntSpeed  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Speed of this port"
	::= { bxFcCntEntry 6 }

bxFcCntWWPN  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"WWN of this port"
	::= { bxFcCntEntry 7 }

bxFcCntFCID  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"FC ID of this port"
	::= { bxFcCntEntry 8 }

bxFcCntRcvCreditsAlloc  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Receive Buffer-to-Buffer credits allocation on this port"
	::= { bxFcCntEntry 9 }

bxFcCntXmitCreditsAlloc  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Transmit Buffer-to-Buffer credits allocation on this port"
	::= { bxFcCntEntry 10 }

bxFcCntRcvPkts  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of frames received on this port"
	::= { bxFcCntEntry 11 }

bxFcCntRcvData  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of bytes received on this port"
	::= { bxFcCntEntry 12 }

bxFcCntRcvDiscards  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of discarded frames received on this port"
	::= { bxFcCntEntry 13 }

bxFcCntRcvErr  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of erroneous frames received on this port"
	::= { bxFcCntEntry 14 }

bxFcCntRcvCRC  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of crc erroneous frames received on this port"
	::= { bxFcCntEntry 15 }

bxFcCntRcvUnknown  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of unknown ordered set frames received on this port"
	::= { bxFcCntEntry 16 }

bxFcCntRcvLong  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of frames longer than the maximum frame size received on this port"
	::= { bxFcCntEntry 17 }

bxFcCntRcvShort  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of frames shorter than the minimum frame size received on this port"
	::= { bxFcCntEntry 18 }

bxFcCntRcvOffline  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of offline frames received on this port"
	::= { bxFcCntEntry 19 }

bxFcCntRcvLinkReset  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of link reset frames received on this port"
	::= { bxFcCntEntry 20 }

bxFcCntRcvNonOperational  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of non operational frames received on this port"
	::= { bxFcCntEntry 21 }

bxFcCntRcvRemainCredits  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Remaining receive Buffer-to-Buffer credits on this port"
	::= { bxFcCntEntry 22 }

bxFcCntXmitPkts  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of frames sent on this port"
	::= { bxFcCntEntry 23 }

bxFcCntXmitData  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of bytes sent on this port"
	::= { bxFcCntEntry 24 }

bxFcCntXmitDiscards  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of discarded frames sent on this port"
	::= { bxFcCntEntry 25 }

bxFcCntXmitErr  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of erroneous frames sent on this port"
	::= { bxFcCntEntry 26 }

bxFcCntXmitOffline  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of offline frames sent on this port"
	::= { bxFcCntEntry 27 }

bxFcCntXmitLinkReset  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of link reset frames sent on this port"
	::= { bxFcCntEntry 28 }

bxFcCntXmitNonOperational  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of non operational frames sent on this port"
	::= { bxFcCntEntry 29 }

bxFcCntXmitRemainCredits  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Remaining transmit Buffer-to-Buffer credits on this port"
	::= { bxFcCntEntry 30 }

-- -
-- - IB CA Info Table
-- -

mlxIBCAInfoTableNumCAs  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Total number of channel adapters in the mlxIBCAInfoTable."
	::= { mlxIBCAInfoGroup 1 }

mlxIBCAInfoTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF MlxIBCAInfoEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"A table containing general information about the Channel Adapters in a system.
		         Holes in this table are possible due to persistent numbering."
	::= { mlxIBCAInfoGroup 2 }

mlxIBCAInfoEntry  OBJECT-TYPE
	SYNTAX 	MlxIBCAInfoEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"A conceptual row of the mlxIBCAInfoTable containing information about the 
		         general characteristics of each Channel Adapter."
	INDEX { mlxIBCAIndex }
	::= { mlxIBCAInfoTable 1 }

MlxIBCAInfoEntry ::= SEQUENCE {
	mlxIBCAIndex
		Unsigned32,
	mlxIBCADeviceName
		OCTET STRING,
	mlxIBCAPCIDomain
		Unsigned32,
	mlxIBCAPCIBus
		Unsigned32,
	mlxIBCAPCISlot
		Unsigned32,
	mlxIBCAPCIFunction
		Unsigned32,
	mlxIBCAPCIPhysicalSlot
		Integer32,
	mlxIBCAIrq
		Unsigned32,
	mlxIBCAModelString
		OCTET STRING,
	mlxIBCASerialNumber
		OCTET STRING,
	mlxIBCAPartNumber
		OCTET STRING,
	mlxIBCANodeGUID
		IbGuid,
	mlxIBCASystemImageGUID
		IbGuid,
	mlxIBCAFirmwareVersion
		OCTET STRING,
	mlxIBCAHardwareVersion
		OCTET STRING,
	mlxIBCAHealthStatus
		INTEGER,
	mlxIBCANumPorts
		Unsigned32,
	mlxIBCAType
		INTEGER
}

mlxIBCAIndex  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Index that identifies a specific Channel Adapter in the system."
	::= { mlxIBCAInfoEntry 1 }

mlxIBCADeviceName  OBJECT-TYPE
	SYNTAX     OCTET STRING (SIZE(0..64))
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The device name of the Channel Adapter."
	::= { mlxIBCAInfoEntry 2 }

mlxIBCAPCIDomain  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The PCI domain of the Channel Adapter. Same domain as indicated by lspci."
	::= { mlxIBCAInfoEntry 3 }

mlxIBCAPCIBus  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The PCI bus of the Channel Adapter. Same bus as indicated by lspci."
	::= { mlxIBCAInfoEntry 4 }

mlxIBCAPCISlot  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The PCI (logical) slot of the Channel Adapter. Same slot as indicated by lspci."
	::= { mlxIBCAInfoEntry 5 }

mlxIBCAPCIFunction  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The PCI function of the Channel Adapter. Same function as indicated by lspci."
	::= { mlxIBCAInfoEntry 6 }

mlxIBCAPCIPhysicalSlot  OBJECT-TYPE
	SYNTAX     Integer32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The PCI (physical) slot of the Channel Adapter. The number zero (0)
		         indicates an embedded interface (on the system board). A value of -1
		         indicates an interface whose slot is unknown."
	::= { mlxIBCAInfoEntry 7 }

mlxIBCAIrq  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The interrupt request for the Channel Adapter."
	::= { mlxIBCAInfoEntry 8 }

mlxIBCAModelString  OBJECT-TYPE
	SYNTAX     OCTET STRING (SIZE(0..64))
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The model string of the Channel Adapter."
	::= { mlxIBCAInfoEntry 9 }

mlxIBCASerialNumber  OBJECT-TYPE
	SYNTAX     OCTET STRING (SIZE(0..64))
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The serial number of the Channel Adapter."
	::= { mlxIBCAInfoEntry 10 }

mlxIBCAPartNumber  OBJECT-TYPE
	SYNTAX     OCTET STRING (SIZE(0..64))
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The part number of the Channel Adapter."
	::= { mlxIBCAInfoEntry 11 }

mlxIBCANodeGUID  OBJECT-TYPE
	SYNTAX     IbGuid
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The NodeGUID of the Channel Adapter. All ports on the same node
		         shall report the same node GUID value. This provides a means
		         for uniquely identifying a CA node within a subnet and helps to
		         determine the co-location of the ports on that CA."
	REFERENCE 
		"InfiniBand Architecture Release 1.2.1 Vol. 1 Section 17.2.5"
	::= { mlxIBCAInfoEntry 12 }

mlxIBCASystemImageGUID  OBJECT-TYPE
	SYNTAX     IbGuid
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The SystemImageGUID of the Channel Adapter. This GUID 
		         associates this node with other nodes controlled by
		         common supervisory code. Provides a means for system
		         software to indicate the availability of multiple paths
		         to the same destination via multiple nodes. Set to zero
		         if indication of node association is not desired. The
		         SystemImageGUID may be the NodeGUID of one of the associated
		         nodes if that node is not field-replaceable."
	REFERENCE 
		"InfiniBand Architecture Release 1.2.1 Vol. 1 Section 14.2.5.6 PortInfo"
	::= { mlxIBCAInfoEntry 13 }

mlxIBCAFirmwareVersion  OBJECT-TYPE
	SYNTAX     OCTET STRING (SIZE(0..64))
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The firmware version of the Channel Adapter."
	::= { mlxIBCAInfoEntry 14 }

mlxIBCAHardwareVersion  OBJECT-TYPE
	SYNTAX     OCTET STRING (SIZE(0..64))
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The hardware version of the Channel Adapter."
	::= { mlxIBCAInfoEntry 15 }

mlxIBCAHealthStatus  OBJECT-TYPE
	SYNTAX     INTEGER {
		unhealthy (0),
		healthy (1)
	}
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The overall health status of the Channel Adapter."
	::= { mlxIBCAInfoEntry 16 }

mlxIBCANumPorts  OBJECT-TYPE
	SYNTAX     Unsigned32 (1..254)
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Number of physical IB data ports on this Channel Adapter. Ports are
		         numbered starting from 1. If there is more than one port, the ports
		         are numbered sequentially."
	REFERENCE 
		"InfiniBand Architecture Release 1.2.1 Vol. 1 Section 17.2.1.3; 
		         Port Attributes and Functions"
	::= { mlxIBCAInfoEntry 17 }

mlxIBCAType  OBJECT-TYPE
	SYNTAX     INTEGER {
		unknown (1),
		hca (2),
		tca (3)
	}
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Type of Channel Adapter; either a Host Channel Adapter (HCA), or a
		         Target Channel Adapter (TCA). The key difference between an HCA and
		         a TCA is that the HCA supports the IBA Verbs layer, while a TCA uses
		         an implementation dependent interface to the transport layer. If the
		         type of CA cannot be determined, the unknown(1) value is returned."
	REFERENCE 
		"InfiniBand Architecture Release 1.2.1 Vol. 1 Section 17.1"
	::= { mlxIBCAInfoEntry 18 }

-- -
-- - IB Switch Info Table
-- -

mlxIBSwitchInfoTableNumSwitches  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Total number of switches in the mlxIBSwitchInfoTable."
	::= { mlxIBSwitchInfoGroup 1 }

mlxIBSwitchInfoTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF MlxIBSwitchInfoEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"A table containing general information about the switches in a system.
		         Holes in this table are possible due to persistent numbering."
	::= { mlxIBSwitchInfoGroup 2 }

mlxIBSwitchInfoEntry  OBJECT-TYPE
	SYNTAX 	MlxIBSwitchInfoEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"A conceptual row of the mlxIBSwitchInfoTable containing information about the 
		         general characteristics of each switch.
		
		         This is currently a placeholder until what's needed in IBSwitchInfo is defined."
	INDEX { mlxIBSwitchIndex }
	::= { mlxIBSwitchInfoTable 1 }

MlxIBSwitchInfoEntry ::= SEQUENCE {
	mlxIBSwitchIndex
		Unsigned32
}

mlxIBSwitchIndex  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Index that identifies a specific switch in the system."
	::= { mlxIBSwitchInfoEntry 1 }

-- -
-- - IB Router Info Table
-- -

mlxIBRouterInfoTableNumRouters  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Total number of routers in the mlxIBRouterInfoTable."
	::= { mlxIBRouterInfoGroup 1 }

mlxIBRouterInfoTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF MlxIBRouterInfoEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"A table containing general information about the routers in a system.
		         Holes in this table are possible due to persistent numbering."
	::= { mlxIBRouterInfoGroup 2 }

mlxIBRouterInfoEntry  OBJECT-TYPE
	SYNTAX 	MlxIBRouterInfoEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"A conceptual row of the mlxIBRouterInfoTable containing information about the 
		         general characteristics of each router.
		
		         This is currently a placeholder until what's needed in IBRouterInfo is defined."
	INDEX { mlxIBRouterIndex }
	::= { mlxIBRouterInfoTable 1 }

MlxIBRouterInfoEntry ::= SEQUENCE {
	mlxIBRouterIndex
		Unsigned32
}

mlxIBRouterIndex  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Index that identifies a specific router in the system."
	::= { mlxIBRouterInfoEntry 1 }

-- -
-- - IB Port Info Table
-- -

mlxIBPortInfoTableNumPorts  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Total number of IB ports in the mlxIBPortInfoTable."
	::= { mlxIBPortInfoGroup 1 }

mlxIBPortInfoTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF MlxIBPortInfoEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"A table containing general information about the IB ports in the system.
		         Holes in this table are possible due to persistent numbering."
	::= { mlxIBPortInfoGroup 2 }

mlxIBPortInfoEntry  OBJECT-TYPE
	SYNTAX 	MlxIBPortInfoEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"A conceptual row of the mlxIBPortInfoTable containing information about the 
		         general characteristics of an IB port in the system."
	INDEX { mlxIBPortIndex }
	::= { mlxIBPortInfoTable 1 }

MlxIBPortInfoEntry ::= SEQUENCE {
	mlxIBPortIndex
		Unsigned32,
	mlxIBPortLocalPortNumber
		Unsigned32,
	mlxIBPortState
		INTEGER,
	mlxIBPortPhysicalState
		INTEGER,
	mlxIBPortGUID
		IbGuid,
	mlxIBPortNodeType
		INTEGER,
	mlxIBPortNodeIndex
		Unsigned32
}

mlxIBPortIndex  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Index that identifies the InfiniBand data port in the system. Note that if
		         IB ports are included in MIB-2 ifTable, this can be the same as ifNumber so
		         two different persistent numbering schemes are not needed with translation
		         between the two."
	::= { mlxIBPortInfoEntry 1 }

mlxIBPortLocalPortNumber  OBJECT-TYPE
	SYNTAX     Unsigned32 (0..254)
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Index that identifies the InfiniBand data port. IBA defines
		         a range of valid data ports from 1 to N for CAs and router and
		         0 to N for switches, where N can have a maximum value of 254."
	::= { mlxIBPortInfoEntry 2 }

mlxIBPortState  OBJECT-TYPE
	SYNTAX     INTEGER {
		down (1),
		init (2),
		armed (3),
		active (4),
		other (5)
	}
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The state of the link of this port. Enumerated as:
		             1 : Down (includes failed links)
		             2 : Initialize
		             3 : Armed
		             4 : Active
		             5 : Other (0, 5-15: Reserved)"
	REFERENCE 
		"InfiniBand Architecture Release 1.2.1 Vol. 1 Section 14.2.5.6; Table 146 PortInfo"
	::= { mlxIBPortInfoEntry 3 }

mlxIBPortPhysicalState  OBJECT-TYPE
	SYNTAX     INTEGER {
		sleep (1),
		polling (2),
		disabled (3),
		portConfigTraining (4),
		linkUp (5),
		linkErrorRecovery (6),
		phyTest (7),
		other (8)
	}
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Physical Port State. Enumerated as:
		             1 : Sleep
		             2 : Polling
		             3 : Disabled
		             4 : PortConfigurationTraining
		             5 : LinkUp
		             6 : LinkErrorRecovery
		             7 : PhyTest
		             8 : other (0, 8-15: Reserved)"
	REFERENCE 
		"InfiniBand Architecture Release 1.2.1 Vol. 1 Section 14.2.5.6; Table 146 PortInfo"
	::= { mlxIBPortInfoEntry 4 }

mlxIBPortGUID  OBJECT-TYPE
	SYNTAX     IbGuid
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The GUID of this IB port. All ports on the same CA shall report a
		         unique mlxIBPortGUID value. This provides a means for uniquely
		         identifying a CA port within a subnet. One port within a node 
		         can return the NodeGUID as its PortGUID if the port is an integral
		         part of the node and is not field-replaceable."
	REFERENCE 
		"InfiniBand Architecture Release 1.2.1 Vol. 1 Section 17.2.5"
	::= { mlxIBPortInfoEntry 5 }

mlxIBPortNodeType  OBJECT-TYPE
	SYNTAX     INTEGER {
		channelAdapter (1),
		switch (2),
		router (3),
		other (4)
	}
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The node type for this port. Enumerated as:
		             1 : Channel Adapter
		             2 : Switch
		             3 : Router
		             4 : Other (0, 4-15: Reserved)"
	REFERENCE 
		"InfiniBand Architecture Release 1.2.1 Vol. 1 Section 14.2.5.6; Table 146 PortInfo"
	::= { mlxIBPortInfoEntry 6 }

mlxIBPortNodeIndex  OBJECT-TYPE
	SYNTAX     Unsigned32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Index of the IB node in the mlxIB<NodeType>Table which contains this port."
	::= { mlxIBPortInfoEntry 7 }

-- -
-- - NOTIFICATIONS
-- -

mlxIBCAHealthStatusChange  NOTIFICATION-TYPE
	OBJECTS { mlxIBCAIndex, 
		mlxIBCAHealthStatus, 
		mlxIBCADeviceName }
	STATUS     current
	DESCRIPTION 
		"The overall health status of the channel adapter has changed.
		         SNMPv1 trap for this has mlxIBNotifications as the enterprise
		         and 1 as the specific trap."
	::= { mlxIBNotifications 1 }

mlxIBCAInsertion  NOTIFICATION-TYPE
	OBJECTS { mlxIBCAIndex }
	STATUS     current
	DESCRIPTION 
		"A channel adapter has been inserted in the system. Insertion of a
		         CA means all its ports have also been inserted (separate port insertion
		         events are not generated).
		         SNMPv1 trap for this has mlxIBNotifications as the enterprise
		         and 2 as the specific trap."
	::= { mlxIBNotifications 2 }

mlxIBCARemoval  NOTIFICATION-TYPE
	OBJECTS { mlxIBCAIndex }
	STATUS     current
	DESCRIPTION 
		"A channel adapter has been removed from the system. Removal of a
		         CA means all its ports have also been removed (separate port removal
		         events are not generated).
		         SNMPv1 trap for this has mlxIBNotifications as the enterprise
		         and 3 as the specific trap."
	::= { mlxIBNotifications 3 }

mlxIBSwitchInsertion  NOTIFICATION-TYPE
	OBJECTS { mlxIBSwitchIndex }
	STATUS     current
	DESCRIPTION 
		"A switch has been inserted in the system. Insertion of a
		         switch means all its ports have also been inserted (separate
		         port insertion events are not generated).
		         SNMPv1 trap for this has mlxIBNotifications as the enterprise
		         and 4 as the specific trap."
	::= { mlxIBNotifications 4 }

mlxIBSwitchRemoval  NOTIFICATION-TYPE
	OBJECTS { mlxIBSwitchIndex }
	STATUS     current
	DESCRIPTION 
		"A switch has been removed from the system. Removal of a
		         switch means all its ports have also been removed (separate port removal
		         events are not generated).
		         SNMPv1 trap for this has mlxIBNotifications as the enterprise
		         and 5 as the specific trap."
	::= { mlxIBNotifications 5 }

mlxIBRouterInsertion  NOTIFICATION-TYPE
	OBJECTS { mlxIBRouterIndex }
	STATUS     current
	DESCRIPTION 
		"A router has been inserted in the system. Insertion of a
		         router means all its ports have also been inserted (separate
		         port insertion events are not generated).
		         SNMPv1 trap for this has mlxIBNotifications as the enterprise
		         and 6 as the specific trap."
	::= { mlxIBNotifications 6 }

mlxIBRouterRemoval  NOTIFICATION-TYPE
	OBJECTS { mlxIBRouterIndex }
	STATUS     current
	DESCRIPTION 
		"A router has been removed from the system. Removal of a
		         router means all its ports have also been removed (separate port removal
		         events are not generated).
		         SNMPv1 trap for this has mlxIBNotifications as the enterprise
		         and 7 as the specific trap."
	::= { mlxIBNotifications 7 }

mlxIBPortStateChange  NOTIFICATION-TYPE
	OBJECTS { mlxIBPortIndex, 
		mlxIBPortState, 
		mlxIBPortGUID, 
		mlxIBPortNodeType, 
		mlxIBPortNodeIndex }
	STATUS     current
	DESCRIPTION 
		"The port state has changed. Refer to mlxIBPortState.
		         SNMPv1 trap for this has mlxIBNotifications as the enterprise
		         and 8 as the specific trap."
	::= { mlxIBNotifications 8 }

mlxIBPortPhysicalStateChange  NOTIFICATION-TYPE
	OBJECTS { mlxIBPortIndex, 
		mlxIBPortPhysicalState, 
		mlxIBPortGUID, 
		mlxIBPortNodeType, 
		mlxIBPortNodeIndex }
	STATUS     current
	DESCRIPTION 
		"The physical port state has changed. Refer to mlxIBPortPhysicalState.
		         SNMPv1 trap for this has mlxIBNotifications as the enterprise
		         and 9 as the specific trap."
	::= { mlxIBNotifications 9 }

mlxIBPortInsertion  NOTIFICATION-TYPE
	OBJECTS { mlxIBPortIndex }
	STATUS     current
	DESCRIPTION 
		"An IBA port has been inserted in the system.
		         SNMPv1 trap for this has mlxIBNotifications as the enterprise
		         and 10 as the specific trap."
	::= { mlxIBNotifications 10 }

mlxIBPortRemoval  NOTIFICATION-TYPE
	OBJECTS { mlxIBPortIndex }
	STATUS     current
	DESCRIPTION 
		"An IB port has been removed from the system.
		         SNMPv1 trap for this has mlxIBNotifications as the enterprise
		         and 11 as the specific trap."
	::= { mlxIBNotifications 11 }
END


