yubin00145865 / iperf

Automatically exported from code.google.com/p/iperf
Other
0 stars 0 forks source link

-w option doesn't work in server-mode #143

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. iperf -s -w 1M
2.
3.

What is the expected output? What do you see instead?
TCP receive buffers should be able to be changed in server mode (-s -w).
Instead iperf reports this command is only supported in client mode:
iperf3: parameter error - some option you are trying to set is client only

What version of the product are you using? On what operating system?
welti@ezmp3:~/iperf301/iperf-3.0.1/src$ ./iperf3 -v
iperf version 3.0.1 (10 January 2014)
Linux ezmp3 3.12-0.bpo.1-amd64 #1 SMP Debian 3.12.6-2~bpo70+1 (2014-01-07) 
x86_64 GNU/Linux

Please provide any additional information below.
It doesn't make sense that one can not set the TCP window in server mode (which 
is by default the receiving host). This makes debugging performance issues 
difficult.

Original issue reported on code.google.com by chris.we...@gmail.com on 21 Feb 2014 at 2:29

GoogleCodeExporter commented 8 years ago
I don't think the -w option does what you think it does.

It's supposed to set the socket buffer size (which is also the maximum TCP 
window size) on the sender.  Tuning this value can be important because it 
limits the amount of data that's in-flight (transmitted but not acknowledged by 
the receiver).  On paths with large bandwidth-delay products, a value that's 
too small can result in throughput that's much smaller than the maximum 
achievable.

In iperf3, this value is specified per test, thus it is always specified on the 
client side.  The client and server exchange parameters before the test starts, 
and whichever process is the one that's sending the data (by default this is 
the client, but will be the server if the --reverse option is given) configures 
itself accordingly before starting to send data.

This flag is working as designed, resolving as Invalid.

Original comment by bmah@es.net on 21 Feb 2014 at 9:56