The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This chapter describes how to configure priority flow control (PFC) on the Cisco MDS 9000 switches. This chapter includes the following sections:
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.
The following table shows the licensing requirements for this feature:
PFC has the following configuration guidelines and limitations:
Table Table 3-1 lists the default setting for PFC.
|
|
---|---|
You can configure PFC one of these three modes with the long-distance feature:
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.
2. interface ethernet [slot/port-number] or interface ethernet port-channel [port-number]
|
|
|
---|---|---|
priority-flow-control mode {auto | off | on} |
Sets the PFC to the auto, off, or on mode. By default, PFC mode is set to auto on all ports. |
|
To display the PFC configuration, perform the following task:
|
|
---|---|
For detailed information about the fields in the output from these commands, see the Cisco MDS 9000 Family Command Reference.
In case of congestion, the long distance ingress ports sends a pause frame to its peer to pause all data transmission on the link for a specified period of time in order to absorb the in-flight packets.
When a pause frame is generated from a switch, it takes time to reach the peer switch. Until the packet reaches to peers all the in-flight packets need to be buffered and should not be dropped.
If the distance between the switches is longer, time taken by a pause frame to reach the peer switch is more and the number of the in-flight packets becomes higher. All these in-flights packets need to be buffered and should not be dropped. To absorb the large numbers of in-flight packets, the buffer size needs to be larger.
The ingress buffer is governed by these two thresholds:
To absorb a large number of in-flight packets, the difference between the pause threshold and the stop threshold should to be more. The pause threshold should be lower and the stop threshold should be higher. If the difference between the pause and stop thresholds are higher, the number of in-flight packets are absorbed in ingress buffer. If the pause threshold is lower, a pause frame is generated even for small buffer utilization.
On Cisco MDS 9000 switches, there is only one queue, the 7e template and all buffers are allocated to this queue. The pause threshold and the stop threshold are marked at same level. With this limitation, it cannot handle the long distance functionality.
With introduction of the long distance feature for Cisco MDS 9000 Family, you can enable the long distance feature on certain ports where peer switches are at a longer distance.
2. interface ethernet [slot/port-number] or interface ethernet-port-channel [port-number]
3. [no] priority-flow-control long-distance
4. show system internal eth-qos port-node ethernet [slot/port-number]
Table Table 3-1 lists the default setting for long-distance.
|
|
---|---|
The following example shows how to configure PFC: