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
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"