MPC5200B FEC TX packets getting stuck

Joey Nelson joey at joescan.com
Sat Jan 28 07:14:35 EST 2012


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.

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.

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.

I'm seeing the same issue with 2.6.23 and 3.1.6.

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)

Thanks in advance.

Joey Nelson
joey at joescan.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20120127/480f8da2/attachment.html>


More information about the Linuxppc-dev mailing list