Named queues and forwarding classes
On 7250 IXR systems, SR Linux provides support for both named queues and named forwarding classes.
In R22.6 and earlier, forwarding classes had fixed names, fc0
to
fc7
, and each queue of an egress port was distinguished by a simple
numerical index 0
to 7
that mapped directly to those
forwarding classes.
To align with OpenConfig, SR Linux R22.11 and later provides the flexibility to do the following:
- Assign each queue a string name.
- Assign each forwarding class a string name and forwarding class index.
- Map the named forwarding class to the 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
tofc7
always exist and are reserved names. - Even though they do not appear as named queues in the configuration, the default
queue names
unicast-0
tounicast-7
always exist and are reserved names. (On applicable platforms, default multicast queues are also reserved names.) - Every interface always has a full set of egress queues; only the names of the queues are variable.
- When a named queue is associated with a forwarding class, the queue index value is determined by
the
forwarding-class-index
value defined in the forwarding class configuration. The specified queue name then serves as an alias for the associated unicast or multicast queue index. For example, ifqueue-X
is mapped toforwarding-class-index 5
as a unicast output queue, thenqueue-X
serves as the alias for queueunicast-5
. - 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 (
unicast-0
tounicast-7
) with default parameters. - If you configure a named forwarding class (for example,
forwarding-class-A
) and assign it a forwarding class index (for example,forwarding-class-index 3
), any subsequent configuration that references the default forwarding class name (in this case,fc3
) fails. You must always reference the named forwarding class when it is configured.
Configuring queue names
Configure queue name (7250 IXR only)
# info qos queues
qos {
queues {
queue unicast-queue-1 {
}
queue multicast-queue-1 {
}
}
}
Configuring forwarding class names and queue associations
On 7250 IXR systems, use the qos forwarding-classes forwarding-class <name> command to assign a name, index value, and output queue to a forwarding class.
Forwarding classes with a higher forwarding class index are generally serviced more preferentially than forwarding classes with a lower forwarding class index (subject to scheduler configuration).
You must associate the forwarding class with a unicast queue and a multicast queue. All of the following parameters are mandatory: the forwarding-class name, the forwarding-class-index, the unicast-queue, and the multicast-queue.
Configure forwarding class name, index, and queue association (7250 IXR only)
# info qos forwarding-classes
qos {
forwarding-classes {
forwarding-class test-fc {
forwarding-class-index 1
output {
unicast-queue unicast-queue-1
multicast-queue multicast-queue-1
}
}
}
}
You can reference the named forwarding class in policies including DSCP classifier and rewrite, dot1p classifier and rewrite, multifield classifier and rewrite, MPLS traffic-class and rewrite, and the ingress subinterface policer template.