Hardware-assisted HQoS introduces a new way to implement queue-weight based bandwidth distribution.
The queue hardware-enforced FIR rate is used to provide weighted fair access between queues assigned to the same hardware scheduling priority (scheduling class) within a hardware aggregate shaper, by dynamically changing the queue's hardware scheduling priority as shown in Figure: Hardware FIR enforcement for dynamic fairness control.
Every queue in a hardware aggregate shaper is described by the following parameters:
The aggregate shaper weight algorithm operates similarly to the virtual-scheduler HQoS algorithm, meaning that the offered load of the queues at the same scheduling class is weighted against the aggregate shaper weight to determine the FIR, which then controls hardware-based scheduling.
A FIR-based algorithm is more efficient and more responsive to dynamic changes in offered load. The PIR is not adjusted, which prevents aggregate-rate underruns in case of a sudden change in an incoming load for some queues.
When hardware aggregate shapers are enabled, CIR as a queue parameter has no impact on the BW allocation algorithm, as in traditional HQoS. The CIR is still used for calculation of the default CBS. The queue-frame-based-accounting setting is also ignored when hardware aggregate shaping is configured.
The following examples show a SAP egress policy configuration. Weight-based bandwidth distribution in this example is only between queue 1 and queue 2. These queues are both assigned to the same scheduling class (sched-class 3), while queue 3 has a higher priority scheduling-class (sched-class 5) and is served with strict priority.
Classic CLI example:
*A:SR-1s-test>config>qos>sap-egress# info
----------------------------------------------
queue 1 create
mbs 100 kilobytes
burst-limit 500 bytes
agg-shaper-weight 5
sched-class 3
exit
queue 2 create
mbs 100 kilobytes
burst-limit 500 bytes
agg-shaper-weight 15
sched-class 3
exit
queue 3 create
mbs 100 kilobytes
burst-limit 500 bytes
sched-class 5
exit
fc af create
queue 2
exit
fc be create
queue 1
exit
fc ef create
queue 3
exit
----------------------------------------------
*A:SR-1s-test>config>qos>sap-egress#
MD-CLI example:
[/configure qos]
A:admin@SR-1s# info
sap-egress "trial-egr" {
queue 1 {
agg-shaper-weight 5
burst-limit 500
mbs 102400
sched-class 3
}
queue 2 {
agg-shaper-weight 15
burst-limit 500
mbs 102400
sched-class 3
}
queue 3 {
burst-limit 500
mbs 102400
sched-class 5
}
fc be {
queue 1
}
fc af {
queue 2
}
fc ef {
queue 3
}