• 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
    • Typically used as part of other solutions.
      • CBWFQ/HQF
    • Similar to ‘best effort’ traffic.
  • 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.

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.

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.

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.
  • Remaining Bandwidth
    • Commonly used with LLQ
    • Bandwidth remaining after LLQ allocations.
    • Command ‘bandwidth remaining x’
    • Calculated as Interface_BW – LLQ_BW

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s