Date: Thu, 09 Feb 2006 10:26:42 -0200 From: "Ricardo A. Reis" <ricardo_bsd@yahoo.com.br> To: Robert Watson <rwatson@FreeBSD.org> Cc: net@freebsd.org Subject: Re: RELENG_6 No buffer space available [udp stream] Message-ID: <43EB3502.8060701@yahoo.com.br> In-Reply-To: <20060208223956.X57882@fledge.watson.org> References: <43EA25EF.3020105@yahoo.com.br> <20060208223956.X57882@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43EB3502.8060701>