[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-users] Re: [lwip] Problem in ARP
From: |
Horst Garnetzke |
Subject: |
[lwip-users] Re: [lwip] Problem in ARP |
Date: |
Thu, 09 Jan 2003 00:25:29 -0000 |
Hi,
some hints only (because I have started my lwip implementation with
0.4.3 and I have done my own arp-implementation)...
Mumtaz Ahmad wrote:
> Hi guys
> There is a problem in sending the first packet when arp table is empty . TCP
> manages it since the packets are usually retransmitted after timer expiry
> but in case of UDP is fails completely . I am trying to patch the area in
> ethernetif_out function but i hope you people must already have some
> solution :)?
I had the same problems, because UDP is a main functionality in our
project. As I see it:
After calling netif_output() the stack assumes that all data is computed
and deallocates the pbuf/mem. With UDP the frame is dropped before
sendig it - without any retry.
To solve this problem I started to buffer an outgoing frame
which have no arp-success. So
I can send it again, after the ARP-REPLY arrives. As with many hacks my
first solution never changes: a static buffer with size of max
frame length.
Today I would remove the static buffer and try to copy the frame
with lwip internal pbuf mechanism. If your project needs simultanous
outputs to different destinations _one_ static buffer is a bad solution ;-)
Buffering frames during ARP-REQUEST-REPLY gives you a better
performance with TCP too: no timeout/retry for the first frame!
/Horst
--
Horst Garnetzke address@hidden
PULSAR GmbH, Sorbenstrasse 45, D-20537 Hamburg
++49 40 251546-11 (-17 FAX) http://www.pulsar.de
[This message was sent through the lwip discussion list.]