Cisco UCS Manager CLI Configuration Guide, Release 1.0(2)
Configuring Quality of Service
Downloads: This chapterpdf (PDF - 477.0KB) The complete bookPDF (PDF - 3.18MB) | Feedback

Configuring Quality of Service

Configuring Quality of Service

This chapter includes the following sections:

Quality of Service

Cisco UCS provides the following methods to implement quality of service:


  • System classes that specify the global configuration for certain types of traffic across the entire system

  • QoS policies that assign system classes for individual vNICs

  • Flow control policies that determine how uplink Ethernet ports handle pause frames

System Classes

Cisco UCS uses Data Center Ethernet (DCE) to handle all traffic inside a Cisco UCS instance. This industry standard enhancement to Ethernet divides the bandwidth of the Ethernet pipe into eight virtual lanes. System classes determine how the DCE bandwidth in these virtual lanes is allocated across the entire Cisco UCS instance.

Each system class reserves a specific segment of the bandwidth for a specific type of traffic. This provides a level of traffic management, even in an oversubscribed system. For example, you can configure the Fibre Channel Priority system class to determine the percentage of DCE bandwidth allocated to FCoE traffic.

The following table describes the system classes:

System Class

Description

Platinum Priority

Gold Priority

Silver Priority

Bronze Priority

A configurable set of system classes that you can include in the QoS policy for a service profile. Each system class manages one lane of traffic.

All properties of these system classes are available for you to assign custom settings and policies.

Best Effort Priority

A system class that sets the quality of service for the lane reserved for Basic Ethernet traffic.

Some properties of this system class are preset and cannot be modified. For example, this class has a drop policy that allows it to drop data packets if required.

Fibre Channel Priority

A system class that sets the quality of service for the lane reserved for Fibre Channel over Ethernet traffic.

Some properties of this system class are preset and cannot be modified. For example, this class has a no-drop policy that ensures it never drops data packets.

Quality of Service Policies

QoS policies assign a system class to the outgoing traffic for a vNIC or vHBA. This system class determines the quality of service for that traffic.

You must include a QoS policy in a vNIC policy or vHBA policy and then include that policy in a service profile to configure the vNIC or vHBA.

Flow Control Policies

Flow control policies determine whether the uplink Ethernet ports in a Cisco UCS instance send and receive IEEE 802.3x pause frames when the receive buffer for a port fills. These pause frames request that the transmitting port stop sending data for a few milliseconds until the buffer clears.

For flow control to work between a LAN port and an uplink Ethernet port, you must enable the corresponding receive and send flow control parameters for both ports. For Cisco UCS, the flow control policies configure these parameters.

When you enable the send function, the uplink Ethernet port sends a pause request to the network port if the incoming packet rate becomes too high. The pause remains in effect for a few milliseconds before traffic is reset to normal levels. If you enable the receive function, the uplink Ethernet port honors all pause requests from the network port. All traffic is halted on that uplink port until the network port cancels the pause request.

Because you assign the flow control policy to the port, changes to the policy have an immediate effect on how the port reacts to a pause frame or a full receive buffer.

Configuring a System Class

Procedure
  Command or Action Purpose
Step 1 UCS-A# scope eth-server  

Enters Ethernet server mode.

 
Step 2 UCS-A /eth-server # scope qos  

Enters Ethernet server QoS mode.

 
Step 3 UCS-A /eth-server/qos # scope eth-classified {bronze | gold | platinum silver}  

Enters Ethernet server QoS Ethernet classified mode for the specified system class.

 
Step 4 UCS-A /eth-server/qos/eth-classified # enable  

Enables the specified system class.

 
Step 5 UCS-A /eth-server/qos/eth-classified # set cos cos-value  

Specifies the class of service for the specified system class. Valid class of service values are 0 to 6; higher values indicate more important traffic.

 
Step 6 UCS-A /eth-server/qos/eth-classified # set drop {drop | no-drop}  
Specifies whether the channel can drop packets or not.
Note   

Only one system class can use the no-drop option.

 
Step 7 UCS-A /eth-server/qos/eth-classified # set mtu {mtu-value | fc | normal}  

Specifies the maximum transmission unit (MTU) for the specified system class. Valid MTU values are 1538 to 9216.

 
Step 8 UCS-A /eth-server/qos/eth-classified # set multicast-optimize {no | yes}  

Specifies whether the class is optimized to for sending multicast packets.

 
Step 9 UCS-A /eth-server/qos/eth-classified # set weight {weight-value | best-effort | none}  

Specifies the relative weight for the specified system class. Valid weight values are 0 to 10.

 
Step 10 UCS-A /eth-server/qos/eth-classified # commit-buffer  

Commits the transaction to the system configuration.

 

The following example enables the platinum system class, allows the channel to drop packets, sets the class of service to 6, sets the MTU to normal, optimizes the class for sending multicast packets, sets the relative weight to 5, and commits the transaction:

UCS-A# scope eth-server
UCS-A /eth-server # scope qos
UCS-A /eth-server/qos # scope eth-classified platinum
UCS-A /eth-server/qos/eth-classified # enable
UCS-A /eth-server/qos/eth-classified* # set drop drop
UCS-A /eth-server/qos/eth-classified* # set cos 6
UCS-A /eth-server/qos/eth-classified* # set mtu normal
UCS-A /eth-server/qos/eth-classified* # set multicast-optimize yes
UCS-A /eth-server/qos/eth-classified* # set weight 5
UCS-A /eth-server/qos/eth-classified* # commit-buffer
UCS-A /eth-server/qos/eth-classified # 

Disabling a System Class

Procedure
  Command or Action Purpose
Step 1 UCS-A# scope eth-server  

Enters Ethernet server mode.

 
Step 2 UCS-A /eth-server # scope qos  

Enters Ethernet server QoS mode.

 
Step 3 UCS-A /eth-server/qos # scope eth-classified {bronze | gold | platinum silver}  

Enters Ethernet server QoS Ethernet classified mode for the specified system class.

 
Step 4 UCS-A /eth-server/qos/eth-classified # disable  

Disables the specified system class.

 
Step 5 UCS-A /eth-server/qos/eth-classified # commit-buffer  

Commits the transaction to the system configuration.

 

The following example disables the platinum system class and commits the transaction:

UCS-A# scope eth-server
UCS-A /eth-server # scope qos
UCS-A /eth-server/qos # scope eth-classified platinum
UCS-A /eth-server/qos/eth-classified # disable
UCS-A /eth-server/qos/eth-classified* # commit-buffer
UCS-A /eth-server/qos/eth-classified # 

Configuring a QoS Policy

Procedure
  Command or Action Purpose
Step 1 UCS-A# scope org org-name  

Enters organization mode for the specified organization. To enter the root organization mode, type / as the org-name.

 
Step 2 UCS-A /org # create qos-policy policy-name  

Creates a QoS policy with the specified policy name, and enters organization QoS policy mode.

 
Step 3 UCS-A /org/qos-policy # create vnic-egress-policy  

Creates a vNIC egress policy to be used for the QoS policy and enters organization QoS policy vNIC egress policy mode.

 
Step 4 UCS-A /org/qos-policy/vnic-egress-policy # set prio {best-effort | bronze | gold | platinum | silver}  

Specifies the name of the system class to be used for the vNIC egress policy.

 
Step 5 UCS-A /org/qos-policy/vnic-egress-policy # commit-buffer  

Commits the transaction to the system configuration.

 

The following example assigns the best effort system class to the vNIC egress policy of the QoS policy and commits the transaction:

UCS-A# scope org /
UCS-A /org # create qos-policy QosPolicy34
UCS-A /org/qos-policy* # create vnic-egress-policy
UCS-A /org/qos-policy/vnic-egress-policy* # set prio best-effort
UCS-A /org/qos-policy/vnic-egress-policy* # commit-buffer
UCS-A /org/qos-policy/vnic-egress-policy #
What to Do Next

Include the QoS policy in a vNIC template.

Deleting a QoS Policy

If you delete a QoS policy that is in use or disable a system class that is used in a QoS policy, any vNIC which uses that QoS policy is assigned to the Best Effort Priority system class. In a system that implements multi-tenancy, Cisco UCS Manager first attempts to find a matching QoS policy in the organization hierarchy.

Procedure
  Command or Action Purpose
Step 1 UCS-A# scope org org-name  

Enters organization mode for the specified organization. To enter the root organization mode, type / as the org-name.

 
Step 2 UCS-A /org # delete qos-policy policy-name  

Deletes the specified QoS policy.

 
Step 3 UCS-A /org # commit-buffer  

Commits the transaction to the system configuration.

 

The following deletes the QoS policy named QosPolicy34 and commits the transaction:

UCS-A# scope org /
UCS-A /org # delete qos-policy QosPolicy34
UCS-A /org* # commit-buffer
UCS-A /org #

Configuring a Flow Control Policy

Before You Begin

Configure the network port with the corresponding setting for the flow control that you need. For example, if you enable the send setting for flow-control pause frames in the policy, make sure that the receive parameter in the network port is set to on or desired. If you want the Cisco UCS port to receive flow-control frames, make sure that the network port has a send parameter set to on or desired. If you do not want to use flow control, you can set the send and receive parameters on the network port to off.


Procedure
  Command or Action Purpose
Step 1 UCS-A# scope eth-uplink  

Enters Ethernet uplink mode.

 
Step 2 UCS-A /eth-uplink # scope flow-control  

Enters Ethernet uplink flow control mode.

 
Step 3 UCS-A /eth-uplink/flow-control # create policy policy-name  

Creates the specified flow control policy.

 
Step 4 UCS-A /eth-uplink/flow-control/policy # set prio prio-option  

Specifies one of the following flow control priority options:


  • auto—The Cisco UCS system and the network negotiate whether PPP will be used on this fabric interconnect.

  • on—PPP is enabled on this fabric interconnect.

 
Step 5 UCS-A /eth-uplink/flow-control/policy # set receive receive-option  

Specifies one of the following flow control receive options:


  • off—Pause requests from the network are ignored and traffic flow continues as normal.

  • on—Pause requests are honored and all traffic is halted on that uplink port until the network cancels the pause request.

 
Step 6 UCS-A /eth-uplink/flow-control/policy # set send send-option  

Specifies one of the following flow control send options:


  • off—Traffic on the port flows normally regardless of the packet load.

  • on—The Cisco UCS system sends a pause request to the network if the incoming packet rate becomes too high. The pause remains in effect for a few milliseconds before traffic is reset to normal levels.

 
Step 7 UCS-A /org/qos-policy/vnic-egress-policy # commit-buffer  

Commits the transaction to the system configuration.

 

The following configures a flow control policy and commits the transaction:

UCS-A# scope eth-uplink
UCS-A /eth-uplink* # scope flow-control
UCS-A /eth-uplink/flow-control* # create policy FlowControlPolicy23
UCS-A /eth-uplink/flow-control/policy* # set prio auto
UCS-A /eth-uplink/flow-control/policy* # set receive on
UCS-A /eth-uplink/flow-control/policy* # set send on
UCS-A /eth-uplink/flow-control/policy* # commit-buffer
UCS-A /eth-uplink/flow-control/policy #
What to Do Next

Associate the flow control policy with an uplink Ethernet port or port channel.

Deleting a Flow Control Policy

Procedure
  Command or Action Purpose
Step 1 UCS-A# scope eth-uplink  

Enters Ethernet uplink mode.

 
Step 2 UCS-A /eth-uplink # scope flow-control  

Enters Ethernet uplink flow control mode.

 
Step 3 UCS-A /eth-uplink/flow-control # delete policy policy-name  

Deletes the specified flow control policy.

 
Step 4 UCS-A /eth-uplink/flow-control # commit-buffer  

Commits the transaction to the system configuration.

 

The following example deletes the flow control policy named FlowControlPolicy23 and commits the transaction:

UCS-A# scope eth-uplink
UCS-A /eth-uplink* # scope flow-control
UCS-A /eth-uplink/flow-control* # delete policy FlowControlPolicy23
UCS-A /eth-uplink/flow-control* # commit-buffer
UCS-A /eth-uplink/flow-control #