On J-series Services Routers, you can configure one queue per interface to have strict-high priority, which causes delay-sensitive traffic, such as voice traffic, to be dequeued and forwarded with minimum delay. Packets that are queued in a strict priority queue are dequeued before packets in other queues, including high priority queues.
The JUNOS software implementation of strict priority queuing on J-series platforms allows you to configure traffic policing that prevents lower-priority queues from being starved. The strict priority queue does not cause starvation of other queues because the configured policer allows the queue to exceed the configured bandwidth only when other queues are not congested. If the interface is congested, the software polices strict priority queues to the configured bandwidth.
To prevent queue starvation of other queues, you must configure an egress policer that defines a limit for the amount of traffic that the queue can service. The software services all traffic in the strict priority queue that is under the defined limit. When strict priority traffic exceeds the limit, the policer marks the traffic in excess of the limit as out-of-profile. If the output port is congested, the software drops out-of-profile traffic.
If you wish, you can configure a second policer with an upper limit. When strict priority traffic exceeds the upper limit, the software drops the traffic in excess of the upper limit, regardless of whether the output port is congested. This upper-bound policer is not a requirement for preventing starvation of the lower priority queues. The policer for the lower bound, which marks the packets as out-of-profile, is sufficient to prevent starvation of other queues.
Following is a step-by-step description of how strict priority queuing and policing works on J-series Services Routers:
To configure strict priority queuing and prevent starvation of other queues, include the priority strict-high statement at the [edit class-of-service schedulers scheduler-name] hierarchy level and the if-exceeding and then out-of-profile statements at the [edit firewall policer policer-name] hierarchy level:
- [edit class-of-service schedulers scheduler-name]
- priority strict-high;
-
- [edit firewall policer policer-name]
- if-exceeding {
- bandwidth-limit bps;
- bandwidth-percent number;
- burst-size-limit bytes;
- }
- then out-of-profile;
To verify your configuration, you can issue the following operational mode commands: