ADTRAN-GENMEGRESSQUEUE-MIB

-- TITLE:     The ADTRAN Muxponder EGRESS QUEUE MIB
-- PRODUCT:   Muxponder Egress Queue Based Switching Elements
-- VERSION:   1.0
-- DATE:      11/05/2010
-- AUTHOR:    Anil Shah
-- STATUS:    PRELIMINARY

-- This MIB defines the object identifier (OID) for the
-- ADTRAN GenMEgressQueue MIB objects

-- HISTORY:
-- 11/05/10 ams   STATUS: PRELIMINARY.

-- ******************************************************************************************

DEFINITIONS ::= BEGIN

--==================================================================================================================
-- IMPORTS
--==================================================================================================================
IMPORTS
    OBJECT-TYPE,
    MODULE-IDENTITY,
    Unsigned32
        FROM SNMPv2-SMI
    DisplayString
        FROM SNMPv2-TC
    ifIndex
        FROM IF-MIB
    adGenMEgressQueue,
    adGenMEgressQueueID
        FROM ADTRAN-SHARED-CND-SYSTEM-MIB
    adGenSlotInfoIndex
        FROM ADTRAN-GENSLOT-MIB  
;

adGenMEgressQueueIdentity MODULE-IDENTITY
    LAST-UPDATED "201011051413Z"
    ORGANIZATION "Adtran, Inc."
    CONTACT-INFO
        "CND Tech Support
        Postal: ADTRAN, Inc.
                901 Explorer Blvd.
                Huntsville, AL  35806
                Tel: +1 800 726-8663
                Fax: +1 256 963 6217
                E-mail: support@adtran.com"
    DESCRIPTION
        "This MIB defines the objects for the Muxponder EGRESS QUEUE MIB."
    REVISION "201011051413Z"
    DESCRIPTION "Created"
    ::= { adGenMEgressQueueID 1 }

--==================================================================================================================
-- OBJECT IDENTIFIERS
--==================================================================================================================
adGenMEgressQueueSchedulerProvisioning           OBJECT IDENTIFIER ::= { adGenMEgressQueue 1 }
adGenMEgressQueueCongestionMgmtProvisioning      OBJECT IDENTIFIER ::= { adGenMEgressQueue 2 }

--==================================================================================================================
-- PROVISIONING
--==================================================================================================================
-- ******************************************************************************************
--  Muxponder Egress Queue Scheduler Provisioning Table
-- ******************************************************************************************
    adGenMEgressQueueSchedulerTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF AdGenMEgressQueueSchedulerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The Egress Queue Scheduler Provisioning table, 
             indexed by ifIndex, queueIndex."         
        ::= {  adGenMEgressQueueSchedulerProvisioning 1 }

    adGenMEgressQueueSchedulerEntry OBJECT-TYPE
        SYNTAX      AdGenMEgressQueueSchedulerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An Egress Queue entry in the Scheduler Provisioning table."
        INDEX  { ifIndex, adGenMEgressQueueSchedulerQueueIndex }
        ::= { adGenMEgressQueueSchedulerTable 1 }

    AdGenMEgressQueueSchedulerEntry ::=
        SEQUENCE 
        {
            adGenMEgressQueueSchedulerQueueIndex
                Unsigned32,
            adGenMEgressQueueSchedulerCos
                INTEGER,
            adGenMEgressQueueSchedulerWeight
                INTEGER,
            adGenMEgressQueueSchedulerLastError
                DisplayString,
            adGenMEgressQueueSchedulerErrorCode
                INTEGER
        }

    adGenMEgressQueueSchedulerQueueIndex OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This variable is the egress queue index. The values for this
            queue index can range from 1 to 8. This identifies the queue within
            the interface."
        ::= { adGenMEgressQueueSchedulerEntry 1 }

    adGenMEgressQueueSchedulerCos OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The internal COS value of this queue.  Possible
            values range from 0 to 7.  Where 7 is the highest 
            priority and 0 is the lowest"
        ::= { adGenMEgressQueueSchedulerEntry 2 }

    adGenMEgressQueueSchedulerWeight OBJECT-TYPE
        SYNTAX      INTEGER (1..101)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The weight of this queue in %. Value 101 indicates that the 
            weight percent is calculated dynamically - remaining weight is
            equally divided among the qeueus."
        ::= { adGenMEgressQueueSchedulerEntry 3 }

    adGenMEgressQueueSchedulerLastError OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The string describing the last error experienced."
        ::= { adGenMEgressQueueSchedulerEntry 4 }

    adGenMEgressQueueSchedulerErrorCode OBJECT-TYPE
        SYNTAX      INTEGER
        {
            noError(1),
            writeToHardwareFailed(2),
            weightSpreadExceeded(3),
            weightExceed100(4)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Error Code returned if the last Scheduler provisioning fails.
            noError               - Provisiong of entry in this table succeeded.
            writeToHardwareFailed - Writing to the hardware failed. 
                                    This is a catastrophic error and probably will result in restart of the product.
            weightSpreadExceeded  - Weights for the queue with the same CoS exceeded 10x limit.
            weightExceed100       - Total weights exceed 100%."
        ::= { adGenMEgressQueueSchedulerEntry 5 }

-- ******************************************************************************************
--  Muxponder Egress Queue Congestion Managment WRED Time Constant Table
-- ******************************************************************************************
    adGenMEgressQueueCongestionMgmtWREDTimeConstantTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF AdGenMEgressQueueCongestionMgmtWREDTimeConstantEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The WRED Time Constant table."
        ::= { adGenMEgressQueueCongestionMgmtProvisioning 1 }

    adGenMEgressQueueCongestionMgmtWREDTimeConstantEntry OBJECT-TYPE
        SYNTAX      AdGenMEgressQueueCongestionMgmtWREDTimeConstantEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The WRED Time Constant table."
        INDEX  { adGenSlotInfoIndex }
        ::= { adGenMEgressQueueCongestionMgmtWREDTimeConstantTable 1 }

    AdGenMEgressQueueCongestionMgmtWREDTimeConstantEntry ::=
        SEQUENCE 
        {
            adGenMEgressQueueCongestionMgmtWREDTimeConstant
                INTEGER,
            adGenMEgressQueueCongestionMgmtWREDTimeConstantLastError
                DisplayString,
            adGenMEgressQueueCongestionMgmtWREDTimeConstantErrorCode
                INTEGER
        }

    adGenMEgressQueueCongestionMgmtWREDTimeConstant OBJECT-TYPE
        SYNTAX      INTEGER
        {
            delay2ms(1),
            delay4ms(2),
            delay8ms(3),
            delay16ms(4),
            delay32ms(5),
            delay62ms(6),
            delay125ms(7),
            delay250ms(8),
            delay500ms(9)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The WRED time constant in mS"
        ::= { adGenMEgressQueueCongestionMgmtWREDTimeConstantEntry 1 }

    adGenMEgressQueueCongestionMgmtWREDTimeConstantLastError OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The string describing the last error experienced."
        ::= { adGenMEgressQueueCongestionMgmtWREDTimeConstantEntry 2 }

    adGenMEgressQueueCongestionMgmtWREDTimeConstantErrorCode OBJECT-TYPE
        SYNTAX      INTEGER
        {
            noError(1),
            writeToHardwareFailed(2),
            invalidTimeConstant(3)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Error Code returned if the last WRED Time Constant provisioning fails.
            noError               - Provisiong of entry in this table succeeded.
            writeToHardwareFailed - Writing to the hardware failed. 
                                    This is a catastrophic error and probably will result in restart of the product.
            invalidTimeConstant   - Received an invalid time constant."

        ::= { adGenMEgressQueueCongestionMgmtWREDTimeConstantEntry 3 }

-- ******************************************************************************************
--  Muxponder Egress Queue Congestion Managment Provisioing Table
-- ******************************************************************************************
    adGenMEgressQueueCongestionMgmtTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF AdGenMEgressQueueCongestionMgmtEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The Queue Provisioning Congestion Managment table for queue configurations, 
            indexed by egress queue."
        ::= { adGenMEgressQueueCongestionMgmtProvisioning 2 }

    adGenMEgressQueueCongestionMgmtEntry OBJECT-TYPE
        SYNTAX      AdGenMEgressQueueCongestionMgmtEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A Congestion Mgmt entry in the Queue Provisionig table."
        INDEX  { ifIndex, adGenMEgressQueueCongestionMgmtQueueIndex }
        ::= { adGenMEgressQueueCongestionMgmtTable 1 }

    AdGenMEgressQueueCongestionMgmtEntry ::=
        SEQUENCE 
        {
            adGenMEgressQueueCongestionMgmtQueueIndex
                Unsigned32,
            adGenMEgressQueueCongestionMgmtQueueMaxDepth
                INTEGER,
            adGenMEgressQueueCongestionMgmtWREDDropProbabilityGreen
                INTEGER,
            adGenMEgressQueueCongestionMgmtWREDDropProbabilityYellow
                INTEGER,
            adGenMEgressQueueCongestionMgmtThresholdGreenMax         
                INTEGER,
            adGenMEgressQueueCongestionMgmtThresholdGreenMin
                INTEGER,
            adGenMEgressQueueCongestionMgmtThresholdYellowMax         
                INTEGER,
            adGenMEgressQueueCongestionMgmtThresholdYellowMin
                INTEGER,
            adGenMEgressQueueCongestionMgmtAlgorithm
                INTEGER,
            adGenMEgressQueueCongestionMgmtLastError
                DisplayString,
            adGenMEgressQueueCongestionMgmtErrorCode
                INTEGER
        }

    adGenMEgressQueueCongestionMgmtQueueIndex OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This variable is the egress queue index. The values for this
            queue index can range from 1 to 8. This identifies the queue within
            the interface."
        ::= { adGenMEgressQueueCongestionMgmtEntry 1 }

    adGenMEgressQueueCongestionMgmtQueueMaxDepth OBJECT-TYPE
        SYNTAX      INTEGER (1..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The max depth of this queue, in packets."
        ::= { adGenMEgressQueueCongestionMgmtEntry 2}

    adGenMEgressQueueCongestionMgmtWREDDropProbabilityGreen OBJECT-TYPE
        SYNTAX      INTEGER (0..100)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The WRED Max Drop Probability in % for Green traffic"
        ::= { adGenMEgressQueueCongestionMgmtEntry 3 }

    adGenMEgressQueueCongestionMgmtWREDDropProbabilityYellow OBJECT-TYPE
        SYNTAX      INTEGER (0..100)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The WRED Max Drop Probability in % for Yellow traffic"
        ::= { adGenMEgressQueueCongestionMgmtEntry 4 }

    adGenMEgressQueueCongestionMgmtThresholdGreenMax OBJECT-TYPE
        SYNTAX      INTEGER (1..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The Max Threshold, in packets, of Green Traffic"
        ::= { adGenMEgressQueueCongestionMgmtEntry 5 }

    adGenMEgressQueueCongestionMgmtThresholdGreenMin OBJECT-TYPE
        SYNTAX      INTEGER (1..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The Min Threshold, in packets, of Green Traffic"
        ::= { adGenMEgressQueueCongestionMgmtEntry 6 }
      
    adGenMEgressQueueCongestionMgmtThresholdYellowMax OBJECT-TYPE
        SYNTAX      INTEGER (1..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The Max Threshold, in packets, of Yellow Traffic"
        ::= { adGenMEgressQueueCongestionMgmtEntry 7 }

    adGenMEgressQueueCongestionMgmtThresholdYellowMin OBJECT-TYPE
        SYNTAX      INTEGER (1..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The Min Threshold, in packets, of Yellow Traffic"
        ::= { adGenMEgressQueueCongestionMgmtEntry 8 }

    adGenMEgressQueueCongestionMgmtAlgorithm OBJECT-TYPE
        SYNTAX      INTEGER
        {
            tailDrop(1),
            weightedRandomEarlyDetection(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The algorithm of Congestion Managment for this Egress Queue"
        ::= { adGenMEgressQueueCongestionMgmtEntry 9 }

    adGenMEgressQueueCongestionMgmtLastError OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The string describing the last error experienced."
        ::= { adGenMEgressQueueCongestionMgmtEntry 10 }

    adGenMEgressQueueCongestionMgmtErrorCode OBJECT-TYPE
        SYNTAX      INTEGER
        {
            noError(1),
            writeToHardwareFailed(2)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Error Code returned if the last Congestion Mgmt provisioning fails.
            noError               - Provisiong of entry in this table succeeded.
            writeToHardwareFailed - Writing to the hardware failed. 
                                    This is a catastrophic error and probably will result in restart of the product."
        ::= { adGenMEgressQueueCongestionMgmtEntry 11 }

END

