02-03-2014 04:56 PM - edited 03-07-2019 05:59 PM
I'm having a problem with the output queue on the 3750.
I’m marking some SNMP traffic with CS2 (DSCP16)
I’m using the default queue-set on the egress interface and the priority queue is not enabled.
There are lots of output drops from this interface and it is killing some SNMP apps we have running as the packets don’t get back to their destination.
Here are some relevant commands:
3750-01#show mls qos interface g1/0/47 buffers
GigabitEthernet1/0/47
The port is mapped to qset : 1
The allocations between the queues are : 25 25 25 25
3750-01#show mls qos interface g1/0/47 queueing
GigabitEthernet1/0/47
Egress Priority Queue : disabled
Shaped queue weights (absolute) : 25 0 0 0
Shared queue weights : 25 25 25 25
3750-01#sh run int g1/0/47
Building configuration...
interface GigabitEthernet1/0/47
no switchport
ip address 10.10.248.1 255.255.255.252
ip pim sparse-mode
load-interval 30
As you cans ee the drops are increasing all the time
3750-01#show int g1/0/47 | in drops
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 3029809
ssesh01#show int g1/0/47 | in drops
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 3029819
ssesh01#show int g1/0/47 | in drops
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 3029819
ssesh01#show int g1/0/47 | in drops
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 3029826
ssesh01#show int g1/0/47 | in drops
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 3029831
ssesh01#
I need this SNMP traffic not get dropped. Currently according to dscp-output-q it is in 03-01 (which is queue 1 drop threshold 3 I think)
Any thoughts on how I can help this traffic get where it is going?
Solved! Go to Solution.
02-03-2014 05:17 PM
Hello Luca
You are having out discards on software queue 3 threshold 1. Verify the buffer and threshold values associated with the queue identified in the marking to output-map.
If they are by default we can change the buffer and threshold values for the queue dropping packets. Let’s make the change queue-set 2 so that queue 1 gets 20%, queue 2 10%, queue 3 50% queue 4 20%.
switch(config)#mls qos queue-set output 2 buffers 20 10 50 20
Now we can change queue-set 2, queue 3 threshold. Both Threshold 1 and Threshold 2 are mapped to 3100 so that they can pull buffer from the reserved pool if required.
switch(config)#mls qos queue-set output 2 threshold 3 3100 3100 100 3200
Move the affected interface to queue set 2:
Switch(config)#int gi1/0/47
Switch(config-if)#queue-set 2
Haihua
02-03-2014 05:17 PM
Hello Luca
You are having out discards on software queue 3 threshold 1. Verify the buffer and threshold values associated with the queue identified in the marking to output-map.
If they are by default we can change the buffer and threshold values for the queue dropping packets. Let’s make the change queue-set 2 so that queue 1 gets 20%, queue 2 10%, queue 3 50% queue 4 20%.
switch(config)#mls qos queue-set output 2 buffers 20 10 50 20
Now we can change queue-set 2, queue 3 threshold. Both Threshold 1 and Threshold 2 are mapped to 3100 so that they can pull buffer from the reserved pool if required.
switch(config)#mls qos queue-set output 2 threshold 3 3100 3100 100 3200
Move the affected interface to queue set 2:
Switch(config)#int gi1/0/47
Switch(config-if)#queue-set 2
Haihua
02-03-2014 05:54 PM
Hello Luca. Below is how we alocate our queues and assign DSCP to them. We use a full 11 class QoS model so you might not need something this detailed.
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 26 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 40
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 1 100 100 50 800
mls qos queue-set output 1 threshold 2 1200 1400 50 1800
mls qos queue-set output 1 threshold 3 100 100 50 1100
mls qos queue-set output 1 threshold 4 40 100 50 950
02-04-2014 02:25 PM
Thanks that looks to have fixed the issue.
Can you please explain the number you assigned with the command
"mls qos queue-set output 2 threshold 3 3100 3100 100 3200"
I understand that the maximum number is 3200, does this mean it is possible to starve the other buffers on this interface?
02-04-2014 04:59 PM
Thanks Luca,
The buffer space is divided between the common pool and the reserved pool. The reserved and maximum numbers determine whether the switch adds more queue space or drops the packet. The switch detects whether the
target queue has not consumed more buffers than its reserved amount (under-limit), whether it has consumed all of its maximum buffers (over limit), and whether the common pool is empty (no free buffers) or not
empty (free buffers). If the queue is not over-limit [maximum buffers], the switch can allocate buffer space from the reserved pool or from the common pool (if it is not empty). If there are no free buffers in the common pool or if the queue is over-limit, the switch drops the frame.
Here is a good related discussion:
https://supportforums.cisco.com/thread/2004369
Thanks
Haihua
02-05-2014 03:55 PM
Luca, I can tell you that this is more of an art than a science. To come up with our values, we tried some things then looked for dropped packets. We have a couple thousand switches so we looked at a number of different sites and just tried to come up with something that we thought worked for all scenarios. It took several months of monitoring and tweaking but we don't drop packets very often any longer. But you will need to tweak your configuratoin based on how you are marking your data. This will be specific to your environment.
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