-- =====================================================================
-- Copyright (c) 2004-2013 Hangzhou H3C Tech. Co., Ltd. All rights reserved.
--
-- Description: The file defines a MIB to provide WLAN QoS configuration.
-- configuration information.
-- Reference:
-- Version: V1.2
-- History:
-- V1.0 2008-7-23 created by heziqi
-- V1.1 2010-03-15 Modified by Wang Lu
--      Add h3cDot11RadioWmmEdcaCfg2Table
-- V1.2 2013-02-17 Modified by Xiao min
--      Change SYNTAX of h3cDot11RadioCacUserNum
-- =====================================================================
H3C-DOT11-QOS-MIB DEFINITIONS ::= BEGIN

IMPORTS
        TruthValue,
        TEXTUAL-CONVENTION
    FROM SNMPv2-TC
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32
    FROM SNMPv2-SMI
        h3cDot11,
        H3cDot11QosAcType,
        H3cDot11RadioElementIndex,
        H3cDot11ObjectIDType,
        H3cDot11RadioScopeType
    FROM H3C-DOT11-REF-MIB;

h3cDot11QoS MODULE-IDENTITY
    LAST-UPDATED "200807231200Z"
    ORGANIZATION
        "Hangzhou H3C Technologies Co., Ltd."
    CONTACT-INFO
        "Platform Team Hangzhou H3C Technologies Co., Ltd.
         Hai-Dian District Beijing P.R. China
         Http://www.h3c.com
         Zip:100085"
    DESCRIPTION
        "This MIB provides information about WLAN QoS configuration.

        GLOSSARY

        IEEE 802.11
        Standard to encourage interoperability among
        wireless networking equipment.

        WMM
        WMM is a wireless QoS protocol designed to preferentially
        transmit packets with high priority, thus guaranteeing
        better QoS services for voice and video applications in
        a wireless network.

        EDCA
        Enhanced distributed channel access (EDCA) is a channel
        contention mechanism designed by WMM to preferentially
        transmit packets with high priority and allocate more
        bandwidth to such packets.

        AC
        Access category (AC), is used for channel contention.
        WMM defines four access categories; they are AC-VO (voice),
        AC-VI (video), AC-BE (best-effort), and AC-BK (background)
        in the descending order of priority.  When contending for a
        channel, a high-priority AC preempts a low-priority AC.

        CAC
        Connection admission control (CAC) limits the number of
        clients that are using high-priority ACs (AC-VO and AC-VI)
        to guarantee sufficient bandwidth for existing high-priority
        traffic.

        U-APSD
        Unscheduled automatic power-save delivery (U-APSD) is a new
        power saving mechanism defined by WMM to enhance the power
        saving capability of clients.

        SVP
        SpectraLink voice priority (SVP) is a voice priority protocol
        designed by the Spectralink company to guarantee QoS for voice
        traffic."

    REVISION "200807231200Z"
    DESCRIPTION
            "The initial revision of this MIB module."
    ::= { h3cDot11 9 }

-- ==================================================================
-- Textual Conventions
-- ==================================================================
H3cDot11WMMSVPMapAC ::=  TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "The AC level which SVP packets are assigned to.
         acbk    : for background access category,
         acbe    : for best-effort access category,
         acvi    : for voice access category,
         acvo    : for video access category,
         disable : for disable SVP feature
        "
    SYNTAX      INTEGER
        {
            acbk(1),
            acbe(2),
            acvi(3),
            acvo(4),
            disable(5)
        }

H3cDot11WMMCACPolicy ::=  TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "The policy of CAC.
         channelUtilization : the channel utilization-based admission policy
                                 for CAC,
         userNumber         : the users-based admission policy for CAC"
    SYNTAX      INTEGER
        {
            channelUtilization(1),
            userNumber(2)
        }



-- ==================================================================
-- Major sections
-- ==================================================================
h3cDot11WmmCfgGroup OBJECT IDENTIFIER   ::= { h3cDot11QoS 1 }
--  Roaming Configuration Group has the following children:
--  h3cDot11RadioWmmCfgTable            ::= { h3cDot11WmmCfgGroup 1 }
--  h3cDot11RadioWmmEdcaCfgTable        ::= { h3cDot11WmmCfgGroup 2 }
--  h3cDot11StationWmmEdcaTable         ::= { h3cDot11WmmCfgGroup 3 }
--  h3cDot11WmmResetGroup               ::= { h3cDot11WmmCfgGroup 4 }

-- ==================================================================
-- h3cDot11WmmCfgGroup Definition
-- ==================================================================
-- ==================================================================
-- h3cDot11RadioWmmCfgTable Definition
-- ==================================================================
h3cDot11RadioWmmCfgTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cDot11RadioWmmCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table defines the basic parameters for WMM configuration."
    ::= { h3cDot11WmmCfgGroup 1 }

h3cDot11RadioWmmCfgEntry OBJECT-TYPE
    SYNTAX      H3cDot11RadioWmmCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This entry contains the basic information for WMM configuration."
    INDEX
        {
            h3cDot11WmmRadioIndex
        }
    ::= { h3cDot11RadioWmmCfgTable 1 }

H3cDot11RadioWmmCfgEntry ::= SEQUENCE
    {
        h3cDot11WmmRadioIndex           H3cDot11RadioElementIndex,
        h3cDot11RadioWmmEnabled         TruthValue,
        h3cDot11RadioSVPMapToAC         H3cDot11WMMSVPMapAC,
        h3cDot11RadioCacPolicy          H3cDot11WMMCACPolicy,
        h3cDot11RadioCacChlUtlValue     Integer32,
        h3cDot11RadioCacUserNum         Integer32
    }

h3cDot11WmmRadioIndex OBJECT-TYPE
    SYNTAX      H3cDot11RadioElementIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Represents index of the radio."
    ::= { h3cDot11RadioWmmCfgEntry 1 }

h3cDot11RadioWmmEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents the status of WMM in radio.
         'true' : The WMM function is enabled.
         'false': The WMM function is disabled."
    ::= { h3cDot11RadioWmmCfgEntry 2 }

h3cDot11RadioSVPMapToAC OBJECT-TYPE
    SYNTAX      H3cDot11WMMSVPMapAC
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents the AC level which SVP packets are assigned to.
         'acbk'   : Specifies the AC-BK (background traffic) queue.
         'acbe'   : Specifies the AC-BE (best-effort traffic) queue.
         'acvi'   : Specifies the AC-VI (video traffic) queue.
         'acvo'   : Specifies the AC-VO (voice traffic) queue.
         'disable' : Disable SVP packet mapping."
    ::= { h3cDot11RadioWmmCfgEntry 3 }

h3cDot11RadioCacPolicy OBJECT-TYPE
    SYNTAX      H3cDot11WMMCACPolicy
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents the policy for CAC.
         CAC requires that a client obtain permission of the AP before it can
         use a high-priority AC for transmission, thus guaranteeing bandwidth
         to the clients that have gained access.  CAC controls real time traffic
         (AC-VO and AC-VI traffic) but not common data traffic (AC-BE and AC-BK
         traffic)."
    ::= { h3cDot11RadioWmmCfgEntry 4 }

h3cDot11RadioCacChlUtlValue OBJECT-TYPE
    SYNTAX      Integer32(0..100)
    UNITS       "percent"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents Maximum channel utilization rate, that is, the medium
         time of the accepted AC-VO traffic and AC-VI traffic to the valid
         time during the unit time.
         This object can be set only if the value of h3cDot11RadioCacPolicy is
         ChannelUtilization."
    ::= { h3cDot11RadioWmmCfgEntry 5 }

h3cDot11RadioCacUserNum OBJECT-TYPE
    SYNTAX      Integer32(0..124)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents the users-based admission policy for CAC.
         This object can be set only if the value of h3cDot11RadioCacPolicy is
         userNumber."
    ::= { h3cDot11RadioWmmCfgEntry 6 }

-- ==================================================================
-- h3cDot11RadioWmmEdcaCfgTable Definition
-- ==================================================================
h3cDot11RadioWmmEdcaCfgTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cDot11RadioWmmEdcaCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table defines the basic parameters for EDCA configuration of
         radio."
    ::= { h3cDot11WmmCfgGroup 2 }

h3cDot11RadioWmmEdcaCfgEntry OBJECT-TYPE
    SYNTAX      H3cDot11RadioWmmEdcaCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This entry contains the basic information for EDCA configuration of
         radio."
    INDEX
        {
            h3cDot11WmmRadioIndex,
            h3cDot11RadioWmmAC
        }
    ::= { h3cDot11RadioWmmEdcaCfgTable 1 }

H3cDot11RadioWmmEdcaCfgEntry ::= SEQUENCE
    {
        h3cDot11RadioWmmAC          H3cDot11QosAcType,
        h3cDot11RadioWmmAifsn       Integer32,
        h3cDot11RadioWmmEcwMin      Integer32,
        h3cDot11RadioWmmEcwMax      Integer32,
        h3cDot11RadioWmmTxoplimit   Integer32,
        h3cDot11RadioWmmNoAck       TruthValue
    }

h3cDot11RadioWmmAC OBJECT-TYPE
    SYNTAX      H3cDot11QosAcType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Represents the AC level index of EDCA parameters of radio.
         'acbk' : Specifies AC-BK (background traffic).
         'acbe' : Specifies AC-BE (best-effort traffic).
         'acvi' : Specifies AC-VI (video traffic).
         'acvo' : Specifies AC-VO (voice traffic)."
    ::= { h3cDot11RadioWmmEdcaCfgEntry 1 }

h3cDot11RadioWmmAifsn OBJECT-TYPE
    SYNTAX      Integer32(1..15)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents AIFSN parameter of EDCA.  The value range of this
         object is limited by the radio chip capability."
    ::= { h3cDot11RadioWmmEdcaCfgEntry 2 }

h3cDot11RadioWmmEcwMin OBJECT-TYPE
    SYNTAX      Integer32(0..15)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents ECWmin parameter of EDCA.  The value range of this
         object is limited by the radio chip capability.
         ECWmin parameter of EDCA must be smaller than ECWmax parameter."
    ::= { h3cDot11RadioWmmEdcaCfgEntry 3 }

h3cDot11RadioWmmEcwMax OBJECT-TYPE
    SYNTAX      Integer32(0..15)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents ECWmax parameter of EDCA.  The value range of this
         object is limited by the radio chip capability.
         ECWmin parameter of EDCA must be larger than ECWmax parameter."
    ::= { h3cDot11RadioWmmEdcaCfgEntry 4 }

h3cDot11RadioWmmTxoplimit OBJECT-TYPE
    SYNTAX      Integer32(0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents TXOPLimit parameter of EDCA, the value must be
         in the range of 0 to 65535 (in units of 32 microseconds).
         The TXOP value of 0 indicates that only one MPDU can be
         transmitted.  The range of this argument is limited by the
         radio chip capability."
    ::= { h3cDot11RadioWmmEdcaCfgEntry 5 }

h3cDot11RadioWmmNoAck OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents the AC to adopt the No ACK policy.  The protocol
         defines two ACK policies: Normal ACK and No ACK."
    ::= { h3cDot11RadioWmmEdcaCfgEntry 6 }

-- ==================================================================
-- h3cDot11StationWmmEdcaTable Definition
-- ==================================================================
h3cDot11StationWmmEdcaTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cDot11StationWmmEdcaEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table defines the basic parameters for EDCA configuration of
         station."
    ::= { h3cDot11WmmCfgGroup 3 }

h3cDot11StationWmmEdcaEntry OBJECT-TYPE
    SYNTAX      H3cDot11StationWmmEdcaEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This entry contains the basic information for EDCA configuration of
         client.  If CAC is enabled for an AC, CAC is also enabled for ACs with
         higher priority.  For example, if CAC is enabled for AC-VI, CAC
         is also enabled for AC-VO.  However, enabling CAC for AC-VO does
         not enable CAC for AC-VI."
    INDEX
        {
            h3cDot11WmmRadioIndex,
            h3cDot11StationWmmAC
        }
    ::= { h3cDot11StationWmmEdcaTable 1 }

H3cDot11StationWmmEdcaEntry ::= SEQUENCE
    {
        h3cDot11StationWmmAC            H3cDot11QosAcType,
        h3cDot11StationWmmAifsn         Integer32,
        h3cDot11StationWmmEcwMin        Integer32,
        h3cDot11StationWmmEcwMax        Integer32,
        h3cDot11StationWmmTxoplimit     Integer32,
        h3cDot11StationWmmCacEnabled    TruthValue
    }

h3cDot11StationWmmAC OBJECT-TYPE
    SYNTAX      H3cDot11QosAcType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Represents the AC level index of EDCA parameters of client.
         'acbk' : Specifies AC-BK (background traffic).
         'acbe' : Specifies AC-BE (best-effort traffic).
         'acvi' : Specifies AC-VI (video traffic).
         'acvo' : Specifies AC-VO (voice traffic)."
    ::= { h3cDot11StationWmmEdcaEntry 1 }

h3cDot11StationWmmAifsn OBJECT-TYPE
    SYNTAX      Integer32(2..15)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents AIFSN parameter of EDCA."
    ::= { h3cDot11StationWmmEdcaEntry 2 }

h3cDot11StationWmmEcwMin OBJECT-TYPE
    SYNTAX      Integer32(0..15)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents ECWmin parameter of EDCA."
    ::= { h3cDot11StationWmmEdcaEntry 3 }

h3cDot11StationWmmEcwMax OBJECT-TYPE
    SYNTAX      Integer32(0..15)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents ECWmax parameter of EDCA."
    ::= { h3cDot11StationWmmEdcaEntry 4 }

h3cDot11StationWmmTxoplimit OBJECT-TYPE
    SYNTAX      Integer32(0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents TXOPLimit parameter of EDCA, the value is in units of 32
         microseconds.
         The TXOP value of 0 indicates that only one MPDU can be
         transmitted."
    ::= { h3cDot11StationWmmEdcaEntry 5 }

h3cDot11StationWmmCacEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents the AC to adopt the No ACK policy.  The protocol
         defines two ACK policies: Normal ACK and No ACK.  Only if
         the value of h3cDot11StationWmmAC is 'acvo' or 'acvi', Cac
         can be set correctly here."
    ::= { h3cDot11StationWmmEdcaEntry 6 }

-- ==================================================================
-- end of h3cDot11StationWmmEdcaTable Definition
-- ==================================================================
h3cDot11WmmResetGroup OBJECT IDENTIFIER  ::= { h3cDot11WmmCfgGroup 4 }

h3cDot11WmmResetRadioByAP OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Clear the WMM statistics information of the radio of the
         specified AP or all radios.
         The meaning of this object is the same as h3cDot11APElementIndex,
         it represents the index of AP element.  If the value of this object
         is set to 0xFFFFFFFF, WMM statistics information of all radios
         will be cleared.
         The value of this object is always 0 with the get operation."
    ::= { h3cDot11WmmResetGroup 1 }

h3cDot11WmmResetStationByAP OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Clear the WMM statistics information of the clients associated
         with the specified AP, or of all clients.
         The meaning of this object is the same as h3cDot11APElementIndex,
         it represents the index of AP element.  If set with the
         0xFFFFFFFF, it will clear the WMM statistics information of all
         clients.
         The value of this object is always 0 with the get operation."
    ::= { h3cDot11WmmResetGroup 2 }

h3cDot11RadioWmmEdcaCfg2Table OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cDot11RadioWmmEdcaCfg2Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table defines the basic parameters for EDCA configuration of
         radio."
    ::= { h3cDot11WmmCfgGroup 5 }

h3cDot11RadioWmmEdcaCfg2Entry OBJECT-TYPE
    SYNTAX      H3cDot11RadioWmmEdcaCfg2Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This entry contains the basic information for EDCA configuration of
         radio."
    INDEX
        {
            h3cDot11WMMAPSerialID,
            h3cDot11WMMRdId,
            h3cDot11RdWmmAC
        }
    ::= { h3cDot11RadioWmmEdcaCfg2Table 1 }

H3cDot11RadioWmmEdcaCfg2Entry ::= SEQUENCE
    {
        h3cDot11WMMAPSerialID    H3cDot11ObjectIDType,
        h3cDot11WMMRdId          H3cDot11RadioScopeType,
        h3cDot11RdWmmAC          H3cDot11QosAcType,
        h3cDot11RdWmmAifsn       Integer32,
        h3cDot11RdWmmEcwMin      Integer32,
        h3cDot11RdWmmEcwMax      Integer32,
        h3cDot11RdWmmTxoplimit   Integer32
    }

h3cDot11WMMAPSerialID OBJECT-TYPE
    SYNTAX      H3cDot11ObjectIDType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Serial ID of the AP."
    ::= { h3cDot11RadioWmmEdcaCfg2Entry 1 }

h3cDot11WMMRdId OBJECT-TYPE
    SYNTAX      H3cDot11RadioScopeType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "radio ID of the radio."
    ::= { h3cDot11RadioWmmEdcaCfg2Entry 2 }


h3cDot11RdWmmAC OBJECT-TYPE
    SYNTAX      H3cDot11QosAcType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Represents the AC level index of EDCA parameters of radio.
         'acbk' : Specifies AC-BK (background traffic).
         'acbe' : Specifies AC-BE (best-effort traffic).
         'acvi' : Specifies AC-VI (video traffic).
         'acvo' : Specifies AC-VO (voice traffic)."
    ::= { h3cDot11RadioWmmEdcaCfg2Entry 3 }

h3cDot11RdWmmAifsn OBJECT-TYPE
    SYNTAX      Integer32(1..15)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents AIFSN parameter of EDCA.  The value range of this
         object is limited by the radio chip capability."
    ::= { h3cDot11RadioWmmEdcaCfg2Entry 4 }

h3cDot11RdWmmEcwMin OBJECT-TYPE
    SYNTAX      Integer32(0..15)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents ECWmin parameter of EDCA.  The value range of this
         object is limited by the radio chip capability.
         ECWmin parameter of EDCA must be smaller than ECWmax parameter."
    ::= { h3cDot11RadioWmmEdcaCfg2Entry 5 }

h3cDot11RdWmmEcwMax OBJECT-TYPE
    SYNTAX      Integer32(0..15)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents ECWmax parameter of EDCA.  The value range of this
         object is limited by the radio chip capability.
         ECWmin parameter of EDCA must be larger than ECWmax parameter."
    ::= { h3cDot11RadioWmmEdcaCfg2Entry 6 }

h3cDot11RdWmmTxoplimit OBJECT-TYPE
    SYNTAX      Integer32(0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Represents TXOPLimit parameter of EDCA, the value must be
         in the range of 0 to 65535 (in units of 32 microseconds).
         The TXOP value of 0 indicates that only one MPDU can be
         transmitted.  The range of this argument is limited by the
         radio chip capability."
    ::= { h3cDot11RadioWmmEdcaCfg2Entry 7 }

END
