Cisco Nexus 7000 Series NX-OS Quality of Service Configuration Guide, Release 6.x
Network QoS Policy Configuration
Downloads: This chapterpdf (PDF - 311.0KB) The complete bookPDF (PDF - 5.59MB) | Feedback

Table Of Contents

Configuring Network QoS

Information About Network QoS

Licensing Requirements for Network QoS

Prerequisites for Network QoS

Guidelines and Limitations

Configuring Network QoS Policies

Applying a Network QoS Policy on a Target

Verifying the Network QoS

Configuration Examples for Network QoS

Feature History for Network QoS


Configuring Network QoS


This chapter describes how to configure a network qos policy for the Cisco NX-OS device in the Data Center Bridging (DCB) network. This chapter includes the following sections:


Note This chapter applies to the F-Series I/O modules only.


Information About Network QoS

Licensing Requirements for Network QoS

Prerequisites for Network QoS

Guidelines and Limitations

Configuring Network QoS Policies

Applying a Network QoS Policy on a Target

Verifying the Network QoS

Configuration Examples for Network QoS

Feature History for Network QoS

Information About Network QoS

A Data Center Bridging (DCB) network, which is also referred to as a DCB cloud, is a network that provides I/O consolidation. This network consists of switches that support class of service (CoS)-based traffic differentiation. The DCB network carries different types of traffic such as storage area network (SAN), local area network (LAN), and inter-process communication (IPC) traffic. The SAN traffic is sensitive to packet drops and relies on in-order delivery, which means that the traffic is delivered (frames and packets) in the same order in which it was sent. The LAN traffic allows dropping of packets and is delivered on a best-effort basis. The LAN traffic can have a different level of priority and a chance of being delivered in a timely manner during congestion. The IPC networks require very low latency. Therefore, a DCB network must support traffic differentiation and provide quality of service (QoS).

In a DCB network, virtual links (VLs) are used to differentiate traffic classes. VLs, which are an extension of CoS, enable traffic differentiation and are carried in the priority bits of the 802.1Q or S-Tag. CoS allows forming of a physical link into multiple logical links so that the traffic in the CoS does not affect the traffic on the other CoS.

A DCB network has eight CoS values. All traffic that enters the DCB cloud must be mapped into one of these eight CoS values. Each frame in a DCB network belongs to a CoS. You can define the CoS by a set of parameters that gives a specific behavior to the CoS.

The network qos policy defines the characteristics of each CoS value, which are applicable network wide across virtual device contexts (VDCs) and switches. With a network qos policy, you can configure the following:

Pause behavior—You can decide whether a CoS requires the lossless behavior (the lossless behavior is provided by using a priority flow control (PFC) mechanism that prevents packet loss during congestion) or not. You can configure drop (frames with this CoS value can be dropped) and no drop (frames with this CoS value cannot be dropped). For the drop and no drop configuration, you also need to enable PFC per port. For more information about PFC, see Chapter 10 "Configuring Priority Flow Control."

Congestion Control Mechanisms—You can select either tail drop (TD, which drops frames without differentiation based on the per-VL occupancy) or Weighted Random Early Detection (WRED, which drops frames without differentiation based on the per-VL occupancy and the probability factor) only for a drop CoS. By default, TD is enabled for drop CoS in the default policies. Any of the burst-optimized or mesh-optimized thresholds for TD and WRED can be selected for the packet-drop algorithm based on the traffic pattern expected for the CoS. If no congestion control algorithm is selected, and congestion occurs, a hard tail-drop that is based on a single threshold occurs for the drop CoS.

MTU—You can set the maximum transmission unit (MTU) or maximum payload length for CoS. The MTU range is from 1500 to 9216. The MTU must be smaller than the system jumbo MTU in all VDCs. The MTU must be the same for the CoS that is mapped to the same ingress queue. For more information about the ingress queue, see Chapter 9 "Configuring Queuing and Scheduling on F-Series I/O Modules."

ProtocolsYou can select Fibre Channel over Ethernet (FCoE), iSCSI, or TCP as the protocol for a CoS value. The protocol value is used in the DCB Exchanges.

Table 9-1 shows the drop and no-drop CoS values for the different policy templates.

Table 9-1 Differences in Drop CoS and No-Drop CoS Values 

Templates
Drop CoS
No Drop CoS

default-4q-8e-policy

0-7

default-4q-7e-policy

0-2, 4-7

3

default-4q-6e-policy

0-2, 5-7

3, 4

default-4q-4e-policy

0, 5, 6, 7

1- 4

default-8e-4q4q-policy

0-7

default-8e-4q8q-policy (on Cisco Nexus 7710/7718 switches only)

0-7

default-7e-4q8q-policy (on Cisco Nexus 7710/7718 switches only)

0-2 , 4-7

3

default-6e-4q8q-policy (on Cisco Nexus 7710/7718 switches only)

0-2, 5-7

3, 4

default-4e-4q8q-policy (on Cisco Nexus 7710/7718 switches only)

0, 5,6,7

1-4


Table 9-2 Queue Names and Default Mappings of CoS Values to Egress/Ingress Queues 

Templates
Queue Names for Ingress Queues
Ingress
CoS Values
Queue Names
for Egress Queues
Egress Cos
Values
Priority CoS Value

default-4q-8e-policy

2q4t-8e-in-q1

2q4t-8e-in-q- default

5-7

0-4

1p3q1t-8e-out-pq1 1p3q1t-8e-out-q2 1p3q1t-8e-out-q3 1p3q1t-8e-out-q- default

5-7

3-4

2

0-1

5-7

default-4q-7e-policy

4q4t-7e-in-q1 4q4t-7e-in-q-default 4q4t-7e-in-q3 4q4t-7e-in-q4

5-7

0-1

2,4

3

1p3q1t-7e-out-pq1 1p3q1t-7e-out-q2 1p3q1t-7e-out-q3 1p3q1t-7e-out-q- default

5-7

3

2,4

0,1

5-7

default-4q-6e-policy

4q4t-6e-in-q1 4q4t-6e-in-q-default 4q4t-6e-in-q3 4q4t-6e-in-q4

5-7

0-2

4

3

3p1q1t-6e-out-pq1 3p1q1t-6e-out-pq2 3p1q1t-6e-out-pq3 3p1q1t-6e-out-q- default

5-7

4

3

0-2

5-7

4

3

default-4q-4e-policy

4q4t-4e-in-q1 4q4t-4e-in-q-default 4q4t-4e-in-q3 4q4t-4e-in-q4

5-7

0

4

1-3

2p2q1t-4e-out-pq1 2p2q1t-4e-out-pq2 2p2q1t-4e-out-q3 2p2q1t-4e-out-q- default

5-7

4

1-3

0

5-7

4

default-8e-4q4q- policy

4q1t-8e-4q4q-in-q1 4q1t-8e-4q4q-in-q- default 4q1t-8e-4q4q-in-q3 4q1t-8e-4q4q-in-q4

5-7

0,1

3,4

2

1p3q1t-8e-4q4q- out-pq1 1p3q1t-8e-4q4q- out-q2 1p3q1t-8e-4q4q- out-q3 1p3q1t-8e-4q4q- out-q-default

5-7

0,1

3,4

2

5-7

default-8e-4q8q-policy (Cisco Nexus 7710/ 7718 switches only)

8e-4q8q-in-q1

8e-4q8q-in-q-default

8e-4q8q-in-q3

8e-4q8q-in-q4

5-7

0-4

8e-4q8q-out-q1 (priority queue)

8e-4q8q-out-q2 8e-4q8q-out-q3 8e-4q8q-out-q4 8e-4q8q-out-q5 8e-4q8q-out-q6 8e-4q8q-out-q7 8e-4q8q-out-q- default

5

7

6

4

3

2

1

0

5

(Drop category)

default-7e-4q8q-policy (Cisco Nexus 7710/ 7718 switches only)

default-7e-4q8q- drop-in-policy:

7e-4q8q-in-q1

7e-4q8q-in-q-default

7e-4q8q-in-q3

default-7e-4q8q- ndrop-in-policy:

7e-4q8q-in-q4

5-7

0-1

2-4

3

default-7e-4q8q- drop-out-policy:

7e-4q8q-out-q1

(priority queue)

7e-4q8q-out-q2 7e-4q8q-out-q3 7e-4q8q-out-q4 7e-4q8q-out-q6 7e-4q8q-out-q7 7e-4q8q-out-q- default

default-7e-4q8q- ndrop-out-policy:

7e-4q8q-out-q5

5

7

6

4

2

1

0

3

5 (Drop category)

default-6e-4q8q-policy (Cisco Nexus 7710 /7718 switches only)

default-6e-4q8q- drop-in-policy:

6e-4q8q-in-q1

6e-4q8q-in-q-default

default-6e-4q8q- ndrop-in-policy:

6e-4q8q-in-q3

6e-4q8q-in-q4

5-7

0-2

4

3

default-6e-4q8q- drop-out-policy:

6e-4q8q-out-q1 (priority queue)

6e-4q8q-out-q2 6e-4q8q-out-q3 6e-4q8q-out-q6 6e-4q8q-out-q7 6e-4q8q-out-q- default

default-6e-4q8q- ndrop-out-policy:

6e-4q8q-out-q4 (priority queue)

6e-4q8q-out-q5 (priority queue)

5

7

6

2

1

0

4

3

5 (Drop category)

4

(no drop category, highest priority)

3

(2nd highest priority)

default-4e-4q8q-policy (Cisco Nexus 7710/ 7718 switches only)

default-4e-4q8q- drop-in-policy:

4e-4q8q-in-q1

4e-4q8q-in-q-default

default-4e-4q8q- ndrop- out-policy:

4e-4q8q-in-q3

4e-4q8q-in-q4

5-7

0

4

1-3

default-4e-4q8q- drop-out-policy:

4e-4q8q-out-q1 (priority queue)

4e-4q8q-out-q2 4e-4q8q-out-q3 4e-4q8q-out-q- default

default-4e-4q8q- ndrop- out-policy:

4e-4q8q-out-q4 (priority queue)

4e-4q8q-out-q5 4e-4q8q-out-q6 4e-4q8q-out-q7

5

7

6

0

4

3

2

1

5 (Drop category)

4

(no drop category)


Table 9-2 shows the queue names and default mappings of CoS values to egress and ingress queues

Table 9-3 shows the default DSCP values to Ingress queues for the Cisco Nexus 7710/7718 switches.

Table 9-3 Default DSCP Mappings on Cisco Nexus 7710/7718 Switches

Template
Ingress Queue
Default DSCP Mappings

default-8e-4q8q-policy

8e-4q8q-in-q-default

8e-4q8q-in-q1

8e-4q8q-in-q4

8e-4q8q-in-q3

0-39

40-63

0-39

0-39

default-7e-4q8q-policy

7e-4q8q-in-q-default

7e-4q8q-in-q1

7e-4q8q-in-q4

7e-4q8q-in-q3

0-15

40-63

16-39

default-6e-4q8q-policy

6e-4q8q-in-q-default

6e-4q8q-in-q1

6e-4q8q-in-q4

6e-4q8q-in-q3

0-39

40-63

default-4e-4q8q-policy

4e-4q8q-in-q-default

4e-4q8q-in-q1

4e-4q8q-in-q4

4e-4q8q-in-q3

0-39

40-63


In a default network policy template name, the numbers 4, 6, 7, and 8 denote the number of the drop CoS that is defined in the policy and e denotes Ethernet.


Note The 4q8q policy templates are supported and enabled by default on the Cisco Nexus 7710 switch and the Cisco Nexus 7718 switch only.



Note For the default-8e-4q8q-in-policy, as the ingress buffers are limited to two queues (8e-4q8q-in-q1 and 8e-4q8q-in-q-default), you must change the queue limit by using the queue limit command, before any CoS2q / dscp-to-queue mapping changes are made to 8e-4q8q-in-q3 and 8e-4q8q-in-q4.


The network qos policy templates are created when the first F-Series module becomes operational or the templates are saved in the start-up configuration.


Note A policy that does not conform to a system-defined policy template is currently not supported.


Licensing Requirements for Network QoS

The following table shows the licensing requirements for this feature:

Product
License Requirement

Cisco NX-OS

The QoS feature does not require a license. Any feature not included in a license package is bundled with the Cisco NX-OS system images and is provided at no extra charge to you. For a complete explanation of the Cisco NX-OS licensing scheme, see the Cisco NX-OS Licensing Guide.


However, using virtual device contexts (VDCs) requires an Advanced Services license.

Prerequisites for Network QoS

The network qos policy has the following prerequisites:

You must be familiar with Chapter 3 "Using Modular QoS CLI."

You are logged on to the switch.

You are in the default VDC. A VDC is a logical representation of a set of system resources. You can use the switchto vdc command with a VDC number.

Guidelines and Limitations

The network qos policy has the following configuration guidelines and limitations:


Note These guidelines and limitations are applicable to all F-Series edge and FabricPath mode ports.


You must configure and apply a network qos policy only to the default VDC.

Selecting a template with a no-drop CoS value does not automatically give no-drop behavior to it. The no-drop behavior is enabled for those CoS values only on ports where priority flow control (PFC) is successfully negotiated or turned on.

When the port MTU is configured on an interface, it overrides the network qos MTU.

Fabric Extender (FEX) interfaces do not support MTU changes made to a qos policy template.

The FEX port channel requires a minimum MTU setting of 1058 for traffic with CoS 5-CoS 7. The FEX fails when the MTU is less than 1058 and does not register with the switch.

Changing the network qos policy is a disruptive operation and it can cause traffic drops on any or all ports across VDCs.

DCB network qos policies pertain to F-Series modules. DCE network qos policies are created only when DCE network enabled line cards are inserted into a chassis.

PFC and F1 Series Module Ports

When PFC is enabled on a port, precision time protocol (PTP) is not supported on the port.

The pong utility is not supported on a VDC when PFC is enabled on any of the ports in the same VDC.

PFC is not supported when PTP is enabled on the same port or when the pong utility is enabled in the same VDC.

Configuring iSCSI

As a best practice, both iSCSI and FCoE should be configured on the same CoS (vl) in the network-qos policy for the default-nq-7e-policy and default-nq-6e-policy templates.

Avoid using CoS 4 for iSCSI in the default-nq-6e-policy template.

(CoS 4 is reserved for no-drop control traffic.)

In the default-nq-4e-policy template, iSCSI can be configured in a different CoS (vl) than FCoE.

Avoid using CoS 4 for iSCSI in the default-nq-4e-policy template.

(CoS 4 is reserved for no-drop control traffic.)

Configure the network-qos policy with MTU = 2112 if iSCSI shares the CoS (vl) with FCoE.

Configuring Network QoS Policies

You can configure a network qos policy by following one of these methods:

Predefined Policies—You can apply a predefined network qos policy template that fits your requirement. For more information about the predefined policies, see Table 9-3. By default, default-nq-8e-policy is configured. The numbers denote the number of drop (Ethernet) CoS values. The template CoS values are chosen based on standard conventions and usage patterns.

Copying the predefined templates—You can copy a network qos policy template and modify it as needed. Copying a network qos policy trims the default policy name by stripping the default and policy substrings from it.

User-defined policy—You can create a network qos policy that conforms to one of the system-defined policy templates.


NotePorts that are in the nondefault virtual device contexts (VDCs) inherit the network qos policy from the default VDC.

You can copy and modify a network qos policy template and use the network qos policy commands only from the default-vdc.


Copy a predefined network qos policy template:

SUMMARY STEPS

1. configure terminal

2. qos copy policy-map type network-qos default-nq-7e-policy {prefix prefix | suffix suffix}

3. (Optional) show policy-map type network-qos

4. exit

DETAILED STEPS

 
Command
Purpose

Step 1 

configure terminal

Example:

switch# configure terminal

switch(config)#

Enters global configuration mode.

Step 2 

qos copy policy-map type network-qos default-nq-7e-policy {prefix prefix | suffix suffix}

Example:

switch(config)# qos copy policy-map type network-qos default-nq-7e-policy prefix my_

switch(config)#

Copies a predefined network qos policy and adds a suffix or prefix to its name. A prefix or suffix name can contain alphabetic, hyphen, or underscore characters, is case sensitive, and can be up to 40 characters.

Step 3 

show policy-map type network-qos my_nq-7e

Example:

switch# show policy-map type network-qos my_nq-7e

(Optional) Displays the type network qos policy map.

Step 4 

exit

Example:

switch# exit

Exits from the command interpreter.

Configure a user-defined network qos policy:

SUMMARY STEPS

1. configure terminal

2. class-map type network-qos match-any {class-map-name}

3. match cos [0-7]

4. class-map type network-qos match-any {class-map-name}

5. match protocol [fcoe | iscsi | tcp]

6. match cos [0-7]

7. class-map type network-qos match-any {class-map-name}

8. match cos [0-7]

9. policy-map type network-qos (my_template)

10. class type network-qos eth

11. no pause

12. mtu [mtu_size]

13. congestion-control [random-detect {threshold [burst-optimized | mesh-optimized]} | tail-drop{threshold [burst-optimized | mesh-optimized]}]

14. class type network-qos

15. pause

16. class type network-qos

17. pause

18. mtu [mtu_size]

19. exit

DETAILED STEPS

 
Command
Purpose

Step 1 

configure terminal

Example:

switch# configure terminal

switch(config)#

Enters global configuration mode.

Step 2 

class-map type network-qos match-any {class-map-name}

Example:

switch(config)# class-map type network-qos match-any eth

switch(config-cmap-nqos)#

Configures the class map of the type network-qos, specifies the class map name as eth, and enters class-map mode.

Step 3 

match cos [0-7]

Example:

switch(config-cmap-nqos)# match cos 0,5-7

Specifies the CoS value to match. The range is from 0 to 7.

Step 4 

class-map type network-qos match-any {class-map-name}

Example:

switch(config)# class-map type network-qos match-any fc1

Specifies the type network qos class name.

Step 5 

match protocol [fcoe | iscsi | tcp]

Example:

switch(config-cmap-nqos)# match protocol fcoe

Specifies the CoS value to match and specifies which protocol has to be mapped to a given CoS value.

Step 6 

match cos [0-7]

Example:

switch(config-cmap-nqos)# match cos 3

Specifies the CoS value to match. The range is from 0 to 7.

Step 7 

class-map type network-qos match-any {class-map-name}

Example:

switch(config)# class-map type network-qos match-any fc2

Specifies the type network qos class name.

Step 8 

match cos [0-7]

Example:

switch(config-cmap-nqos)# match cos 1,2,3,4

Specifies the CoS value to match. The range is from 0 to 7.

Step 9 

policy-map type network-qos {my_template}

Example:

switch(config)# policy-map type network-qos my_template_01

Creates or accesses the policy map named my_template_01. The policy-map name can contain alphabetic, hyphen, or underscore characters, is case sensitive, and can be up to 40 characters.

Step 10 

class type network-qos {class-map-name}

Example:

switch(config-pmap-nqos)# class type network-qos eth

Refers to the class map of type network qos as configured in Step 2.

Step 11 

no pause

Example:

switch(config-pmap-nqos-c)# no pause

Specifies drop for the CoS.

Step 12 

mtu (mtu_size)

Example:

switch(config-pmap-nqos-c)# mtu 1600

Specifies the MTU or the payload length. The range is from 1500 to 9216. The MTU size in this example is set to 1600.

Step 13 

congestion-control [random-detect {threshold [burst-optimized | mesh-optimized]} | tail-drop {threshold [burst-optimized | mesh-optimized]}]

Example:

switch(config-pmap-nqos-c)# congestion-control random-detect threshold mesh-optimized

Specifies either the WRED or TD congestion control protocol and the thresholds optimized for bursty or mesh traffic.

Step 14 

class type network-qos {class-map-name}

Example:

switch(config-pmap-nqos)# class type network-qos fc1

Configures the class map of type network-qos and specifies the class map name as fc1.

Step 15 

pause

Example:

switch(config-pmap-nqos-c)# pause

Specifies no-drop. The default is no pause.

Step 16 

class type network-qos {class-map-name}

Example:

switch(config-pmap-nqos)# class type network-qos fc2

Configures the class map of type network-qos and specifies the class map name as fc2.

Step 17 

pause

Example:

switch(config-pmap-nqos-c)# pause

Specifies no-drop. The default is no pause.

Step 18 

mtu [mtu_size]

Example:

switch(config-pmap-nqos-c)# mtu 3000

Specifies the MTU value. The range is from 1500 to 9216.

Step 19 

exit

Example:

switch(config-pmap-nqos-c)# exit

switch(config)#

Exits policy-map network-qos mode and enters global configuration mode.

Applying a Network QoS Policy on a Target

You apply a network qos policy only globally on a system across VDCs. Applying a network qos policy also automatically applies the corresponding queuing policies.

To apply a network qos policy to a target, use the service-policy command.

SUMMARY STEPS

1. configure terminal

2. system qos

3. service-policy type network-qos {my_template}

4. exit

Step 1 

configure terminal

Example:

switch# configure terminal

Enters global configuration mode.

Step 2 

system qos

Example:

switch (config)# system qos

switch (config-sys-qos)#

Enters system qos mode.

Step 3 

service-policy type network-qos {my_template}

Example:

switch (config-sys-qos)# service-policy type network-qos my_template_01

Adds the policy map to the input or output packets of system.

This example adds my_template_01 to the system.

Step 4 

exit

Example:

switch (config-sys-qos)# exit

switch (config)#

Exits config-sys-qos mode and enters configuration mode.

DETAILED STPES

Verifying the Network QoS

To display the network qos policy configuration, perform one of the following tasks:

Command
Purpose

show class-map type network-qos

Displays the type network qos class maps.

show policy-map type network-qos

Displays the type network qos policy maps.

show policy-map system type network-qos

Displays the active type network qos class maps.


For detailed information about the fields in the output from these commands, see the Cisco Nexus 7000 Series NX-OS Quality of Service Command Reference.

Configuration Examples for Network QoS

The following example shows how to configure a network qos policy:

policy-map type network-qos default-nq-6e-policy
    class type network-qos c-nq-6e-drop
      match cos 0-2,5-7
      congestion-control tail-drop
      mtu 1500
    class type network-qos c-nq-6e-ndrop-fcoe
      match cos 3
      match protocol fcoe
      pause
      mtu 2112
    class type network-qos c-nq-6e-ndrop
      match cos 4
      pause
      mtu 1500

Feature History for Network QoS

Table 9-4 lists the release history for configuring network qos policies.

Table 9-4 Feature History Network QoS

Feature Name
Releases
Feature Information

Support for 4q8q policy templates

6.2(2)

Support for four 4q8q templates that provide eight egress queues for the Cisco Nexus 7710 switch and Cisco Nexus 7718 switch only.

Support for four ingress buffers

6.1(3)

Support for the default-8e-4q4q-policy template that supports four ingress buffers.

network-qos policy

5.1(1)

This feature was introduced.