iperf2 Icon

iperf2

Maintenance and enhancements of iperf 2.0.5

Add a Review
1,060 Downloads (This Week)
Last Update:
Download iperf-2.0.9.tar.gz
Browse All Files

Screenshots

Description

This code is a continuation based from the no longer maintained iperf 2.0.5 code base. Iperf 2.0.5 is still widely deployed and used by many for testing networks and for qualifying networking products. This code has goals to preserve compatibility and interoperability with iperf 2.0.5 clients or servers, adopt known 2.0.5 bug fixes, maintain an active code base for the multiple 2.0.5 derivatives, as well as adding some essential feature enhancements (mostly driven by wi-fi testing needs.) In summary, the Iperf2 code here attempts to maintain the iperf 2.0.5 feature set and backward compatibility (due to things like automated scripts), iperf 2.0.5 peer interoperability, maintain broad OS support, as well as add essential new features.

Iperf 2 vs iperf 3 major differences: Iperf 3 is a rewrite which does not support interoperability with iperf 2. The iperf 2 code base supports threaded operation where iperf 3 is single threaded.

iperf2 Web Site

Categories

Features

  • Fix portability, compile and tested with Linux, Win10, Win7, WinXP, MacOS, Android and some set-top box OSs.
  • Require -u for UDP (-b no longer defaults to UDP)
  • 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_SNDTIMEO on send so socket write won't block beyond -t or -i
  • 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 (v4) or brackets (v6)
  • e.g. iperf -c 192.168.100.100 -B 192.168.100.10:6001 (v4)
  • or for v6, iperf -V -c 2001:e30:1401:2:d46e:b891:3082:b939 -B [2001:e30:1401:2:d46e:b891:3082:b940]:6001
  • Support TCP rate limited streams (via the -b) using simplified token bucket (supported on both client and server)
  • 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 using (-/-/-/-)
  • Use clock_gettime() in critical sections, if available, replacing gettimeofday() calls
  • TCP write and error counts (TCP retries and CWND for linux) (-e required)
  • TCP read count, TCP read histogram (8 bins) (-e required)
  • TCP RTT and CWND values in client reports (-e required, Linux only, RTT units microseconds)
  • Added support for -t on the Server (Listener) so servers/listener can be set to timeout and exit

KEEP ME UPDATED

Write a Review

User Reviews

Be the first to post a review of iperf2!

Additional Project Details

Registered

2014-02-06

Thanks for helping keep SourceForge clean.

Screenshot instructions:
Windows
Mac
Red Hat Linux   Ubuntu

Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies
X

Briefly describe the problem (required):

Upload screenshot of ad (required):
Select a file, or drag & drop file here.

Please provide the ad click URL, if possible:

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks