Ieee 802.3 flow control, Pause frame reception, Pause frame transmission – Altera 10-Gbps Ethernet MAC MegaCore Function User Manual

Page 83: Ieee 802.3 flow control –16

Advertising
background image

7–16

Chapter 7: Functional Description

Congestion and Flow Control

10-Gbps Ethernet MAC MegaCore Function User Guide

February 2014

Altera Corporation

The PFC, as specified by IEEE 802.1Qbb, is a similar mechanism that manages
congestion based on priority levels. The PFC 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.

1

Ensure that only one type of flow control is enabled at any one time.

7.7.1. IEEE 802.3 Flow Control

This section describes the pause frame reception and transmission in the IEEE 802.3
flow control. To use the IEEE 802.3 flow control, set the following registers:

1. On the transmit datapath:

Set tx_pfc_priority_enable to 0 to disable the PFC.

Set tx_pauseframe_enable to 1 to enable the IEEE 802.3 flow control.

2. On the receive datapath:

Set rx_pfc_control to 1 to disable the PFC.

Set the IGNORE_PAUSE bit in the rx_decoder_control register to 0 to enable
the IEEE 802.3 flow control.

7.7.1.1. Pause Frame Reception

When the MAC receives an XOFF pause frame, it stops transmitting frames to the
remote partner for a period equal to the pause quanta field of the pause frame. If the
MAC receives a pause frame in the middle of a frame transmission, the MAC finishes
sending the current frame and then suspends transmission for a period specified by
the pause quanta. The MAC resumes transmission when it receives an XON pause
frame or when the timer expires. The pause quanta received overrides any counter
currently stored. When the remote partner sends more than one pause quanta, the
MAC sets the value of the pause to the last quanta it received from the remote partner.
You have the option to configure the MAC to ignore pause frames and continue
transmitting frames by setting the IGNORE_PAUSE bit in the rx_decoder_control
register to 1.

7.7.1.2. Pause Frame Transmission

The MAC provides the following two methods for the client or connecting device to
trigger pause frame transmission:

avalon_st_pause_data

signal—You can connect this 2-bit signal to a FIFO buffer

or a client. Setting avalon_st_pause_data[1] to 1 triggers the transmission of
XOFF pause frames; setting avalon_st_pause_data[0] to 1 triggers the
transmission of XON pause frames.

Advertising