MELLANOX-DCB-TRAPS-MIB DEFINITIONS ::= BEGIN 

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    NOTIFICATION-TYPE                    FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP,
    NOTIFICATION-GROUP                   FROM SNMPv2-CONF
    ifIndex								 FROM IF-MIB
	TEXTUAL-CONVENTION			         FROM SNMPv2-TC
    mellanoxDCBTraps	         		 FROM MELLANOX-SMI-MIB;


mellanoxDCBTrapsMib   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 DCB Traps MIB"
    REVISION       "201707250000Z"
    DESCRIPTION    "Fixed syntax errors."
    ::= { mellanoxDCBTraps 1 }

-- Textual Conventions -- 

mellanoxDCBTrapsMibNotifications OBJECT IDENTIFIER
    ::= { mellanoxDCBTrapsMib 0 }
	
mellanoxDCBTrapsMibObjects  OBJECT IDENTIFIER
    ::= { mellanoxDCBTrapsMib 1 }

ProtocolStateType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
        "State of protocol.  Valid values are:

         enabled(1)     protocol is enabled.
         disabled(2)    protocol is disabled.
                       
        "
    SYNTAX INTEGER {
       enabled(1),
       disabled(2)
      }

mellanoxETSProtocolState OBJECT-TYPE
    SYNTAX   ProtocolStateType
    MAX-ACCESS   read-write
    STATUS   current
    DESCRIPTION
		"Indication of ETS protocol state"
	::= { mellanoxDCBTrapsMibObjects 1 }

mellanoxPFCProtocolState OBJECT-TYPE
    SYNTAX   ProtocolStateType
    MAX-ACCESS   read-write
    STATUS   current
    DESCRIPTION
		"Indication of PFC protocol state"
	::= { mellanoxDCBTrapsMibObjects 2 }

mellanoxDCBPortTable  OBJECT-TYPE
	SYNTAX SEQUENCE OF MellanoxDCBPortStatusEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"ifTable extension"
	REFERENCE 
		"IF-MIB"
	::= { mellanoxDCBTrapsMibObjects 3 }

mellanoxDCBPortStatusEntry  OBJECT-TYPE
	SYNTAX 	MellanoxDCBPortStatusEntry
	MAX-ACCESS not-accessible
	STATUS     current
	DESCRIPTION 
		"ifTable Index"
	INDEX { ifIndex }
	::= { mellanoxDCBPortTable 1 }

MellanoxDCBPortStatusEntry ::= SEQUENCE {
	mellanoxDCBPortETSAdminState
		ProtocolStateType,
	mellanoxDCBPortETSOperState
		ProtocolStateType,
	mellanoxDCBPortETSPeerState
		ProtocolStateType,
	mellanoxDCBPortPFCAdminState
		ProtocolStateType,
	mellanoxDCBPortPFCOperState
		ProtocolStateType,
	mellanoxDCBPortPFCPeerState
		ProtocolStateType
}

mellanoxDCBPortETSAdminState  OBJECT-TYPE
	SYNTAX     ProtocolStateType
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"ETS administrative state on port"
	::= { mellanoxDCBPortStatusEntry 1 }

mellanoxDCBPortETSOperState  OBJECT-TYPE
	SYNTAX     ProtocolStateType
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"ETS operational state on port"
	::= { mellanoxDCBPortStatusEntry 2 }

mellanoxDCBPortETSPeerState  OBJECT-TYPE
	SYNTAX     ProtocolStateType
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"ETS peer state on port"
	::= { mellanoxDCBPortStatusEntry 3 }

mellanoxDCBPortPFCAdminState  OBJECT-TYPE
	SYNTAX     ProtocolStateType
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"PFC administrative state on port"
	::= { mellanoxDCBPortStatusEntry 4 }

mellanoxDCBPortPFCOperState  OBJECT-TYPE
	SYNTAX     ProtocolStateType
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"PFC operational state on port"
	::= { mellanoxDCBPortStatusEntry 5 }

mellanoxDCBPortPFCPeerState  OBJECT-TYPE
	SYNTAX     ProtocolStateType
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION 
		"PFC peer state on port"
	::= { mellanoxDCBPortStatusEntry 6 }
	
-- Notifications --

mellanoxETSModuleStateTrap NOTIFICATION-TYPE
    OBJECTS {
        mellanoxETSProtocolState
    }
    STATUS            current
    DESCRIPTION
        "This notification is generated upon ETS protocol state change"
    ::= { mellanoxDCBTrapsMibNotifications 1 }
	
mellanoxETSPortAdminStateTrap NOTIFICATION-TYPE
    OBJECTS {
        ifIndex,
		mellanoxDCBPortETSAdminState
    }
    STATUS            current
    DESCRIPTION
        "This notification is generated upon ETS administrative state change on port"
    ::= { mellanoxDCBTrapsMibNotifications 2 }

mellanoxETSPortOperStateTrap NOTIFICATION-TYPE
    OBJECTS {
        ifIndex,
		mellanoxDCBPortETSOperState
    }
    STATUS            current
    DESCRIPTION
        "This notification is generated upon ETS operational state change on port"
    ::= { mellanoxDCBTrapsMibNotifications 3 }
	
mellanoxETSPortPeerStateTrap NOTIFICATION-TYPE
    OBJECTS {
        ifIndex,
		mellanoxDCBPortETSPeerState
    }
    STATUS            current
    DESCRIPTION
        "This notification is generated upon ETS peer state change on port"
    ::= { mellanoxDCBTrapsMibNotifications 4 }

mellanoxPFCModuleStateTrap NOTIFICATION-TYPE
    OBJECTS {
        mellanoxPFCProtocolState
    }
    STATUS            current
    DESCRIPTION
        "This notification is generated upon PFC protocol is enabled"
    ::= { mellanoxDCBTrapsMibNotifications 5 }

mellanoxPFCPortAdminStateTrap NOTIFICATION-TYPE
    OBJECTS {
        ifIndex,
		mellanoxDCBPortPFCAdminState
    }
    STATUS            current
    DESCRIPTION
        "This notification is generated upon PFC administrative state change on port"
    ::= { mellanoxDCBTrapsMibNotifications 6 }


mellanoxPFCPortOperStateTrap NOTIFICATION-TYPE
    OBJECTS {
        ifIndex,
		mellanoxDCBPortPFCOperState
    }
    STATUS            current
    DESCRIPTION
        "This notification is generated upon PFC operational state change on port"
    ::= { mellanoxDCBTrapsMibNotifications 7 }
	
mellanoxPFCPortPeerStateTrap NOTIFICATION-TYPE
    OBJECTS {
        ifIndex,
		mellanoxDCBPortPFCPeerState
    }
    STATUS            current
    DESCRIPTION
        "This notification is generated upon PFC peer state change on port"
    ::= { mellanoxDCBTrapsMibNotifications 8 }

END
        
        
