CoS on vMX Overview
vMX supports two-level hierarchical scheduling (per-unit scheduler or hierarchical scheduler) with VLAN queuing. Each VLAN (logical interface) uses three traffic classes and eight queues.
Starting with Junos OS Release 17.3R1, vMX supports four-level hierarchical scheduling for up to 16 level 2 CoS scheduler nodes. The level 2 node maps to the interface set or VLAN (logical interface).
vMX supports shaping at the traffic class level, not at the queue level. A traffic class is a bundle of queues with fixed priority. The next level in the hierarchy is the VLAN (logical interface), which is a bundle of traffic classes.
vMX has the following fixed priorities and queues for these traffic classes:
Traffic Class 1: High (strict priority)
Queue 0
Queue 6
Traffic Class 2: Medium (strict priority)
Queue 1
Queue 7
Traffic Class 3: Low
Queue 2
Queue 3
Queue 4
Queue 5
Both Traffic Class 1 and Traffic Class 2 follow strict priority, so all excess traffic is discarded as tail drops. However, Traffic Class 3 does not follow strict priority, so the shaping rate is set to the shaping rate of the VLAN.
All queues in the same traffic class have equal priority, so the scheduler pulls packets from each queue in the traffic class based on weighted round robin (WRR) for the VLAN.
All configured forwarding classes must be mapped to one of the queues.
The following features are not supported::
Weighted random early detection (WRED)
Queue buffer size configuration
No commit errors are displayed for unsupported features.
Starting in Junos OS Release 18.4R1, the quality of service (QoS) configuration is enhanced such that, when a port is oversubscribed and congested, a subscriber with higher priority gets more weight than a subscriber with a lower priority. For example, when a subscriber on a port has 100 MB service and another subscriber has 10 MB service then the subscriber with 100 MB service gets more priority than the subscriber with 10 MB service. You must ensure that the priority is followed at level 1 and level 2 nodes, regardless of the weight. The WRR provides the ability handle the oversubscription so that the scheduled traffic reflects a ratio of the shaping rate configured for the individual VLANs.
Use the following commands to configure a maximum number of 16384 subscribers per port on a level 2 node and a maximum number of 32768 subscribers per port on a level 3 node:
set interfaces <interface-name> hierarchical-scheduler maximum-hierarchy 3 max-l2-nodes 16384 set interfaces <interface-name> hierarchical-scheduler maximum-hierarchy 3 max-l3-nodes 32768
The default number of subscribers that are configured per level 2 node is 4000.
Use the following command to disable the WRR feature:
subport_oversubscription_disable=1 in the /etc/riot/runtime.conf of the vFP
The following list describes the limitations for WRR:
The delay-buffer rate must be configured for WRR to work appropriately.
A discrepancy in the delay-buffer rate values, among the VLANs belonging to the same level 2 scheduler node can cause the WRR to work incorrectly.
The WRR works incorrectly when the ratio of shaping rate is greater than 100 among all the subscribers.
The number of level 2 scheduler nodes and the number of subscribers per level 2 scheduler node must be equal to 32,000.
Any modification to the level 2 scheduler node configuration would require a FPC reset.