apply qos
Syntax
apply qos [queue-profile <QUEUE-NAME>] schedule-profile <SCHEDULE-NAME>
no apply qos schedule-profile <SCHEDULE-NAME>
Description
Applies a queue profile and schedule profile globally to all Ethernet and LAG interfaces on the switch, or applies a schedule profile to a specific interface. When applied globally, the specified schedule profile is configured only on Ethernet interfaces and LAGs that do not already have their own schedule profile.
The same profile can be applied both globally and locally to an interface. This guarantees that an interface always uses the specified profile, even if the global profile is changed.
The no form of this command removes the specified schedule profile from an interface and the interface uses the global schedule profile. This is the only way to remove a schedule profile override from the interface.
Interfaces may shut down briefly during reconfiguration.
Command context
config
config-if
config-lag-if
Parameters
queue-profile <QUEUE-NAME>
Specifies the name of the queue profile to apply. Range: 1 to 64 alphanumeric characters, including period (.), underscore (_), and hyphen (-). This parameter is not supported in the config-if context.
schedule-profile <SCHEDULE-NAME>
Specifies the name of the schedule profile to apply. Range: 1 to 64 alphanumeric characters, including period (.), underscore (_), and hyphen (-).
Authority
Administrators or local user group members with execution rights for this command.
Usage
- The switch must always have a globally-applied queue and schedule profile. To stop using a given profile, apply a different profile.
- For a queue profile to be complete and ready to be applied, all eight local priorities must be mapped to a queue.
- For a schedule profile to be complete and ready to be applied, it must define all queues specified in the queue profile. All queues must use the same algorithm, except for the highest numbered queue, which can be strict.
- Both the queue profile and the schedule profile must specify the same number of queues.
- Schedule profiles can be modified while applied, but only in ways where a single command will not result in the profile becoming invalid. For example, queue 7 can have the algorithm changed, and weighted queues can have their weights changed.
- Queues must be consecutively defined starting at queue number zero. For example, a four-queue profile with priority values defined for queues 0, 1, 2, 3 is valid, but a four-queue profile which defines priority values for queues 1, 3, 5, and 7 is not.
If the number of queues was changed from the previous queue profile to the new one, any Ethernet or LAG interfaces with locally applied schedule profiles will program the newly applied global schedule-profile. The
show running-config interface command will list the existing apply qos schedule-profile command with a comment describing the actual profile applied:
apply qos schedule-profile Old_Schedule
!actual schedule-profile New_Schedule
Examples
The following commands illustrate a valid configuration where every local priority value is assigned to a queue and all assigned queues are defined.
switch(config) qos cos-map 1 local-priority 1
switch(config) qos queue-profile Q1
switch(config) map queue 0 local-priority 0
switch(config) map queue 1 local-priority 1
switch(config) map queue 2 local-priority 2
switch(config) map queue 3 local-priority 3
switch(config) map queue 4 local-priority 4
switch(config) map queue 5 local-priority 5
switch(config) map queue 6 local-priority 6
switch(config) map queue 7 local-priority 7
switch(config) qos schedule-profile S1
switch(config) dwrr queue 0 weight 5
switch(config) dwrr queue 1 weight 10
switch(config) dwrr queue 2 weight 15
switch(config) dwrr queue 3 weight 20
switch(config) dwrr queue 4 weight 25
switch(config) dwrr queue 5 weight 50
The following commands illustrate an invalid configuration because local priority 2 is not assigned to a queue.
switch(config) qos cos-map 1 local-priority 1
switch(config) qos queue-profile Q1
switch(config) map queue 0 local-priority 0
switch(config) map queue 1 local-priority 1
switch(config) map queue 3 local-priority 3
switch(config) map queue 4 local-priority 4
switch(config) map queue 5 local-priority 5
switch(config) map queue 5 local-priority 6
switch(config) map queue 5 local-priority 7
switch(config) qos schedule-profile S1
switch(config) dwrr queue 0 weight 5
switch(config) dwrr queue 1 weight 10
switch(config) dwrr queue 3 weight 15
switch(config) dwrr queue 4 weight 25
switch(config) dwrr queue 5 weight 50
Applying the QoS profile myprofile and the schedule profile myschedule to all interfaces that do not have an applied interface-specific schedule profile:
switch(config)# apply qos queue-profile myprofile schedule-profile myschedule