[En-Nut-Discussion] ARP packets crashing the TCP stack

Michael Jones Michael.e.Jones at web.de
Sun Jun 18 21:29:53 CEST 2006



Hi Harald,

Hawk like I have zoomed on NutEventBroadcastAsync() and had a good snoop
around. Now in the first iteration I can't fault it - but I feel a bit
queasy when I look at the: 

    if (*qhp == SIGNALED)
        *qhp = 0;

constructs in NutEventBroadcastAsync() and NutEventBroadcast() in event.c...

Unlike the other occurrences in the other functions there is no critical
section around them - so there might be a slim chance of a list corruption
here - what do you think? My early observations did show that in those cases
where the tcp/ip stack stopped working it was only one thread and that was
always stuck in an event wait...  

Cu,
Michael


-----Original Message-----
From: en-nut-discussion-bounces at egnite.de
[mailto:en-nut-discussion-bounces at egnite.de] On Behalf Of Harald Kipp
Sent: Sunday, June 18, 2006 8:54 PM
To: Ethernut User Chat (English)
Subject: RE: [En-Nut-Discussion] ARP packets crashing the TCP stack

We recently had a case, where it was possible to freeze the TCP stack
on 3.9 and later by using simple ping flooding. I assumed that we got
a test case to fix this problem. As it later turned out, it was a
problem in the RTL8019AS driver, when running in edge triggered interrupt
mode.

Some time ago Michael Jones prepared a ARP flood test without "success".
No problem appeared.

However, just now I recognized the call to NutEventBroadcastAsync() in
arpcache.c. Actually it is called nowhere else, except in an old
application,
from where I removed it later with a simple comment
/* Broken? */

May be the problem is located here?

Harald


At 23:30 14.06.2006 +0200, you wrote:
>Hi Lloyd,
>
>Tell me, it is really crush the TCP stack?
>I have some problem's too, but i find it in thread rxi5, rxi5 wait on
>NutEventWait, irq service send post to rxi5, but rxi5 sill waiting on
>NutEventWait.
>
>However other thread's still working fine(if do not needed incoming packets
>from ethernet), but without ethernet services :(((.
>
>If you want, I send you code for detecting this problem, but is necessary
>some modification of Ethernut code...
>
>(I Send it here, but without reaction :(  )

_______________________________________________
En-Nut-Discussion mailing list
En-Nut-Discussion at egnite.de
http://www.egnite.de/mailman/listinfo.cgi/en-nut-discussion





More information about the En-Nut-Discussion mailing list