This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]