On port-queuing DPCs, 64 byte-per-unit dynamic buffers are available per queue. If a queue is using more than its allocated bandwidth share due to excess bandwidth left over from other queues, its buffers are dynamically increased. This is feasible because the I-chip on the DPCs primarily perform weighted random early detection (WRED) drops at the head of the queue, as opposed to “tail-assisted” drops, which are performed only when a temporal buffer is configured or when the queue becomes full. When a temporal buffer is not configured, the allocated buffer is treated as the minimum for that queue, and can expand if other queues are not using their share.
With the Trio chipset on the MPCs, WRED drops are performed at the tail of the queue. The packet buffer is organized into 128-byte units. Before a packet is queued, buffer and WRED checks are performed, and the decision to drop is made at this time. Once a packet is queued, it is not dropped. As a result, dynamic buffer allocation is not supported on the Packet Forwarding Engines containing the Trio chipset. The buffer allocation per queue on the Packet Forwarding Engines containing the Trio chipset is considered the maximum for that queue. Once the allocated buffer becomes full, subsequent packets are dropped until space is available, even if other queues are idle. Buffering is only required during oversubscription.
To provide larger buffers on Packet Forwarding Engines with the Trio chipset, the delay buffer can be increased from the default 100 ms to 200 ms of the port speed. The delay buffer can also be oversubscribed using the delay-buffer-rate configuration per port.
For more information, see MX Series MS-MPC and MS-MIC Service Cards Data Sheet