ENET Hardware TX Checksum missing on larger IP/UDP frames

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

ENET Hardware TX Checksum missing on larger IP/UDP frames

2,546 Views
a_philp
Contributor I

I am experiencing a problem with ENET_0 where the auto generated IP and protocol header checksums are both missing (zero), when the frame length is larger than 174 bytes. Checksum generation works perfectly with smaller frames, works intermittently with frames of between 174 and 190 bytes, and never works with frames larger than 190 bytes. I have verified the same behaviour with the S32 enet_rmii_udp example application.

I think this could be a timing issue, I'm starting to check clocking and caching. All Ethernet buffers and buffer descriptors are in uncached memory. Has anyone seen this problem before? Thanks.

2 Replies

2,439 Views
a_philp
Contributor I

Solved: There is a note in the reference manual ENETx_TACC stating "The TFWR[STRFWD] field must be set to use the checksum feature". This is missing from the example driver.

ENET.TFWR.B.STRFWD = 1;

2,048 Views
xiha
Contributor II

Thank you very much

0 Kudos
Reply