This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Ping the RLTK 8139 driver with a large packet and it crashes
- From: Wayne Visser <wvisser at lszpaper dot com>
- To: ecos-discuss at sourceware dot org
- Date: Thu, 01 Mar 2007 17:57:56 -0500
- Subject: [ECOS] 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