One of the principal functionalities of HSQ egress traffic manager are hierarchical rate limiting (with buffering or queuing) and scheduling functions. Rate limiters are implemented by a single or multiple threshold token buckets. The bucket thresholds define traffic burstiness. This implies that packets within each token bucket (rate limiter) are always sent at the full line rate, and only when one of the thresholds is reached (or bucket is filled), the object (queue, scheduling-class, aggregate-shaper) associated with the token bucket is stopped being served. The rate limiter allows traffic bursts (no traffic smoothing function), with a queue at the end of the shaping hierarchy. Because of the ability of the queue to buffer traffic, traffic limiters in this context are referred to as shapers.
The HSQ egress traffic manager supports a seven-tier shaping hierarchy with six levels of scheduling. Six levels of scheduling are realized via six scheduling classes that are served in a strict priority order by the port scheduler. Level six is the highest priority and one is the lowest. Scheduling classes should not be confused with a QoS policy driven forwarding class. Forwarding classes within the system are used between the ingress and egress forwarding complexes and help the system to map a packet to per-hop and per-domain behavior. Scheduling classes are slices of scheduling opportunity within a port scheduling context.