[ECOS] Ping the RLTK 8139 driver with a large packet and it crashes

Wayne Visser wvisser@lszpaper.com
Thu Mar 1 22:58:00 GMT 2007


Hi all,

My target is an i386 with the default eCos TCP stack, eCos HTTP, TFTP 
servers and a Modbus/TCP server we wrote in house.  The ethernet driver 
is the RealTek 8139.

I first started suspecting something was wrong with the ethernet driver 
when my target randomly crashed after 5-10 minutes under heavy ethernet 
loads: ping flood + http + tftp traffic.

Then I discovered it would crash repeatably if pinged with a large 
packet i.e. ping -s 40000.  The threshold seems to be around 32k, which 
is coincidently the size of the RX buffer.  I have 
CYGNUM_DEVS_ETH_RLTK_8139_RX_BUF_LEN_IDX set to 2, which is the default.

This behaviour is true when CYGPKG_DEVS_ETH_RLTK_8139_SHARE_INTERRUPTS 
is enabled or not.

The driver has some comments about cache coherency, which I don't 
understand well.  In any case, I don't think they're applicable to the 
i386 target (is that true?)

I'm using the eCos CVS snapped on 31 Jan 2007.  gcc 3.4.4, cygwin.

Any help would be appreciated.

-- 
Wayne Visser
LSZ PaperTech Inc.



-- 
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