Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation

buffer-size

Syntax

buffer-size (percent percent | remainder);

Hierarchy Level

[edit class-of-service schedulers scheduler-name]

Release Information

Statement introduced in Junos OS Release 12.3 for the QFX Series.

Description

Set the dedicated buffer size of the egress queue that you bind the scheduler to in the scheduler map configuration. The switch allocates space from the global dedicated buffer pool to ports and queues in a hierarchical manner. The switch allocates an equal number of dedicated buffers to each egress port, so each egress port receives the same amount of dedicated buffer space. The amount of dedicated buffer space per port is not configurable.

However, the buffer-size statement allows you to control the way each port allocates its share of dedicated buffers to its queues. For example, if a port only uses two queues to forward traffic, you can configure the port to allocate all of its dedicated buffer space to those two ports and avoid wasting buffer space on queues that are not in use. We recommend that the buffer size should be the same size as the minimum guaranteed transmission rate (the transmit-rate).

You configure the proportion of port dedicated buffers allocated to a particular output queue using the following process:

  1. Configure a scheduler and set the buffer-size option to match the scheduler transmit-rate value.
  2. Use a scheduler map to map the scheduler to the forwarding class that is mapped to the queue to which you want to apply the buffer size.

    For example, suppose that you want to change the dedicated buffer allocation for FCoE traffic. FCoE traffic is mapped to the fcoe forwarding class, and the fcoe forwarding class is mapped to queue 3 (this is the default configuration). To use default FCoE traffic mapping, in the scheduler map configuration, map the scheduler to the fcoe forwarding class.

  3. Associate the scheduler map with the traffic control profile you want to use on the egress ports that carry FCoE traffic.
  4. Associate the traffic control profile that includes the scheduler map with the desired egress ports. For this example, you associate the traffic control profile with the ports that carry FCoE traffic.

    Queue 3, which is mapped to the fcoe forwarding class and therefore to the FCoE traffic, receives the dedicated buffer allocation specified in the buffer-size statement.

Note: The total of all of the explicitly configured buffer size percentages for all of the queues on a port cannot exceed 100 percent.

Default

The port allocates dedicated buffers to queues that have an explicitly configured scheduler buffer size. If you do not explicitly configure a scheduler buffer size for a queue, the port serves the explicitly configured queues first. Then the port divides the remaining dedicated buffers equally among the queues that have an explicitly attached scheduler without an explicitly configured buffer size configuration. (If you configure a scheduler, but you do not configure the buffer size parameter, the default is equivalent to configuring the buffer size with the remainder option.)

If you use the default scheduler and scheduler map on a port (no explicit scheduler configuration), then the port allocates its dedicated buffer pool to queues based on the default scheduling, as shown in Table 1. The default buffer size is the same as the default transmit rate for each default queue:

Table 1: Default Output Queue Buffer Sizes

Queue Number

Forwarding Class

Transmit Rate

Buffer Size

0

best-effort

5%

5%

3

fcoe

35%

35%

4

no-loss

35%

35%

7

network-control

5%

5%

8

mcast

20%

20%

Because the default scheduler includes only five forwarding classes, only the queues mapped to those forwarding classes receive dedicated buffers from the port buffer pool. (Buffers are not wasted on queues that do not carry traffic.)

Options

percent percent

Percentage of the port dedicated buffer pool allocated to the queue (or queues) mapped to the scheduler.

remainder

Remaining dedicated buffer pool after the port satisfies the needs of the explicitly configured buffers. The port divides the remaining buffers equally among the queues that are explicitly attached to a scheduler but that do not have an explicit buffer size configuration (or are configured with remainder as the buffer size).

Required Privilege Level

interfaces—To view this statement in the configuration.
interface-control—To add this statement to the configuration.

Published: 2014-07-23