How Schedulers Define Output Queue Properties
You use schedulers to define the class-of-service (CoS) properties of output queues. You configure CoS properties in a scheduler, then map the scheduler to a forwarding class. Forwarding classes are in turn mapped to output queues. Classifiers map incoming traffic into forwarding classes based on CoS values in well-known packet header fields (behavior aggregate classification) or on multiple packet header fields (multifield classification).
Output queue properties include the amount of interface bandwidth assigned to the queue, the size of the memory buffer allocated for storing packets, the scheduling priority of the queue, and the random early detection (RED) drop profiles associated with the queue to control packet drop during periods of congestion.
Scheduler maps map schedulers to forwarding classes. The output queue mapped to a forwarding class receives the port resources and properties defined in the scheduler mapped to that forwarding class. You apply a scheduler map to an interface to apply queue scheduling to a port. You can associate different scheduler maps with different interfaces to configure port-specific scheduling for forwarding classes (output queues).
To configure class-of-service (CoS) schedulers, include the
following statements at the [edit class-of-service]
hierarchy
level:
[edit class-of-service] interfaces { interface-name { scheduler-map map-name; scheduler-map-chassis map-name; shaping-rate rate; unit { output-traffic-control-profile profile-name; scheduler-map map-name; shaping-rate rate; } } } fabric { scheduler-map { priority (high | low) scheduler scheduler-name; } } scheduler-maps { map-name { forwarding-class class-name scheduler scheduler-name; } } schedulers { scheduler-name { buffer-size (percent percentage | remainder | temporal microseconds ); drop-profile-map loss-priority (any | low | medium-low | medium-high | high)protocol (any | non-tcp | tcp) drop-profile profile-name; excess-priority (low | high); excess-rate percent percentage; excess-rate (percent percentage | proportion value); priority priority-level; transmit-rate (rate | percent percentage remainder) <exact | rate-limit>; } } traffic-control-profiles profile-name { delay-buffer-rate (percent percentage | rate); excess-rate percent percentage; guaranteed-rate (percent percentage | rate); scheduler-map map-name; shaping-rate (percent percentage | rate); }
You cannot configure both the shaping-rate
statement
at the [edit class-of-service interfaces interface-name]
hierarchy level and the transmit-rate rate-limit
statement and option at the [edit class-of-service schedulers scheduler-name]
hierarchy level. These statements
are mutually exclusive. If you do configure both, you will not be
able to commit the configuration:
[edit class-of-service] 'shaping-rate' only one option (shaping-rate or transmit-rate rate-limit) can be configured at a time error: commit failed (statements constraint check failed)
For PTX Series Packet Transport Routers:
The
fabric
andtraffic-control-profiles
statements at the[edit class-of-service]
hierarchy level are not supported.
Queue Scheduling Components
Table 1 provides a quick reference to the scheduler components you can configure to determine the bandwidth properties of output queues (forwarding classes).
Output Queue Scheduler Component |
Description |
---|---|
Buffer size |
Sets the size of the queue buffer. |
Drop profile map |
Maps a drop profile to a packet loss priority. Drop profile map components include:
|
Excess priority |
Sets the scheduling priority of excess bandwidth traffic on a scheduler. |
Excess rate |
Sets the percentage of extra bandwidth (bandwidth that is not used by other queues) a queue can receive. If not set, the device uses the transmit rate to determine how much extra bandwidth the queue can use. Extra bandwidth is the bandwidth remaining after all guaranteed bandwidth requirements are met. |
Priority |
Sets the scheduling priority applied to the queue. |
Shaping rate |
Sets a limit on excess bandwidth usage. The transmit rate configures the minimum bandwidth allocated to a queue. Configure the shaping rate as an absolute maximum usage and not the additional usage beyond the configured transmit rate. If you do not set a shaping rate, the default shaping rate is 100 percent, which is the same as no shaping at all. |
Transmit rate |
Sets the minimum guaranteed bandwidth . By default, if you do not configure an excess rate, extra bandwidth is shared among queues in proportion to the transmit rate of each queue. On strict-high priority queues, sets the amount of bandwidth that receives strict-high priority forwarding treatment. Traffic that exceeds the transmit rate shares in the port excess bandwidth pool based on the strict-high priority excess bandwidth sharing weight of “1”, which is not configurable. The actual amount of extra bandwidth that traffic exceeding the transmit rate receives depends on how many other queues consume excess bandwidth and the excess rates of those queues. If you configure two or more strict-high priority queues on a port, you must configure a transmit rate on those queues. However, we strongly recommend that you always configure a transmit rate on strict-high priority queues to prevent them from starving other queues. Note:
On PTX10008 and PTX10016 routers, the default scheduler transmission rate is set to 25 percent for strict-high queues if you do not set the transmission rate for the schedulers for strict-high queues. |