This is the QMSS QOS packet scheduler header file. This corresponds to the firmware qos_sched_[be|le]_bin.h.
More...
Data Structures |
struct | Qmss_QosSchedQueueCfg |
| QoS scheduler queue configuration structure. More...
|
struct | Qmss_QosSchedGroupCfg |
| QoS scheduler group configuration. More...
|
struct | Qmss_QosSchedPortCfg |
| QoS scheduler port configuration. More...
|
struct | Qmss_QosSchedStats |
| QoS scheduler statistics. More...
|
struct | Qmss_QosSchedDropSchedStats |
| Drop scheduler statistics. More...
|
struct | Qmss_QosSchedDropSchedPushStats |
| Drop scheduler push statistics. More...
|
struct | Qmss_QosSchedDropSchedOutProf |
| Drop Scheduler Output Configuration Profile. More...
|
struct | Qmss_QosSchedDropSchedCfgProf |
| Drop Scheduler Configuration Profile. More...
|
struct | Qmss_QosSchedDropSchedQueCfg |
| Drop Scheduler Queue Configuration Profile. More...
|
struct | Qmss_QosSchedDropSchedStatsQueues |
| Drop Scheduler Push Stats Queue Pair. More...
|
struct | Qmss_QosSchedDropSchedCfg |
| Drop Scheduler Top Level configuration. More...
|
Defines |
#define | QMSS_QOS_SCHED_PDSP_NUM 1 |
#define | QMSS_QOS_SCHED_FULL_MAX_PHYS_PORTS 2 |
#define | QMSS_QOS_SCHED_LITE_MAX_PHYS_PORTS 10 |
#define | QMSS_QOS_SCHED_DROP_SCHED_FULL_MAX_PHYS_PORTS 0 |
#define | QMSS_QOS_SCHED_DROP_SCHED_LITE_MAX_PHYS_PORTS 20 |
#define | QMSS_QOS_SCHED_MAX_PHYS_PORTS |
#define | QMSS_QOS_SCHED_DROP_SCHED_MAX_PHYS_PORTS |
#define | QMSS_QOS_SCHED_FULL_MAX_LOG_GROUPS 5 |
#define | QMSS_QOS_SCHED_LITE_MAX_LOG_GROUPS 1 |
#define | QMSS_QOS_SCHED_FULL_MAX_QUEUES_PER_GROUP 8 |
#define | QMSS_QOS_SCHED_LITE_MAX_QUEUES_PER_GROUP 4 |
#define | QMSS_QOS_SCHED_STATS_FORWARDED_BYTES 1 |
#define | QMSS_QOS_SCHED_STATS_FORWARDED_PACKETS 2 |
#define | QMSS_QOS_SCHED_STATS_DISCARDED_BYTES 4 |
#define | QMSS_QOS_SCHED_STATS_DISCARDED_PACKETS 8 |
#define | QMSS_QOS_SCHED_DROP_SCHED_CFG_PROFILES 8 |
#define | QMSS_QOS_SCHED_DROP_SCHED_OUT_PROFILES 36 |
#define | QMSS_QOS_SCHED_DROP_SCHED_QUE_CONFIGS 80 |
#define | QMSS_QOS_SCHED_DROP_SCHED_STATS_BLOCKS 48 |
#define | QMSS_QOS_SCHED_DROP_SCHED_MAX_TC 16 |
#define | QMSS_QOS_SCHED_DROP_SCHED_STATS_QUEUES 4 |
#define | QMSS_QOS_SCHED_RETCODE_SUCCESS 1 |
#define | QMSS_QOS_SCHED_INVALID_COMMAND 2 |
#define | QMSS_QOS_SCHED_INVALID_INDEX 3 |
#define | QMSS_QOS_SCHED_INVALID_OPTION 4 |
#define | QMSS_QOS_SCHED_INVALID_PORT 100 |
#define | QMSS_QOS_SCHED_INVALID_GROUP 101 |
#define | QMSS_QOS_SCHED_INVALID_QUEUE 102 |
#define | QMSS_QOS_SCHED_INVALID_WRRTYPE 103 |
#define | QMSS_QOS_SCHED_INVALID_CIRTYPE 104 |
#define | QMSS_QOS_SCHED_INVALID_CONGTYPE 105 |
#define | QMSS_QOS_SCHED_INVALID_PORT_STATE 106 |
#define | QMSS_QOS_SCHED_INVALID_GROUP_STATE 107 |
#define | QMSS_QOS_SCHED_INVALID_CIR_MAX 108 |
#define | QMSS_QOS_SCHED_INVALID_PIR_MAX 109 |
#define | QMSS_QOS_SCHED_INVALID_CIR_ITERATION 110 |
#define | QMSS_QOS_SCHED_INVALID_PIR_ITERATION 111 |
#define | QMSS_QOS_SCHED_INVALID_WRR_CREDIT 112 |
#define | QMSS_QOS_SCHED_UNDERFLOW 113 |
#define | QMSS_QOS_SCHED_OVERFLOW 114 |
#define | QMSS_QOS_SCHED_INVALID_PARAM 115 |
#define | QMSS_QOS_SCHED_INVALID_MAGIC 116 |
#define | QMSS_QOS_SCHED_UNUSED_GROUP_ARGS 117 |
#define | QMSS_QOS_SCHED_INVALID_THROTTYPE 118 |
#define | QMSS_QOS_SCHED_REQ_DROP_SCHED 119 |
#define | QMSS_QOS_SCHED_INVALID_VALID_FLAG 120 |
#define | QMSS_QOS_SCHED_INVALID_DROP_MODE 121 |
#define | QMSS_QOS_SCHED_INVALID_TAILDROP_THRESH_TYPE 122 |
#define | QMSS_QOS_SCHED_INVALID_RED_TC 123 |
#define | QMSS_QOS_SCHED_INVALID_CFG_PROF_IDX 124 |
#define | QMSS_QOS_SCHED_INVALID_STATS_BLOCK_IDX 125 |
#define | QMSS_QOS_SCHED_INVALID_OUT_PROF_IDX 126 |
#define | QMSS_QOS_SCHED_INVALID_RED_THRESH 127 |
#define | QMSS_QOS_SCHED_INVALID_RED_THRESH_RECIP 128 |
#define | QMSS_QOS_SCHED_INVALID_INTNUM 131 |
#define | QMSS_QOS_SCHED_INVALID_TAIL_DROP_THRESH 132 |
#define | QMSS_QOS_SCHED_SMALL_WRR_CREDIT 133 |
#define | QMSS_QOS_SCHED_TAIL_ONLY 134 |
#define | QMSS_QOS_SCHED_PACKETS_SCALE_SHIFT 20 |
#define | QMSS_QOS_SCHED_BYTES_SCALE_SHIFT 11 |
Enumerations |
enum | Qmss_QosSchedAcctType { Qmss_QosSchedAcctType_PACKETS,
Qmss_QosSchedAcctType_BYTES
} |
| QoS scheduler accounting types. More...
|
enum | Qmss_QosSchedDropSchedProfValid { Qmss_QosSchedDropSchedProf_INVALID,
Qmss_QosSchedDropSchedProf_VALID
} |
| QoS scheduler Drop Scheduler profile valid/invalid. More...
|
enum | Qmss_QosSchedDropSchedMode { Qmss_QosSchedDropSchedMode_TAILDROP,
Qmss_QosSchedDropSchedMode_RED,
Qmss_QosSchedDropSchedMode_REM
} |
| QoS scheduler Drop Scheduler mode. More...
|
Functions |
Qmss_Result | Qmss_setQosSchedQueueBase (uint32_t queueNum) |
Qmss_Result | Qmss_getQosSchedQueueBase (uint32_t *queueNum) |
Qmss_Result | Qmss_configureQosSchedTimer (uint32_t timerConstant) |
Qmss_Result | Qmss_enableQosSchedPort (uint32_t port) |
Qmss_Result | Qmss_disableQosSchedPort (uint32_t port) |
Qmss_Result | Qmss_putCfgQosSchedPort (uint32_t port, Qmss_QosSchedPortCfg *cfg) |
Qmss_Result | Qmss_getCfgQosSchedPort (uint32_t port, Qmss_QosSchedPortCfg *cfg) |
Qmss_Result | Qmss_getQosSchedStats (Qmss_QosSchedStats *stats, uint32_t port, uint32_t group, uint32_t queue, uint32_t which_reset) |
uint32_t | Qmss_getQosSchedFwVersion (void) |
uint32_t | Qmss_getQosSchedFwMagic (void) |
Qmss_Result | Qmss_convertQosSchedBitRate (int32_t *result, uint32_t ticksPerSecond, uint32_t bitRatePerSecond) |
Qmss_Result | Qmss_convertQosSchedPacketRate (int32_t *result, uint32_t ticksPerSecond, uint32_t packetRatePerSecond) |
Qmss_Result | Qmss_setQosSchedDropSchedQueueBase (uint32_t queueNum) |
Qmss_Result | Qmss_getQosSchedDropSchedQueueBase (uint32_t *queueNum) |
Qmss_Result | Qmss_getCfgQosSchedDropSchedOutProfs (uint32_t port, Qmss_QosSchedDropSchedOutProf *profs, int32_t nProfs) |
Qmss_Result | Qmss_putCfgQosSchedDropSchedOutProfs (uint32_t port, Qmss_QosSchedDropSchedOutProf *profs, int32_t nProfs) |
Qmss_Result | Qmss_getCfgQosSchedDropSchedCfgProfs (uint32_t port, Qmss_QosSchedDropSchedCfgProf *profs, int32_t nProfs) |
Qmss_Result | Qmss_putCfgQosSchedDropSchedCfgProfs (uint32_t port, Qmss_QosSchedDropSchedCfgProf *profs, int32_t nProfs) |
Qmss_Result | Qmss_getCfgQosSchedDropSchedQueCfgs (uint32_t port, Qmss_QosSchedDropSchedQueCfg *cfgs, int32_t nCfgs) |
Qmss_Result | Qmss_putCfgQosSchedDropSchedQueCfgs (uint32_t port, Qmss_QosSchedDropSchedQueCfg *cfgs, int32_t nCfgs) |
Qmss_Result | Qmss_getCfgQosSchedDropSchedCfg (uint32_t port, Qmss_QosSchedDropSchedCfg *cfg) |
Qmss_Result | Qmss_putCfgQosSchedDropSchedCfg (uint32_t port, Qmss_QosSchedDropSchedCfg *cfg) |
Qmss_Result | Qmss_enableQosSchedDropSched (uint32_t port) |
Qmss_Result | Qmss_disableQosSchedDropSched (uint32_t port) |
Qmss_Result | Qmss_getQosSchedDropSchedStats (Qmss_QosSchedDropSchedStats *stats, uint32_t port, uint32_t block, uint32_t which_reset) |
Qmss_Result | Qmss_convertQosSchedDropSchedPushStats (Qmss_QosSchedDropSchedPushStats *stats, void *desc) |
Qmss_Result | Qmss_qosSchedDropSchedPushProxy (Qmss_QueueHnd hnd, void *descAddr, uint32_t packetSize, uint32_t descSize, Qmss_Location location) |
This is the QMSS QOS packet scheduler header file. This corresponds to the firmware qos_sched_[be|le]_bin.h.
- ============================================================================
(C) Copyright 2012-2013, Texas Instruments, Inc.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of Texas Instruments Incorporated nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.