Intel PCI User Manual

Page of 406
Receive and Transmit Description
 Software Developer’s Manual
69
Three fields in the TCP/IP Context Descriptor set the context of the IP checksum offloading 
feature:
IPCSS
This field specifies the byte offset form the start of the transferred data to the first byte to be 
included in the checksum. Setting this value to 0b means that the first byte of the data is 
included in the checksum. The maximum value for this field is 255. This is adequate for 
typical applications.
Note: The IPCSS value needs to be less than the total DMA length to a packet. If this is not the case, the 
result will be unpredictable.
IPCSO
This field specifies where the resulting checksum should be placed. Again, this is limited to 
the first 256 bytes of the packet and must be less than or equal to the total length of a given 
packet. If this is not the case, the checksum is not inserted.
IPCSE
This field specifies where the checksum should stop. A 16-bit value supports checksum 
offloading of packets as large as 64KB. Setting the IPCSE field to all zeros means End-of-
Packet. In this way, the length of the packet does not need to be calculated.
As mentioned above, it is not necessary to set a new context for each new packet. In many cases, 
the same checksum context can be used for a majority of the packet stream. In this case, some of 
the offload feature only for a particular traffic type, thereby avoiding all context descriptors except 
for the initial one.