RELENG_6 No buffer space available [udp stream]
Ricardo A. Reis
ricardo_bsd at yahoo.com.br
Thu Feb 9 04:27:15 PST 2006
Hi Robert,
Thanks for your explanation, i don't have ideas about with send()
work on freebsd and linux,
reading the man in linux and search per ENOBUFS,
FYI
---------
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.)
---------
For measure network throughput you recommend netperf or iperf ? Or
any other option ?
Thanks
Ricardo A. Reis
UNIFESP
Unix and Network Admin
>>
>> write2 failed: No buffer space available
>
> ENOBUFS is the error returned when a process is sending packets faster
> than the transmitting interface can actually transmit them. It occurs
> when the interface send queue fills, and the packet is dropped. As
> UDP is a lossy datagram protocol without flow control, your process
> doesn't block, but it does get back an error telling it that the
> packet could not be transmitted. I'm not sure how Linux behaves under
> the same conditions -- it could be there is silent drop (send returns
> 0, but the packet is dropped). If the application has been written
> without knowing that send() can fail for UDP, it might not know how to
> take that into account, and might exit/error out improperly.
>
> Robert N M Watson
More information about the freebsd-net
mailing list