Low Latency 40G Ethernet Intel® FPGA IP User Guide: Agilex™ 5 FPGAs and SoCs

ID 813652
Date 11/25/2024
Public
Document Table of Contents

4.5. Flow Control

Flow control reduces congestion at the local or remote link partner. When link partner experiences congestion, the respective transmit control sends pause frames. The XOFF Pause frames stop the remote transmitter. The XON Pause frames let the remote transmitter resume data transmission. Flow control supports both Pause and Priority.

Flow Control (PFC) control frames:
  • IEEE 802.3 flow control: Implements the IEEE 802.3 Annex 31B standard to manage congestion. This flow control is a mechanism to manage congestion at the local or remote partner. When the receiving device experiences congestion, it sends an XOFF pause frame to the emitting device to instruct the emitting device to stop sending data for a duration specified by the congested receiver. Data transmission resumes when the emitting device receives an XON pause frame (pause quanta = zero) or when the timer expires.
  • Priority-based flow control (PFC): Implements the IEEE 802.1Qbb standard. PFC manages congestion based on priority levels. It supports up to 8 priority queues. When the receiving device experiences congestion on a priority queue, it sends a PFC frame requesting the emitting device to stop transmission on the priority queue for a duration specified by the congested receiver. When the receiving device is ready to receive transmission on the priority queue again, it sends a PFC frame instructing the emitting device to resume transmission on the priority queue.
Figure 8. Flow Control Module Conceptual OverviewThe flow control module acts as a buffer between client logic and the TX and RX MAC.
Flow Control includes the following features:
  • Pause or PFC frame generation and transmission:
    • Configurable selection of standard or priority-based flow control
    • Programmable 1- or 2-bit XON/XOFF request mode
    • In 2-bit request mode, programmable selection of register or signal-based control
    • Programmable per-queue XOFF frame separation
    • Programmable destination and source addresses in outgoing pause and PFC frames
    • Programmable pause and PFC quanta
  • Client versus Pause or PFC frame transmission based on a priority-based arbitration scheme with frame-type indication for external downstream logic
  • Stopping the next client frame transmission on the reception of a valid Pause frame
  • Stopping the per queue client frame transmission on the reception of a valid PFC frame from the client. Includes per-queue PFC Pause quanta duration indicator
  • Pause or PFC frame reception and decode:
    • Programmable destination address for filtering incoming pause and PFC frames
    • Configurable Pause or PFC per-queue enable, directing the IP to ignore incoming pause frames on disabled queues
    • Per-queue client frame transmission pause duration indicator