In this document you will learn about some basic terms like OUTPUT DROPS, INPUT QUEUE DROPS, HOLD-QUEUE IN and HOLD-QUEUE OUT.
Every port has some kind of receive and transmit buffering. These buffers are used to store frames, as forwarding decisions are made within the switch, or as packets are en-queued for transmission on a port at a rate greater than the physical medium can support.
In tx direction you would see 'Total output drops' counter moving when hw or sw switched traffic is dropped due to lack of port asic tx buffers.
For Layer 2 interfaces, "Total output drop" is caused by lack of port asic tx buffer, which impacts both hw and cpu switched traffic, most of the time due to oversubscription, or very high traffic rate or due to busty traffic .
Output drops on interface typically indicate an oversubscription problem, and will increment when the rate of traffic coming from the fabric exceeds the ability to put the data on the wire, and tx buffering is depleted.
INPUT QUEUE DROPS:
With Layer 2 interface, the input hold-queue drop is not just for CPU traffic but other input drop (for example overrun) will also be counted to input hold-queue drop.
Here is a sample output:
router1#show interfaces ethernet 0/0
Input queue: 30/75/187/0 (size/max/drops/flushes); Total output drops: 0
Output queue :0/40 (size/max)...
For Layer 2 interface, although the drop counter of "input-queue drop" counts both hw switched traffic and traffic punted to CPU, the input-hold queue itself which can be tuned by "hold-queue xx in" is actually used to buffer traffic punted to CPU only. So if the "input-queue drop" is actually caused by hw switched traffic lack of port asic rx buffer, then increase "hold-queue xx in" will not help
Input Queue drops on Layer 3 vlan interfaces are caused by excessive traffic destined to the CPU. The input queue on a L3 interface by default can hold 75 packets.
As packets are destined for the CPU they are stored in this input queue until the CPU can service this queue. If the rate at which the packets are hitting this queue is greater than the frequency in which it is serviced, we drop packets. Sometimes this is expected based on your traffic patterns, sometimes it's not
Input queue drop counter counts hw switched traffic which was dropped due to lack of port asic rx buffer. It would also count traffic destine to sp and dropped by sp (not very likely to happen)
For 6500 platforms:
The hold queue parameter is a way to reserve buffer for the RP buffer space. This command will reserve more space for non-priority data (e.g.ARP) that hit the RP. It will not affect data plane traffic like VOIP.
input hold-queue at Layer 3 port (by default 75)
input hold-queue at Layer 2 port (by default 2000)
Input hold-queue at both Layer2 and Layer3 interface are using SP and RP I/O memory on supervisor.
output hold-queue at Layer 2 port (by default 40)
output hold-queue at Layer 3 port (by default 40)
Output hold-queue at both Layer2 and Layer3 interface are using SP and RP I/O memory on supervisor.
Output hold-queue is software queue allocated by system memory .The output hold-queue, which can be tuned by "hold-queue x out" is actually only used for traffic processed by CPU