Aligning QoS End-to-End: NIC, DSA, Switch and Wi-Fi

Aligning QoS End-to-End: NIC, DSA, Switch and Wi-Fi

QoS doesn’t fail because it’s hard.

It fails because every layer interprets it differently.

Switches, NICs, and Wi-Fi all have their own models.

If they don’t align, QoS becomes unpredictable.

The 4-Class Reality

Across the system, everything converges to 4 classes:

  • VO (voice)
  • VI (video)
  • BE (best effort)
  • BK (background)

This appears in:

  • switch CoS queues
  • Wi-Fi WMM
  • NIC TX queues

The key is alignment.

The Problem: Mismatched Layers

Without alignment:

  • DSCP says one thing
  • switch does another
  • Wi-Fi does something else

This leads to inconsistent prioritization.

The Solution: One Language

We map everything into the same 4 classes:

  • DSCP → skb->priority
  • skb->priority → NIC queue
  • NIC queue → DSA → switch CoS
  • DSCP → WMM (Wi-Fi)

Now:

every layer agrees on priority.

The Role of mqprio

mqprio provides the control surface.

It allows mapping priorities to queues.

Even with limitations, it enables consistency.

Why This Matters

Without alignment:

  • QoS breaks under load
  • latency becomes unpredictable

With alignment:

  • hardware queues behave correctly
  • Wi-Fi prioritization matches wired

Conclusion

QoS is not about control.

It is about consistency.

Once all layers speak the same language, the system works as expected.

Leave a Reply

Your email address will not be published. Required fields are marked *