Types of Queues

I am confused about the types of interface/port queues:

* The switch/router interfaces have ingress queue and egress queue.
* Also, their interfaces contain both hardware and software queues.

Could you explain how those are related?
Is Strict Queue a hardware queue only in egress?
Are the rest of types of queue software queues?


Hello Whijoon.

The types of queues that you mention are describing different aspects of queues.

First of all, frames are placed within a queue whenever there is congestion on the specific port. If there is none, frames are sent or recieved immedately and no queues are used. Once there is congestion, queues are employed to give priority to some frames over others. These queues can be implemented on both incomming traffic on a port as well as outgoing traffic. Now for the terms:


The first two have to do with the direction of travel of the frames:
An ingress queue is a queue in which frames are placed when coming into a port.
An egress queue is a queue in which frames are placed when going out of a port.

The next two have to do with the method of implementation:
A software queue is one that is configured and implementing using software and uses shared resources such as CPU and RAM. This is much slower.
A hardware queue is one that is configured within hardware, uses dedicated resources and thus does not need additional CPU and memory resources to function. This is much faster.

Both ingress and egress queues can be hardware or software implemented.

The strict queue has to do with the method of prioritization. A strict queue is one where the network devices service packets as soon as they arrive, or in other words, in strict priority fashion. This is useful for voice packets.

I hope this has been helpful!


Hi Laz,

Thank you so much for your explanation.
It helped me understand a lot.

However, I still have questions as following:

* I learned that there are two types of hardware queues: Standard queue (FIFO) and Strict Priority queue

  • When the interface says the notation 1p2q2t (one SP, 2 Standard, 2 WRED Thresholds), does it mean for hardware queue?

* Where are the hardware queues located? NPU?


Hello Whijoon

Yes, this is correct.

Keep in mind that notation of the form 1p2q2t indicates the total queuing capabilities that a switch interface supports as a whole. This means this port supports one strict priority queue, two standard priority queues and one WRED threshold per queue (WRED is not a queue but a threshold mechanism for those queues).

These are indeed hardware queues.

An excellent resource for queues on Cisco devices is the following report put together by Aaron Balchunas. We don’t usually link to sites other than Cisco, however, this is well done and I think it’s worth it.

I’m quite sure the hardware queues exist within the ASIC of the switches, without having found something solid on any documentation that confirms this.

I hope this has been helpful!