Named queues and forwarding classes

7730 SXR platforms provide support for both named queues and named forwarding classes. Packets that require a similar treatment (per-hop behavior) are grouped into the same forwarding class, also known as a behavior aggregate. 7730 SXR platforms differentiate up to 16 forwarding classes.

By default, forwarding classes have system-reserved names, fc0 to fc15, that map to system-reserved queues, queue-0 to queue-11.

As part of the forwarding class and queue configurations, 7730 SXR platforms provide the flexibility to do the following:

  • assign each queue a string name and index value
  • assign each forwarding class a string name and index value
  • map the named forwarding class to a named queue

Implementation details

The following implementation details apply to named queues and forwarding classes:

  • Named queues and named forwarding classes are not automatically created under the /qos container configuration.
  • Even though they do not appear as named forwarding classes in the configuration, the default forwarding class names fc0 to fc15 always exist and are reserved names.
  • Even though they do not appear as named queues in the configuration, the default queue names queue-0 to queue-11 always exist and are reserved names.
  • Every interface always has a full set of egress queues; only the names of the queues are variable.
  • If an interface has no explicit configuration for a default queue, and no named queue associated with that queue index, SR Linux displays the queue name in the output as the default value (queue-0 to queue-11) with default parameters.
  • If you configure a named forwarding class (for example, forwarding-class-A) and assign it a forwarding class index of 3, any subsequent configuration that references the default forwarding class associated with index 3 (fc3) fails. You must always reference the named forwarding class when it is configured.

Each queue of an egress interface is associated with a scheduler node. The mapping of queues to scheduler nodes is platform-dependent.

Configuring named queues

Use the qos queues queue command to configure a name and index for a queue.

Queues with a higher index are serviced more preferentially than queues with a lower index (subject to scheduler configuration).

Configure queue name

--{ candidate shared default }--[  ]--
# info qos queues queue queue-1
    qos {
        queues {
            queue queue-1 {
                queue-index 1
            }
        }
    }

Configuring forwarding class names and queue associations

On an interface, packets are assigned to egress queues based on FC-to-queue mapping. To change the default mapping on interfaces, configure a custom FC-to-queue mapping using the qos forwarding classes command.

On a subinterface, by default all traffic uses the same interface-level queues. To associate queues and forwarding classes to a subinterface, configure an output class map using the qos output-class-map command and assign it to the subinterface (see Egress queue mapping).

Use the qos forwarding-classes forwarding-class <name> command to assign a name, index value, and output queue to a forwarding class.

You must associate the forwarding class with a forwarding-class index and a queue. All of the following parameters are mandatory: forwarding-class, forwarding-class-index and queue.

Configure forwarding class name and queue association

--{ candidate shared default }--[  ]--
# info qos forwarding-classes
    qos {
        forwarding-classes {
            forwarding-class fc1 {
                forwarding-class-index 1
                output {
                    queue queue-1
                }
            }
        }
    }

You can reference the named forwarding class in policies including DSCP classification and marking, dot1p classification and marking, MPLS traffic-class classification and marking, and the ingress policer policy.