Menu

#19 iperf tradeoff (-r) mode does not work

open
nobody
None
5
2014-08-19
2008-04-23
Al Caliskan
No

Tradeoff mode does not work in the latest trunk revision of iperf. The server side fails to initiate a connection to the client side during the second phase of tradeoff mode.

The client and server where this bug occurs are two Ubuntu 6.06 computers.

The mode works fine in iperf 2.0.2.

The result from "iperf -v" and sample outputs of client and server sides while trying to run in tradeoff mode are pasted below:

------------------
$ ./iperf -v
iperf version 2.1-CURRENT (7 Apr 2008) pthreads

$ ./iperf -c 10.0.0.91 -i 1 -t 3 -r
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 10.0.0.91, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 4] local 10.0.0.90 port 35905 connected with 10.0.0.91 port 5001
[ ID] Interval Transfer Bandwidth
[ 4] 0.0- 1.0 sec 2.84 MBytes 23.8 Mbits/sec
[ 4] 1.0- 2.0 sec 2.98 MBytes 25.0 Mbits/sec
[ 4] 2.0- 3.0 sec 2.95 MBytes 24.8 Mbits/sec
Waiting for server threads to complete. Interrupt again to force quit.
[ 4] 0.0- 3.0 sec 8.85 MBytes 24.6 Mbits/sec

$ ./iperf -s -i 1
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[ 4] local 10.0.0.90 port 5001 connected with 10.0.0.91 port 44165
[ ID] Interval Transfer Bandwidth
[ 4] 0.0- 1.0 sec 0.00 Bytes 0.00 bits/sec
[ 4] 1.0- 2.0 sec 0.00 Bytes 0.00 bits/sec
[ 4] 2.0- 3.0 sec 0.00 Bytes 0.00 bits/sec
[ 4] 0.0- 3.0 sec 8.36 MBytes 23.0 Mbits/sec
------------------------------------------------------------
Client connecting to 10.0.0.91, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 4] local 10.0.0.90 port 35906 connected with 10.0.0.91 port 5001
write2 failed: Broken pipe
[ 4] 0.0- 0.0 sec 12.7 KBytes 20.9 Mbits/sec
----------------------

Discussion

  • knut st. osmundsen

    The server side calls Client::RunTCP which arms a timer via setitimer(). If the timer fires and raises a SIGALRM the server side will shut down as if you pressed Ctrl-C, see the "Waiting for server threads to complete. Interrupt again to force quit." message in the server output.

    This bug is still present in 2.0.4.

     
  • knut st. osmundsen

    r19 is was broke it, somewhere between 2.0.2 and 2.0.3 according to the tags.

     
  • Dale Blount

    Dale Blount - 2010-03-31

    Happens to me also on 2.0.4 on Arch Linux. Funny thing is that if server is 2.0.4 on Arch Linux and client is 1.7.0 on windows -r still works.

     

Log in to post a comment.

MongoDB Logo MongoDB