[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] Driver interface related question

From: address@hidden
Subject: Re: [lwip-users] Driver interface related question
Date: Wed, 24 Oct 2007 18:13:07 +0200
User-agent: Thunderbird (Windows/20070728)

shai katzir schrieb:
so i raised the pbufs, then it got stuck by saying there aren't enough
memp's( for TCP msg).
so i raised the memps for tcp msgs. then it started to receive some packets
and again got stuck,
without pbuf's to allocate. i checked if the alloc and free are working
fine( with my sys_prot) and they're seem to be Okay. the problem is that the program is trying to allocate in a
higher rate than the release.

You mean memp_malloc() fails in tcpip_input()? That is not a problem, it only shows packets are coming faster than being processed. In the driver (ethernetif.c), when tcpip_input() (or netif->input() in this case) returns an error, the pbuf with the incoming packet has to be freed, which means a packet is dropped due to system overload. This certainly isn't solved as good as it might be in the core code since it would be better to check for available TCP segs before filling a pbuf, but that's the way it is now...

Goldschmidt Simon wrote:
v1.2.0 has some problems with ARP in this context so you might want to
upgrade to something newer (CVS) to receive packets from interrupt
context. But be aware that CVS HEAD has many changes compared to 1.2.0!

What kind of problems can be with the arp?
i understand that in my case, all the processing (of the ARP), including the
arp reply,
 is done in the interrupt, but can it cause problem?
Concurrent access to the ARP table from normal context and interrupt context which _could_ result in mixing hw addresses. In your case also concurrent access to the ethernet hardware (when an ARP request is received which results in sending an ARP response while a packet is being sent from normal context).
anyway, my program get stuck when there are no longer any arp messages, so
i'm assuming its
not the problem.
I agree it's not the problem here, yes. But nevertheless it is a known problem in v1.2.0 (which is why 1.3.0 will be released some time in the far future :).


reply via email to

[Prev in Thread] Current Thread [Next in Thread]