[ECOS] dropped UDP packets on 8270 PowerPC board

Paul Randall prandall@delta-info.com
Tue Nov 21 22:32:00 GMT 2006


Hi All,

A while back, I posted a message with the same subject above about a 
problem I was having with dropped UDP packets.  Despite some helpful 
responses, I have not been able to resolve the problem.

I have been doing the UDP testing with two Freescale MPC8270 boards we 
developed based on the A&M Rattler 8280 PCI board.  The Ethernet is 
implemented with FCC2.

I have added an RTP header with sequence numbers to each UDP packet 
being transmitted between the two boards.  The application running on 
each board prints an error message when it detects a missing sequence 
number in the data it is receiving.  If one of the boards is only 
receiving packets and the other is only transmitting them, I don't 
detect any missing packets, no matter how high the bitrate.  However, 
when each board receives while simultaneously transmitting, I start to 
see missing sequence numbers in the received data at each board.

The boards both send 1200 byte UDP packets.  In my test application 
there are two builds, A and B.  I flash build A into one board and build 
B into the other board.  Build A configures the board with IP address 
10.10.0.20 and sends packets to 10.10.0.21 at 5 msec intervals which 
corresponds to a bitrate of about 2 Mbit/sec.  Build B configures the 
board with IP address 10.10.0.21 and sends packets to 10.10.0.20 at 100 
msec intervals which corresponds to a bitrate of about 100 kbit/sec.  
The dropped packets appear to happen in bursts on both boards, although 
there seem to be fewer dropped packets detected on the Build A board 
which is receiving data at a slower rate.  If I configure both boards to 
send data at 2 Mbit/sec, I detect a lot more dropped packets on both boards.

I tried adding code to the ethernet driver (if_fcc.c) to check the RTP 
sequence numbers before they were passed to the network stack.  The 
driver is also detecting the missing packets, so I don't think it is a 
problem with the network stack.  I have also added debug messages to the 
ethernet driver to print a message on any RXBD error such as frame 
length, nonoctet, short frame, crc error, or overrun.  I don't see any 
of these RXBD errors.  I also enabled the FCC BSY interrupt which was 
not enabled in the driver, but I never get the interrupt.

I checked Freescale errata but I see no mention of problems with the FCC 
in ethernet mode.

I also added code to monitor the CPU load and it is usually in single 
digits.

I have attached the source for my test program and the modifications I 
made to if_fcc.c to debug the problem.  To make the A build, add rtpa to 
the end of the make command.  Add rtpb to make the B build.

I would appreciate any help possible.  This problem is driving me nuts!

Best regards,

Paul Randall
Delta Digital Video
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: makefile
URL: <http://sourceware.org/pipermail/ecos-discuss/attachments/20061121/2bf59f93/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: rtp_test.c
URL: <http://sourceware.org/pipermail/ecos-discuss/attachments/20061121/2bf59f93/attachment.c>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: rtp_test.h
URL: <http://sourceware.org/pipermail/ecos-discuss/attachments/20061121/2bf59f93/attachment.h>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: sysdef.h
URL: <http://sourceware.org/pipermail/ecos-discuss/attachments/20061121/2bf59f93/attachment-0001.h>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: if_fcc.c
URL: <http://sourceware.org/pipermail/ecos-discuss/attachments/20061121/2bf59f93/attachment-0001.c>
-------------- next part --------------
-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


More information about the Ecos-discuss mailing list