User Manual
BCM1250/BCM1125/BCM1125H
10/21/02
B r o a d c o m C o r p o r a t i o n
Document
1250_1125-UM100CB-R
Section 9: Ethernet MACs Page
275
Automatic discard can be triggered by any error that happens (FCS error, code error, dribble error, runt error,
oversize error or length error) while the FIFO is locked (i.e. less than the number of entries set by rx_rl_thrsh
have been written into the receive FIFO after the start of a given packet).
lists the bits in the
mac_cfg
register that should be set to enable automatic dropping selectively for each of the error types.
Table 162: Receiver Error Conditions
Error
Bit to set for
automatic dropping
Description
CRC Error
drp_fcserrpkt_en
A Frame Check Sequence or CRC error happens when the CRC field in the
final four bytes of the received packet does not match the CRC that has been
calculated for the data that was received. This error indicates that the data
in the packet has been corrupted during transmission.
Note that because the automatic packet dropping can only be done early in
the packet (set by rx_rl_thrsh) longer packets with a CRC error cannot be
dropped and will be received marked with an error.
Code Error
drp_codeerrpkt_en
A code error is reported for any error signalled by the PHY device. The
details depend on the encoding used and the particular transmission
medium. This error will usually be signalled because received data did not
match a valid encoding, but it could also be signalled by loss of light in an
optical medium, or the clock recovery block losing lock. A single code error
can be ignored, but when multiple code errors are seen the PHY status
should be checked using the management interface.
Dribble Error
drp_drblerrpkt_en
In 10 Mbp/s and 100 Mbp/s operation the data received from the PHY over
the GMII interface is smaller than a byte (1 bit per clock for 10 Mbp/s and 4
bits per clock for 100 Mbp/s). However, the length of a valid Ethernet packet
is always an integral number of bytes. If a packet is received where this is
not the case a dribble error is reported (this error is sometimes called an
alignment error). This error can never happen during gigabit operation
because the interface from the PHY is 8 bits wide (any similar error would be
reported by the PHY as a code error).
Runt Packet
drp_rntpkt_en
A runt packet is any packet that is shorter than the minimum packet size. The
minimum packet size that is used by the MAC is configurable in the
mac_frame_cfg
register, for compliance with IEEE 802.3 this size will be set
at 64 bytes.
Oversize Packet
drp_oszpkt_en
An oversize packet is any packet that is larger than the maximum packet
size. The maximum packet size that is used by the MAC is configurable in
the
mac_frame_cfg
register, for compliance with IEEE 802.3 this size will
be set at 1518 bytes. If a packet is received that is longer than this size it will
be truncated at one byte longer than the maximum frame size and marked
with an error. i.e. If the max frame size is set to 1518 bytes and a packet of
length 4000 bytes is received from the PHY, the DMA engine will transfer
1519 bytes to memory and in the start of packet DMA descriptor status
information software will see the bad packet flag set and a length of 1519
bytes.
Note that because the automatic packet dropping can only be done early in
the packet (set by rx_rl_thrsh) in most cases oversize packets cannot be
dropped and will be received marked with an error.
Length Error
drp_lenerrpkt_en
If the packet type/length field is less than 1500 then it holds the length of the
data portion of the packet. A length error is signalled if this does not match
the number of bytes that were actually received for the data section.
Note that because packets may be padded to the minimum frame size a
length error is not reported if the packet that is received is longer than the
size given in the header.