- FIFO Queueing
- Simplest and easiest to configure.
- Only parameter is queue-depth
- Configuration
- Disable Previous queueing strategy
- ‘no fair-queue’
- Define queue depth
- ‘hold-queue out‘
- Disable Previous queueing strategy
- Typically used as part of other solutions.
- CBWFQ/HQF
- Similar to ‘best effort’ traffic.
- Simplest and easiest to configure.
- Fair Queueing
- Known as max-min scheduling.
- Services multiple requests for a shared resource.
- 1. Share resource equally
- 2. Take excessive amounts
- 3. Share excess equally among unsatisfied requests.
- ‘Try and treat all traffic the same’.
- Weighted Fair Queueing
- Max-min scheduling but not equal.
- Allocate bandwidth per flow proportional to weight metric.
- Flow is defined dynamically.
- Src/Dst IP + Src/Dst Port + ToS Byte
- Weight is IP Precedence + 1.
- Max-min scheduling but not equal.
Configuration:
- ‘fair queue <CDT> <Queues>’
- ‘hold-queue out <max buffers>’
- CDT
- Congestive Discard Threshold
- Individual queue size threshold.
- If number of flows > number of queues…
- Flow collision occurs and queues are shared.
- Congestive Discard Threshold
CBWFQ/HQF
- Allows defining of custom flows
- Class definition using MQC Syntax
- ‘bandwidth‘ keyword defines class’ ‘weight’
- Bandwidth is shared proportionally to weight
- Relative sharing, not absolute reservation.

NOTE – Bandwidth does not work on subinterfaces.
- Every queue in Hierarchical QoS Framework (HQF) is FIFO
- Includes ‘class-default’
- Buffer-limit with ‘queue-limit’ command.
- Global buffer limit with hold-queue out.
- Can be turned into Fair-Queue
- Command ‘fair-queue <FLOWS>‘
- All flows are equal, no weighting.
- Queue limit per flow is 1/4* queue-limit.
- Reservations
- Absolute with ‘bandwidth [Kbps]’
- Relative with ‘bandwidth percent [%]
- Percent of interface ‘bandwidth’ setting
- All bandwidths must sum to interface ‘bandwidth’
- Class-Default
- Always guaranteed at least 1% of interface BW
- max-reserved-bandwidth now deprecated.
- Always guaranteed at least 1% of interface BW
Low Latency Queue (LLQ) in HQF:
- Priority Queue
- Only one per Hierarchical QoS Framework (HQF) configuration.
- Designated with ‘priority [x]’
- Always emptied
- Optionally policed to X Kbps only in times of congestion.
- Congestion defined as having TX-Ring full.
- Multiple classes can have priority
- Share single queue but could be policed differently.
- Only one per Hierarchical QoS Framework (HQF) configuration.
- Remaining Bandwidth
- Commonly used with LLQ
- Bandwidth remaining after LLQ allocations.
- Command ‘bandwidth remaining x’
- Calculated as Interface_BW – LLQ_BW