UDP packet not sent
Rolf Schroedter
Rolf.Schroedter at dlr.de
Tue Nov 11 16:23:59 UTC 2003
Hi Gregory,
thanks for your answer, see my remarks below.
gregory.menke at gsfc.nasa.gov wrote:
>
> UDP is free to drop your packet at any time, including the sending and
> receiving stack. The sendto() return != -1 indicates only that the
> stack accepted your packet. This is true for all stacks. That said,
> different IP stacks will drop packets at different times under
> different circumstances.
Yes, I'm aware of this, but see below.
>
> If you're working on a switched network, you generally won't see very
> many (if any) packets dropped by the network itself- but regardless of
> the network type, both ends are subject to buffering issues.
>
> As always, you must assume any UDP packet may be dropped at any time-
> you cannot depend on any behavior other than a "best effort" attempt
> by the stack to transmit your packet which begins when you invoke
> sendto().
>
> If you need reliability, you have to use a different protocol or have
> your application software impose an ack/retry regime. There are a
> wide variety of implementations of both types of approach. Joel
> helped us port "MDP" to RTEMS for one project, it has all sorts of
> features for reliable file delivery as well as messaging all over UDP.
> Its one example at least...
In my *real application* I'm doing an ACK/RETRY.
The problem is that after sending a lot of 1040 byte packets
even *all retries* of the 960 byte packet are dropped.
Only after sending a smaller (240 byte) packet sending "somehow"
continues, but now with most packets dropped.
Obviously with this behaviour any ACK/RETRY regime will stuck.
The question is, whether this is a general (RTEMS-IP) problem
or a OPEN_ETH driver bug ?
I'm attaching send a small sample UDP-writer application
illustrating the problem.
Thanks,
Rolf.
---------------------------------------------------------------
Rolf Schroedter
German Aerospace Center
Institute of Space Sensor Technology and Planetary Exploration
D-12489 Berlin, Rutherfordstrasse 2
Tel/Fax: (+49) (30) 67055-416/384
Email: Rolf.Schroedter at dlr.de
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: tcp_config.h
URL: <http://lists.rtems.org/pipermail/users/attachments/20031111/c7838d95/attachment-0001.h>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: rtems_udp_writer.c
URL: <http://lists.rtems.org/pipermail/users/attachments/20031111/c7838d95/attachment-0001.c>
More information about the users
mailing list