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
tofc15
always exist and are reserved names. - Even though they do not appear as named queues in the configuration, the default
queue names
queue-0
toqueue-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
toqueue-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.