ENTERASYS-TRANSMIT-QUEUE-MONITOR-MIB DEFINITIONS ::= BEGIN

--  enterasys-transmit-queue-monitor-mib.txt 
--
--  Part Number:
--
--

--  This module provides authoritative definitions for Enterasys
--  Networks' Transmit Queue Monitor MIB

--
--  This module will be extended, as needed.

--  Enterasys Networks reserves the right to make changes in this
--  specification and other information contained in this document
--  without prior notice.  The reader should consult Enterasys Networks
--  to determine whether any such changes have been made.
--
--  In no event shall Enterasys Networks be liable for any incidental,
--  indirect, special, or consequential damages whatsoever (including
--  but not limited to lost profits) arising out of or related to this
--  document or the information contained in it, even if Enterasys
--  Networks has been advised of, known, or should have known, the
--  possibility of such damages.
--
--  Enterasys Networks grants vendors, end-users, and other interested
--  parties a non-exclusive license to use this Specification in
--  connection with the management of Enterasys Networks products.

--  Copyright February, 2013 Enterasys Networks, Inc.

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,Integer32, Counter64, NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    ifIndex, ifName
        FROM IF-MIB
    TruthValue
        FROM SNMPv2-TC
    etsysModules
        FROM ENTERASYS-MIB-NAMES;

etsysTxqMonitorMIB MODULE-IDENTITY
    LAST-UPDATED "201302251627Z"  -- Mon Feb 25 16:27 UTC 2013
    ORGANIZATION "Enterasys Networks, Inc"
    CONTACT-INFO
        "Postal:  Enterasys Networks
                  9 Northeastern Blvd
                  Salem, NH 03079
                  USA
         Phone:   +1 978 684 1000
         E-mail:  support@enterasys.com
         WWW:     http://www.enterasys.com"

    DESCRIPTION
        "This MIB module defines a portion of the SNMP MIB under
         the Enterasys Networks enterprise OID pertaining to
         the Transmit Queue Monitor MIB."

    REVISION    "201302251627Z"  -- Mon Feb 25 16:27 UTC 2013
    DESCRIPTION  "Initial version of this MIB module."

    ::= { etsysModules 99 }

-- -------------------------------------------------------------- --
-- branches in the ENTERASYS-TRANSMIT-QUEUE-MONITOR-MIB DEFINITIONS
-- -------------------------------------------------------------- --

etsysTxqMonitorObjects
    OBJECT IDENTIFIER ::= { etsysTxqMonitorMIB 1 }

etsysTxqMonitorNotifications
    OBJECT IDENTIFIER ::= { etsysTxqMonitorObjects 0 }

etsysTxqMonitor
    OBJECT IDENTIFIER ::= { etsysTxqMonitorObjects 1 }

etsysTxqMonitorPort
    OBJECT IDENTIFIER ::= { etsysTxqMonitorObjects 2 }

-- -------------------------------------------------------------
-- Objects in the etsysTxqMonitor 
-- -------------------------------------------------------------

etsysTxqMonitorDownTime OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "The number of sample intervals that ports disabled by 
         Transmit Queue Monitor may be held down. A value of zero 
         will set the down time to forever."
    DEFVAL { 0 }
    ::= { etsysTxqMonitor 1 }

etsysTxqMonitorIgnorePauseTime OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "The number of sample intervals that ports ignoring RX pause 
         by Transmit Queue Monitor may be held in this state. A value 
         of zero will set the ignore RX pause time to forever."
    DEFVAL { 0 }
    ::= { etsysTxqMonitor 2 }

etsysTxqMonitorMinRate OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "The minimum rate of transmitted packets in a 
         sampling interval."
    DEFVAL { 1 }
    ::= { etsysTxqMonitor 3 }

etsysTxqMonitorSampleInterval OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "The rate(in seconds) that the transmit queues
         will be checked for stalled buffers."
    DEFVAL { 1 }
    ::= { etsysTxqMonitor 4 }


etsysTxqMonitorTrapStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    enabled(1),
                    disabled(2)
                }
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "Trap status for transmit queue monitoring. When enabled, 
         traps will be sent when each of enabled thresholds are
         reached."
    DEFVAL { 2 }
    ::= { etsysTxqMonitor 5 }

etsysTxqMonitorLoggingThreshold OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "Threshold levels for the number of sequential failures
         before triggering logging action. A value of 0 
         disables the action."
    DEFVAL { 2 }
    ::= { etsysTxqMonitor 6 }

etsysTxqMonitorIgnorePauseThreshold OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "Threshold levels for the number of sequential failures
         before triggering ignore pause action. A value of 0 
         disables the action."
    DEFVAL { 5 }
    ::= { etsysTxqMonitor 7 }

etsysTxqMonitorDisablePortThreshold OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "Threshold levels for the number of sequential failures
         before triggering disable port action. A value of 0 
         disables the action."
    DEFVAL { 10 }
    ::= { etsysTxqMonitor 8 }

etsysTxqMonitorEnableState OBJECT-TYPE
    SYNTAX      INTEGER {
                    enabled(1),
                    disabled(2)
                }
    MAX-ACCESS  read-write
    STATUS current
    DESCRIPTION
        "Transmit monitoring global state. If enabled(1), all ports
         will monitor the transmit queues for stalled ports. If a port
         is detected as stalled, the configured action will take effect."
    DEFVAL { 1 } 
    ::= { etsysTxqMonitor 9 }

etsysTxqMonitorPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysTxqMonitorPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the Transmit Queue Monitoring port
         state."
    ::= { etsysTxqMonitorPort 1 }

etsysTxqMonitorPortEntry OBJECT-TYPE
    SYNTAX      EtsysTxqMonitorPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "An entry in the Port Table contains Transmit Queue
         Monitor operational status and state."
    INDEX { ifIndex }
    ::= { etsysTxqMonitorPortTable 1 }

EtsysTxqMonitorPortEntry ::=
    SEQUENCE {
        etsysTxqMonitorPortConsecutiveStalled   Counter64,
        etsysTxqMonitorPortTotalStalled         Counter64,
        etsysTxqMonitorPortOperationalStatus    INTEGER,
        etsysTxqMonitorPortReset                TruthValue,
        etsysTxqMonitorPortCapabilities         BITS
    }

etsysTxqMonitorPortConsecutiveStalled OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times the port has reached a stalled 
         state consecutively."
    ::= { etsysTxqMonitorPortEntry 1 }


etsysTxqMonitorPortTotalStalled OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of times the port has reached a 
         stalled state."
    ::= { etsysTxqMonitorPortEntry 2 }


etsysTxqMonitorPortOperationalStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    disabled(1),
                    normal(2),
                    logging(3),
                    ignorePause(4),
                    down(5)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Transit Queue Monitor operational state.

           disabled(1)    - Transmit queue monitoring is not running
                            on this port.
           normal(2)      - Transmit queue monitoring is currently
                            monitoring this port and there are no
                            stalled buffers.
           logging(3)     - Transmit queue monitoring has detected
                            a stalled buffer and is currently logging
                            the condition.
           ignorePause(4) - Transmit queue monitoring has disabled the
                            processing of received pause packets.
           down(5)          Transmit queue monitoring has taken this port
                            down.

        "
    ::= { etsysTxqMonitorPortEntry 3 }


etsysTxqMonitorPortReset OBJECT-TYPE
    SYNTAX      TruthValue 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This value shall always read false. When set to true,
         this object will clear any actions currently being
         taken by the transmit queue monitor and the ports
         etsysTxqMonitorPortOperationalStatus will
         be set to normal if transmit queue monitoring is enabled
         otherwise disabled."
    DEFVAL { false } 
    ::= { etsysTxqMonitorPortEntry 4 }

etsysTxqMonitorPortCapabilities OBJECT-TYPE
    SYNTAX      BITS {
                    logging(0),
                    ignorePause(1),
                    down(2)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object defines the capabilities the port supports for
         actions to be taken when a stalled port has been detected."
    ::= {  etsysTxqMonitorPortEntry 5 }

-- -------------------------------------------------------------
-- Notifications
-- -------------------------------------------------------------

etsysTxqMonitorLoggingNotification     NOTIFICATION-TYPE
    OBJECTS { ifName, etsysTxqMonitorLoggingThreshold }
    STATUS  current
    DESCRIPTION
        "This notification indicates that the port has exceeded
         its logging threshold."
    ::= { etsysTxqMonitorNotifications 1 }

etsysTxqMonitorIgnorePauseNotification NOTIFICATION-TYPE
    OBJECTS { ifName, etsysTxqMonitorIgnorePauseThreshold }
    STATUS  current
    DESCRIPTION
        "This notification indicates that the port has exceeded
         its ignore pause threshold."
    ::= { etsysTxqMonitorNotifications 2 }

etsysTxqMonitorDisablePortNotification NOTIFICATION-TYPE
    OBJECTS { ifName, etsysTxqMonitorDisablePortThreshold }
    STATUS  current
    DESCRIPTION
        "This notification indicates that the port has exceeded
         its disable port threshold."
    ::= { etsysTxqMonitorNotifications 3 }

-- -------------------------------------------------------------
-- Conformance Information
-- -------------------------------------------------------------

etsysTxqMonitorConformance OBJECT IDENTIFIER
    ::= { etsysTxqMonitorMIB 2 }

etsysTxqMonitorGroups OBJECT IDENTIFIER
    ::= { etsysTxqMonitorConformance 1 }

etsysTxqMonitorCompliances OBJECT IDENTIFIER
    ::= { etsysTxqMonitorConformance 2 }

-- -------------------------------------------------------------
-- Units of conformance
-- -------------------------------------------------------------

etsysTxqMonitorSettings OBJECT-GROUP
    OBJECTS     {
                  etsysTxqMonitorDownTime,
                  etsysTxqMonitorIgnorePauseTime,
                  etsysTxqMonitorMinRate,
                  etsysTxqMonitorSampleInterval,
                  etsysTxqMonitorTrapStatus,
                  etsysTxqMonitorLoggingThreshold,
                  etsysTxqMonitorIgnorePauseThreshold,
                  etsysTxqMonitorDisablePortThreshold,
                  etsysTxqMonitorEnableState,
                  etsysTxqMonitorPortConsecutiveStalled,
                  etsysTxqMonitorPortTotalStalled,
                  etsysTxqMonitorPortOperationalStatus,
                  etsysTxqMonitorPortReset,
                  etsysTxqMonitorPortCapabilities
    }
    STATUS current
    DESCRIPTION
        "A collection of objects for configuring and reporting 
         Transmit Queue Monitoring."
    ::= {etsysTxqMonitorGroups 1 }


etsysTxqMonitorNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
            etsysTxqMonitorLoggingNotification,
            etsysTxqMonitorIgnorePauseNotification,
            etsysTxqMonitorDisablePortNotification
    }
    STATUS    current
    DESCRIPTION
        "A collection of objects required for reporting 
         exceeding transmit queue monitoring thresholds."
    ::= { etsysTxqMonitorGroups 2 }

etsysTxqMonitorComplianceGroup MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for devices that support
         the Enterasys Transmit Queue Monitor MIB."
    MODULE
    MANDATORY-GROUPS {
                         etsysTxqMonitorSettings,
                         etsysTxqMonitorNotificationGroup
                     }
    ::= { etsysTxqMonitorCompliances 1}

END
