QoS

2 posts

DSCP vs Linux socket priorities

I received some encouraging comments on G+ from Jesper Dangaard Brouer about my previous post on DSCP, Linux and VLAN priorities. Those comments and the work linked to (here) points to a few long-standing (but minor) issues with the way DSCP priorities are handled in Linux.

  1. Some DSCP values, like Expedited Forwarding, are not currently (3.17 and earlier) handled correctly.
  2. Linux Priorities, defined in include/uapi/linux/pkt_sched.h, are not documented particularly well, but forms part of the stable interface with userspace. Working with traffic classification (tc), queuing disciplines (qdisc) or VLANs requires at least a basic understanding of Linux socket priorities.
Continue reading →

Looking into DSCP and IEEE 802.1p (VLAN priorities).

I recently discovered a flaw in the VLAN implementation I did at work. It seemed that the normal TCP traffic had the correct VLAN priorities applied, but audio streaming UDP traffic did not.

This was due to DSCP being applied to the streaming audio and the fact that the VLAN device’s egress-qos-map was incorrect.

I had assumed, incorrectly, that VLAN priorities are applied to all traffic as long as we’re not using fancy queuing disciplines (qdiscs). After all, 802.1Q is strictly a layer 2 thing.

Continue reading →