cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2528
Views
0
Helpful
6
Replies

QoS queue-set threshold

charindso
Level 1
Level 1

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

6 Replies 6

Shashank Singh
Cisco Employee
Cisco Employee

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:

http://www.cisco.com/en/US/docs/switches/lan/catalyst3750/software/release/12.2_18_se/command/reference/cli1.html#wp2144505

Cheers,

Shashank

P.S.Please rate helpful posts.

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.

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

mlund
Level 7
Level 7

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

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

Joseph W. Doherty
Hall of Fame
Hall of Fame

"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.)