
MELLANOX-ENTITY-STATE-MIB DEFINITIONS ::= BEGIN

IMPORTS
	OBJECT-TYPE, MODULE-IDENTITY, Integer32, NOTIFICATION-TYPE
		FROM SNMPv2-SMI
	TEXTUAL-CONVENTION
		FROM SNMPv2-TC
	SnmpAdminString
		FROM SNMP-FRAMEWORK-MIB
	mellanoxEntState
		FROM MELLANOX-SMI-MIB
	entPhysicalIndex
		FROM ENTITY-MIB;

-- Mellanox ENTITY State MIB
-- 

mellanoxEntStateMib MODULE-IDENTITY
	LAST-UPDATED "201707250000Z"
	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 
		"Mellanox Entity State MIB"

	REVISION "201707250000Z"
	DESCRIPTION 
		"Fixed syntax errors"
::= { mellanoxEntState 1 }

-- Textual Conventions -- 

mellanoxEntStateMibNotifications OBJECT IDENTIFIER
    ::= { mellanoxEntStateMib 0 }

mellanoxEntStateMibObjects  OBJECT IDENTIFIER
    ::= { mellanoxEntStateMib 1 }

ModuleStateType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "State of a module.  Valid values are:

         ok(1)          module is operational.
         disabled(2)    module is not operational due to disablement.
         reset(3)       module is during reset cycle.
         missing(4)     module is not inserted.
		 criticalFault(5)       module has a critical fault.
		 nonCriticalFault(6)    module has a non-critical fault.
		 unknown(7)				module state is unknown.
                       
        "
    SYNTAX INTEGER {
       ok(1),
       disabled(2),
       reset(3),
       missing(4),
	   criticalFault(5),
	   nonCriticalFault(6),
	   unknown(7)
      }
	  
mellanoxEntStateTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF MellanoxEntStateEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"entPhysicalTable extension"
	REFERENCE 
		"ENTITY-MIB"
	::= { mellanoxEntStateMibObjects 1 }

mellanoxEntStateEntry  OBJECT-TYPE
	SYNTAX 	MellanoxEntStateEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"entPhysical Index"
	INDEX { entPhysicalIndex }
	::= { mellanoxEntStateTable 1 }

MellanoxEntStateEntry ::= SEQUENCE {
	mellanoxEntStateModuleCurrentState
		ModuleStateType,
	mellanoxEntStateModulePreviousState
		ModuleStateType,
	mellanoxEntStateModuleStateDescr
		SnmpAdminString
}

mellanoxEntStateModuleCurrentState  OBJECT-TYPE
	SYNTAX     ModuleStateType
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Module Current State"
	::= { mellanoxEntStateEntry 1 }
	
mellanoxEntStateModulePreviousState  OBJECT-TYPE
	SYNTAX     ModuleStateType
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Module Previous State"
	::= { mellanoxEntStateEntry 2 }

mellanoxEntStateModuleStateDescr	OBJECT-TYPE
    SYNTAX        SnmpAdminString
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION       
        "A textual description of the state of the module."
    ::= { mellanoxEntStateEntry 3 }
	
-- Notifications --

mellanoxEntStateChangeAlarm  NOTIFICATION-TYPE
    OBJECTS {
        entPhysicalIndex, 
		entPhysicalDescr, 
		entPhysicalName, 
		mellanoxEntStateModuleCurrentState, 
		mellanoxEntStateModulePreviousState, 
		mellanoxEntStateModuleStateDescr, 
		entStateAlarm
    }                      
    STATUS            current
    DESCRIPTION
        "This notification is generated when module state changes"
    ::= { mellanoxEntStateMibNotifications 1 }
	
END