Hello All,

>From my understanding, lwIP supports an all-or-none approach for checksum 
>generation in software vs hardware i.e. either the complete TCP/UDP checksum 
>is generated in software or it is fully offloaded to hardware.

However there are platforms that support partial checksum offload where-in 
software is required to first generate the IP pseudo-header checksum. The 
packet with this partial checksum is sent to hardware which then checksums the 
rest of the L4 payload.

This may require the following support to be added in lwIP:


  1.  Ability to generate only IP pseudo header checksum and populate it in the 
TCP/UDP header.
  2.  Provide metadata in pbuf to assist the hardware in computing the partial 
checksum. This includes mainly byte start position and number of bytes to 
checksum. Some new fields will be needed in the pbuf structure to pass this 
information down to the Ethernet driver. The alternative to propagating this 
info in pbuf would be to extract it in the driver from the pbuf payload which 
seems inefficient for every single packet.

Is the above understanding correct and has anyone explored the option of 
partial checksum generation?

Best regards
-Nitin
_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to