Intel® Ethernet 800 Series Linux Flow Control

Configuration Guide for RDMA Use Cases

ID 635330
Date 07/13/2023
Version 1.3
Document Table of Contents

Types of Flow Control: LFC vs. PFC

Ethernet standards define two types of flow control:

  • Link-level Flow Control (LFC)
  • Priority Flow Control (PFC)

Both types use Xon/Xoff pause frames to control data transmission. The primary difference is that LFC pauses all traffic on a link, but PFC supports Quality-of-Service (QoS) by defining different traffic priorities that can be individually paused. PFC therefore offers greater flexibility when running multiple traffic streams

Note:Despite LFC being called link-level flow control, both LFC and PFC operate at the data link level (OSI Layer 2).

LFC vs. PFC Comparison

LFC PFC
Standard IEEE 802.3x (1997) IEEE 802.1Qbb (2011)
Pause Type

Global pause - pauses the entire link, affecting all traffic on that link.

If a link carries multiple traffic streams, a high-flow stream can cause the link to pause, thereby blocking ALL streams.

Priority pause - defines eight priorities that can be individually paused.

High-bandwidth applications can be paused while allowing low-bandwidth applications to continue running.

Traffic Shaping None. Supports traffic classes, priorities, bandwidth allocation, and other QoS features.
Ease of Setup Straightforward. Turn on Tx/Rx flow control on both the adapter and switch. More complicated. Priorities, traffic classes, bandwidth allocations, and willing/non-willing mode must be configured on the adapter, switch, or both.

PFC and LFC are mutually exclusive. Only one type at a time can be enabled on a device.

  • PFC is generally recommended. It has greater flexibility to handle multiple traffic streams and enhanced QoS capabilities.
  • LFC can be used in situations where there are no differentiated classes of traffic. It is usually used for testing purposes for RDMA.