<div><br></div><div>In my application, I have a PC connected through TCP to a MPC5200B based system. The PC sends a short request, the MPC5200B receives the request and sends the data back. It is doing this about 300 times per second. Normally exchange happens in just handful of milliseconds. But randomly every 2 to 15 minutes the MPC5200B sends all but the last packet of the response, and about 200ms later the PC sends a delayed ACK, and the MPC5200B TCP stack figures the packet was lost. It then sends two nearly identical packets (The IP header Identification and Checksum fields are incremented). I can also see that RetransSegs in /proc/net/snmp increments by one for each of these delays.</div>
<div><br></div><div>My theory is that the packet is getting suck somewhere in the network stack (most likely toward the bottom). Then when another packet is sent, the suck one gets pushed out.</div><div><br></div><div>I've done a test where I have another task on the MPC5200B sending UDP packets to a different PC every 10ms. This eliminated the long delays, and seems to support my stuck packet theory.</div>
<div><br></div><div>I'm seeing the same issue with 2.6.23 and 3.1.6.</div><div><br></div><div>I'm getting ready to dive into the hairy world of Bestcomm and FEC, but I figured I'd see if anyone else has any suggestions before I make my decent. Has anyone seen this behavior before? Any likely candidates for where the packet is getting stuck? General advice for reference materials (I've started on Linux Device Drivers 3rd Ed, BestComm AN2604, and the Datasheets)</div>
<div><br></div><div>Thanks in advance.</div><br clear="all">Joey Nelson<div><a href="mailto:joey@joescan.com">joey@joescan.com</a><br><br>
</div>