02-11-2010 07:26 AM - edited 03-17-2019 09:56 PM
Can some explain what the following would do?
mls qos queue-set output 1 threshold 2 400 400 100 400---Are these based on percentages? If so, from what?
mls qos queue-set output 1 buffers 15 45 20 20----I don't understand this at all
Below is the configuration I am using on the 3750:
srr-queue bandwidth share 1 70 25 5
srr-queue bandwidth shape 3 0 0 0
mls qos srr-queue output cos-map queue 1 threshold 3 5
mls qos srr-queue output cos-map queue 2 threshold 1 2 4
mls qos srr-queue output cos-map queue 2 threshold 2 3
mls qos srr-queue output cos-map queue 2 threshold 3 6 7
mls qos srr-queue output cos-map queue 3 threshold 3 0
mls qos srr-queue output cos-map queue 4 threshold 3 1
mls qos srr-queue output dscp-map queue 1 threshold 3 46
mls qos srr-queue output dscp-map queue 2 threshold 1 16 18 20 22 25 32 34 36
mls qos srr-queue output dscp-map queue 2 threshold 1 38
mls qos srr-queue output dscp-map queue 2 threshold 2 24 26
mls qos srr-queue output dscp-map queue 2 threshold 3 48 56
mls qos srr-queue output dscp-map queue 3 threshold 3 0
mls qos srr-queue output dscp-map queue 4 threshold 1 8
mls qos srr-queue output dscp-map queue 4 threshold 3 10 12 14
mls qos queue-set output 1 threshold 2 400 400 100 400
mls qos queue-set output 1 buffers 15 45 20 20
08-02-2010 08:35 AM
Hi, could you able to know the answer? I'm also puzzled on the same point.
12-09-2010 12:56 AM
Each port has a buffer. For egress there are 4 output queues.
With the following command you divide the buffer space among the 4 queues:
mls qos queue-set output <1/2> buffers 15 45 20 20 (sum = 100% of the buffer)
!<1/2> will be explained later
queue 1: 15%
queue 2: 45%
queue 3: 20%
queue 4: 20%
with the following command you map a cos value 6 and 7 to queue 2 thresshold 3:
mls qos srr-queue output cos-map queue 2 threshold 3 6 7
and with the following command you map a cos 3 to queue 2 and thresshold 2:
mls qos srr-queue output cos-map queue 2 threshold 2 3
So we mapped certain values to queue 2 but with different thressholds.
Thressholds and buffer usage is defined with the following command:
mls qos queue-set output <1/2> threshold queue thresshold1 thresshold2 reserved max
So for queue 2:
mls qos queue-set output <1/2> threshold 2 400 400 100 400
thresshold 1: 400%
thresshold 2: 400%
thresshold 3: 100% (implicit, not configurable)
reserved: 100%
max: 400%
thresshold means: if the buffer size is filled for x % start dropping traffic.
Thus if we have the following config:
mls qos srr-queue output cos-map queue 2 threshold 2 4
mls qos srr-queue output cos-map queue 2 threshold 3 6 7
mls qos queue-set output <1/2> threshold 2 40 70 90 400
When the buffer is filled with 70% of traffic it will start dropping traffic with cos 4 and not traffic with cos 6 or 7 because it's mapped to thresshold 3 (=100%)
the reserved and max value means:
[buffer size: mls qos queue-set output <1/2> buffers 15 45 20 20 ]
[mls qos queue-set output <1/2> threshold 2 40 70 90 400]
if you take for example queue 2. You configured 90% as reserved. So you reserve 90% of the buffer size of queue 2 (which was 45% of the total buffer space)
Thus 90% of the 45% of the buffer size is reserved.
The remaining 10% from queue 2 is seen as common buffer space. Can be used by queue 1, 3, 4
Max reserved means, how much it may expanded and use buffer space from the common pool buffer space as explained above.
You can create 2 sets. The set you define you indicate with the <1/2>. By this you can make two flavours.
By default all ports uses set 1.
mls qos queue-set output 1 buffers 15 45 20 20 ! queueset 1
mls qos queue-set output 2 buffers 5 5 5 80 ! queueset 2
as you see, there is a difference in how the buffers allocated to each of the four queues
int gig1/0/1
queueset 2
int gig1/0/2
queueset 1! default
so egress queue will use 15% for queue 1 on interface gig1/0/1 and 5% on gig1/0/2
Hope to help
plz rate usefull posts!
02-22-2011 02:20 PM
Hi Davy. You gave an example on the 2nd drop threshold:
"mls qos queue-set output <1/2> threshold 2 40 70 90 400
When the buffer is filled with 70% of traffic it will start dropping traffic with cos 4 and not traffic with cos 6 or 7 because it's mapped to thresshold 3 (=100%)"
And what does 40 mean? Is it that CoS4 traffic will start getting dropped linearly when 40% of the queue is filled and when CoS4 traffic hits 70%, all CoS4 traffic will get dropped?
Thank you.
02-23-2011 01:31 AM
thresshold 1 is for values mapped to thresshold 1
example
mls qos srr-queue output cos-map queue <1/2> threshold 1
The buffersize concept (shared buffer, ...) is quite abstract ;-)
02-23-2011 07:03 AM
Thanks Davy. I actually researched a little bit last night and found the answer. I couldn't wait...:-)
07-14-2013 01:17 PM
Hi...Could you pls point me to a link where this stuff is documented?
Thanks.
_ Greg
12-23-2015 12:48 AM
Hi Davy,
It was extremely useful for me.
Could you explain what does the output queues enqueued table mean ?
output queues enqueued:
queue: threshold1 threshold2 threshold3
-----------------------------------------------
queue 0: 0 0 151746002
queue 1: 0 2588524 3561844053
queue 2: 0 307654063 1408635950
queue 3: 0 0 78851084
12-23-2015 02:22 AM
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 wha2tsoever (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
I believe its a count of the number of packets/frames that needed to be queued for a certain queue. The thresholds give an indication how large the queue was.
Corresponding stats would be the drop stats for the same queues and thresholds.
12-23-2015 02:40 AM
Hi,
thx for you reply.
And What do you know where does the switch count the packets which need to be enqueued but these are dropped due to buffer allocation problem. ( 3. step )
Before a packet is placed into an egress tx queue, the Asic ensures that this packet is allowed in by making several checks.
1. Is the reserved buffer count for the target tx queue empty enough to allow this packet in, and is the total number of buffers currently used by this port tx queue less than configured threshold value? if so, then enqueue the packet using buffers from the reserved pool.
2. Else are there enough free buffers in the common buffer pool for this packet? And is the total number of buffers currently used by this Port tx queue less than the configured threshold value? If both conditions are true the packet is enqueued using buffers from the common pool.
3. Else the packet is dropped.
12-23-2015 05:14 AM
As already noted, in the corresponding queue drop stats. Do you need the actual command?
05-28-2020 06:55 PM
best explanation I have ever seen...
08-12-2020 10:28 PM
Very helpful and explanatory
11-20-2011 11:42 AM
Sorry for picking up this old thread. I'm trying to find the configuration for this requirement:
mls qos srr-queue output cos-map queue 1 threshold 1 1
mls qos srr-queue output cos-map queue 2 threshold 1 3
mls qos queue-set output 1 threshold 1 60 100 50 400
SW01(config)#mls qos queue-set output 1 threshold 1 ?
<1-3200> enter drop threshold1 1-3200
11-22-2011 02:01 PM
Can someone help?
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