You can rate-limit the strict-high and high queues on
the IQE PIC. Without this limiting, traffic that requires low latency
(delay) such as voice can block the transmission of medium-priority
and low-priority packets. Unless limited, high and strict-high traffic
is always sent before lower priority traffic, causing the lower priority
queues to “starve” and cause timeouts and unnecessarily
resent packets.
On the IQE PIC you can rate-limit queues before the packets
are queued for output. All packets exceeding the configured rate limit
are dropped, so care is required when establishing this limit. This
model is also supported on IQ2 PICs and is the only way to perform
egress policing on IQE PICs. This feature introduces no new configuration
statements.
Although intended for low-latency traffic classes such as voice,
the configuration allows any queue to be rate-limited. However, the
configuration requires the rate-limited queue to have either a high
or strict-high priority.
Note: You can configure a low-latency static policer for only
one rate-limited queue per scheduler map. You can configure up to
1024 low-latency static policers.
This example limits the transmit rate of a strict-high
expedited-forwarding queue to 1 Mbps. The scheduler and scheduler
map are defined, and then applied to the traffic at the [edit
interfaces]
and [edit class-of-service]
hierarchy
levels:
- Define the scheduler:
Specify a name for the scheduler to create it.
[edit]
user@host# edit class-of-service schedulers scheduler-1
Specify the transmit rate.
[edit class-of-service schedulers scheduler-1]
user@host# set transmit-rate 1m rate-limit
Specify the priority of the scheduler.
[edit class-of-service schedulers scheduler-1]
user@host# set priority strict-high
- Define the scheduler map:
Specify a name for the scheduler map to create it.
[edit]
user@host# edit class-of-service scheduler-maps scheduler-map1
Map the EF forwarding class to the scheduler.
[edit class-of-service scheduler-maps scheduler-map-1]
user@host# set forwarding-class expedited-forwarding scheduler scheduler-1
- Configure the physical interface.
This example uses Frame Relay encapsulation and enables per-unit
scheduling, which enables you to apply scheduling to the Frame Relay
DLCI.
Specify the physical interface of the interface.
[edit]
user@host# edit interfaces so-2/0/0
Enable the association of scheduler map names with logical
interfaces.
[edit interfaces s0-2/0/0]
user@host# set per-unit-scheduler
Specify the encapsulation type.
[edit interfaces s0-2/0/0]
user@host# set encapsulation frame-relay
- Configure the logical interface and specify the Frame
Relay DLCI.
Specify the logical interface number.
[edit interfaces s0-2/0/0]
user@host# edit unit 0
Specify the data-link connection identifier (DLCI).
[edit interfaces s0-2/0/0 unit 0]
user@host# set dlci 1
- Apply the scheduler map to the logical interface:
Specify the physical and logical interface to which you
want to apply the scheduler map.
[edit]
user@host# edit class-of-service interfaces so-2/0/0 unit 0
Specify the name of the scheduler map you created.
[edit class-of-service interfaces so-2/0/0 unit 0]
user@host# set scheduler-map scheduler-map1
Specify the amount of bandwidth to be allocated for the
logical interface.
[edit class-of-service interfaces so-2/0/0 unit 0]
user@host# set shaping-rate 2m
- You can issue the following operational mode commands
to verify your configuration (the first shows the rate limit in effect):
[edit class-of-service]
schedulers {
scheduler-1 {
transmit-rate 1m rate-limit;
priority strict-high;
}
}
scheduler-maps {
scheduler-map1 {
forwarding-class expedited-forwarding scheduler scheduler-1;
}
}
[edit interfaces]
s0-2/0/0 {
per-unit-scheduler;
encapsulation frame-relay;
unit 0 {
dlci 1;
}
}
[edit class-of-service]
interfaces {
so-2/0/0 {
unit 0 {
scheduler-map scheduler-map1;
shaping-rate 2m;
}
}
}