librenms/librenms

View on GitHub
mibs/extreme/EXTREME-QOS-MIB

Summary

Maintainability
Test Coverage



-- ===============================================================================

--
-- Extreme QoS objects
--

EXTREME-QOS-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY FROM SNMPv2-SMI
        OBJECT-TYPE     FROM SNMPv2-SMI
                TruthValue      FROM SNMPv2-TC
        DisplayString   FROM RFC1213-MIB
        RowStatus       FROM SNMPv2-TC
        ifIndex                 FROM RFC1213-MIB
        extremeVlanIfIndex    FROM EXTREME-VLAN-MIB
                extremeAgent            FROM EXTREME-BASE-MIB;

        extremeQos MODULE-IDENTITY
                LAST-UPDATED "0007240000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme Quality-of-Service objects"
        ::= { extremeAgent 3 }

    extremeQosCommon    OBJECT IDENTIFIER ::= { extremeQos 1 }


    extremeUnitPaceMode OBJECT-TYPE
                   SYNTAX  INTEGER {
                        notApplicable(1),
                        normalEthernet(2),
                        lowLatency(3)
        }
                MAX-ACCESS    read-write
                STATUS deprecated
                DESCRIPTION
                "This object specifies whether the device currently
                recognises and gives priority treatment to the 
                forwarding of packets with the PACE(tm) bit set in 
                their MAC Source Address fields.
                
                PACE(tm) mode applies to the whole unit only and
                is only valid when device is in Ingress QoS mode
                as specified by extremeQosMode ingress(1). This
                object will report notApplicable(1) when in 
                egress(2) mode. Set operations with value
                notApplicable(1) will be rejected."
    ::= { extremeQosCommon 1 }                

--
-- Select QoS Mode
--
    extremeQosMode OBJECT-TYPE
        SYNTAX  INTEGER { ingress(1), egress(2) }
        MAX-ACCESS  read-write
        STATUS deprecated
        DESCRIPTION
                      "Indicates which QoS mode the device should
                       use. ingress(1) applies priority-based QoS based 
                       on the incoming packet's destination IP or MAC
                       address, 802.1p priority, PACE(tm), Source Port or
                       VLAN. egress(2) applies priority- and bandwidth-based
                       QoS based on destination IP or MAC address or VLAN.
                       See ExtremeWare documentation for further information."
    ::= { extremeQosCommon 4 }

--
-- Reset all QoS settings to defaults
--
    extremeQosUnconfigure OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS  read-write
        STATUS deprecated
        DESCRIPTION
                      "Setting this to true will reset all QoS settings
                        in the device to factory defaults. Reads from this
                        value return an undefined value."
    ::= { extremeQosCommon 5 }


--
-- QoS Profile table
--

    extremeQosProfileTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeQosProfileEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table lists QoS profiles."
        ::= { extremeQosCommon 6 }

    extremeQosProfileEntry    OBJECT-TYPE
        SYNTAX    ExtremeQosProfileEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An individual QoS profile Entry."
        INDEX {extremeQosProfileIndex}
        ::= {extremeQosProfileTable 1}

    ExtremeQosProfileEntry ::= SEQUENCE {
                extremeQosProfileIndex          INTEGER,
                extremeQosProfileName           DisplayString,
                extremeQosProfileMinBw          INTEGER,
                extremeQosProfileMaxBw          INTEGER,
                extremeQosProfilePriority       INTEGER,
                extremeQosProfileRowStatus      RowStatus
        }

        extremeQosProfileIndex OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS    read-create
                STATUS    current
                DESCRIPTION
                        "An index that uniquely identifies an entry in the
                        qos table."
                ::= { extremeQosProfileEntry 1}

        extremeQosProfileName OBJECT-TYPE
                SYNTAX    DisplayString (SIZE (0..127))
                MAX-ACCESS     read-create
                STATUS    current
                DESCRIPTION
                        "A unique qos profile name."
                ::= {extremeQosProfileEntry 2}

        extremeQosProfileMinBw  OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                 "The minumum percentage of bandwidth that this queue requires.
                 The Switch is required to provide the minumum amount of 
                 bandwidth to the queue. The lowest possible value is 0%."
                DEFVAL { 0 }
                ::= {extremeQosProfileEntry 3 }

                
        extremeQosProfileMaxBw    OBJECT-TYPE
                SYNTAX    INTEGER
            MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                 "The maximum percentage of bandwidth that this queue is
                 permitted to use.

                 If a non-default value is set for this object then it negates
                 any previously set value of extremeQosProfileMaxSustBwBps. In 
                 In addition, a set operation that supplies non-default values
                 for both this object and for extremeQosProfileMaxSustBwBps
                 will be rejected by the agent. In other words, you may supply
                 either an absolute or a percent limit, not both."
                DEFVAL { 100 }
                ::= {extremeQosProfileEntry 4 }

        extremeQosProfilePriority OBJECT-TYPE
                SYNTAX  INTEGER {
                                low(1),
                                lowHi(2),
                                normal(3),
                                normalHi(4),
                                medium(5),
                                mediumHi(6),
                                high(7),
                                highHi(8)
                }
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                        "The level of priority in which this queue will be
                        serviced by the Switch."
                ::= {extremeQosProfileEntry 5 }

        extremeQosProfileRowStatus OBJECT-TYPE
                SYNTAX    RowStatus
                MAX-ACCESS     read-create
                STATUS    current
                DESCRIPTION
                    "The status of the extremeQosProfile entry.
                    This object can be set to:
                                active(1)
                            createAndGo(4)
                                createAndWait(5)
                                destroy(6)

                    The following values may be read:
                                active(1)
                                notInService(2)
                                notReady(3).
                        
                    Setting this object to createAndGo(4) causes the agent
                    to attempt to create and commit the row based on 
                    the contents of the objects in the row.  If all necessary
                    information is present in the row and the values are
                    acceptible to the agent, the agent will change the 
                    status to active(1).  If any of the necessary objects  
                    are not available, the agent will reject the creation
                    request.        

                    Setting this object to createAndWait(5) causes a row
                    in this table to be created.  The agent sets the
                    status to notInService(2) if all of the information is
                    present in the row and the values are acceptable to the
                    agent; otherwise, the agent sets the status to notReady(3).

                    Setting this object to active(1) is only valid when
                    the current status is active(1) or notInService(2).  

                    When the state of the row transitions is set to active(1),
                    the agent creates the corresponding row in the ifTable..

                    Setting this object to destroy(6) will remove the
                    corresponding QoS Profile Entry.

                    In order for a set of this object to destroy(6) to succeed,
                    all dependencies on this row must have been removed.  These
                    will include any stacking dependencies in the ifStackTable
                    and any protocol specific tables dependencies."
        ::= { extremeQosProfileEntry 6 }

--
-- VLAN-based QoS Table
--
           extremeQosByVlanMappingTable    OBJECT-TYPE

        SYNTAX  SEQUENCE OF ExtremeQosByVlanMappingEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
          "Table to associate a Vlan with the QoS profile that the
           Vlan is using. Every Vlan is assigned a Qos Profile and
           hence there is an entry in this table corresponding to every
           entry in the extremeVlanIfTable."
        ::= { extremeQosCommon 7 }

    extremeQosByVlanMappingEntry    OBJECT-TYPE
        SYNTAX    ExtremeQosByVlanMappingEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
                        "The QoS associated with a particular Vlan."
        INDEX {extremeVlanIfIndex}
        ::= {extremeQosByVlanMappingTable 1}

    ExtremeQosByVlanMappingEntry ::= SEQUENCE {
            extremeQosByVlanMappingQosProfileIndex    INTEGER
    }

    extremeQosByVlanMappingQosProfileIndex OBJECT-TYPE
        SYNTAX    INTEGER (1..65535)
        MAX-ACCESS    read-write
        STATUS    current
        DESCRIPTION
            "Value of extremeQosProfileIndex that uniquely 
                    identifies a QoS Profile entry in extremeQosProfileTable.
                    This indicates the QoS to be given to traffic for this
                    Vlan in the absence of any other more specific 
                    configuration information for this traffic."
    ::= { extremeQosByVlanMappingEntry 1 }

--
-- Per Port QOS Table
--
    extremePerPortQosTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremePerPortQosEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "Global Qos Profiles are defined in the
                extremeQosProfileTable. This table contains a list
                    of ports for which the definition of certain global
            Qos Profiles has been overridden. The new definition
                    of the Qos profile parameters is in this table."
        ::= { extremeQosCommon 8 }

    extremePerPortQosEntry    OBJECT-TYPE
        SYNTAX    ExtremePerPortQosEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An individual overridden QoS profile Entry."
        INDEX {ifIndex, extremePerPortQosIndex}
        ::= {extremePerPortQosTable 1}

    ExtremePerPortQosEntry ::= SEQUENCE {
                extremePerPortQosIndex          INTEGER,
                extremePerPortQosMinBw          INTEGER,
                extremePerPortQosMaxBw          INTEGER,
                extremePerPortQosPriority       INTEGER,
                extremePerPortQosRowStatus      RowStatus
        }

        extremePerPortQosIndex OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS    read-create
                STATUS    current
                DESCRIPTION
                        "The value of this variable is the same as the value
            of extremeQosProfileIndex of the Qos Profile which
            is overridden (for the port specified by ifIndex) by 
            the definition in this table."
                ::= { extremePerPortQosEntry 1}

        extremePerPortQosMinBw  OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                   "The minumum percentage of bandwidth that this queue on the
           specified port requires. The Switch is required to provide 
           the minumum amount of bandwidth to the queue. The lowest 
           possible value is 0%."
                DEFVAL { 0 }
                ::= {extremePerPortQosEntry 2 }

                
        extremePerPortQosMaxBw    OBJECT-TYPE
                SYNTAX    INTEGER
            MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                 "The maximum percentage of bandwidth that this queue on the
                 specified port is permitted to use."
                DEFVAL { 100 }
                ::= {extremePerPortQosEntry 3 }

        extremePerPortQosPriority OBJECT-TYPE
                SYNTAX  INTEGER {
                                low(1),
                                lowHi(2),
                                normal(3),
                                normalHi(4),
                                medium(5),
                                mediumHi(6),
                                high(7),
                                highHi(8)
                }
                MAX-ACCESS  read-create
                STATUS current
                DESCRIPTION
                 "The level of priority in which this queue will be
                 serviced by the Switch."
                ::= {extremePerPortQosEntry 4 }

        extremePerPortQosRowStatus OBJECT-TYPE
                SYNTAX    RowStatus
                MAX-ACCESS     read-create
                STATUS    current
                DESCRIPTION
                 "The status of the extremePerPortQos entry.
         This object can be set to 
                    active(1)
            createAndGo(4)
                 The following value may be read:
                    active(1)
         Note that a destroy(6) is not supported. A row will only be
         deleted from this table when the Qos Profile indicated
         in that row is changed globally."

        ::= { extremePerPortQosEntry 5 }

        
--
-- QoS Ingress Priority
--
    extremeQosIngressPriorityTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeQosIngressPriorityEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table lists QoS ingress priority settings."
        ::= { extremeQosCommon 9 }

    extremeQosIngressPriorityEntry    OBJECT-TYPE
        SYNTAX    ExtremeQosIngressPriorityEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An individual QoS ingress priority Entry."
        INDEX {extremeQosIngressPriorityIndex}
        ::= {extremeQosIngressPriorityTable 1}

    ExtremeQosIngressPriorityEntry ::= SEQUENCE {
                extremeQosIngressPriorityIndex          INTEGER,
                extremeQosIngressPriorityName           DisplayString,
                extremeQosIngressPriorityValue          INTEGER
        }

        extremeQosIngressPriorityIndex OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS    read-only
                STATUS    current
                DESCRIPTION
                        "An index that uniquely identifies an entry in the
                        qos ingress priority table."
                ::= { extremeQosIngressPriorityEntry 1}

        extremeQosIngressPriorityName OBJECT-TYPE
                SYNTAX    DisplayString (SIZE (0..15))
                MAX-ACCESS     read-only
                STATUS    current
                DESCRIPTION
                        "A qos ingress priority name."
                ::= {extremeQosIngressPriorityEntry 2}
                
        extremeQosIngressPriorityValue OBJECT-TYPE
                SYNTAX  INTEGER (0..15)
                MAX-ACCESS    read-only
                STATUS    current
                DESCRIPTION
                        "The ingress Qos priority value."
                ::= { extremeQosIngressPriorityEntry 3}
                

--
-- IQoS Profile table
--

    extremeIQosProfileTable    OBJECT-TYPE
        SYNTAX    SEQUENCE OF ExtremeIQosProfileEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
            "This table lists ingress QoS profiles."
        ::= { extremeQosCommon 10 }

    extremeIQosProfileEntry    OBJECT-TYPE
        SYNTAX    ExtremeIQosProfileEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
            "An individual ingress QoS profile Entry."
        INDEX {ifIndex ,
                       extremeIQosProfileIndex}
        ::= {extremeIQosProfileTable 1}

    ExtremeIQosProfileEntry ::= SEQUENCE {
                extremeIQosProfileIndex          INTEGER,
                extremeIQosProfileName           DisplayString,
                extremeIQosProfileMinBwType      INTEGER,
                extremeIQosProfileMinBw          INTEGER,
                extremeIQosProfileMaxBwType      INTEGER,
                extremeIQosProfileMaxBw          INTEGER,
                extremeIQosProfileRED            INTEGER,
                extremeIQosProfileMaxBuf         INTEGER
        }

        extremeIQosProfileIndex OBJECT-TYPE
                SYNTAX  INTEGER (1..65535)
                MAX-ACCESS    read-only
                STATUS    current
                DESCRIPTION
                        "An index that uniquely identifies an entry in the
                        ingress Qos table."
                ::= { extremeIQosProfileEntry 1}
                
        extremeIQosProfileName OBJECT-TYPE
                SYNTAX    DisplayString (SIZE (0..127))
                MAX-ACCESS     read-only
                STATUS    current
                DESCRIPTION
                        "A unique ingress Qos profile name."
                ::= {extremeIQosProfileEntry 2}
                
        extremeIQosProfileMinBwType  OBJECT-TYPE
                SYNTAX  INTEGER {
            percentage(1),
            kbps(2),
                        mbps(3)
        }
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The type of the current minimum bandwith setting. A value
                   of 1 signifies that the minimum bandwith value is a percentage
                   of the configurable port bandwidth. A value of 2 or 3 signifies
                   a guaranteed minimum available bandwidth in Kbps or Mbps
                   respectively."
                ::= {extremeIQosProfileEntry 3 }

        extremeIQosProfileMinBw  OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                 "The guaranteed minimum bandwidth for this queue, expressed as either
                 a percentage or a specific bandwidth value, as specified by the value
                 of extremeIQosProfileMinBwType."
                DEFVAL { 0 }
                ::= {extremeIQosProfileEntry 4 }
                
        extremeIQosProfileMaxBwType  OBJECT-TYPE
                SYNTAX  INTEGER {
            percentage(1),
            kbps(2),
                        mbps(3)
        }
                MAX-ACCESS  read-only  
                STATUS current
                DESCRIPTION
                   "The type of the current maximum bandwith setting. A value
                   of 1 signifies that the maximum bandwith value is a percentage
                   of the configurable port bandwidth. A value of 2 or 3 signifies
                   a maximum allowed bandwidth in Kbps or Mbps respectively."
                ::= {extremeIQosProfileEntry 5 }
                
        extremeIQosProfileMaxBw    OBJECT-TYPE
                SYNTAX    INTEGER
            MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                 "The maximum allowed input bandwidth for this queue, expressed as 
                 either a percentage or a specific bandwidth value, as specified by 
                 the value of extremeIQosProfileMaxBwType."
                DEFVAL { 0 }
                ::= {extremeIQosProfileEntry 6 }

        extremeIQosProfileRED OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS  read-only
                STATUS current
                DESCRIPTION
                        "The Random Early Drop threshold. When the input queue fill
                        ratio exceeds this percentage, frames start to drop randomly
                        with a linear increasing drop probability as the queue fill
                        count approaches the max queue size. A value of 100 indicates
                        that this feature is currently disabled."
                ::= {extremeIQosProfileEntry 7 }

        extremeIQosProfileMaxBuf OBJECT-TYPE
                SYNTAX    INTEGER
                MAX-ACCESS     read-only
                STATUS    current
                DESCRIPTION
                    "The percentage of the total ingress queue size to use. Lower values
                    can be used to reduce the max latency through this queue, but with
                    potentially greater loss with bursty traffic."
        ::= { extremeIQosProfileEntry 8 }
        

--
-- VLAN-based Ingress QoS Table
--
           extremeIQosByVlanMappingTable    OBJECT-TYPE

        SYNTAX  SEQUENCE OF ExtremeIQosByVlanMappingEntry
        MAX-ACCESS  not-accessible
        STATUS current
        DESCRIPTION
          "Table to associate a Vlan with the ingress QoS profile 
                  that the Vlan is using. Every Vlan is assigned a Qos Profile 
                  and hence there is an entry in this table corresponding to
                  every entry in the extremeVlanIfTable."
        ::= { extremeQosCommon 11 }

    extremeIQosByVlanMappingEntry    OBJECT-TYPE
        SYNTAX    ExtremeIQosByVlanMappingEntry
        MAX-ACCESS    not-accessible
        STATUS    current
        DESCRIPTION
                        "The ingress QoS associated with a particular Vlan."
        INDEX {extremeVlanIfIndex}
        ::= {extremeIQosByVlanMappingTable 1}

    ExtremeIQosByVlanMappingEntry ::= SEQUENCE {
            extremeIQosByVlanMappingIQosProfileIndex    INTEGER
    }

    extremeIQosByVlanMappingIQosProfileIndex OBJECT-TYPE
        SYNTAX    INTEGER (1..65535)
        MAX-ACCESS    read-only
        STATUS    current
        DESCRIPTION
            "Value of extremeIQosProfileIndex that uniquely 
                    identifies an ingress QoS Profile entry in extremeIQosProfileTable.
                    This indicates the QoS to be given to traffic for this
                    Vlan in the absence of any other more specific 
                    configuration information for this traffic."
    ::= { extremeIQosByVlanMappingEntry 1 }



END