# Qmss_QosClusterCfgTB Struct Reference
[QMSS Low Level Driver Data Structures]

QoS cluster configuration structure for Modified Token Bucket. More...

`#include <qmss_qos.h>`

## Data Fields

uint32_t | maxGlobalCredit
uint8_t | qosQueCnt
uint8_t | qosQueNum [QMSS_QOS_MAX_QUE_PER_CLUSTER_COUNT]
uint16_t | qosQueRTFlags
uint8_t | egressQueCnt
Qmss_Queue | egressQueNum [QMSS_QOS_MAX_QUE_PER_CLUSTER_COUNT]
uint32_t | egressCongestionThreshold1
uint32_t | egressCongestionThreshold2
uint32_t | egressCongestionThreshold3
uint32_t | egressCongestionThreshold4

## Detailed Description

QoS cluster configuration structure for Modified Token Bucket.

## Field Documentation

uint32_t Qmss_QosClusterCfgTB::egressCongestionThreshold1

Each QOS cluster is configured with four egress congestion threshold values. Iteration credit is assigned to each queue in the cluster depending on the egress congestion, and the value of these four congestion thresholds.

It is implemented as shown below:

Egress Queue Congestion (Backlog) Level | QOS Queue Credit Assigned From no backlog to Threshold 1 | Double credit Between Threshold 1 and Threshold 2 | Normal credit Between Threshold 2 and Threshold 3 | Half credit Between Threshold 3 and Threshold 4 | Quarter credit Over Threshold 4 | No credit Egress Congestion Threshold point 1

uint32_t Qmss_QosClusterCfgTB::egressCongestionThreshold2

Egress Congestion Threshold point 2

uint32_t Qmss_QosClusterCfgTB::egressCongestionThreshold3

Egress Congestion Threshold point 3

uint32_t Qmss_QosClusterCfgTB::egressCongestionThreshold4

Egress Congestion Threshold point 4

uint8_t Qmss_QosClusterCfgTB::egressQueCnt

The total number of egress queues sampled to obtain the egress queue congestion estimation. Valid range is 1 to QMSS_QOS_MAX_QUE_PER_CLUSTER_COUNT

Qmss_Queue Qmss_QosClusterCfgTB::egressQueNum[QMSS_QOS_MAX_QUE_PER_CLUSTER_COUNT]

The Queue manger and Queue index of every egress queue enumerated in Egress Queue Count. These queue indices are absolute index values

uint32_t Qmss_QosClusterCfgTB::maxGlobalCredit

The maximum amount of global credit allowed to carry over to the next queue. Excess global credit is discarded

uint8_t Qmss_QosClusterCfgTB::qosQueCnt

The number of QOS queues in this cluster. Valid range is 1 to QMSS_QOS_MAX_QUE_PER_CLUSTER_COUNT

uint8_t Qmss_QosClusterCfgTB::qosQueNum[QMSS_QOS_MAX_QUE_PER_CLUSTER_COUNT]

The queue index (0 to 63) of each QOS queue in the cluster listed in priority order. These queue indices are relative to the configured QOS queue base index Ensure that the queue base passed into Qmss_setQosQueueBase supports the size of the queue index provided (eg some devices allocate fewer than 64 queues).

uint16_t Qmss_QosClusterCfgTB::qosQueRTFlags

This 9-bit mask contains 1 bit for each QOS queue in the cluster. When this bit is set for its corresponding QOS queue, iteration credit is treated as "real time" scheduling and does not scale when the egress queue become congested

The documentation for this struct was generated from the following file:

- qmss_qos.h

Copyright 2012, Texas Instruments Incorporated