- Preface
- New and Changed Information
- Overview
- Configuring Classification
- Configuring Policy Maps
- Configuring Marking
- Configuring QoS on the System
- Configuring QoS on Interfaces
- Configuring QoS on VLANs
- Configuring Queuing and Flow Control
- Configuring Ingress Policing
- Configuring Egress Multicast Buffering
- Micro-Burst Monitoring
- Configuring Switch Latency Monitoring
- WRED Explicit Congestion Notification
- Configuring ACL Logging
- Configuring Buffer Utilization Histogram
- Configuring FEX-Based ACL Classification
- QoS Configuration Examples
- Index
Configuring QoS on Interfaces
This chapter contains the following sections:
Information About Interface QoS
Trust Boundaries
The trust boundary is enforced by the incoming interface as follows:
-
All Fibre Channel and virtual Fibre Channel interfaces are automatically classified into the FCoE system class.
-
By default, all Ethernet interfaces are trusted interfaces.The 802.1p CoS and DSCP are preserved unless the marking is configured. There is no default CoS to queue and DSCP to queue mapping. You can define and apply a policy to create these mappings. By default, without a user defined policy, all traffic is assigned to the default queue.
-
Any packet that is not tagged with an 802.1p CoS value is classified into the default drop system class. If the untagged packet is sent over a trunk, it is tagged with the default untagged CoS value, which is zero.
-
You can override the default untagged CoS value for an Ethernet interface or port channel.
You can override the default untagged CoS value for an Ethernet interface or a port channel interface using the untagged cos cos-value command.
You can override the default untagged Cos value for an Ethernet or a Layer 3 interface or a port channel interface using the untagged cos cos-value command.
After the system applies the untagged CoS value, QoS functions the same as for a packet that entered the system tagged with the CoS value.
Policy for Fibre Channel Interfaces
The egress queues are not configurable for native Fibre Channel interfaces. Two queues are available as follows:
QoS for Multicast Traffic
Cisco Nexus devices have 128 multicast ingress queue per interface. For each switch, one queue is allocated for each system class.
By default, all multicast Ethernet traffic is classified into the default drop system class. This traffic is serviced by one multicast queue.
Optimized multicasting allows use of the unused multicast queues to achieve better throughput for multicast frames. If optimized multicast is enabled for the default drop system class, the system will use all six128 queues to service the multicast traffic. When optimized multicast is enabled for the default drop system class, all six queues are given equal priority.
If you define a new system class, a dedicated multicast queue is assigned to that class. This queue is removed from the set of queues available for the optimized multicast class.
The system provides two predefined class maps for matching broadcast or multicast traffic. These class maps are convenient for creating separate policy maps for unicast and multicast traffic.
The predefined class maps are as follows:
- class-all-flood
-
The class-all-flood class map matches all broadcast, multicast, and unknown unicast traffic (across all CoS values). If you configure a policy map with the class-all-flood class map, the system automatically uses all available multicast queues for this traffic.
- class-ip-multicast
-
The class-ip-multicast class map matches all IP multicast traffic. Policy options configured in this class map apply to traffic across all Ethernet CoS values. For example, if you enable optimized multicast for this class, the IP multicast traffic for all CoS values is optimized.
![]() Note | If you configure either of these predefined class maps as a no-drop class, the priority flow control capability is applied across all Ethernet CoS values. In this configuration, pause will be applied to unicast and multicast traffic. |
Configuring Interface QoS
Configuring Untagged CoS
Any incoming packet not tagged with an 802.1p CoS value is assigned the default untagged CoS value of zero (which maps to the default Ethernet drop system class). You can override the default untagged CoS value for an Ethernet or EtherChannel interface.
You can configure flow control on a Layer 2 or Layer 3 interface. Use the no switchport command to configure a Layer 3 interface
On a Cisco Nexus device, you can configure a type qos policy map and untagged CoS on the same interface.
The following example shows how to set the CoS value to 4 for untagged frames received on an interface:
switch# configure terminal switch(config)# interface ethernet 1/2 switch(config-if)# untagged cos 4
The following example shows how to set the CoS value to 3 for untagged frames received on a Layer 3 interface:
switch# configure terminal switch(config)# interface ethernet 1/5 switch(config-if) no switchport switch(config-if)# untagged cos 3 switch(config-if)#
Configuring an Interface Service Policy
An input qos policy is a service policy applied to incoming traffic on an Ethernet interface for classification. For type queuing, the output policy is applied to all outgoing traffic that matches the specified class. When you configure an input queuing policy on an interface or EtherChannel, the switch sends the configuration data to the adapter using the DCBX protocol.
![]() Note | Type qos policies can be activated only on Cisco Nexus device interfaces and Cisco Nexus Fabric Extender interfaces. Type qos policies on Fabric Extender fabric interfaces or Fabric Extender fabric EtherChannel interfaces are ineffective, though the Cisco NX-OS CLI does not reject the configuration. We recommend that you do not configure type qos policy-maps on Fabric Extender fabric interfaces or Fabric Extender fabric EtherChannel interfaces to avoid wasting hardware resources. |
| Command or Action | Purpose | |||||
|---|---|---|---|---|---|---|
| Step 1 |
switch#
configure
terminal
|
Enters global configuration mode. | ||||
| Step 2 |
switch(config)#
interface {ethernet [chassis/]slot/port |
port-channel
channel-number}
|
Enters the configuration mode for the specified interface.
| ||||
| Step 3 |
switch(config-if)#
service-policy [type {qos |
queuing}] [input |
output]policy-name
|
Specifies the policy map to use as the service policy for the system. There are two policy-map configuration modes:
| ||||
| Step 4 |
switch(config-if)#
service-policy input
policy-name
|
Applies the policy map to the interface.
|
This example shows how to apply a policy to an Ethernet interface:
switch# configure terminal
switch(config)# interface ethernet 1/1
switch(config-if)# service-policy type qos input policy1
Configuring a Service Policy for a Layer 3 Interface
You can configure a service policy for a Layer 3 interface.
| Command or Action | Purpose | |||
|---|---|---|---|---|
| Step 1 | switch# configure terminal |
Enters global configuration mode. | ||
| Step 2 |
switch(config)#
interface
ethernet
slot/port
|
Enters the configuration mode for the specified interface.
| ||
| Step 3 |
switch(config-if)#
no
switchport
|
Selects the Layer 3 interface. |
The following example shows how to attach a queuing policy map to a Layer 3 interface:
switch# configure terminal switch(config)# interface ethernet 1/5 switch(config-if)# no switchport switch(config-if)# service-policy type queuing output my_output_q_policy switch(config-if)#
The following example shows how to attach an input qos policy map to a Layer 3 interface:
switch# configure terminal switch(config)# interface ethernet 1/5 switch(config-if)# no switchport switch(config-if)# service-policy type qos input my_input_qos_policy switch(config-if)#
Changing the Bandwidth Allocated to Unicast and Multicast Traffic
You can change the bandwidth allocated to unicast and multicast traffic by assigning weighted round-robin (WRR) weights as a percentage of the interface data rate to the egress queues.
| Command or Action | Purpose | |||
|---|---|---|---|---|
| Step 1 | switch# configure terminal |
Enters global configuration mode. | ||
| Step 2 |
switch(config)#
interface
ethernet
slot/port
|
Enters configuration mode for the specified interface.
| ||
| Step 3 |
switch(config-if)#
wrr
unicast-bandwidth
percentage-value
|
Changes the bandwidth allocated to unicast and multicast traffic on traffic congestion. The bandwidth-value percentage ranges from 0 to 100 percent. |
This example shows how to attach a queuing policy map to a Layer 3 interface:
switch# configure terminal switch(config)# interface ethernet 1/5 switch(config-if)# wrr unicast-bandwidth 75 switch(config-if)#
Verifying the Interface QoS Configuration
Use one of the following commands to verify the configuration:
Command |
Purpose |
||
|---|---|---|---|
show class-map |
Displays the class maps defined on the switch. |
||
show policy-map [name] |
Displays the policy maps defined on the switch. Optionally, you can display the named policy only. |
||
show policy-map interface [interface number] |
Displays the policy map settings for an interface or all interfaces. |
||
show queuing interface [interface slot/\port] |
Displays the queue configuration and statistics.
|
||
show interface flowcontrol [module numbef ] |
Displays the detailed listing of the flow control settings on all interfaces. |
||
show interface [interface slot/port] priority-flow-control [module number] |
Displays the priority flow control details for a specified interface.
|
||
show interface untagged-cos [module number] |
Displays the untagged CoS values for all interfaces. |
||
running-config ipqos |
Displays information about the running configuration for QoS. |
||
startup-config ipqos |
Displays information about the startup configuration for QoS. |

Feedback