Output queue scheduling

Each unicast queue and each multicast queue of an egress port is associated with a scheduler node. The mapping of queues to scheduler nodes is platform-dependent and cannot be configured.

On 7250 IXR systems, there are two scheduling nodes per port; one for unicast traffic and one for multicast traffic. The two scheduling nodes have a WRR relationship, but the parameters cannot be adjusted. There is one PIR scheduling loop per scheduling node. The scheduling loop serves the strict priority classes first (in descending order of FC), followed by the WRR classes (by weight), limiting each forwarding class to its PIR (expressed as a percentage of the egress port bandwidth). By default, the PIR of each forwarding class is 100%. Note that multicast traffic handled by the multicast scheduler node is unscheduled and is not subject to the ingress VOQ buffering that applies to unicast traffic.

On 7220 IXR-D2 and D3 systems, the unicast queue and multicast queue for a particular forwarding class make up a queue pair. Each of the eight possible queue pairs of an egress port are associated with a scheduler node. Each scheduler node is served as strict priority (SP) or weighted round robin (WRR). If it is served as WRR, the scheduler node also has an associated weight. The scheduling loop serves the SP nodes first, followed by the WRR nodes by weight. The serving order of SP queues is in descending order of FC: fc7 first, then fc6, then fc5, and so on.

On 7220 IXR-H2 and H3 and 7220 IXR-D5 systems, there is a one-to-one mapping of queues to scheduler nodes. Each scheduler node can be served as SP or WRR. A WRR node has a configurable weight. The scheduling loop serves the SP nodes first, followed by the WRR nodes by weight. The serving order of SP queues is as follows:

  • unicast queue 7 serving forwarding class index 7

  • unicast queue 6 serving forwarding class index 6

  • multicast queue 3 serving forwarding class index 6 and 7

  • unicast queue 5 serving forwarding class index 5

  • unicast queue 4 serving forwarding class index 4

  • multicast queue 2 serving forwarding class index 4 and 5

  • unicast queue 3 serving forwarding class index 3

  • unicast queue 2 serving forwarding class index 2

  • multicast queue 1 serving forwarding class index 2 and 3

  • unicast queue 1 serving forwarding class index 1

  • unicast queue 0 serving forwarding class index 0

  • multicast queue 0 serving forwarding class index 0 and 1

Note: On the 7220 IXR-D5 systems, only unicast queues are supported.

Configuring strict priority (7250 IXR)

The following example configures a queue or scheduler node for strict priority. When strict priority is set to false, the associated queue or scheduler node is configured as WRR. When strict priority is set to true, any configured weight is ignored.

--{ candidate shared default }--[  ]--
# info interface ethernet-1/1
    interface ethernet-1/1 {
        qos {
            output {
                queue unicast-0 {
                    scheduling {
                        strict-priority true
                    }
                }
            }
        }
    }
Note: To support named queues, the unicast-queue 0 parameter previously included in this example (in R22.6 and earlier) is now updated to queue unicast-0 (in R22.11 and later).

Configuring strict priority (7220 IXR)

The following example configures a queue or scheduler node for strict priority on the 7220 IXR-D2, D3, and D5 or the 7220 IXR-H2 and H3. Note that when strict priority is set to false, the associated queue or scheduler node is configured as WRR. When strict priority is set to true, any configured weight is ignored.

--{ candidate shared default }--[  ]--
# info interface ethernet-1/1
    interface ethernet-1/1 {
        qos {
            output {
                scheduler {
                    tier 1 {
                        node 0 {
                            strict-priority true
                        }
                    }
                }
            }
        }
    }

Configuring WRR (7250 IXR)

The following example configures a queue or scheduler-node for WRR. Queues or scheduler nodes that you do not configure with a specific weight have a weight of 1.

--{ candidate shared default }--[  ]--
# info interface ethernet-1/1
    interface ethernet-1/1 {
        qos {
            output {
                queue unicast-0 {
                    scheduling {
                        strict-priority false {
                            weight 20
                        }
                    }
                }
            }
        }
    }
Note: To support named queues, the unicast-queue 0 parameter previously included in this example (in R22.6 and earlier) is now updated to queue unicast-0 (in R22.11 and later).

Configuring WRR (7220 IXR)

The following example configures a queue or scheduler node for WRR on the 7220 IXR-D2, D3, and D5 or the 7220 IXR-H2 and H3. Queues or scheduler nodes that you do not configure with a specific weight have a weight of 1.

--{ candidate shared default }--[  ]--
# info interface ethernet-1/1
    interface ethernet-1/1 {
        qos {
            output {
                scheduler {
                    tier 1 {
                        node 0 {
                            strict-priority false
                            weight 20
                        }
                    }
                }
            }
        }
    }

Configuring forwarding class peak rate

The following examples set the maximum percentage of port bandwidth that is available to traffic of a particular FC. By default, traffic belonging to any FC can use up to 100% of the port bandwidth.

Configure forwarding class peak rate (7220 IXR)

--{ candidate shared default }--[  ]--
# info interface ethernet-1/1
    interface ethernet-1/1 {
        qos {
            output {
                unicast-queue 0 {
                    scheduling {
                        peak-rate-percent 75
                    }
                }
            }
        }
    }

Configure forwarding class peak rate (7250 IXR)

--{ candidate shared default }--[  ]--
# info interface ethernet-1/1
    interface ethernet-1/1 {
        qos {
            output {
                queue unicast-0 {
                    scheduling {
                        peak-rate-percent 75
                    }
                }
            }
        }
    }
Note: To support named queues, the unicast-queue 0 parameter in this example is now updated to queue unicast-0 (in R22.11 and later).