ON THIS PAGE
Example: Configuring Queue Scheduling Priority
You can configure the bandwidth scheduling priority of individual queues by specifying the priority in a scheduler, and then using a scheduler map to associate the scheduler with a queue.
Configuring Queue Scheduling Priority
CLI Quick Configuration
To quickly configure queue scheduling priority, copy the following commands, paste them in a text file, remove line breaks, change variables and details to match your network configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy level:
[edit class-of-service] set schedulers fcoe-sched priority low set schedulers nl-sched priority low set scheduler-maps schedmap1 forwarding-class fcoe scheduler fcoe-sched set scheduler-maps schedmap1 forwarding-class no-loss scheduler nl-sched
Step-by-Step Procedure
To configure queue priority using the CLI:
Create the FCoE scheduler with
low
priority:[edit class-of-service] user@switch# set schedulers fcoe-sched priority low
Create the no-loss scheduler with
low
priority:[edit class-of-service] user@switch# set schedulers nl-sched priority low
Associate the schedulers with the desired queues in the scheduler map:
[edit class-of-service] user@switch# set scheduler-maps schedmap1 forwarding-class fcoe scheduler fcoe-sched user@switch# set scheduler-maps schedmap1 forwarding-class no-loss scheduler nl-sched
Requirements
This example uses the following hardware and software components:
One switch.
Junos OS Release 11.1 or later for the QFX Series or Junos OS Release 14.1X53-D20 or later for the OCX Series.
Overview
Queues can have one of several bandwidth priorities:
strict-high
—Strict-high priority allocates bandwidth to the queue before any other queue receives bandwidth. Other queues receive the bandwidth that remains after the strict-high queue has been serviced. On QFX10000 switches, you can configure as many queues as you want as strict-high priority queues. On QFX5200, QFX3500, and QFX3600 switches and on QFabric systems, you can configure only one queue as a strict-high queue. On QFX5100 and EX4600 switches, you can configure only one forwarding-class-set (priority group) as strict-high priority. All queues which are part of that strict-high forwarding class set then act as strict-high queues.Note:On QFX5200 switches, it is not possible to support multiple queues with strict-high priority because QFX5200 doesn’t support flexible hierarchical scheduling. When multiple strict-high priority queues are configured, all of those queues are treated as strict-high priority but the higher number queue among them is given highest priority.
On QFX10000 switches, if you configure strict-high priority queues on a port, we strongly recommend that you configure a transmit rate on those queues. The transmit rate sets the amount of traffic that the switch forwards as strict-high priority; traffic in excess of the transmit rate is treated as best-effort traffic that receives the queue excess rate. Even if you configure only one strict-high priority queue, we strongly recommend that you configure a transmit rate the queue to prevent it from starving other queues. If you do not configure a transmit rate to limit the amount of bandwidth a strict-high priority queue can use, then the strict-high priority queue can use all of the available port bandwidth and starve other queues on the port.
On QFX5200, QFX5100, QFX3500, QFX3600, and EX4600 switches and on QFabric systems, we recommend that you always apply a shaping rate to strict-high priority queues to prevent them from starving other queues. If you do not apply a shaping rate to limit the amount of bandwidth a strict-high priority queue can use, then the strict-high priority queue can use all of the available port bandwidth and starve other queues on the port.
Note:On switches that support enhanced transmission selection (ETS) hierarchical scheduling, if you use ETS and you configure a
strict-high
priority queue, you must create a forwarding class set that is dedicated only tostrict-high
priority traffic. Only one forwarding class set can contain a strict-high priority queue. Queues that are not strict-high priority cannot belong to the same forwarding class set as strict-high priority queues.On switches that use different output queues for unicast and multidestination traffic, the multidestination forwarding class set cannot contain strict-high priority queues.
high
(QFX10000 Series switches only)—High priority. Traffic with high priority is serviced after any queue that has astrict-high
priority, and before queues with low priority.low
—Low priority. Traffic with low priority is serviced after any queue that has astrict-high
priority.
By default, all queues are low priority queues.
Table 1 shows the configuration components for this example.
This example describes how to set the queue priority for two forwarding classes (queues) named fcoe
and no-loss
. Both queues have a priority of low
. The scheduler for the fcoe
queue is named fcoe-sched
and the scheduler for the no-loss
queue is named nl-sched
. One scheduler map, schedmap1
, associates the schedulers to the queues.
Component |
Settings |
---|---|
Hardware |
One switch |
Schedulers |
|
Priority |
|
Scheduler map |
FCoE mapping: scheduler No-loss mapping: scheduler |
OCX Series switches do not support lossless transport. On OCX Series switches, the default DSCP classifier does not map traffic to the default fcoe and no-loss forwarding classes. On an OCX Series switch, you could use this example by substituting other forwarding classes (for example, best-effort or network-control) for the fcoe and no-loss forwarding classes, and naming the schedulers appropriately. The active forwarding classes (best-effort
, network-control
, and mcast
) share the unused bandwidth assigned to the fcoe
and no-loss
forwarding classes.
Verification
To verify that you configured the queue scheduling priority for bandwidth and mapped the schedulers to the correct forwarding classes, perform these tasks:
Verifying the Queue Scheduling Priority
Purpose
Verify that you configured the queue schedulers fcoe-sched
and nl-sched
with low
queue scheduling priority.
Action
Display the fcoe-sched
scheduler priority configuration using the operational mode command show configuration class-of-service schedulers fcoe-sched priority
:
user@switch> show configuration class-of-service schedulers fcoe-sched priority priority low;
Display the nl-sched
scheduler priority configuration using the operational mode command show configuration class-of-service schedulers nl-sched priority
:
user@switch> show configuration class-of-service schedulers nl-sched priority priority low;
Verifying the Scheduler-to-Forwarding-Class Mapping
Purpose
Verify that you configured the scheduler map schedmap1
to map scheduler fcoe-sched
to forwarding class fcoe
and schedule nl-sched
to forwarding class no-loss
.
Action
Display the scheduler map schedmap1
using the operational mode command show configuration class-of-service scheduler-maps schedmap1
:
user@switch> show configuration class-of-service scheduler-maps schedmap1 forwarding-class fcoe scheduler fcoe-sched; forwarding-class no-loss scheduler nl-sched;