07-02-2007 06:33 PM - edited 03-05-2019 05:05 PM
Hi, I am trying to understand how the queue thresholds work. Here is an example:
mls qos srr-queue input threshold 1 8 16
mls qos srr-queue input threshold 2 34 66
This is the part that confuses me:
"Each threshold value is a percentage of the total number of queue descriptors allocated for the queue."
What I don't understand is how many queue descriptors are there in the first place?
Thank you.
Solved! Go to Solution.
07-12-2007 09:18 AM
I found the latest 3560 guide, and it explains this much better:
"The queues use WTD to support distinct drop percentages for different traffic classes. Each queue has
three drop thresholds: two configurable (explicit) WTD thresholds and one nonconfigurable (implicit)
threshold preset to the queue-full state. You assign the two explicit WTD threshold percentages for
threshold ID 1 and ID 2 to the ingress queues by using the mls qos srr-queue input threshold queue-id
threshold-percentage1 threshold-percentage2 global configuration command. Each threshold value is a
percentage of the total number of allocated buffers for the queue. The drop threshold for threshold ID 3
is preset to the queue-full state, and you cannot modify it."
So with this example:
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
mls qos srr-queue input threshold 1 8 16
mls qos srr-queue input threshold 2 34 66
For Q1: CoS value 1 will be dropped when 16% of the buffers are full. CoS value 0 will only be dropped when it is 100% full. The 8 is ignored, since no CoS values were assigned to threshold 1.
For Q2: CoS value 2 will be dropped when 34% of the buffers are full, and values 4 6 7 will be dropped at 66%. CoS values 3 and 5 will only be dropped when it is 100% full.
07-03-2007 06:16 AM
Don't think of it as a numeric amount of queue descriptors. What you are specifying here is the percentage of available buffers that are allocated to the queues.
By default, buffers are allocated equally amongst the 4 queues (25% for each). Your cmd above sets Queue set 1, queue 1 to have 8 percent of the bufferes, and queue 2 to have 16 percent.
HTH
Jay Killion, CCIE #17873
07-03-2007 03:00 PM
ahh OK then, thank you for the explanation. However, in my example above (which was taken from a live network), the total percentage of the buffers equates to 124%, so I am just wondering how does that work?
07-03-2007 05:49 PM
2 different queues. Taken from the following link...
http://www.cisco.com/univercd/cc/td/doc/product/lan/cat3750/12225sec/3750scg/swqos.htm
By default, DSCP values 0-39 and 48-63 are mapped to queue 1 and threshold 1. DSCP values 40-47 are mapped to queue 2 and threshold 1.
By default, CoS values 0-4, 6, and 7 are mapped to queue 1 and threshold 1. CoS value 5 is mapped to queue 2 and threshold 1.
07-03-2007 05:57 PM
"2 different queues."
That's what I thought, but then why would you only allocate 8% and 16% percent for the ifrst queue? What happens to the 76% that is left?
07-11-2007 03:10 PM
I'd love to know the answer to that too. What really confuses is in the 3650 configuration guide, where is says:
"Use the mls qos srr-queue input threshold global configuration command to assign weighted tail-drop
(WTD) threshold percentages to an ingress queue. Use the no form of this command to return to the
default setting."
"If threshold 1 is exceeded, packets with CoS or DSCPs assigned to this threshold are dropped until
the threshold is no longer exceeded. However, packets assigned to threshold 2 continue to be queued and
sent as long as the second threshold is not exceeded."
With the configuration produced by AutoQoS:
mls qos srr-queue input threshold 1 8 16
mls qos srr-queue input threshold 2 34 66
Does this mean then that when 8% of the buffers for Queue 1 packets are full, to drop packets? Or does it not happen until 16%? Likewise is it 34 and 66 for Queue 2?
07-12-2007 09:18 AM
I found the latest 3560 guide, and it explains this much better:
"The queues use WTD to support distinct drop percentages for different traffic classes. Each queue has
three drop thresholds: two configurable (explicit) WTD thresholds and one nonconfigurable (implicit)
threshold preset to the queue-full state. You assign the two explicit WTD threshold percentages for
threshold ID 1 and ID 2 to the ingress queues by using the mls qos srr-queue input threshold queue-id
threshold-percentage1 threshold-percentage2 global configuration command. Each threshold value is a
percentage of the total number of allocated buffers for the queue. The drop threshold for threshold ID 3
is preset to the queue-full state, and you cannot modify it."
So with this example:
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
mls qos srr-queue input threshold 1 8 16
mls qos srr-queue input threshold 2 34 66
For Q1: CoS value 1 will be dropped when 16% of the buffers are full. CoS value 0 will only be dropped when it is 100% full. The 8 is ignored, since no CoS values were assigned to threshold 1.
For Q2: CoS value 2 will be dropped when 34% of the buffers are full, and values 4 6 7 will be dropped at 66%. CoS values 3 and 5 will only be dropped when it is 100% full.
07-12-2007 07:29 PM
ahh I see, excellent explanation, thank you. I really appreciate that.
07-15-2007 10:11 PM
I just have one further question if I may.
With the threshold part of the command, is the threshold referring to the amount of bandwidth allocated to the queue or the amount of buffer allocated to the queue? The information you have pasted above nor any information I have found explicitly says which one it is. I have pasted the switches' output but it does not provide much insight.
switch(config)#mls qos srr-queue input threshold 1 ?
<1-100> enter percent of queue size for threshold 1
07-16-2007 10:17 AM
It's buffers. From the 3560 manual:
"Each threshold value is a percentage of the total number of allocated buffers for the queue"
Now, going back to your original question of how many descriptors there are in the first place, that I'm not sure about. So why thanks for the points I don't know if I really ever answered the question ;)
07-16-2007 03:25 PM
hehe not a problem, thanks for all the information and sticking with me even though I tend to ask a lot of questions :)
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide