Hi Thomi,

2009/4/15 Thomi Schmid <thomi.sch...@swissonline.ch>:
> According to iperf's doc:
> -w, --window #[KM]  ... For UDP it is just the buffer which datagrams are
> received in, and so limits the largest receivable datagram size.

The -w option is just passed to the kernel as SO_SNDBUF (resp.
SO_RCVBUF). Iperf does nothing with it. For an accurate description of
this option, do NOT look at iperf's documentation but look at the
documentation of the kernel you are using.

With "some" (sorry) Linux versions, you must have SO_SNDBUF lower than
txqueuelen if you want to avoid dropping UDP packets. Yes, I wrote
LOWER, not bigger. That is because the txqueue silently drops packets
when it overflows (this is not a bug: IP is NOT reliable). On the
other hand the send() system call blocks the iperf process and does
NOT drop data when the socket buffer is full (probably because send()
does not make any difference between UDP, TCP and others).

Please search the archive of this mailing list for more.

> My current UDP buffer size is 109kB, and I am using 1470 byte packets; should
> be good enough ? But thanks for the tip, I'll try to increase it and see what
> happens.

Also try to decrease it. And compare with your txqueuelen.

Cheers,

Marc

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
Iperf-users mailing list
Iperf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iperf-users

Reply via email to