CRC offload from application's POV

Ferruh Yigit ferruh.yigit at amd.com
Tue Oct 11 13:36:36 CEST 2022


On 10/11/2022 11:48 AM, Viacheslav Galaktionov wrote:
> Hi!
> 
> We're looking to implement CRC offload in our driver and we're having 
> difficulties understanding what
> the feature changes from the application's point of view. If we enable 
> the KEEP_CRC offload, then the
> NIC is supposed to preserve the CRC in the packet, that much is clear. 
> But we checked other drivers
> and it seems common for PMDs to remove the CRC from the final mbufs. Why 
> is that?
> 
> We couldn't find any place where the CRC would be stored after removal, 
> so it looks like the application
> doesn't have access to this piece of data. And if so, what's the point 
> of having this feature if the CRC
> is discarded either way?
> 
> We're probably missing something and would really appreciate any help 
> with this.
> 

Hi Viacheslav,

As you said default behavior is to strip the CRC from packet, even some 
devices doesn't support having CRC in the packet it is removed by HW 
automatically. In this case application can't access to the CRC.

For the devices that has capability to keep CRC, KEEP_CRC offload should 
enable having CRC as part of the packet. There is no special field to 
store the CRC.




More information about the dev mailing list