Bob (Robert) McMahon | 18 Dec 20:30 2014

iperf 2.0.8beta

Hi,

 

We are getting close to releasing iperf 2.0.8.   It’s been extensively used for our wi-fi testing as well as a little bit of 10G, but not much.   Please feel free to try it out and contact me about any issues.

 

https://sourceforge.net/projects/iperf2/

 

Below are the main differences from 2.0.5

  • Fix portability, compile and test with Linux, Win10, Win7, WinXP and MacOS, (possibly android)

  • Improved performance

  • Enhanced reporting with -e

  • Support smaller report intervals (5 ms or greater)

  • Support SO_RCVTIMEOUT for server reports regardless of no packets

  • Support SO_TIMESTAMP for kernel level packet timestamping

  • Support end/end latency in mean/min/max/stdev format (UDP) –e required

  • (assumes client and server clocks synched, e.g by Precision Time Protocol)

  • Add local port to bind support (-B option) using colon as separator

  • (e.g. iperf -c 192.168.100.100 -B 192.168.100.10:6001)

  • Support TCP rate limited streams (via the -b) using token bucket

  • Support packets per second (UDP) via pps as units, (e.g. -b 1000pps)

  • Display PPS in both client and server reports (UDP) (–e required)

  • Support realtime scheduler as a command line option (--realtime or –z, assumes proper user privileges)

  • Improve client tx code path so actual tx offered rate will converge to the -b value

  • Improve accuracy of microsecond delay calls (in platform independent manner)

  • (Use of Kalman filter to predict delay errors and adjust delays per predicted error)

  • Display target loop time in initial client header (UDP)

  • Fix final latency report sent from server to client (UDP)

  • Include standard deviation in latency output

  • Suppress unrealistic latency output (-/-/-/-)

  • Support SO_SNDTIMEO on send so socket write won't block beyond -t (TCP)

  • Use clock_gettime if available (preferred over gettimeofday())

  • TCP write and error counts (TCP retries and CWND for linux) (-e required)

  • TCP read count, TCP read histogram (8 bins) (-e required)

 

Thanks,

Bob McMahon

Broadcom Principal SW Engineer

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
Iperf-users mailing list
Iperf-users@...
https://lists.sourceforge.net/lists/listinfo/iperf-users
Bruce A. Mah | 16 Dec 23:30 2014
Picon

iperf-3.0.10 is available


ESnet (Energy Sciences Network) proudly announces the public release
of iperf-3.0.10.  This release includes several fixes, including a
build fix for MacOS X Yosemite and a fix for the -w (socket buffer
size) option for UDP tests.

More information on changes can be found in the RELEASE_NOTES
file in the source distribution.

iperf3 is a tool for measuring the maximum TCP and UDP performance
along a path, allowing for the tuning of various parameters and
reporting measurements such as throughput, jitter, and datagram packet
loss.

The original iperf was implemented by NLANR / DAST.  Version 3 is a
complete reimplementation, with the goals of a smaller, simpler code
base, and a library that can be used by other programs.  It also adds
new functionality, such as CPU utilization measurements, zero copy TCP
support, and JSON output.  Note that iperf3 clients and servers are
not compatible with, and will not interoperate with, earlier versions
of iperf.

iperf3 is fully supported on Linux, FreeBSD, and MacOS X.  It may run
on other platforms as well, although it has not received the same
attention and testing.

The source code for iperf 3.0.10 is available at:

http://downloads.es.net/pub/iperf/iperf-3.0.10.tar.gz

SHA256 hash:

a113442967cf0981b0b2d538be7c88903b2fb0f87b0d281384e41b462e33059d  iperf-3.0.10.tar.gz

iperf3 is freely-redistributable under a 3-clause BSD license.  More
information can be found in the LICENSE file inside the source
distribution.

Additional documentation for iperf3 can be found at:

http://software.es.net/iperf

More information about iperf3 (including the issue tracker, source
code repository access, and mailing list) can be found on the iperf3
page on GitHub at:

https://github.com/esnet/iperf

The mailing list for iperf3 development is:

iperf-dev@...

To see the list archives or join the mailing list, visit:

http://groups.google.com/group/iperf-dev

Colin Dean | 16 Dec 22:53 2014

Reverse Engineering of Speedtest.net's protocol


I know we all know that Speedtest.net isn’t the greatest speed testing service, but it’s a go-to for a lot of folks who don’t know its deficiencies and so understanding how to works is worthwhile.

While not directly related to iperf itself, I figure the audience of this list might enjoy the article as much as I did.

-- 
Colin Dean
cad <at> cad.cx

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
Iperf-users mailing list
Iperf-users@...
https://lists.sourceforge.net/lists/listinfo/iperf-users
Jonas Gabrielsson | 16 Dec 15:57 2014
Picon

(no subject)

Hi,

 

I’m using iperf verson “# iperf –v => iperf version 2.0.5 (08 Jul 2010) pthreads”, and I was using it to send some DL traffic in a 32h test. Apparently, though, the server process seems to always terminate after around 2950 seconds. I’ve found some matches just googling it, where I think they were talking about some similar problem and that it might be fixed in some later version or something. Does anyone know anything about this? I tried to search the archive for a mail about it, but I didn’t get anything. I might have done something wrong, of course, search wise. I can’t just grab a version and install it myself, that’s why I’m sort of trying to find out whether this is a problem that actually exists in some version but not in some later one.

 

(I’m starting like 20 instances of server: /bin/bash -c iperf -s -i 1 -u -p 5068 & and client: iperf -c 33.17.7.20 -i 1 -t 118800 -u -b 300K -B 10.44.24.6 -p 5068 -l 1450)

 

Rgds,

jonas

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
Iperf-users mailing list
Iperf-users@...
https://lists.sourceforge.net/lists/listinfo/iperf-users
Bob (Robert) McMahon | 23 Nov 00:42 2014

iperf2.0.8 (beta) info & test help request

Hi,

 

We’ve done some updates to the old iperf code base and wanted to inform folks (as well as ask for some testing help.)   This code is in a separate repository from iperf and is a separate effort from iperf3.  We are trying to maintain iperf2 for compatibility and interoperability reasons.  

 

https://sourceforge.net/projects/iperf2/

 

The updates as compared to iperf 2.0.5:

 

o Improved performance (decrease mutex contention)

o Support smaller report intervals (5 ms or greater)

o Support SO_RCVTIMEOUT for server reports regardless of no packets

o Support SO_TIMESTAMP for kernel level packet timestamping

o Support end/end latency in mean/min/max/stdev format (UDP)

      (assumes client and server clocks synched, e.g by Precision Time Protocol)

o Add local port to bind support (-B option) using colon as separator (client)

     (e.g. iperf -c 192.168.100.100 -B 192.168.100.10:6001)

o Fix portability, compile and tested with Linux (Fedora, debian, opensuse) Win10, Win7, WinXP and MacOS

o Support TCP rate limited streams (via the -b) using token bucket

o Support packets per second (UDP) via pps as units, (e.g. -b 1000pps)

o Display PPS in both client and server reports (UDP)

o Support for realtime scheduler as a command line option (--realtime or -z)

o Improve client tx code path so actual tx offerred rate will converge to the -b requested value

o Improve accuracy of microsecond delay calls (in platform independent manner)

    (Use of Kalman filter to predict delay errors and adjust delays per predicted error)

o Display target loop time in initial client header (UDP)

o Suppress unrealistic latency output (-/-/-/-)

o Support SO_SNDTIMEO on send so socket write won't block beyond -t (TCP)

o Use clock_gettime if available (preferred over gettimeofday())

 

Please feel free to email me with comments, issues or suggestions.

 

Thanks,

Bob McMahon

Senior SW Test Engineer (Broadcom)

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
Iperf-users mailing list
Iperf-users@...
https://lists.sourceforge.net/lists/listinfo/iperf-users
Picon

Understanding Iperf

I have logging devices which need to use iperf to test to their home base server.

I need a good layman understanding of Iperf testing. I don't want a highly technical breakdown of Iperf, but
something which is easily understood by practically anyone.

I ask this because searching the net, there seems to be lots of confusion about different results from
client and server side. There are also mentions of being able to do a two way test but I have yet to find a way of
doing that. Would a two way test give me the results of both the client and the server? Would that give me a
better understanding of uploads and downloads speeds?

The server side is
iperf-2.0.5-11

The client side for testing is openwrt running
iperf version 2.0.5 (08 Jul 2010) single threaded

I'm at a loss... help! 

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
Iperf-users mailing list
Iperf-users@...
https://lists.sourceforge.net/lists/listinfo/iperf-users

Picon

Re: protecting iperf behind public server

I forgot to mention that I don't know the IP's of the remotes, they will change all the time. 
However, they do use curl to authenticate to php so have been looking for a way to cobble something together.

I could have php quickly add the IP of the remote to iptables, reload once it is authenticated but since there
would be many remotes connecting at any given time, that seems like an accident waiting to happen.

I also wondered if there is a way that php might be able to control the iperf port or service but that seems to be
a dead end.

I then wondered if there might be a fork of iperf which might allow me to do this but I've not found anything yet.

----- Original Message -----
From: "Sandro Bureca" <sbureca@...>
To: mike@...
Sent: Sunday, November 16, 2014 6:21:29 AM
Subject: Re: [Iperf-users] protecting iperf behind public server

You can use iptables on the machine acting as iper sever if this solution is 
applicable and apply filter on source ip address and the standarf iperf port 5001 or any other at your choice 

On 16 November 2014 00:39, mike@... <
mike@... > wrote: 

I have a number of logging devices which connect home over the internet. Each device calls home using curl,
authenticating part htpasswd then onto a php app. 

I wanted to add iperf as a test to know where there are bandwidth issues but I need to protect iperf to allow
only my own devices to use the server and iperf running as a daemon/service. 

Was wondering if anyone in this list might have to thoughts on how this could be done, so that I could retain my
htpasswd/php authentication and perhaps even use that. 

Might there be a way of having php allow the iperf connection perhaps? 

Thanks kindly. 

------------------------------------------------------------------------------ 
Comprehensive Server Monitoring with Site24x7. 
Monitor 10 servers for $9/Month. 
Get alerted through email, SMS, voice calls or mobile push notifications. 
Take corrective actions from your mobile device. 
http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk 
_______________________________________________ 
Iperf-users mailing list 
Iperf-users@... 
https://lists.sourceforge.net/lists/listinfo/iperf-users 

------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk
_______________________________________________
Iperf-users mailing list
Iperf-users@...
https://lists.sourceforge.net/lists/listinfo/iperf-users

Picon

protecting iperf behind public server

I have a number of logging devices which connect home over the internet. Each device calls home using curl,
authenticating part htpasswd then onto a php app.

I wanted to add iperf as a test to know where there are bandwidth issues but I need to protect iperf to allow
only my own devices to use the server and iperf running as a daemon/service.

Was wondering if anyone in this list might have to thoughts on how this could be done, so that I could retain my
htpasswd/php authentication and perhaps even use that.

Might there be a way of having php allow the iperf connection perhaps?

Thanks kindly.

------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk
_______________________________________________
Iperf-users mailing list
Iperf-users@...
https://lists.sourceforge.net/lists/listinfo/iperf-users

Bob (Robert) McMahon | 1 Nov 23:10 2014

iperf 2.0.8 realease candidate

Hi,

 

I’m working on a iperf2.0.8 release candidate.  If you want to try it out or have any input, please do let me know.  Here’s the info:

 

Source from iperf2 on sourceforge https://sourceforge.net/projects/iperf2/

 

git clone git://git.code.sf.net/p/iperf2/code iperf2-code

 

Features:

    Improved performance

    Support smaller report intervals (5 ms or greater)

    Support SO_RCVTIMEOUT for server reports regardless of no packets

    Support SO_TIMESTAMP for kernel level packet timestamping

    Support end/end latency in mean/min/max format (UDP)

    (assumes client and server clocks synched, e.g by Precision Time Protocol)

    Add local port to bind support (-B option) using colon as separator

    (e.g. iperf -c 192.168.100.100 -B 192.168.100.10:6001)

    2.0.7 only tested with linux as it uses linux kernel specific features

    ======================================================

    **** UPCOMING FOR 2.0.8 BELOW (found in git repository) ****

    ======================================================

    Support TCP rate limited streams (via the -b) using token bucket

    Support packets per second (UDP) via pps as units, (e.g. -b 1000pps)

    Support realtime scheduler as a command line option (--realtime or -z)

    Improve accuracy of microsecond delay calls in os independent manner

    Use of Kalman filter to predict delay errors and adjust delay per predicted error

    Display PPS in both client and server reports (UDP)

    Display target interpacket gap (IPG) in initial client header (UDP)

    Fix final latency report sent from server to client (UDP)

    Fix portability, compile and test with Cygwin and MAC

 

Thanks,

Bob

 

------------------------------------------------------------------------------
_______________________________________________
Iperf-users mailing list
Iperf-users@...
https://lists.sourceforge.net/lists/listinfo/iperf-users
Bruce A. Mah | 14 Oct 23:42 2014
Picon

iperf 3.0.9 is available


ESnet (Energy Sciences Network) proudly announces the public release
of iperf-3.0.9.  This version includes a fairly important bug fix for
a situation in which attempting a UDP test with pathologically large
(and illegal) packet sizes could put the iperf3 server in a state
where it would stop accepting connections from clients, thus causing
the clients to crash when interrupted.

More information on changes can be found in the RELEASE_NOTES
file in the source distribution.

iperf3 is a tool for measuring the maximum TCP and UDP performance
along a path, allowing for the tuning of various parameters and
reporting measurements such as throughput, jitter, and datagram packet
loss.

The original iperf was implemented by NLANR / DAST.  Version 3 is a
complete reimplementation, with the goals of a smaller, simpler code
base, and a library that can be used by other programs.  It also adds
new functionality, such as CPU utilization measurements, zero copy TCP
support, and JSON output.  Note that iperf3 clients and servers are
not compatible with, and will not interoperate with, earlier versions
of iperf.

iperf3 is fully supported on Linux, FreeBSD, and MacOS X.  It may run
on other platforms as well, although it has not received the same
attention and testing.

The source code for iperf 3.0.9 is available at:

http://downloads.es.net/pub/iperf/iperf-3.0.9.tar.gz

SHA256 hash:

40249a2b30d26b937350b969bcb19f88e1beb356f886ed31422b554bac692459  iperf-3.0.9.tar.gz

iperf3 is freely-redistributable under a 3-clause BSD license.  More
information can be found in the LICENSE file inside the source
distribution.

Additional documentation for iperf3 can be found at:

http://software.es.net/iperf

More information about iperf3 (including the issue tracker, source
code repository access, and mailing list) can be found on the iperf3
page on GitHub at:

https://github.com/esnet/iperf

The mailing list for iperf3 development is:

iperf-dev@...

To see the list archives or join the mailing list, visit:

http://groups.google.com/group/iperf-dev

Harry Trieu | 5 Oct 08:35 2014
Picon

Problems Testing Implementation of New TCP Socket Option

Hi there,

I implemented a new TCP socket option in the Linux kernel to turn an experimental TCP option I am developing on/off. I modified iperf to turn the socket option on when the -E flag is passed in, however I get the following error when I run iperf3 -c 10.1.1.3 -E: iperf3: error - unable to initialize stream: Transport endpoint is not connected.

I traced the error back to the call to getpeername() in iperf_init_stream(). Errno after the call to getpeername() is 107 or ENOTCONN.

The other machine that is running iperf and listening for connections prints the following:
Accepted connection from 10.1.1.2, port 36806
iperf3: the client has unexpectedly closed the connection

I'm not sure if the new socket option was correctly implemented. Any ideas as to what might be going on or what I might be doing wrong?

Thanks,
Harry
------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
Iperf-users mailing list
Iperf-users@...
https://lists.sourceforge.net/lists/listinfo/iperf-users

Gmane