37-82
Software Configuration Guide—Release 15.0(2)SG
OL-23818-01
Chapter 37 Configuring Quality of Service
Configuring QoS on Supervisor Engine 6-E, Supervisor Engine 6L-E, Catalyst 4900M, and Catalyst 4948E
Queue-limiting
When a class-based queue is instantiated on a physical port, it is set up with a default size. This size
represents the number of queue entries in which packets belonging to that class of traffic can be queued.
The scheduler moves packets from the queue that are ready for transmission, based on the queue shape,
bandwidth, and priority configuration.
The queue-limit provides the maximum number of packets that can be in the queue at any given time.
When the queue is full, an attempt to enqueue any further packets results in tail drop. However, if
dynamic buffer limiting (DBL) is enabled on the queue, packets get a probabilistic drop based on the
DBL algorithm, even when the queue is not full.
The queue-limit command can be configured under a class only when queue scheduling, such as
bandwidth, shape, or priority is already configured. The only exception to this requirement is the support
of the stand-alone queue-limit command on the class-default class.

Queue Memory

The number of queue entries that can be allocated has to be a multiple of eight and can range from 16 to
8184. When a class-based queue is instantiated on a physical port, it is given a default number of entries.
This default queue size is based on the number of slots in the chassis and the number of front-panel ports
in each slot.
Catalyst 4900M, Catalyst 4948E, Supervisor Engine 6-E, and Supervisor Engine 6L-E have 512 K
(524,288) queue entries of which the system sets aside 100 K (102,400) queue entries in a free reserve
pool. Of the remaining 412 K (421,88), the drop port is provided 8184 entries and the CPU ports are
assigned 11704 entries. The remaining entries are divided equally among the slots in the chassis. In a
redundant chassis, the two supervisor slots are considered to be one for the purpose of this entry
distribution. Within each slot, the number of queue entries are equally divided among the front-panel
ports present on the line card in that slot.
When the user configuration for queue entries on an interface exceeds its dedicated quota, the system
attempts to satisfy the configuration from the free reserve pool. The entries from the free reserve pool
are allocated to interfaces on a first-come first-served basis.

Service Policy Association

When a QoS service-policy with queuing actions is configured, but no explicit queue-limit command is
attached in the egress direction on a physical interface, each of the class-based queues gets the same
number of queue entries from within the dedicated quota for that physical port. When a queue is
explicitly given a size using the queue-limit command, the switch tries to allocate all the entries from
within the dedicated quota for the interface. If the required number of entries is greater than the
dedicated quota for the interface, the switch tries to allocate the entries from the free reserve.
The queue entries associated with a queue always have to be consecutive. This requirement can result in
fragmentation of the 512 K of the queue entries that are shared across the switch. For example, an
interface may not have enough entries for a queue in its dedicated quota and thus have to use the free
reserve to set up that queue. In this case, the queue entries from the dedicated quota remain unused
because they cannot be shared with any other port or slot.
When the QoS service policy associated with an interface is removed, any queue entries taken from the
free reserve are returned to the free reserve pool. The interface queuing configuration reverts to two
queues — class-default and the control-packet queue with default shape, bandwidth, and size. The
control-packet queue is set up with size 16, and the default queue is set up with the maximum size
possible based on the dedicated quota for that interface.