The JUNOS software supports multiple levels of transmission priority, which in order of increasing priority are low, medium-low, medium-high, and high, and strict-high. This allows the software to service higher-priority queues before lower-priority queues.
Priority scheduling determines the order in which an output interface transmits traffic from the queues, thus ensuring that queues containing important traffic are provided better access to the outgoing interface. This is accomplished through a procedure in which the software examines the priority of the queue. In addition, the software determines if the individual queue is within its defined bandwidth profile. The bandwidth profile is discussed in Configuring Scheduler Transmission Rate. This binary decision, which is reevaluated on a regular time cycle, compares the amount of data transmitted by the queue against the amount of bandwidth allocated to it by the scheduler. When the transmitted amount is less than the allocated amount, the queue is considered to be in profile. A queue is out of profile when its transmitted amount is larger than its allocated amount.
The queues for a given output physical interface (or output logical interface if per-unit scheduling is enabled on that interface) are divided into sets based on their priority. Any such set contains queues of the same priority.
The software traverses the sets in descending order of priority. If at least one of the queues in the set has a packet to transmit, the software selects that set. A queue from the set is selected based on the weighted round robin (WRR) algorithm, which operates within the set.
The JUNOS software performs priority queuing using the following steps:
Hardware platforms support queue priorities in different ways:
- Queue priority and transmission rate:
- Queue 0: priority low, transmit-rate 50 percent
- Queue 2: priority high, transmit-rate 30 percent
-
- Traffic profile:
- Queue 0: 100 percent of the interface speed
- Queue 2: 100 percent of the interface speed
-
- Results:
- Queue 0: 0 percent of traffic is delivered.
- Queue 2: 100 percent of traffic is delivered.
Table 31 shows the priority mappings by FPC type. Note, for example, that on M320 FPCs and T-series Enhanced FPCs, the software priorities medium-low and medium-high behave similarly because they map to the same hardware priority level.
Table 31: Scheduling Priority Mappings by FPC Type