Intel PCI User Manual

Page of 406
Receive and Transmit Description
 Software Developer’s Manual
21
layers. The packet checksum is always reported in the first descriptor (even in the case of multi-
descriptor packets).
Upon receipt of a packet for Ethernet controllers, hardware stores the packet data into the indicated 
buffer and writes the length, Packet Checksum, status, errors, and status fields. Length covers the 
data written to a receive buffer including CRC bytes (if any). Software must read multiple 
descriptors to determine the complete length for packets that span multiple receive buffers.
For standard 802.3 packets (non-VLAN) the Packet Checksum is by default computed over the 
entire packet from the first byte of the DA through the last byte of the CRC, including the Ethernet 
and IP headers. Software may modify the starting offset for the packet checksum calculation by 
means of the Receive Control Register. This register is described in 
. To verify the 
TCP checksum using the Packet Checksum, software must adjust the Packet Checksum value to 
back out the bytes that are not part of the true TCP Checksum. 
3.2.3.1
Receive Descriptor Status Field
Status information indicates whether the descriptor has been used and whether the referenced 
buffer is the last one for the packet. Refer to 
 for the layout of the status field. Error status 
information is shown in 
For multi-descriptor packets, packet status is provided in the final descriptor of the packet (EOP 
set). If EOP is not set for a descriptor, only the Address, Length, and DD bits are valid.
Table 3-2. Receive Status (RDESC.STATUS) Layout
6              
5
4
3
2
0
PIF
IPCS
TCPCS
RSV
VP
IXSM
EOP
DD
Receive 
Descriptor Status 
Bits
Description
PIF (bit 7)
Passed in-exact filter
Hardware supplies the PIF field to expedite software processing of packets. 
Software must examine any packet with PIF set to determine whether to accept 
the packet. If PIF is clear, then the packet is known to be for this station, so 
software need not look at the packet contents. Packets passing only the 
Multicast Vector has PIF set.
IPCS (bit 6)
IP Checksum Calculated on Packet
When Ignore Checksum Indication is deasserted (IXSM = 0b), IPCS bit indicates 
whether the hardware performed the IP checksum on the received packet.
0b = Do not perform IP checksum
1b = Perform IP checksum
Pass/Fail information regarding the checksum is indicated in the error bit (IPE) of 
the descriptor receive errors (RDESC.ERRORS)
IPv6 packets do not have the IPCS bit set.
Reads as 0b.