Auto QoS VoIP Trust Walkthrough

Have a look at the marked up configuration below.  This is the result of running "auto qos voip trust" with just a bit of tweaking afterward.  A big thanks to Warren Heaviside for initially posting the majority of this content on the IPexpert online study list.

This maps a COS to DSCP value

mls qos map cos-dscp 0 8 16 26 32 46 48 56

This is the weighted ratio (not percentage) that the queues are serviced to send packets from each queue.

mls qos srr-queue input bandwidth 90 10

This is the percentage at which input/ingress queue 1 will begin tail dropping for thresholds 1 and 2.  Threshold 3 is not configurable and has a value of 100% assigned to it so it is not shown.

mls qos srr-queue input threshold 1 8 16

This is the percentage at which input/ingress queue 2 will begin tail dropping for thresholds 1 and 2.   Threshold 3 is not configurable and has a value of 100% assigned to it so it is not shown.

mls qos srr-queue input threshold 2 34 66

This is where you define how the two input/ingress queues will share the buffer space between them using percentage.

mls qos srr-queue input buffers 67 33

This is mapping CoS values to either input/ingress queues 1 or 2 and to thresholds 1,2 or 3 where 3 is the highest.

mls qos srr-queue input cos-map queue 1 threshold 2  1
mls qos srr-queue input cos-map queue 1 threshold 3  0   
mls qos srr-queue input cos-map queue 2 threshold 1  2
mls qos srr-queue input cos-map queue 2 threshold 2  4 6 7
mls qos srr-queue input cos-map queue 2 threshold 3  3 5

This is mapping DSCP’s to either input/ingress queues 1 or 2 and to thresholds 1,2 or 3 where 3 is the highest.

mls qos srr-queue input dscp-map queue 1 threshold 2  9 10 11 12 13 14 15
mls qos srr-queue input dscp-map queue 1 threshold 3  0 1 2 3 4 5 6 7 32
mls qos srr-queue input dscp-map queue 2 threshold 1  16 17 18 19 20 21 22 23
mls qos srr-queue input dscp-map queue 2 threshold 2  33 34 35 36 37 38 39 48
mls qos srr-queue input dscp-map queue 2 threshold 2  49 50 51 52 53 54 55 56
mls qos srr-queue input dscp-map queue 2 threshold 2  57 58 59 60 61 62 63
mls qos srr-queue input dscp-map queue 2 threshold 3  24 25 26 27 28 29 30 31
mls qos srr-queue input dscp-map queue 2 threshold 3  40 41 42 43 44 45 46 47

This is mapping COS’s to one of four output/egress queues and to thresholds 1,2 or 3 where 3 is the highest.

mls qos srr-queue output cos-map queue 1 threshold 3  5    
mls qos srr-queue output cos-map queue 2 threshold 3  3 6 7
mls qos srr-queue output cos-map queue 3 threshold 3  2 4
mls qos srr-queue output cos-map queue 4 threshold 2  1
mls qos srr-queue output cos-map queue 4 threshold 3  0

This is mapping DSCP’s to one of four output/egress queues and to thresholds 1,2 or 3 where 3 is the highest.

mls qos srr-queue output dscp-map queue 1 threshold 3  40 41 42 43 44 45 46 47  
mls qos srr-queue output dscp-map queue 2 threshold 3  24 25 26 27 28 29 30 31   
mls qos srr-queue output dscp-map queue 2 threshold 3  48 49 50 51 52 53 54 55
mls qos srr-queue output dscp-map queue 2 threshold 3  56 57 58 59 60 61 62 63
mls qos srr-queue output dscp-map queue 3 threshold 3  16 17 18 19 20 21 22 23
mls qos srr-queue output dscp-map queue 3 threshold 3  32 33 34 35 36 37 38 39
mls qos srr-queue output dscp-map queue 4 threshold 1  8
mls qos srr-queue output dscp-map queue 4 threshold 2  9 10 11 12 13 14 15
mls qos srr-queue output dscp-map queue 4 threshold 3  0 1 2 3 4 5 6 7

This is configuring the drop threshold values for each queue-set and four related output queues.

mls qos queue-set output 1 threshold 1 138 138 92 138
mls qos queue-set output 1 threshold 2 138 138 92 400
mls qos queue-set output 1 threshold 3 36 77 100 318
mls qos queue-set output 1 threshold 4 20 50 67 400

mls qos queue-set output 2 threshold 1 149 149 100 149
mls qos queue-set output 2 threshold 2 118 118 100 235
mls qos queue-set output 2 threshold 3 41 68 100 272
mls qos queue-set output 2 threshold 4 42 72 100 242

This is the percent amount of buffer space for "queue set 1" allocated to to each of the four queues.  In this case the expedite queue 1 is getting 10%.

mls qos queue-set output 1 buffers 10 10 26 54

This is the percent amount of buffer space for "queue set 2" allocated to to each of the four queues.  In this case the expedite queue 1 is getting 16%.

mls qos queue-set output 2 buffers 16 6 17 61

This turns on QoS globally for the switch, but the auto QOS macro does this.

mls qos

Below is the configuration for the access port.  In this example, I have assigned Gig 1/0/2 the properties of queue-set 2 (defined in values above).  Priority-queue is enabled.  Therefore, anything in Q1 can burst up to the full capacity of the link.  Shape and share commands are ignored when “priority-queue out” is configured.

The shape command (1/x = y%) is configured for Q2.  This negates any share command set for that queue.  Q2 is allowed to consume up to 33% of the link capacity, minus what is currently in use by Q1.

Q3 and Q4 are configured according to the share command.  They are allowed to share bandwidth with each other up to 75% ( 60 / [60+20] ) and 25% ( 20 / [ 60 + 20] ) of the remaining link capacity, respectively.

Remember, priority-queue always overrides shaping.  Shaping always overrides sharing.

We are also telling the switch to trust any CoS markings coming inbound toward this switch port.  You must be very careful to trust either CoS or DSCP.  If a packet comes in marked as DSCP, but you are trusting CoS, you risk that packet being marked down to DSCP 0.  The same holds true for CoS trusting.

interface GigabitEthernet1/0/2
srr-queue bandwidth share 10 10 60 20  
srr-queue bandwidth shape  0  3  0  0  (COS 3 is mapped to queue 2
priority-queue out
mls qos trust cos
auto qos voip trust
queue-set 2

Wow. It's Quiet Here...

Be the first to start the conversation!

Leave a Reply:

Gravatar Image

Don't have a Gravatar? Get one!

Have you Subscribed via RSS yet? Don't miss a post!