Receiving a pause control frame, Core initiated response to a pause request, Client initiated response to a pause request – Xilinx LOGICORE UG144 User Manual
Page 57
![background image](/manuals/229051/57/background.png)
1-Gigabit Ethernet MAC v8.5 User Guide
57
UG144 April 24, 2009
Flow Control Operation of the GEMAC
R
-- DISCONTINUED PRODUCT --
Receiving a Pause Control Frame
Core Initiated Response to a Pause Request
An error free control frame is a received frame matching the format of
. It must
pass all standard receiver frame checks (for example, FCS field checking). In addition, the
control frame received must be exactly 64-bytes in length (from destination address
through to the FCS field inclusive: this is minimum legal Ethernet MAC frame size and the
defined size for control frames).
Any control frame received that does not conform to these checks contains an error and is
passed to the receiver client with the rx_bad_frame signal asserted.
Pause Frame Reception Disabled
When pause control reception is disabled, an error free control frame is received through
the client interface with rx_good_frame asserted (see
“Flow Control Configuration,” on
). In this way, the frame is passed to the client logic for interpretation (see
Initiated Response to a Pause Request,” on page 57
Pause Frame Reception Enabled
When pause control reception is enabled, and an error-free frame is received by the
GEMAC core (see
“Flow Control Configuration,” on page 81
), the following frame
decoding functions are performed:
•
The destination address field is matched against the IEEE 802.3 globally assigned
multicast address or the configurable pause frame MAC address (see
).
•
The length/type field is matched against the MAC control type code.
•
The opcode field contents are matched against the Pause opcode.
If any of the previously described checks are false, the frame is ignored by the Flow Control
logic and passed up to the client logic for interpretation by marking it with
rx_good_frame
asserted. It is then the responsibility of the MAC client logic to decode,
act on (if required), and drop this control frame.
If all the previously described checks are true, the 16-bit binary value in the MAC Control
Parameters field of the control frame is then used to inhibit transmitter operation for the
required number of pause_quantum. This inhibit is implemented by delaying the assertion
of tx_ack at the transmitter client interface until the requested pause duration has
expired. The received pause frame is then passed on to the client with rx_bad_frame
asserted to indicate to the client that the pause frame can be dropped.
Note:
Any frame in which the length/type field contains the MAC control type should be dropped by
the receiver client logic. All control frames are indicated by rx_statistic_vector bit 19 (see
“Receiver Statistics Vector,” on page 44
Client Initiated Response to a Pause Request
For maximum flexibility, flow control logic can be disabled in the core and alternatively
implemented in the client logic connected to the core (see
). Any type of error-free control frame is then passed through the core with
rx_good_frame
asserted. The frame is passed to the client for interpretation. It is then the
responsibility of the client to drop this control frame and to act on it by ceasing
transmission through the core, if applicable.