Bug 691563 - iperf reports 34.4 Gbps to 206 Gbps on lossy wireless connection
Summary: iperf reports 34.4 Gbps to 206 Gbps on lossy wireless connection
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: iperf
Version: 15
Hardware: i686
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Gabriel Somlo
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-03-28 20:24 UTC by Larry Vaden
Modified: 2011-04-04 19:50 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-04-04 17:58:30 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Larry Vaden 2011-03-28 20:24:23 UTC
Description of problem:

iperf reports impossible rates on lossy connections.

Version-Release number of selected component (if applicable):

2.0.5-2.fc15

How reproducible:

Very.

Steps to Reproduce:
1. select a lossy link (wireless, e.g.)
2. run iperf with -u (UDP) option
3. observe output
  
Actual results:

[vaden@aspire Downloads]$ date; echo "Testing with iperf -u"; iperf -c shell.texoma.net -u -i 1 -t 60; date
Sun Mar 27 10:51:21 CDT 2011
Testing with iperf -u
------------------------------------------------------------
Client connecting to shell.texoma.net, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 112 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.9 port 45591 connected with 209.151.96.22 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 24.0 GBytes 206 Gbits/sec
[ 3] 1.0- 2.0 sec 4.00 GBytes 34.4 Gbits/sec

<redacted for brevity> ... </redacted for brevity>

[ 3] 57.0-58.0 sec 128 KBytes 1.05 Mbits/sec
[ 3] 58.0-59.0 sec 128 KBytes 1.05 Mbits/sec
[ 3] 59.0-60.0 sec 128 KBytes 1.05 Mbits/sec
[ 3] 0.0-60.0 sec 216 GBytes 30.9 Gbits/sec
[ 3] Sent 5351 datagrams
[ 3] WARNING: did not receive ack of last datagram after 10 tries.
Sun Mar 27 10:52:24 CDT 2011
[vaden@aspire Downloads]$



Expected results:

Sane values.

Additional info:

Topology tested was:

F15 ---Ubiquiti Loco M900 --- Ubiquiti Rocket M900 --- MikroTik --- Cisco 7206VXR --- F14

Comment 1 Gabriel Somlo 2011-03-30 20:31:18 UTC
I could not reproduce this (F14-F14, different wireless gear and different cisco routers involved, but I consistently get 10-20% packet loss on that link). Still, iperf doesn't exhibit the described behavior.

Comment 2 Larry Vaden 2011-03-31 01:07:32 UTC
If the examiner wants a particular test run which would be more helpful, please advise.

Additional input: 

1. please note the discrepancy between what the server reports and what the client reports

2. please note the difference in sanity between TCP and UDP

3. please note the link being tested is itself subject to problems and is not meeting acceptance testing requirements at this time, thus the tests with iperf.

In this particular case, shell is running F14 ([vaden@shell ~]$ iperf -v
iperf version 2.0.5 (08 Jul 2010) pthreads) and the client is running OpenWrt r26358 (iperf version 2.0.5 (08 Jul 2010) single threaded).

[root@shell ~]# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 209.151.96.22 port 5001 connected with 209.151.124.10 port 51855
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.8 sec  2.12 MBytes  1.64 Mbits/sec

root@OpenWrt:~# iperf -c shell.texoma.net -i 1 -t 10
------------------------------------------------------------
Client connecting to shell.texoma.net, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 209.151.124.10 port 51855 connected with 209.151.96.22 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec   384 KBytes  3.15 Mbits/sec
[  3]  1.0- 2.0 sec   128 KBytes  1.05 Mbits/sec
[  3]  2.0- 3.0 sec   256 KBytes  2.10 Mbits/sec
[  3]  3.0- 4.0 sec   512 KBytes  4.19 Mbits/sec
[  3]  4.0- 5.0 sec  0.00 Bytes  0.00 bits/sec
[  3]  5.0- 6.0 sec  0.00 Bytes  0.00 bits/sec
[  3]  6.0- 7.0 sec  0.00 Bytes  0.00 bits/sec
[  3]  7.0- 8.0 sec   256 KBytes  2.10 Mbits/sec
[  3]  8.0- 9.0 sec   256 KBytes  2.10 Mbits/sec
[  3]  9.0-10.0 sec   256 KBytes  2.10 Mbits/sec
[  3]  0.0-10.7 sec  2.13 MBytes  1.66 Mbits/sec
root@OpenWrt:~# iperf -c shell.texoma.net -i 1 -t 10 -u
------------------------------------------------------------
Client connecting to shell.texoma.net, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:  110 KByte (default)
------------------------------------------------------------
[  3] local 209.151.124.10 port 37884 connected with 209.151.96.22 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  20.0 GBytes   172 Gbits/sec
[  3]  1.0- 2.0 sec   128 KBytes  1.05 Mbits/sec
[  3]  2.0- 3.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3]  3.0- 4.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3]  4.0- 5.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3]  5.0- 6.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3]  6.0- 7.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3]  7.0- 8.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3]  8.0- 9.0 sec  8.00 GBytes  68.7 Gbits/sec
[  3]  9.0-10.0 sec  34.5 KBytes   282 Kbits/sec
[  3]  0.0-10.0 sec  52.0 GBytes  44.6 Gbits/sec
[  3] Sent 788 datagrams
read failed: No route to host
[  3] WARNING: did not receive ack of last datagram after 1 tries.
root@OpenWrt:~#

Comment 3 Gabriel Somlo 2011-04-04 17:40:48 UTC
Hmmm... interesting... I just noticed that if one fails to specify '-u' on the iperf server side, this results in weird looking high-Gbits/sec reports on on the udp-mode client side, along with the "read failed / did not receive ack of last datagram" error message.

Are you sure you're using '-u' on the server as well as on the client ?

Thanks,
--G

Comment 4 Larry Vaden 2011-04-04 17:49:37 UTC
I believe you can close this with resolution=cockpiterror if 'iperf -s' requires -u when testing in udp mode.  My apologies.

Comment 5 Gabriel Somlo 2011-04-04 17:58:30 UTC
Yeah, I wish iperf were smart enough to automatically deal with both tcp and udp when in server mode, but they're not there yet. You need to start a separate instance with '-s -u' to service UDP clients.

BTW, you may already know this, but when in udp mode, the client will attempt to send 1Mbps worth of traffic by default. If you want to put a higher load on the link during the test, you need to use the -b <desired bandwidth> flag on the client.

HTH,
--G

Comment 6 Larry Vaden 2011-04-04 18:27:51 UTC
Well, I dunno where the Bermuda Triangle is these days :), but here's the result of using 'iperf -s -u' and 'iperf -c shell.texoma.net -i 1 -t 15 -b 25M' on the client.  First shot out of the chute.

[vaden@shell ~]$ iperf -s -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size:  112 KByte (default)
------------------------------------------------------------

(no output was redacted)

root@OpenWrt:~# iperf -c shell.texoma.net -i 1 -t 15 -b 25M
WARNING: option -b implies udp testing
------------------------------------------------------------
Client connecting to shell.texoma.net, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:  108 KByte (default)
------------------------------------------------------------
[  3] local 209.151.124.2 port 39841 connected with 209.151.96.22 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  8.00 GBytes  68.7 Gbits/sec
[  3]  1.0- 2.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3]  2.0- 3.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3]  3.0- 4.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3]  4.0- 5.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3]  5.0- 6.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3]  6.0- 7.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3]  7.0- 8.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3]  8.0- 9.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3]  9.0-10.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3] 10.0-11.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3] 11.0-12.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3] 12.0-13.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3] 13.0-14.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3] 14.0-15.0 sec  4.00 GBytes  34.4 Gbits/sec
[  3]  0.0-15.0 sec  64.0 GBytes  36.7 Gbits/sec
[  3] Sent 31915 datagrams
read failed: No route to host
[  3] WARNING: did not receive ack of last datagram after 1 tries.
root@OpenWrt:~#

Comment 7 Larry Vaden 2011-04-04 19:50:37 UTC
Cockpit error was a missing line in /etc/sysconfig/iptables on F-14 to allow udp traffic on port 5001.

root@OpenWrt:~# iperf -c shell.texoma.net -i 1 -t 15 -b 25M
WARNING: option -b implies udp testing
------------------------------------------------------------
Client connecting to shell.texoma.net, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:  108 KByte (default)
------------------------------------------------------------
[  3] local 209.151.124.2 port 51037 connected with 209.151.96.22 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  2.98 MBytes  25.0 Mbits/sec
[  3]  1.0- 2.0 sec  2.98 MBytes  25.0 Mbits/sec
[  3]  2.0- 3.0 sec  2.98 MBytes  25.0 Mbits/sec
[  3]  3.0- 4.0 sec  2.98 MBytes  25.0 Mbits/sec
[  3]  4.0- 5.0 sec  2.98 MBytes  25.0 Mbits/sec
[  3]  5.0- 6.0 sec  2.98 MBytes  25.0 Mbits/sec
[  3]  6.0- 7.0 sec  2.98 MBytes  25.0 Mbits/sec
[  3]  7.0- 8.0 sec  2.98 MBytes  25.0 Mbits/sec
[  3]  8.0- 9.0 sec  2.98 MBytes  25.0 Mbits/sec
[  3]  9.0-10.0 sec  2.98 MBytes  25.0 Mbits/sec
[  3] 10.0-11.0 sec  2.98 MBytes  25.0 Mbits/sec
[  3] 11.0-12.0 sec  2.98 MBytes  25.0 Mbits/sec
[  3] 12.0-13.0 sec  2.98 MBytes  25.0 Mbits/sec
[  3] 13.0-14.0 sec  2.98 MBytes  25.0 Mbits/sec
[  3] 14.0-15.0 sec  2.98 MBytes  25.0 Mbits/sec
[  3]  0.0-15.0 sec  44.7 MBytes  25.0 Mbits/sec
[  3] Sent 31916 datagrams
[  3] Server Report:
[  3]  0.0-15.0 sec  44.7 MBytes  25.0 Mbits/sec   0.062 ms    1/31917 (0.0031%)
root@OpenWrt:~#


Note You need to log in before you can comment on or make changes to this bug.