[En-Nut-Discussion] Nut/OS freezes when sending UDP packets.
Pavel Chromy
chromy at asix.cz
Tue Nov 16 11:45:46 CET 2004
Louis B wrote:
> However if I send a UDP packet to an IP address that does NOT exist
> then Nut/OS freezes for about 2 seconds, including ALL the threads
> that are running.
I suppose that this is caused by missing ARP entry - NutNet is waiting
for ARP reply, which it never gets. But I think that no all the threads
are freezed for a context switch occurs in NutArpCacheQuery() while waiting
for ARP reply, at least 3.4.2.1 does that.
> I have noticed that behaviour stops happening if you momentarily turn
> on and then off again the missing IP address (ie Nut/OS stops
> freezing after the missing IP address has appeared and disappeared
> again).
Well, I told you - ARP entry!
The only solution would be to maintain a queue of packets waiting for ARP
in ipout.c (with dequeuing on ARP timeout of course).
--
#define QUESTION ((bb)||!(bb))
Mgr. Pavel Chromy
ASIX s r.o.
Staropramenna 4
150 00 Praha 5
More information about the En-Nut-Discussion
mailing list