Hardware-assisted HQoS is based on hardware aggregate shapers, which provide enforcement of aggregate rates for a group of queues in the hardware. In the FP4-based chipset, hardware aggregate shapers are available at egress only. The queues are allocated in a block of eight to each hardware aggregate shaper.
Hardware aggregate shapers are controlled by three parameters:
Traffic is scheduled from the queues in a strict priority order based on the hardware scheduling priority assigned to each queue. This can be controlled using the sched-class command. There are 6 scheduling-classes available.
Hardware aggregate shapers do not need software-based HQoS to modify the oper-PIR of the queues to enforce an aggregate rate. This results in a significantly faster reaction time compared to traditional HQoS based on virtual schedulers.
The following examples show the configuration of a hardware aggregate shaper on a subscriber profile. The configuration is similar to traditional QoS configuration.
Classic CLI example:
*A:SR-1s-test>config>subscr-mgmt# info
----------------------------------------------
        sla-profile "trialSLA" create
            ingress
                qos 2
                exit
            exit
            egress
                qos 2
                exit
            exit
        exit
        sub-profile "trialSub" create
            egress
                agg-rate-limit 1500000
            exit
        exit
----------------------------------------------
*A:SR-1s-test>config>subscr-mgmt#
MD-CLI example:
[/configure subscriber-mgmt]
A:admin@SR-1s# info
    sub-profile "trialSub" {
        egress {
            qos {
                agg-rate {
                    rate 1500000
                    burst-limit auto
                }
            }
        }
    }
    sla-profile "trialSLA" {
        egress {
            qos {
                sap-egress {
                    policy-name "trial-egr"
                }
            }
        }
        ingress {
            qos {
                sap-ingress {
                    policy-name "trial-ingr"
                }
            }
        }