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