When pause control reception is enabled and an error-free frame is received by the MAC core, the following frame decoding functions are performed:
- The destination address field is matched against the IEEE 802.3 globally assigned control multicast address (01-80-C2-00-00-01) or the configurable Pause Frame MAC Address.
- The length/type field is matched against the MAC Control Type code.
- If the second match is TRUE, the OPCODE field contents are matched against the Ethernet MAC control OPCODE for pause frames.
If all the previously listed checks are TRUE, and the frame
is of minimum legal size OR larger and control frame length checking is disabled, 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_axis_mac_tready
at the TX AXI4-Stream
interface until the requested pause duration has expired. Because the received pause frame has
been acted upon, it is passed to the RX AXI4-Stream interface as an errored
packet to indicate that it can now be dropped.
If the second match is TRUE and the frame is not exactly 64 bytes in length (when control frame length checking is enabled), the reception of any frame is considered to be an invalid control frame. This frame is ignored by the flow control logic and passed to the RX AXI4-Stream interface as an errored frame. In this case, the frame is errored even if the flow control is not enabled.
If any of the previously listed checks are FALSE, the frame is ignored by the Flow Control logic and passed up to the user logic for interpretation by marking it as a good frame. It is then the responsibility of the MAC user logic to decode, act on (if required), and drop this control frame.
- Any frame in which the length/type field contains the
MAC Control Type in the length/type field should be dropped by the receiver user logic. All
Control frames are indicated by
rx_statistics_vector
bit 19 (see Receive Statistics Vector).