LLQ: giving voice a fast lane without starving everyone else

Voice packets don't need much bandwidth — a G.711 call is a mere 80 kbps. What they can't tolerate is waiting in line. A voice packet stuck behind a 1500-byte software update is a click in someone's ear. Low Latency Queuing (LLQ) solves this with one elegant move: a strict-priority queue in front of everything else.

Priority is also a promise to others

The priority command does two things at once:

  1. Guarantees latency — packets in the priority queue are always serviced first.
  2. Polices the queue — during congestion, priority traffic exceeding its allocation is dropped, not queued.

That second part surprises people. The policer is what stops a misbehaving voice VLAN from starving every other queue. Strict priority without a cap would be a denial-of-service feature.

class-map match-any CM-VOICE
 match dscp ef
class-map match-any CM-CALL-CONTROL
 match dscp cs3

policy-map PM-WAN-EDGE
 class CM-VOICE
  priority 512
 class CM-CALL-CONTROL
  bandwidth 128
 class class-default
  fair-queue
  random-detect dscp-based

interface Serial0/1/0
 service-policy output PM-WAN-EDGE

Voice gets a 512 kbps fast lane, call signaling gets a guaranteed share via CBWFQ's bandwidth, and everyone else shares what's left fairly, with WRED keeping the queues from filling solid.

Reading the proof

R1# show policy-map interface Serial0/1/0
 Serial0/1/0

  Service-policy output: PM-WAN-EDGE

    queue stats for all priority classes:
      queueing
      queue limit 64 packets
      (queue depth/total drops/no-buffer drops) 0/0/0
      (pkts output/bytes output) 48211/9203212

    Class-map: CM-VOICE (match-any)
      48211 packets, 9203212 bytes
      priority: 512 kbps

The number to watch is total drops in the priority queue. Drops there mean either you under-provisioned the queue or something that isn't voice is wearing an EF marking it didn't earn — both worth a ticket.

Study angle

  • priority = LLQ, latency guarantee plus congestion-time policer.
  • bandwidth = CBWFQ, a minimum guarantee with no latency promise.
  • The two coexist in one policy map, and the exam will ask you which is which.

QoS is one of the most lab-friendly topics on the blueprint: everything is observable with one show command and a ping with a size argument. Use that.