Providing a Guaranteed Minimum Rate
On Gigabit Ethernet IQ PIC, EQ DPC, MIC, MPC, and Channelized IQ PIC interfaces, and on FRF.16 LSQ interfaces on Multiservices and Services PICs, you can configure guaranteed bandwidth, also known as a committed information rate (CIR). This allows you to specify a guaranteed rate for each logical interface. The guaranteed rate is a minimum. If excess physical interface bandwidth is available for use, the logical interface receives more than the guaranteed rate provisioned for the interface.
You cannot provision the sum of the guaranteed rates to be more than the physical interface bandwidth, or the bundle bandwidth for LSQ interfaces. If the sum of the guaranteed rates exceeds the interface or bundle bandwidth, the commit operation does not fail, but the software automatically decreases the rates so that the sum of the guaranteed rates is equal to the available bundle bandwidth.
To configure a guaranteed minimum rate, perform the following steps:
Include the
guaranteed-rate
statement at the[edit class-of-service traffic-control-profile profile-name]
hierarchy level:[edit class-of-service traffic-control-profiles profile-name] guaranteed-rate (percent percentage | rate) <burst-size bytes>;
On LSQ interfaces, you can configure the guaranteed rate as a percentage from 1 through 100.
On IQ and IQ2 interfaces, you can configure the guaranteed rate as an absolute rate from 1000 through 6,400,000,000,000 bps.
Note:For channelized and Gigabit Ethernet IQ interfaces, the
shaping-rate
andguaranteed-rate
statements are mutually exclusive. You cannot configure some logical interfaces to use a shaping rate and others to use a guaranteed rate. This means there are no service guarantees when you configure a PIR. For these interfaces, you can configure either a PIR or a CIR, but not both.This restriction does not apply to Gigabit Ethernet IQ2 PICs or LSQ interfaces on Multiservices and Services PICs. For LSQ and Gigabit Ethernet IQ2 interfaces, you can configure both a PIR and a CIR on an interface.
For more information about Gigabit Ethernet IQ2 PICs, see CoS on Enhanced IQ2 PICs Overview.
Optionally, you can base the delay-buffer calculation on a delay-buffer rate. To do this, include the
delay-buffer-rate
statement[edit class-of-service traffic-control-profiles profile-name]
hierarchy level:[edit class-of-service traffic-control-profiles profile-name] delay-buffer-rate (percent percentage | rate);
On LSQ interfaces, you can configure the delay-buffer rate as a percentage from 1 through 100.
On IQ and IQ2 interfaces, you can configure the delay-buffer rate as an absolute rate from 1000 through 6,400,000,000,000 bps.
The actual delay buffer is based on the calculations described in Managing Congestion on the Egress Interface by Configuring the Scheduler Buffer Size. For an example showing how the delay-buffer rates are applied, see Example: Providing a Guaranteed Minimum Rate.
If you do not include the
delay-buffer-rate
statement, the delay-buffer calculation is based on the guaranteed rate, the shaping rate if no guaranteed rate is configured, or the scaled shaping rate if the interface is oversubscribed.If you do not specify a shaping rate or a guaranteed rate, the logical interface receives a minimal delay-buffer rate and minimal bandwidth equal to four MTU-sized packets.
You can configure a rate for the delay buffer that is higher than the guaranteed rate. This can be useful when the traffic flow might not require much bandwidth in general, but in some cases traffic can be bursty and therefore needs a large buffer.
Configuring large buffers on relatively slow-speed links can cause packet aging. To help prevent this problem, the software requires that the sum of the delay-buffer rates be less than or equal to the port speed. This restriction does not eliminate the possibility of packet aging, so you should be cautious when using the
delay-buffer-rate
statement. Though some amount of extra buffering might be desirable for burst absorption, delay-buffer rates should not far exceed the service rate of the logical interface.If you configure delay-buffer rates so that the sum exceeds the port speed, the configured delay-buffer rate is not implemented for the last logical interface that you configure. Instead, that logical interface receives a delay-buffer rate of 0, and a warning message is displayed in the CLI. If bandwidth becomes available (because another logical interface is deleted or deactivated, or the port speed is increased), the configured delay-buffer-rate is reevaluated and implemented if possible.
If the guaranteed rate of a logical interface cannot be implemented, that logical interface receives a delay-buffer rate of 0, even if the configured delay-buffer rate is within the interface speed. If at a later time the guaranteed rate of the logical interface can be met, the configured delay-buffer rate is reevaluated and if the delay-buffer rate is within the remaining bandwidth, it is implemented.
If any logical interface has a configured guaranteed rate, all other logical interfaces on that port that do not have a guaranteed rate configured receive a delay-buffer rate of 0. This is because the absence of a guaranteed rate configuration corresponds to a guaranteed rate of 0 and, consequently, a delay-buffer rate of 0.
To assign a scheduler map to the logical interface, include the
scheduler-map
statement at the[edit class-of-service traffic-control-profiles profile-name]
hierarchy level:[edit class-of-service traffic-control-profiles profile-name] scheduler-map map-name;
For information about configuring schedulers and scheduler maps, see Configuring Schedulers and Configuring Scheduler Maps.
To enable large buffer sizes to be configured, include the
q-pic-large-buffer
statement at the[edit chassis fpc slot-number pic pic-number]
hierarchy level:[edit chassis fpc slot-number pic pic-number] q-pic-large-buffer;
If you do not include this statement, the delay-buffer size is more restricted. For more information, see Managing Congestion on the Egress Interface by Configuring the Scheduler Buffer Size.
To enable scheduling on logical interfaces, include the
per-unit-scheduler
statement at the[edit interfaces interface-name]
hierarchy level:[edit interfaces interface-name] per-unit-scheduler;
When you include this statement, the maximum number of VLANs supported is 768 on a single-port Gigabit Ethernet IQ PIC. On a dual-port Gigabit Ethernet IQ PIC, the maximum number is 384.
To apply the traffic-scheduling profile to the logical interface, include the output-traffic-control-profile statement at the
[edit class-of-service interfaces interface-name unit logical-unit-number]
hierarchy level:[edit class-of-service interfaces interface-name unit logical-unit-number] output-traffic-control-profile profile-name;
Table 1 shows how the bandwidth and delay buffer are allocated in various configurations.
Configuration Scenario |
Delay Buffer Allocation |
---|---|
You do not configure a guaranteed rate. You do not configure a delay-buffer rate. |
Logical interface receives minimal bandwidth with no guarantees and receives a minimal delay buffer equal to 4 MTU-sized packets. |
You configure a guaranteed rate. You do not configure a delay-buffer rate. |
Logical interface receives bandwidth equal to the guaranteed
rate and a delay buffer based on the guaranteed rate. The multiplicative
factor depends on whether you include the |
You configure a guaranteed rate. You configure a delay-buffer rate. |
Logical interface receives bandwidth equal to the guaranteed
rate and a delay buffer based on the delay-buffer rate. The multiplicative
factor depends on whether you include the |
Verifying Configuration of Guaranteed Minimum Rate
To verify your configuration, you can issue this following operational mode commands:
show class-of-service interfaces
show class-of-service traffic-control-profile profile-name
Example: Providing a Guaranteed Minimum Rate
Two logical interface units, 0
and 1
,
are provisioned with a guaranteed minimum of 750 Kbps and 500 Kbps,
respectively. For logical unit 1
, the delay buffer is based
on the guaranteed rate setting. For logical unit 0
, a delay-buffer
rate of 500 Kbps is specified. The actual delay buffers allocated
to each logical interface are 2 seconds of 500 Kbps. The
2-second value is based on the following calculation:
delay-buffer-rate < [8 x 64 Kbps]): 2 seconds of delay-buffer-rate
For more information about this calculation, see Managing Congestion on the Egress Interface by Configuring the Scheduler Buffer Size.
chassis { fpc 3 { pic 0 { q-pic-large-buffer; } } } interfaces { t1-3/0/1 { per-unit-scheduler; } } class-of-service { traffic-control-profiles { tc-profile3 { guaranteed-rate 750k; scheduler-map sched-map3; delay-buffer-rate 500k; # 500 Kbps is less than 8 x 64 Kbps } tc-profile4 { guaranteed-rate 500k; # 500 Kbps is less than 8 x 64 Kbps scheduler-map sched-map4; } } interfaces { t1-3/0/1 { unit 0 { output-traffic-control-profile tc-profile3; } unit 1 { output-traffic-control-profile tc-profile4; } } }