Technical Documentation

Example: Four-Level Hierarchy of Schedulers

This section provides a more complete example of building a 4-level hierarchy of schedulers. The configuration parameters are shown in Figure 1. The queues are shown at the top of the figure with the other three levels of the hierarchy below.

Figure 1: Building a Scheduler Hierarchy

Image g016856.gif

The figure’s PIR values are configured as the shaping rates and the CIRs are configured as the guaranteed rate on the Ethernet interface ge-1/0/0. The PIR can be oversubscribed (that is, the sum of the children PIRs can exceed the parent’s, as in svlan 1, where 200 + 200 + 100 exceeds the parent rate of 400)). However, the sum of the children node level’s CIRs must never exceed the parent node’s CIR, as shown in all the service VLANs (otherwise, the guaranteed rate could never be provided in all cases).

This configuration example presents all details of the CoS configuration for the interface in the figure (ge-1/0/0), including:

Configuring the Interface Sets

[edit interfaces]interface-set svlan-0 {interface ge-1/0/0 {unit 0;unit 1;}}interface-set svlan-1 {interface ge-1/0/0 {unit 2;unit 3;unit 4;}}

Configuring the Interfaces

The keyword to configure hierarchical schedulers is at the physical interface level, as is VLAN tagging and the VLAN IDs. In this example, the interface sets are defined by logical interfaces (units) and not outer VLAN tags. All VLAN tags in this example are customer VLAN tags.

[edit interface ge-1/0/0]hierarchical-scheduler;vlan-tagging;unit 0 {vlan-id 100;}unit 1 {vlan-id 101;}unit 2 {vlan-id 102;}unit 3 {vlan-id 103;}unit 4 {vlan-id 104;}

Configuring the Traffic Control Profiles

The traffic control profiles hold parameters for levels above the queue level of the scheduler hierarchy. This section defines traffic control profiles for both the service VLAN level (logical interfaces) and the customer VLAN (VLAN tag) level.

[edit class-of-service traffic-control-profiles]tcp-500m-shaping-rate {shaping-rate 500m;}tcp-svlan0 {shaping-rate 200m;guaranteed-rate 100m;delay-buffer-rate 300m; # This parameter is not shown in the figure.}tcp-svlan1 {shaping-rate 400m;guaranteed-rate 300m;delay-buffer-rate 100m; # This parameter is not shown in the figure.}tcp-cvlan0 {shaping-rate 100m;guaranteed-rate 60m;scheduler-map tcp-map-cvlan0; # Applies scheduler maps to customer VLANs.}tcp-cvlan1 {shaping-rate 100m;guaranteed-rate 40m;scheduler-map tcp-map-cvlan1; # Applies scheduler maps to customer VLANs.}tcp-cvlan2 {shaping-rate 200m;guaranteed-rate 100m;scheduler-map tcp-map-cvlanx; # Applies scheduler maps to customer VLANs.}tcp-cvlan3 {shaping-rate 200m;guaranteed-rate 150m;scheduler-map tcp-map-cvlanx; # Applies scheduler maps to customer VLANs}tcp-cvlan4 {shaping-rate 100m;guaranteed-rate 50m;scheduler-map tcp-map-cvlanx; # Applies scheduler maps to customer VLANs}

Configuring the Schedulers

The schedulers hold the information about the queues, the last level of the hierarchy. Note the consistent naming schemes applied to repetitive elements in all parts of this example.

[edit class-of-service schedulers]sched-cvlan0-qx {priority low;transmit-rate 20m;buffer-size temporal 100ms;drop-profile loss-priority low dp-low;drop-profile loss-priority high dp-high;}sched-cvlan1-q0 {priority high;transmit-rate 20m;buffer-size percent 40;drop-profile loss-priority low dp-low;drop-profile loss-priority high dp-high;}sched-cvlanx-qx {transmit-rate percent 30;buffer-size percent 30;drop-profile loss-priority low dp-low;drop-profile loss-priority high dp-high;}sched-cvlan1-qx {transmit-rate 10m;buffer-size temporal 100ms;drop-profile loss-priority low dp-low;drop-profile loss-priority high dp-high;}

Configuring the Drop Profiles

This section configures the drop profiles for the example. For more information about interpolated drop profiles, see RED Drop Profiles Overview.

[edit class-of-service drop-profiles]dp-low {interpolate fill-level 80 drop-probability 80;interpolate fill-level 100 drop-probability 100;}dp-high {interpolate fill-level 60 drop-probability 80;interpolate fill-level 80 drop-probability 100;}

Configuring the Scheduler Maps

This section configures the scheduler maps for the example. Each one references a scheduler configured in Configuring the Schedulers.

[edit class-of-service scheduler-maps]tcp-map-cvlan0 {forwarding-class voice scheduler sched-cvlan0-qx;forwarding-class video scheduler sched-cvlan0-qx;forwarding-class data scheduler sched-cvlan0-qx;}tcp-map-cvlan1 {forwarding-class voice scheduler sched-cvlan1-q0;forwarding-class video scheduler sched-cvlan1-qx;forwarding-class data scheduler sched-cvlan1-qx;}tcp-map-cvlanx {forwarding-class voice scheduler sched-cvlanx-qx;forwarding-class video scheduler sched-cvlanx-qx;forwarding-class data scheduler sched-cvlanx-qx;}

Applying the Traffic Control Profiles

This section applies the traffic control profiles to the proper levels of the hierarchy.

Note: Although a shaping rate can be applied directly to the physical interface, hierarchical schedulers must use a traffic control profile to hold this parameter.

[edit class-of-service interfaces]ge-1/0/0 {output-traffic-control-profile tcp-500m-shaping-rate;unit 0 {output-traffic-control-profile tcp-cvlan0;}unit 1 {output-traffic-control-profile tcp-cvlan1;}unit 2 {output-traffic-control-profile tcp-cvlan2;}unit 3 {output-traffic-control-profile tcp-cvlan3;}unit 4 {output-traffic-control-profile tcp-cvlan4;}}interface-set svlan0 {output-traffic-control-profile tcp-svlan0;}interface-set svlan1 {output-traffic-control-profile tcp-svlan1;}

Note: You should be careful when using a show interfaces queue command that references nonexistent class-of-service logical interfaces. When multiple logical interfaces (units) but are not configured under the same interface set or physical interface, but are referenced by a command such as show interfaces queue ge-10/0/1.12 forwarding-class be or show interfaces queue ge-10/0/1.13 forwarding-class be (where logical units 12 and 13 are not configured as a class-of-service interfaces), these interfaces display the same traffic statistics for each logical interface. In other words, even if there is no traffic passing through a particular unconfigured logical interface, as long as one or more of the other unconfigured logical interfaces under the same interface set or physical interface is passing traffic, this particular logical interface displays statistics counters showing the total amount of traffic passed through all other unconfigured logical interfaces together.

Published: 2010-04-15