
MELLANOX-IF-VPI-MIB DEFINITIONS ::= BEGIN

IMPORTS
	OBJECT-TYPE, MODULE-IDENTITY, Counter64, 
	Integer32, Gauge32
		FROM SNMPv2-SMI
	DisplayString
		FROM SNMPv2-TC
	mellanoxIfVPI
		FROM MELLANOX-SMI-MIB;

-- Mellanox If VPI MIB
-- 

mellanoxIfVPIMib MODULE-IDENTITY
	LAST-UPDATED "201707260000Z"
	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 VPI Interface MIB"

	REVISION "201707260000Z"
	DESCRIPTION 
		"Fixed syntax errors"
::= { mellanoxIfVPI 1 }


mellanoxIfVPITable  OBJECT-TYPE
	SYNTAX SEQUENCE OF MellanoxIfVPIEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		""
	::= { mellanoxIfVPIMib 1 }

mellanoxIfVPIEntry  OBJECT-TYPE
	SYNTAX 	MellanoxIfVPIEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		""
	INDEX { mellanoxIfVPIIndex }
	::= { mellanoxIfVPITable 1 }

MellanoxIfVPIEntry ::= SEQUENCE {
	mellanoxIfVPIIndex
		Integer32,
	mellanoxIfVPIIbPortPhysicalState
		INTEGER,
	mellanoxIfVPIIbPortLogicalState
		INTEGER,
	mellanoxIfVPIIbPortGuid
		DisplayString,
	mellanoxIfVPIPortXmitWait
		Counter64,
	mellanoxIfVPISymbolErrorCounter
		Counter64,
	mellanoxIfVPIPortAdminSpeed
		Gauge32,
	mellanoxIfVPISubnetName
		DisplayString,
	mellanoxIfVPISubnetPrefix
		DisplayString,
	mellanoxIfVPIIbLocalIdentifier
		Integer32,
	mellanoxIfVPI64bytePkts
		Counter64,
	mellanoxIfVPI65to127bytePkts
		Counter64,
	mellanoxIfVPI128to255bytePkts
		Counter64,
	mellanoxIfVPI256to511bytePkts
		Counter64,
	mellanoxIfVPI512to1023bytePkts
		Counter64,
	mellanoxIfVPI1024to1518bytePkts
		Counter64,
	mellanoxIfVPIJumboPkts
		Counter64,
	mellanoxIfVPIUndersizedPkts
		Counter64,
	mellanoxIfVPIOversizedPkts
		Counter64,
	mellanoxIfVPIUnknownControlOpcode
		Counter64,
	mellanoxIfVPIFCSErrors
		Counter64
}

mellanoxIfVPIIndex  OBJECT-TYPE
	SYNTAX     Integer32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The index of this table (taken from System II ifIndex)"
	::= { mellanoxIfVPIEntry 1 }

-- When writing this field, only values 0, 1, 2, and 3
-- are valid. Other values are ignored. See InfiniBand
-- Architecture Specification Volume 2, Link/Phy Interface
-- chapter.
-- 
-- Ethenent Switches return notAvailable on this parameter.

mellanoxIfVPIIbPortPhysicalState  OBJECT-TYPE
	SYNTAX     INTEGER {
		noStateChange (0),
		sleep (1),
		polling (2),
		disabled (3),
		portConfigurationTraining (4),
		linkUp (5),
		linkErrorRecovery (6),
		phyTest (7),
		notAvailable (100)
	}
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Infiniband Port physical state  "
	REFERENCE 
		"InfiniBand Architecture 
		Specification Volume 1 Release 1.2.1
		Section 14.2.5.6, Table 146, PortInfo:PortPhysicalState
		"
	::= { mellanoxIfVPIEntry 2 }

-- When writing this field, only legal transitions are
-- valid. See InfiniBand Architecture 
-- Specification Volume 1 Release 1.2.1
-- 7.2 Link States on page 170.
-- 
-- Ethenent Switches return notAvailable on this parameter.

mellanoxIfVPIIbPortLogicalState  OBJECT-TYPE
	SYNTAX     INTEGER {
		noState (0),
		down (1),
		initialize (2),
		armed (3),
		active (4),
		notAvailable (100)
	}
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Infiniband Port logical state "
	REFERENCE 
		"InfiniBand Architecture 
		Specification Volume 1 Release 1.2.1
		Section 14.2.5.6, Table 146, PortInfo:PortState
		"
	::= { mellanoxIfVPIEntry 3 }

-- Ethenent Switches return empty string on this parameter.

mellanoxIfVPIIbPortGuid  OBJECT-TYPE
	SYNTAX     DisplayString
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Infiniband PortGuid (64 bits length) -
		Value shall differ for each end port on a CA or router
		, but the same for all ports of a switch."
	REFERENCE 
		"InfiniBand Architecture 
		Specification Volume 1 Release 1.2.1
		Section 14.2.5.3, Table 142, NodeInfo:PortGuid"
	::= { mellanoxIfVPIEntry 4 }

-- A tick is a multiple of the time needed to transfer one byte

mellanoxIfVPIPortXmitWait  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"A VPI counter.
		The number of ticks during which the port selected by PortSelect
		had data to transmit but no data was sent during the entire
		tick either because of insufficient credits or because of lack of 
		arbitration."
	REFERENCE 
		"InfiniBand Architecture 
		Specification Volume 1 Release 1.2.1
		Section 16.1.3.5, Table 226 PortCounters:PortXmitWait"
	::= { mellanoxIfVPIEntry 5 }

mellanoxIfVPISymbolErrorCounter  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"A VPI counter
		Total number of minor link errors detected on one or more physical 
		lanes. "
	REFERENCE 
		"InfiniBand Architecture 
		Specification Volume 1 Release 1.2.1
		Section 16.1.3.5, Table 226 PortCounters:SymbolErrorCounter
		
		InfiniBand Architecture Specification, Volume 
		2, Link/Phy Interface."
	::= { mellanoxIfVPIEntry 6 }

mellanoxIfVPIPortAdminSpeed   OBJECT-TYPE
	SYNTAX     Gauge32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"The interface's configured bandwidth in units of 1,000,000 bits per 
		second. This value is represented in a similar way to the ifHighSpeed 
		column in IF-MIB."
	::= { mellanoxIfVPIEntry 7 }

mellanoxIfVPISubnetName   OBJECT-TYPE
	SYNTAX     DisplayString
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"This field will only be used in IB router systems.

		For mapped IB ports, this field will display the name of the subnet the port is mapped to.
		For L3 IB interfaces: the name assigned to them.
		In other cases: An empty string will be displayed"

	::= { mellanoxIfVPIEntry 8 }

mellanoxIfVPISubnetPrefix   OBJECT-TYPE
	SYNTAX     DisplayString
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"This field will only be used in IB systems.

		For L2 IB ports: the prefix of the subnet the port is mapped to.
		For L3 IB interfaces: the prefix assigned to them.
		In other cases: An empty string will be displayed."

	::= { mellanoxIfVPIEntry 9 }

mellanoxIfVPIIbLocalIdentifier   OBJECT-TYPE
	SYNTAX     Integer32
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"This field will only be used in L3 interfaces on IB router systems.

		For L3 IB interfaces, this field will display the local identifier (lid) of the subnet.
		In other cases: 0 will be displayed."
	::= { mellanoxIfVPIEntry 10 }

mellanoxIfVPI64bytePkts  OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Total number of packets with a length of 64 bytes. "
	REFERENCE 
		"Similar to etherStatsPkts64Octets defined in RMON-MIB"
	::= { mellanoxIfVPIEntry 11 }

mellanoxIfVPI65to127bytePkts	OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Total number of packets with a length between 65 and 127 bytes. "
	REFERENCE 
		"Similar to etherStatsPkts65to127Octets defined in RMON-MIB"
	::= { mellanoxIfVPIEntry 12 }

mellanoxIfVPI128to255bytePkts	OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Total number of packets with a length between 128 and 255 bytes. "
	REFERENCE 
		"Similar to etherStatsPkts128to255Octets defined in RMON-MIB"
	::= { mellanoxIfVPIEntry 13 }

mellanoxIfVPI256to511bytePkts	OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Total number of packets with a length between 256 and 511 bytes. "
	REFERENCE 
		"Similar to etherStatsPkts256to511Octets defined in RMON-MIB"
	::= { mellanoxIfVPIEntry 14 }

mellanoxIfVPI512to1023bytePkts	OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Total number of packets with a length between 512 and 1023 bytes. "
	REFERENCE 
		"Similar to etherStatsPkts512to1023Octets defined in RMON-MIB"
	::= { mellanoxIfVPIEntry 15 }

mellanoxIfVPI1024to1518bytePkts	OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Total number of packets with a length between 1024 and 1518 bytes. "
	REFERENCE 
		"Similar to etherStatsPkts1024to1518Octets defined in RMON-MIB"
	::= { mellanoxIfVPIEntry 16 }

mellanoxIfVPIJumboPkts	OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Total number of Jumbo-sized packets (bigger than 1518 bytes). "
	REFERENCE 
		""
	::= { mellanoxIfVPIEntry 17 }

mellanoxIfVPIUndersizedPkts	OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Total number of undersized packets (smaller than 64 bytes). "
	REFERENCE 
		"Similar to etherStatsUndersizePkts defined in RMON-MIB"
	::= { mellanoxIfVPIEntry 18 }

mellanoxIfVPIOversizedPkts	OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Total number of oversized packets (bigger than 9216 bytes). "
	REFERENCE 
		""
	::= { mellanoxIfVPIEntry 19 }

mellanoxIfVPIUnknownControlOpcode	OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Total number of unknown control opcodes. "
	REFERENCE 
		""
	::= { mellanoxIfVPIEntry 20 }

mellanoxIfVPIFCSErrors	OBJECT-TYPE
	SYNTAX     Counter64
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"Total number of Frame Check Sequence errors. "
	REFERENCE 
		""
	::= { mellanoxIfVPIEntry 21 }

END

