02-09-2011 04:52 PM - edited 03-06-2019 03:27 PM
Hello,
In the following example of a QoS queue-set command on a Cat3750.
“mls qos queue-set output 1 threshold 2 3100 3100 100 3200”.
If for example the buffer space for this queue is 100.
Threshold 1 and 2 will drop at 3100 buffers - ie anything over 100 borrowed from the common pool.
Threshold 3 is always set at 100% which in this example is 100 buffers.
Is this correct ? Traffic mapped to T3 will be dropped well before T1 and T2. This does not seem to make sense ?
Thanks to anyone who clarify this. Much appreciated.
-Adam
02-09-2011 07:01 PM
Hi,
In the command, 'mls qos queue-set output 1 threshold 2 3100 3100 100 3200' the numbers mean the following:
3100: threshold 1 for queue 2
3100: threshold 2 for queue 2
100: reserved
3200: maximum
While two WTD thresholds are expressed as a percentage of the queue's allocated memory, reserverd means the amount of memory to be guaranteed (reserved) for the queue and expressed as a percentage of the allocated memory. The range for reserved end is 1 to 100 percent.
3750 egress queues just have two configurable thresholds. So basically, 100 is not threshold 3 here and hence nothing can be mapped to threshold 3 on this platform. Do 'show mls qos maps dscp-out' to confirm this.
Please refer the following link for a detailed explanation:
Cheers,
Shashank
P.S.Please rate helpful posts.
02-09-2011 07:31 PM
Hi Shashank,
Thankyou kindly for your post.
You have indicated nothing can be mapped to threshold three on this platform, but Threshold 3 seems extensivley mapped on this platform
eg from the Cisco medianet4.0 design guide.
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
On another 3750
show mls qos maps dscp-output
Dscp-outputq-threshold map:
d1 :d2 0 1 2 3 4 5 6 7 8 9
------------------------------------------------------------
0 : 04-03 04-03 04-03 04-03 04-03 04-03 04-03 04-03 04-01 04-02
1 : 04-02 04-02 04-02 04-02 04-02 04-02 03-03 03-03 03-03 03-03
2 : 03-03 03-03 03-03 03-03 02-03 02-03 02-03 02-03 02-03 02-03
3 : 02-03 02-03 03-03 03-03 03-03 03-03 03-03 03-03 03-03 03-03
4 : 01-03 01-03 01-03 01-03 01-03 01-03 01-03 01-03 02-03 02-03
5 : 02-03 02-03 02-03 02-03 02-03 02-03 02-03 02-03 02-03 02-03
6 : 02-03 02-03 02-03 02-03
Thanks again for your post.
02-09-2011 07:54 PM
Hi,
Sorry for the confusion. My bad. Threshold 3 can be mapped to a certain marking but it cannot be configured on 3750. It always remains as 100%. In case you have changed threshold 1 and 2 to anything more than 100%, markings associated to them will have more buffers and will get dropped after threshold 3 (which will always be 100).
Hope this clears the confusion.
Shashank
02-11-2011 02:40 AM
Hi Adam
No, traffic to T3 will not be dropped before T2 and T1.
the value 100 is, how much of the allocated buffers that the switch will reserve for this queue. If the value is less than 100, for examle 90, 10 will be available for common pool.
the 3200 is, how much can the queue use, if the value is higher than 100 it will borrow from common pool. Here is where T3 will be.
Also, remember that all of the above numbers are not a fix value, they are all percentages.
/Mikael
05-02-2018 12:53 AM
This section categorizes all the available egress QoS commands.
Queue Map Configuration:
In order to map the CoS values to the egress queues:
Rack1SW1(config)#mls qos srr-queue output cos-map queue ?
<1-4> enter cos-map output queue id
Rack1SW1(config)#mls qos srr-queue output cos-map queue 1
threshold ? <1-3> enter cos-map threshold id
Rack1SW1(config)#mls qos srr-queue output cos-map queue 1
threshold 1 ? <0-7> 8 cos values separated by spaces
In order to map the DSCP values to the egress queues:
Rack1SW1(config)#mls qos srr-queue output dscp-map queue ?
<1-4> enter dscp-map output queue id
Rack1SW1(config)#mls qos srr-queue output dscp-map queue 1
threshold ? <1-3> enter dscp-map threshold id
Rack1SW1(config)#mls qos srr-queue output dscp-map queue 1
threshold 1 ? <0-63> dscp values separated by spaces
(up to 8 values total)
Queue Configuration:
Egress queue configuration allows you to configure two queue sets. Each queue set has the option to configure the buffer size and threshold value for the four egress queues. Then, you can apply any one of the queue sets to any of the ports. By default, queue set 1 is assigned to all the ports when you enable QoS on the switch.
Rack1SW1(config)#mls qos queue-set output ?
<1-2> queue-set id
Rack1SW1(config)#mls qos queue-set output 1 ?
buffers assign buffers to each egress queue
threshold Assign threshold values to a queue
In order to configure buffer size for all the four egress queues:
Rack1SW1(config)#mls qos queue-set output 1 buffers ?
<0-99> enter buffer percentage for queue 1 0-99
Rack1SW1(config)#mls qos queue-set output 1 buffers 10 ?
<1-100> enter buffer percentage for queue 2 1-100
(includes CPU buffer)
Rack1SW1(config)#mls qos queue-set output 1 buffers 10 20 ?
<0-99> enter buffer percentage for queue 3 0-99
Rack1SW1(config)#mls qos queue-set output 1 buffers 10 20 30 ?
<0-99> enter buffer percentage for queue 4 0-99
In order to configure two threshold values, reserved and maximum threshold values for each queue (threshold 3 is 100% by default and it cannot be changed):
Rack1SW1(config)#mls qos queue-set output 1 threshold ?
<1-4> enter queue id in this queue set
Rack1SW1(config)#mls qos queue-set output 1 threshold 1 ?
<1-400> enter drop threshold1 1-400
Rack1SW1(config)#mls qos queue-set output 1 threshold 1 50 ?
<1-400> enter drop threshold2 1-400
Rack1SW1(config)#mls qos queue-set output 1 threshold 1 50 60 ?
<1-100> enter reserved threshold 1-100
Rack1SW1(config)#mls qos queue-set output 1 threshold 1 50 60
100 ? <1-400> enter maximum threshold 1-400
In order to apply the queue-set to the interface (by default, queue set 1 is assigned to all the ports when you enable qos on the switch):
Rack1SW1(config-if)#queue-set ?
<1-2> the qset to which this port is mapped
05-02-2018 06:42 AM - edited 05-02-2018 06:44 AM
"Threshold 1 and 2 will drop at 3100 buffers - ie anything over 100 borrowed from the common pool."
That depends on other configuration parameters, namely if there is common pool to borrow against.
"Threshold 3 is always set at 100% which in this example is 100 buffers."
No, in this example it's set to 3200. Also the 100 is a percentage of what the port reserves out of its port allocation percentage. I.e. it's a percentage of a percentage. (Assuming you're running the default of 25% buffer allocation for each queue, than this port will reserve 100% of its 25%. [I.e. none of its 25% will go to the common pool.])
"Is this correct ? Traffic mapped to T3 will be dropped well before T1 and T2. This does not seem to make sense ?"
No. T3 will drop at 3200 while T1 and T2 will drop at 3100 (assuming there's enough buffers to hit those limits).
PS:
The 3560/3750 buffer parameters are not, I believe, clearly explained by the standard IOS manuals or Cisco whitepapers. However, there's a nice paper, within the support forums documents, that does much to explain how buffers work. (Sorry, don't have a link for it handy.)
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