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