The packet length in non-alignment mode of TCP


All sockets on my W5300 are initialized as non-alignment TCP mode.
I found one issue with my board that, every 1000 packets (approximately), the leading two bytes I read from W5300 FIFO seem not the correct packet length. These two bytes should be a part of the normal packet, so I guess the expected packet length are missed or ignored somehow by W5300.
When this happens at the middle or close to the end of transaction, the application of the peer device has to re-send the whole data stream.

I am still checking to see if this error is caused by my own source code. But I appreciate if anybody can tell me if similar phenomenon encountered before or it is a known issue.



What does it mean that the packet length of two bytes is not correct
Does the difference between the packet you sent and the packet received on the W5300 differ by two bytes?
Or is the length of the packet read incorrectly?