cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2366
Views
9
Helpful
6
Replies

MLS QOS Threshold value

Cisco Freak
Level 4
Level 4

Hi Team,

I am trying to understand the threshold value concept in MLS QOS.

Switch(config)#mls qos queue-set o 2 threshold 1 120 140 100 3200 
Switch(config)#

I have a configuration like this.

I am aware that there are 3 threshold values for a queue and 3rd threshold is set to 100%.

My question here is how can the threshold values 1 and 2 can go above threshold 3. I am under the impression that any traffic that reaches threshold 3 will be dropped since the thats the peak point.

The values that we set in threshold 1 and threshold 2 are % values or something else? If that is % values, how can it be 120% and 140%. Confused!!

Regards,

CF

 

1 Accepted Solution

Accepted Solutions

Disclaimer

The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.

Liability Disclaimer

In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.

Posting

Last first, yes all packets will be dropped when you exhaust all available buffer space.  Nothing new there.  You have both logical and physical queue limits.  They don't have to match, and when they don't, whichever runs out first will cause drops.

I'm not sure whether WTD3 limits all queue packets.  If it did, you're correct, you would be unable to set WTD1 or WTD2 larger, or it you can set them, it wouldn't work effectively.

You might just try whether the device will accept such a configuration.  Generally,  the IOS won't accept invalid parameter settings.

View solution in original post

6 Replies 6

Joseph W. Doherty
Hall of Fame
Hall of Fame
Disclaimer

The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.

Liability Disclaimer

In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.

Posting

The 3 thresholds allow you to "map" different markings to them.

So, for example, you might "map" AF2x to Q2, but then also map AF21 to WTD3, AF22 to WTD2 and AF23 to WTD1.

If the WTD settings are independent, and I think they are, you could then set WTD1 and/or WTD2 > WTD3.

Thanks Joseph for clarifying.

Still I am not able to understand the concept fully.

SW3(config)#mls qos queue-set output 1 threshold 1 3200 3200 100 3200 
SW3(config)#

How come the max value is 3200? The values we type in for WTD1 and WTD2 are % values or some sort of weight value like we give it for bandwidth value.

Example:

 

SW3(config)#mls qos srr-queue input bandwidth ?
  <1-100>  enter bandwidth weight for queue id 1

Here it is taking the value as a weight NOT %.

 

CF

Disclaimer

The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.

Liability Disclaimer

In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.

Posting

How come a max of 3200?  Don't know, only Cisco can answer that.  In older IOS images, max used to be 400.

Yes, it's a percentage, but its a percentage of a percentage (of a percentage).

First its a percentage of whatever you allocate for reserved percentage.

In your example, of 3200 3200 100 3200, it's 32 times 100%.  Hmm, but how can we have 32 times 100%, well you might if you don't reserve all the buffer space to the individual queues.

For example, if you configure:

mls qos queue-set output 1 threshold 1 3200 3200 50 3200

mls qos queue-set output 1 threshold 2 3200 3200 50 3200

mls qos queue-set output 1 threshold 3 3200 3200 50 3200

mls qos queue-set output 1 threshold 4 3200 3200 50 3200

Half the buffer space is allocated to each queue.  But the other half is in the "common pool", and setting a WTD above 100 can "borrow" from it.

If you're not confused yet, each queue 50%, in the above, is 50% based on the overall memory allocated to each queue via the buffers command.

Available memory is also, I believe, is dependent upon the number of active interfaces sharing egress buffers.  (2 MB per 24 edge ports, or per 2 or 4 uplink ports - for 3560/3750 series.)

So, if you have 15 active ports, of 24, each interface is entitled to 1/15 of the egress buffers.

mls qos queue-set output 1 buffers 25 25 25 25

Each queue is entitled to 25% of the interface buffers.

Then if you have:

mls qos queue-set output 1 threshold 1 3200 3200 50 3200

Queue 1 reserves 50% of its 25% of its 1/15.

WTD 1 2 and 3, are allowed to use, up to, 32x 50% of 25% of 1/15.

Hi Joe,

Thanks for the clear cut explanation. I understood the fact now.

I have one more query.

SW8(config)#mls qos srr-queue input dscp-map queue 1 threshold 1 31 34  

SW8(config)#mls qos srr-queue input dscp-map queue 1 threshold 2 46     

SW8(config)#mls qos srr-queue input dscp-map queue 1 threshold 3 56  

SW8(config)# 

 

Here what we are doing is mapping DSCP values 31 and 34 to threshold 1 of input queue 1. And mapping DSCP values 46 to threshold 2 of queue 1. And mapping DSCP values 56  to threshold 3 of queue 1. 

 

This means that once threshold 1 is met, then switch will start dropping DSCP 31 and 34. And at threshold 2 it will drop 46. And at threshold 3 it will drop DSCP 56. 

 

Here is my question: I read somewhere that at threshold 3 which is 100% it will start dropping everything. If its true what's the point in making threshold 1 and 2 high above 100%. Anyhow all the packets are gonna die at 100% buffer space. I am sure that I am missing something here.

 

CF

 

Disclaimer

The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.

Liability Disclaimer

In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.

Posting

Last first, yes all packets will be dropped when you exhaust all available buffer space.  Nothing new there.  You have both logical and physical queue limits.  They don't have to match, and when they don't, whichever runs out first will cause drops.

I'm not sure whether WTD3 limits all queue packets.  If it did, you're correct, you would be unable to set WTD1 or WTD2 larger, or it you can set them, it wouldn't work effectively.

You might just try whether the device will accept such a configuration.  Generally,  the IOS won't accept invalid parameter settings.

Thanks you for helping me Joe. I will try to dig more into this and will try to come up with the answers.

CF