Total Output Drops on Cisco 3750x Switches

I came across a bug in IOS 12.2(53r)SE2 and it shows up in other IOS versions, where the “Total output drops” fluctuates when you use the “sh interface {interface} | inc drops” command. At first you’ll see the number of drops go down. Then it will go back up. There were times it would just reset itself back to 0. It’s best if you upgrade to the latest stable IOS. But, there is a work around. Use the “show platform port-asic stats drop {interface}” command.

First we’ll look at the “sh interface {interface} | inc drops” command. Here you will see the “Total output drops” is at 235:

SW01#sh interface gig1/0/1 | inc drops
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 235

Because this number can fluctuate because of the bug, you can use the “show platform port-asic stats drop {interface}” command to get the most accurate reading:

SW01#show platform port-asic stats drop gigabitEthernet 1/0/1
Interface Gi1/0/1 TxQueue Drop Statistics

Queue 0
Weight 0 Frames 0
Weight 1 Frames 0
Weight 2 Frames 0

Queue 1
Weight 0 Frames 0
Weight 1 Frames 0
Weight 2 Frames 0

Queue 2
Weight 0 Frames 0
Weight 1 Frames 0
Weight 2 Frames 0

Queue 3
Weight 0 Frames 0
Weight 1 Frames 0
Weight 2 Frames 235

Queue 4
Weight 0 Frames 0
Weight 1 Frames 0
Weight 2 Frames 0

Queue 5
Weight 0 Frames 0
Weight 1 Frames 0
Weight 2 Frames 0

Queue 6
Weight 0 Frames 0
Weight 1 Frames 0
Weight 2 Frames 0

Queue 7
Weight 0 Frames 0
Weight 1 Frames 0
Weight 2 Frames 0

You can see both commands are giving you the same amount of output drops. This is good but again with this bug, the first command might report a different number.

Now some important notes about using the “show platform” command above. On a stack, this command will only work if you are locally connected to the switch. Well, that’s not totally true as you’ll see below.

So usually when you connect to the stack, you will be on switch 1 by default. If you try to run that same command to get info from SW2 in the stack, you’ll get an error:

SW01#show platform port-asic stats drop gigabitEthernet 2/0/1
%Command Rejected: interface 'GigabitEthernet2/0/1' is not local port

There are two ways to do this.
1. Session Command
2. Remote Command

The “session” command will allow you to run a command from the member switch. So in our case, we want to run this command on SW2.

SW01# session 2

SW01-2#

You’ll notice there’s a dash with the switch number. That’s how you know you are able to run the command from SW2. Just type “exit” to get out of that session.

The second command is the easiest. It allows you to run Remote procedures on a switch member. You don’t have to go into a session and exit out of it. You just run the command from where you are.

remote command 2 show platform port-asic stats drop gig 2/0/1

There is one more command where you can see the output queue along with the input queue and other great info.

SW01#sh int summ

*: interface is up
IHQ: pkts in input hold queue     IQD: pkts dropped from input queue
OHQ: pkts in output hold queue   OQD: pkts dropped from output queue
RXBS: rx rate (bits/sec)         RXPS: rx rate (pkts/sec)
TXBS: tx rate (bits/sec)         TXPS: tx rate (pkts/sec)
TRTL: throttle count

Interface               IHQ   IQD OHQ   OQD RXBS RXPS TXBS TXPS TRTL
-------------------------------------------------------------------------
Vlan1                   0     0   0     0     0   0     0   0   0
* Vlan10                   0     0   0     0 30000   51 2000   1   0
FastEthernet0           0     0  0     0     0   0     0   0   0
* GigabitEthernet1/0/1     0     0   0   235 469000 386 6526000 624   0
* GigabitEthernet1/0/2     0     0   0     0     0   0 28000   36   0
* GigabitEthernet1/0/3     0     0   0     0     0   0 28000   37   0
* GigabitEthernet1/0/4     0     0   0     0 1000   1 162000   46   0

If you look at the output queue OQD, you’ll see the 235.