Lew Pitcher <(E-Mail Removed)> wrote:
> Additionally, according to the sendto(2) documentation, Linux
> silently drops packets if the tcp/ip outgoing buffer is full. It
> doesn't report the ENOBUFS that other sockets implementations might.
Is this the text you were talking about?
ENOBUFS The output queue for a network interface was full. This
generally indicates that the interface has stopped sending,
but may be caused by transient congestion. (Normally, this
does not occur in Linux. Packets are just silently dropped
when a device queue overflows.)
If so, I believe there is a difference between the device queue and
the socket buffer.

FWIW, HP-UX 11 and later also will not report
ENOBUFS when the device queue overflows. I suspect the same is true
for Solaris.
I believe though that under Linux, if the UDP socket is "connected"
(and so one is calling send()) that the device queue filling may
trigger intra-stack flow-control. Of course, to rely on that would be
highly unportable...
In the end, as already pointed-out, applications using UDP just have
to "deal" with the very real possibility that their datagrams will
simply vanish into thin ether
rick jones
--
No need to believe in either side, or any side. There is no cause.
There's only yourself. The belief is in your own precision. - Jobert
these opinions are mine, all mine; HP might not want them anyway...

feel free to post, OR email to rick.jones2 in hp.com but NOT BOTH...