One thing I've learned is to know how to access the Configuration Guide for the equipment I'm working with. Many devices and code levels have different defaults and configuration statements for QoS, so being able to look up a particular gear's QoS configuration guide has proven essential.
For instance, here's the link to Cisco switches, where you can filter down to your model and software type for the relevent configuration guide:
https://www.cisco.com/c/en/us/support/switches/index.html
Another example, below is the link to the Catalyst 3850 series switch configuration guides and other documentation:
https://www.cisco.com/c/en/us/support/switches/catalyst-3850-series-switches/products-installation-and-configuration-guides-list.html
Now in the QoS e-course I'm watching from Cisco, they do emphasize to refer to switch documentation, configuration guide & release notes to know what QoS commands are supported.
They also went over some example caveats (of the Catalyst 3550 series at least) that I thought were interesting. One caveat included: on Egress, you can only attach a policy-map that matches DSCP.
So, now, in configuring QoS on a Catalyst 3850, we configure the class-map, then the policy-map, then apply the policy-map to an interface.
See example Layer 3 Egress/WAN QoS policy configuration below:
1. Configure class-map first (class-map matches the tags)
class-map match-any VOICE-RTP
match dscp ef
class-map match-any VIDEO-INTERACTIVE
match dscp af41
match dscp cs4
class-map match-any CALL-SIGNALING
match ip dscp cs3
match ip dscp af31
class-map match-any SCAVENGER
match ip dscp cs1
match dscp ef
class-map match-any VIDEO-INTERACTIVE
match dscp af41
match dscp cs4
class-map match-any CALL-SIGNALING
match ip dscp cs3
match ip dscp af31
class-map match-any SCAVENGER
match ip dscp cs1
2. Then Policy-map allocates percentage of bandwidth & reservations based on class
policy-map WAN-PRIMARY
class VOICE-RTP
priority level 1 percent 10
class VIDEO-INTERACTIVE
priority level 2 percent 20
class CALL-SIGNALING
bandwidth percent 5
class SCAVENGER
bandwidth percent 10
class class-default
shape average 9500000000***
class VOICE-RTP
priority level 1 percent 10
class VIDEO-INTERACTIVE
priority level 2 percent 20
class CALL-SIGNALING
bandwidth percent 5
class SCAVENGER
bandwidth percent 10
class class-default
shape average 9500000000***
Then Service-policy applies policy-map to interface
interface Gi1/0/1
service-policy output WAN-PRIMARY
Note:
***shape average should be lowered by bandwidth minus 5 percent, in bits
for 1Gb it would be 950Mb
the five percent was rule of thumb for 100Mb
so took 1Gbps knocked it down to 950Mb
for gig it's 950 million = 950,000,000 bits,
and 95Mb shape average for 100Mb circuit
Bits Per Second Cheatsheet:
- 1 Kbps = 1,000 bps (one thousand bits per second)
- 100 Kbps = 100,000 bps (100 thousand)
- 1 Mbps = 1,000,000 bps (1 million)
- 100 Mbps = 100,000,000 bps (100 million)
- 1 Gbps = 1,000,000,000 bps (1 billion)
- 10 Gbps = 10,000,000,000 bps (10 billion)
Sources: