Configuring Priority Flow Control

This chapter describes how to configure priority flow control (PFC) on the Cisco NX-OS device. This chapter includes the following sections:


Note This section applies only to the F1 module ports.


Information About Priority Flow Control

Priority flow control (PFC; IEEE 802.1bb), which is also referred to as Class-based Flow Control (CBFC) or Per Priority Pause (PPP), is a mechanism that prevents frame loss that is due to congestion. PFC is similar to 802.3x Flow Control (pause frames) or link-level flow control (LFC). However, PFC functions on a per class-of-service (CoS) basis.

When a buffer threshold is exceeded due to congestion, LFC sends a pause frame to its peer to pause all data transmission on the link for a specified period of time. When the congestion is mitigated (traffic comes under the configured threshold), a resume frame is generated to restart data transmission on the link.

In contrast, during congestion, PFC sends a pause frame that indicates which CoS value needs to be paused. A PFC pause frame contains a 2-octet timer value for each CoS that indicates the length of time that the traffic needs to be paused. The unit of time for the timer is specified in pause quanta. A quanta is the time that is required for transmitting 512 bits at the speed of the port. The range is from 0 to 65535. A pause frame with a pause quanta of 0 indicates a resume frame to restart the paused traffic.


Note Only certain classes of service of traffic can be flow controlled while other classes are allowed to operate normally.


PFC asks the peer to stop sending frames of a particular CoS value by sending a pause frame to a well-known multicast address. This pause frame is a one-hop frame that is not forwarded when received by the peer. When the congestion is mitigated, PFC can request the peer to restart transmitting frames.

Licensing Requirements for Priority Flow Control

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 Priority Flow Control

Network QoS has the following prerequisites:

  • You must be familiar with Chapter3, “Using Modular QoS CLI”
  • You are logged on to the switch.
  • You are in the 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

PFC has the following configuration guidelines and limitations:

  • If PFC is enabled on a port or a port channel, it does not cause a port flap.
  • A flap occurs when both the PFC and LFC are enabled and PFC is disabled before LFC is configured.
  • PFC configuration enables PFC in both the send (Tx) and receive (Rx) direction.
  • PFC on mode is used to support the hosts that support PFC but do not support the Data Center Bridging Capability Exchange Protocol (DCBXP).
  • Only an exact match of the no-drop CoS is considered as a successful negotiation of PFC by the DCBXP.

Default Settings for Priority Flow Control

Table Table 10-1 lists the default setting for PFC.

Table 10-1 Default PFC Setting

Parameter
Default

PFC

Auto

Configuring Priority Flow Control

You can configure PFC on a per-port basis to enable the no-drop behavior for the CoS as defined by the active network qos policy. PFC can be configured in one of these three modes:

  • auto—Enables the no-drop CoS values to be advertised by the DCBXP and negotiated with the peer. A successful negotiation enables PFC on the no-drop CoS. Any failures because of a mismatch in the capability of peers will cause PFC to not be enabled.
  • on—Enables PFC on the local port regardless of the capability of the peers.
  • off—Disables PFC on the local port.

Note You can also enable Link-level Flow Control (LFC) on the same port in which PFC is enabled. However, PFC, if enabled, always gets the priority.


SUMMARY STEPS

1. configure terminal

2. interface ethernet [slot/port-number]

3. priority-flow-control mode {auto | off | on}

4. show interface priority-flow-control

DETAILED STEPS

 

Command
Purpose

Step 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

Enters configuration mode.

Step 2

interface ethernet

[slot/port-number]

 

Example:

switch(config)# interface ethernet 2/5

switch(config-if)#

Enters interface mode on the interface specified.

Step 3

priority-flow-control mode {auto | off | on}

 

Example:

switch(config-if)# priority-flow-control mode on

switch(config-if)#

Sets the PFC to the auto, off, or on mode. By default, PFC mode is set to auto on all ports.

Step 4

show interface priority-flow-control

 

Example:

switch# show interface priority-flow-control

Displays the status of PFC on all interfaces.

Verifying the Priority Flow Control Configuration

To display the PFC configuration, perform the following task:

 

Command
Purpose

show interface priority-flow-control

Displays the status of PFC on all interfaces.

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, Release 5.x.

Configuration Examples for Priority Flow Control

The following example shows how to configure PFC:

configure terminal
interface ethernet 5/5
priority-flow-control mode on

Feature History for Priority Flow Control

Table 10-2 lists the release history for this feature.

 

Table 10-2 Feature History for PFC

Feature Name
Releases
Feature Information

PFC

5.1(1)

This feature was introduced.