Configuring Large Delay Buffers with a Configuration Editor

Large bursts of traffic from faster interfaces can cause congestion and dropped packets on slower interfaces that have small delay buffers. For example, a J Series device operating at the edge of the network can drop a portion of the burst traffic it receives on a channelized T1/ E1 interface from a Fast Ethernet or Gigabit Ethernet interface on a router at the network core. On J Series devices, large delay buffers can be configured for both channelized T1/E1 and non-channelized T1/E1 interfaces.

To ensure that traffic is queued and transmitted properly on slower interfaces, you can configure a buffer size larger than the default maximum.

This section contains the following topics:

Maximum Delay Buffer Sizes Available to Channelized T1/E1 Interfaces

When you enable the large delay buffer feature on interfaces, a larger buffer is available for allocation to scheduler queues. The maximum delay buffer size that is available for an interface depends on the maximum available delay buffer time and the speed of the interface as shown in Table 41.

. The default values are as follows:

Table 41: Maximum Available Delay Buffer Time by Channelized Interface and Rate

Effective Line Rate

Maximum Available Delay Buffer Time

< 4xDS0

4,000,000 microseconds (4 seconds)

< 8xDS0

2,000,000 microseconds (2 seconds)

< 16xDS0

1,000,000 microseconds (1 second)

<= 32xDS0

500,000 microseconds (0.5 second)

<= 10mbps

400,000 microseconds (0.4 seconds)

<= 20mbps

300,000 microseconds (0.3 seconds)

<= 30mbps

200,000 microseconds (0.2 seconds)

<= 40mbps

150,000 microseconds (0.15 second)

You can calculate the maximum delay buffer size available for an interface, with the following formula:

interface speed x maximum delay buffer time = maximum available delay buffer size

For example, the following maximum delay buffer sizes are available to 1xDS0 and 2xDS0 interfaces:

1xDS0—64 kilobits per second x 4 seconds = 256 kilobits (32 kilobytes)

2xDS0—128 kilobits per second x 4 seconds = 512 kilobits (64 kilobytes)

If you configure a delay buffer size larger than the new maximum, the system allows you to commit the configuration but displays a system log warning message and uses the default buffer size setting instead of the configured maximum setting.

Delay Buffer Size Allocation Methods

You can specify delay buffer sizes for each queue using schedulers. The queue buffer can be specified as a period of time (microseconds) or as a percentage of the total buffer or as the remaining buffer. Table 42 shows different methods that you can specify for buffer allocation in queues.

Table 42: Delay Buffer Size Allocation Methods

Buffer Size Allocation Method

Description

Percentage

A percentage of the total buffer.

Temporal

A period of time, value in microseconds. When you configure a temporal buffer, you must also configure a transmit rate. The system calculates the queue buffer size by multiplying the available bandwidth of the interface times the configured temporal value and transmit rate.

When you specify a temporal method, the drop profile is assigned a static buffer and the system starts dropping packets once the queue buffer size is full. By default, the other buffer types are assigned dynamic buffers that use surplus transmission bandwidth to absorb bursts of traffic.

Remainder

The remaining buffer available. The remainder is the percentage buffer that is not assigned to other queues. For example, if you assign 40 percent of the delay buffer to queue 0, allow queue 3 to keep the default allotment of 5 percent, and assign the remainder to queue 7, then queue 7 uses approximately 55 percent of the delay buffer.

Specifying Delay Buffer Sizes for Queues

You specify delay buffer sizes for queues using schedulers. The system calculates the buffer size of a queue based on the buffer allocation method you specify for it in the scheduler. See Table 42 for different buffer allocation methods and Table 43 for buffer size calculations.

Table 43: Delay Buffer Allocation Method and Queue Buffer

Buffer Size Allocation Method

Queue Buffer Calculation

Example

Percentage

available interface bandwidth x configured buffer size percentage x maximum delay buffer time = queue buffer

Suppose you configure a queue on a 1xDS0 interface to use 30 percent of the available delay buffer size. The system uses the maximum available delay buffer time (4 seconds) and allocates the queue 9600 bytes of delay buffer:

64 Kbps x 0.3 x 4 seconds=76800 bits=9600 bytes

Temporal

available interface bandwidth x configured transmit rate percentage x configured temporal buffer size = queue buffer

Suppose you configure a queue on a 1xDS0 interface to use 300,000 microseconds (3 seconds) of delay buffer, and you configure the transmission rate to be 20 percent. The queue receives 4800 bytes of delay buffer:

64 Kbps x 0.2 x 3 seconds=38400 bits=4800 bytes

When you configure a temporal value that is greater than the maximum available delay buffer time, the system allocates this queue the remaining buffer after other queues are allocated buffer. Suppose you configure a temporal value of 6,000,000 microseconds on a 1xDS0 interface. Because this value is greater than the maximum allowed value of 4,000,000 microseconds, the queue is allocated the remaining delay buffer.

When you specify the buffer size as a percentage, the system ignores the transmit rate and calculates the buffer size based only on the buffer size percentage.

Configuring a Large Delay Buffer on a non-Channelized Ti Interface

To configure large-delay buffers on non C-TI/E1 interfaces, you must first enable the large buffer feature and then extend the q-pic-large-delay-buffer size on all interfaces. The maximum delay buffer time varies by the interface speed as shown in Table 44.

Table 44: Recommended Delay Buffer Sizes

Interface SpeedEffective Bandwidth in kilobytes per second (kbps)Recommended Buffer Size in microseconds (ms)

< 256kbps

4000ms

256kbps

< 512kbps

2000ms

512kbps

< 024kbps

1000ms

1024kbps

<2048kbps

500ms

>2048kbps

100ms

For more information on using J-web or the CLI configuration editor to configure large delay buffers, see Configuring a Large Delay Buffer on a Channelized T1 Interface.

Configuring a Large Delay Buffer on a Channelized T1 Interface

On J Series devices, you can configure large delay buffers on channelized T1/E1 interfaces. To configure large-delay buffer sizes, you must first enable the large buffer feature on the channelized T1/E1 PIM and then configure a buffer size for each queue in the CoS scheduler.

Each channelized T1/E1 interface can be configured as a single clear channel, or for channelized (NxDS0) operation, where N denotes channels 1 to 32 for an E1 interface and channels 1 to 24 for a T1 interface.

In this configuration, you enable the large delay buffer option on a channelized T1 PIM with an interface speed of 1.5 Mbps and a maximum delay buffer time of 500,000 microseconds. Based on the interface speed and the maximum delay buffer time, you can calculate the available delay buffer size for the interface. For more information, see Maximum Delay Buffer Sizes Available to Channelized T1/E1 Interfaces.

Next, you specify a queue buffer of 30 percent in a scheduler be-scheduler and associate the scheduler to a defined forwarding class be-class using a scheduler map large-buf-sched-map. Finally, you apply the scheduler map to the channelized T1 interface t1-3/0/0. As a result, a buffer of 9600 bytes is assigned to the queue associated with forwarding class be-class (see Table 43). You can specify a delay buffer size for other queues following the instructions in this example.

To configure large delay buffers for channelized T1/E1 interfaces:

  1. Navigate to the top of the configuration hierarchy in either the J-Web or CLI configuration editor.
  2. Perform the configuration tasks described in Table 45.
  3. If you are finished configuring the router, commit the configuration.
  4. Go on to one of the following tasks:

Table 45: Configuring a Large Delay Buffer

Task

J-Web Configuration Editor

CLI Configuration Editor

Navigate to the Chassis level in the configuration hierarchy.

  1. In the J-Web interface, select Configure>CLI Tools>Point and Click CLI.
  2. Next to Chassis, click Configure or Edit.

From the [edit] hierarchy level, enter

edit chassis

Enable the large buffer size feature on the channelized T1/E1 PIM in slot 3.

  1. Next to Fpc, click Add new entry.
  2. In the Slot box, type the slot number 3.
  3. Next to Pic, click Add new entry.
  4. In the Slot box, type 0.
  5. Next to Q pic large buffer, select the check box.
  6. Click OK.

Enter

set fpc 3 pic 0 q-pic-large-buffer

Navigate to the Class-of-service level in the configuration hierarchy.

On the main Configuration page next to Class of service, click Configure or Edit.

From the [edit] hierarchy level, enter

edit class-of-service

Create be-scheduler and specify a buffer size of 30 percent for it.

  1. Next to Schedulers, click Add new entry.
  2. In the Scheduler name box, type the name of the scheduler—be-scheduler.
  3. Next to Buffer size, click Configure.
  4. From the Buffer size choice list, select percent.
  5. In the Percent box, type 30.
  6. Click OK.

Enter

set schedulers be-scheduler buffer-size percent 30

Configure the scheduler map large-buf-scheduler-map to associate schedulers with defined forwarding classes.

For information about configuring forwarding classes, see Assigning Forwarding Classes to Output Queues.

  1. On the Class of service page, next to Scheduler maps, click Add new entry.
  2. In the Map name box, type the name of the scheduler map—large-buf-sched-map.
  3. Next to Forwarding class, click Add new entry.
  4. In the Class name box, type the name of the forwarding class to be associated with the scheduler—be-class.
  5. In the Scheduler box, type the name of the scheduler to be associated with the forwarding class—be-scheduler.
  6. Click OK.

From the [edit class-of-service] hierarchy level, enter

set scheduler-maps large-buf-sched-map forwarding-class be-class scheduler be-scheduler

Apply the scheduler map to the channelized T1 interface.

Note: For information about configuring channelized T1/E1 interfaces, see JUNOS Software Interfaces Configuration Guide for Security Devices.

  1. On the Class of service page, next to Interfaces, click Add new entry.
  2. In the Interface name box, type the name of the interface to which the scheduler map is to be applied—t1-3/0/0.
  3. Next to Unit, click Add new entry.
  4. In the Unit number box, type 0.
  5. In the Scheduler map box, type the name of the scheduler map—large-buf-sched-map.
  6. Click OK.

From the [edit class-of-service] hierarchy level, type

set interfaces t1-3/0/0 unit 0 scheduler-map large-buf-sched-map