UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 15215

LogiCORE Gigabit Ethernet MAC - What conditions will lead to the assertion of RX_BAD_FRAME and BAD_FRAME?

Description

General Description:

What conditions will lead to the assertion of BAD_FRAME in the RX_STATISTICS_VECTOR in the Gigabit Ethernet MAC core? Are the conditions the same for RX_BAD_FRAME?

Solution

The following conditions cause the assertion of BAD_FRAME:

1. FCS errors occur

2. Packets are shorter than 64 bytes (Undersize or Fragment frames)

3. 8b/10b code errors occur during the packet

4. Unexpected K-Characters appear

5. Jumbo frames are received when jumbo frames are not enabled

6. The Length/Type field is a "length", but the real length of the received frame does not match the value in the Length/Type field

All of the above conditions also cause the assertion of RX_BAD_FRAME, which indicates to the client to drop the frame.

When a Pause Control Frame passing the following checks is received, it is counted as GOOD_FRAME in the RX_STATISTICS_VECTOR but is flagged as RX_BAD_FRAME to the client:

Checks:

- The Destination Address field is matched against the MAC Control Multicast address or the configured Source Address for the MAC

- The Length/Type field is matched against the MAC Control Type code

Control Frames are the only instance when RX_BAD_FRAME does not match BAD_FRAME.

The following is additional information on the corresponding counters and statistic registers:

FCS errors occur

These errors are detected by a failure of the CRC check: the frame does not match the FCS field of the frame. These frames are covered by the "Frame Check Sequence Errors" statistic register at address 0x001.

Packets are shorter than 64 bytes

This affects the area covered by the following 2 counters:

"Undersize frames received" @ address 0x010 (Less than 64 bytes, but are otherwise well-formed)

"Fragment frames received" @ address 0x011 (Less than 64 bytes with additional errors)

8b/10b code errors occur during the packet/5. Unexpected K-Characters appear

These errors are detected by the PHY PCS/PMA sub-layers and are signaled to the MAC by the assertion of the error signal in the GMII interface. IEEE specifications state that these are considered FCS errors. As a result, these frames are also covered by the "Frame Check Sequence Errors" statistic register at address 0x001.

Jumbo frames are received when jumbo frames are not enabled

If a frame is a jumbo but is otherwise well-formed, it appears in the counter, "Oversize Frames Received OK", @ address 0x00F. If it also contains an FCS error (for example), it appears in the "Frame Check Sequence Errors" statistic register at address 0x001.

Length/Type field is a "length", but the real length of the frame received does not match the value in the Length/Type field

This is covered by the counter: "Length/Type Out of Range" @ address 0x00B.

AR# 15215
Date Created 09/03/2007
Last Updated 12/15/2012
Status Active
Type General Article