Hide Forgot
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
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.
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:~#
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
I believe you can close this with resolution=cockpiterror if 'iperf -s' requires -u when testing in udp mode. My apologies.
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
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:~#
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:~#