
MELLANOX-SW-UPDATE-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32
        FROM SNMPv2-SMI
	mellanoxSWUpdate
		FROM MELLANOX-SMI-MIB;

-- Mellanox SW Update MIB

mellanoxSWUpdateMib 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 SW Update MIB"

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

mellanoxSWUpdateMibObjects  OBJECT IDENTIFIER ::= { mellanoxSWUpdateMib 1 }
mellanoxSWUpdateCmd  OBJECT IDENTIFIER ::= { mellanoxSWUpdateMibObjects 2 }

mellanoxSWTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF MellanoxSWEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"Table of software image partitions"
	::= { mellanoxSWUpdateMibObjects 1 }

mellanoxSWEntry  OBJECT-TYPE
	SYNTAX 	MellanoxSWEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		""
	INDEX { mellanoxSWPartitionIndex }
	::= { mellanoxSWTable 1 }

MellanoxSWEntry ::= SEQUENCE {
	mellanoxSWPartitionIndex
		INTEGER,
	mellanoxSWPartitionName
		OCTET STRING,
	mellanoxSWPartitionActive
		INTEGER,
	mellanoxSWPartitionBootNext
		INTEGER		
}

mellanoxSWPartitionIndex  OBJECT-TYPE
	SYNTAX     INTEGER
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Software image partition index"
	::= { mellanoxSWEntry 1 }

mellanoxSWPartitionName  OBJECT-TYPE
	SYNTAX     OCTET STRING 
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Software image name"
	::= { mellanoxSWEntry 2 }

mellanoxSWPartitionActive  OBJECT-TYPE
	SYNTAX     INTEGER
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Software image active (0=false, 1=true)"
	::= { mellanoxSWEntry 3 }

mellanoxSWPartitionBootNext  OBJECT-TYPE
	SYNTAX     INTEGER
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Software image boot next (0=false, 1=true)"
	::= { mellanoxSWEntry 4 }

mellanoxSWUpdateCmdSetNext  OBJECT-TYPE
	SYNTAX     INTEGER
	MAX-ACCESS read-write
	STATUS     current
	DESCRIPTION 
		"The number of the image partition to set as active
		0 - no change
		1 - partition number 1
		2 - partition number 2
		3 - move to the next partition"
	::= { mellanoxSWUpdateCmd 1 }

mellanoxSWUpdateCmdUri  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-write
	STATUS     current
	DESCRIPTION 
		"URI to fetch SW image file from for the update"
	::= { mellanoxSWUpdateCmd 2 }

mellanoxSWUpdateCmdExecute  OBJECT-TYPE
	SYNTAX     INTEGER {
		mellanoxSWUpdateCmdExecuteUpdate (1),
		mellanoxSWUpdateCmdExecuteSetNext (2)
	}
	MAX-ACCESS read-write
	STATUS     current
	DESCRIPTION 
		"Depending on selected operation -
		1 - Initiates software update process
		2 - Sets next boot partition"
	::= { mellanoxSWUpdateCmd 3 }
	
mellanoxSWUpdateCmdStatus  OBJECT-TYPE
	SYNTAX     INTEGER
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The status of the software update operation:
		0: No operation pending
		1-100: progress percentage
		101: success
		>200: failure"
	::= { mellanoxSWUpdateCmd 4 }

mellanoxSWUpdateCmdStatusString  OBJECT-TYPE
	SYNTAX     OCTET STRING
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"String status or error description"
	::= { mellanoxSWUpdateCmd 5 }

mellanoxSWActivePartition  OBJECT-TYPE
	SYNTAX     INTEGER
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Index of the currently active image partition"
	::= { mellanoxSWUpdateMibObjects 3 }

mellanoxSWNextBootPartition  OBJECT-TYPE
	SYNTAX     INTEGER
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Index of the next boot image partition"
	::= { mellanoxSWUpdateMibObjects 4 }
END
