I have a Cisco 9800 WLC running Fast Lane with Apple devices (iPhone, iPad, macOS). The WLC negotiates QoS with Apple clients and marks traffic with the correct DSCP values (e.g. EF for voice, AF41 for video, CS1 for background).
Now I’m using VyOS 1.4 as my WAN edge router/firewall. The access switch (Catalyst 2960L) just trusts and passes DSCP values, so VyOS should be the device that actually enforces QoS policies before sending traffic to the internet.
Question:
How should I configure a traffic-policy shaper in VyOS 1.4 to prioritize traffic based on DSCP values?
Is there a recommended mapping template for EF, AF41, CS1, etc. in VyOS?
Here’s a simple policy to get you started. Just add your classes as needed:
set qos interface eth0 egress 'WAN_SHAPER'
set qos policy shaper WAN_SHAPER class 10 bandwidth '10kbit'
set qos policy shaper WAN_SHAPER class 10 match DSCP_EF ip dscp 'EF'
set qos policy shaper WAN_SHAPER default bandwidth '1gbit'
When you go to match dscp values, there are a bunch of presets so you don’t need to worry about mapping to decimal or TOS:
l0crian@NPB7# set qos policy shaper WAN_SHAPER class 10 match DSCP_EF ip dscp
Possible completions:
<0-63> Differentiated Services Codepoint (DSCP) value
default match DSCP (000000)
reliability match DSCP (000001)
throughput match DSCP (000010)
lowdelay match DSCP (000100)
priority match DSCP (001000)
immediate match DSCP (010000)
flash match DSCP (011000)
flash-override match DSCP (100000)
critical match DSCP (101000)
internet match DSCP (110000)
network match DSCP (111000)
AF11 High-throughput data
AF12 High-throughput data
AF13 High-throughput data
AF21 Low-latency data
AF22 Low-latency data
AF23 Low-latency data
AF31 Multimedia streaming
AF32 Multimedia streaming
AF33 Multimedia streaming
AF41 Multimedia conferencing
AF42 Multimedia conferencing
AF43 Multimedia conferencing
CS1 Low-priority data
CS2 OAM
CS3 Broadcast video
CS4 Real-time interactive
CS5 Signaling
CS6 Network control
CS7
EF Expedited Forwarding