3750 ingress queue thresholds

Answered Question
Jul 2nd, 2007

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.

Correct Answer by johnnylingo about 9 years 7 months ago

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.

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 4.5 (2 ratings)
Loading.
jkillion Tue, 07/03/2007 - 06:16

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

voiper_99 Tue, 07/03/2007 - 15:00

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?

jkillion Tue, 07/03/2007 - 17:49

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.

voiper_99 Tue, 07/03/2007 - 17:57

"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?

johnnylingo Wed, 07/11/2007 - 15:10

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?

Correct Answer
johnnylingo Thu, 07/12/2007 - 09:18

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.

voiper_99 Thu, 07/12/2007 - 19:29

ahh I see, excellent explanation, thank you. I really appreciate that.

voiper_99 Sun, 07/15/2007 - 22:11

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

johnnylingo Mon, 07/16/2007 - 10:17

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 ;)

voiper_99 Mon, 07/16/2007 - 15:25

hehe not a problem, thanks for all the information and sticking with me even though I tend to ask a lot of questions :)

Actions

This Discussion