• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Subject:  iperf3 status, April 2017
2
3This is the first of a series of (maybe periodic?) updates about
4iperf3 development:
5
6State of the iperf3 World, as seen from ESnet...
7------------------------------------------------
8
9iperf3 was originally written to be a "better", more maintainable
10follow-on to iperf2.  This was seen to be necessary to fill the
11requirements for the perfSONAR project (http://www.perfsonar.net).
12
13In the past few years, iperf2 development has been restarted by Bob
14McMahon of Broadcom.  He (and other contributors) have fixed a number
15of problems with iperf2 and added some new features
16(https://sourceforge.net/projects/iperf2/).  We're happy to observe
17that iperf2 is once again under active development, and we have
18started discussing ways in which these two projects could productively
19interact.
20
21We note that iperf3 lacks several features found in iperf2, for
22example multicast tests, bidirectional tests, multi-threading, and
23official Windows support.  Given the active state of iperf2
24development and maintenance, we feel that the needs of users requiring
25such functionality are best met by using a recent version of iperf2
26instead of waiting for them to be backported or reimplemented in
27iperf3.
28
29ESnet's main interest in iperf3 is for testing high-performance
30Research and Education (R&E) networks, especially as a part of the
31perfSONAR toolkit.  iperf3 can be useful in other circumstances as
32well, but high-speed R&E network performance testing will remain the
33primary use case.  (Much of iperf2's recent development
34has focused on the use of UDP for end-to-end latency testing on a
35broad range of platforms, although it too is useful for many other
36testing scenarios.)
37
38iperf3 Support
39--------------
40
41We're trying to work down the support backlog for iperf3.  To that
42end, we've been aggressively triaging iperf3 issues in the issue
43tracker on GitHub.  Over the past several weeks, we've gone from about
44180 open issues to less than 75.  A number of these issues were user
45questions, not bug reports or enhancement requests.  We're now
46discouraging the use of the iperf3 issue tracker for questions.
47Instead we'd like users to either use the mailing list
48(iperf-dev@google-groups.com) or to look to various question sites on
49the Internet such as Stack Overflow (http://www.stackoverflow.com).
50
51We're happy to accept enhancement requests, although it should be
52noted that ESnet's time commitments to iperf3 are somewhat limited and
53we need to prioritize our work to match our own requirements.  We have
54begun using the "Help Wanted" label in the issue tracker on GitHub to
55indicate requests we agree with (or at least don't object to), but
56which we don't have the time to work on ourselves.  These are good
57candidates for someone in the community to work on and submit as a
58pull request.
59
60Pull requests are still encouraged, as long as they're compatible with
61ESnet's goals and requirements for iperf3.  If you're contemplating a
62code change that would have a major, fundamental change on the iperf3
63architecture, we strongly encourage discussion with the iperf3
64maintainers before doing a significant amount of work.
65
66Some of the above considerations are now documented in GitHub
67templates that we've recently installed for new issues, pull requests,
68and contribution guidelines.
69
70To make it easier for new users with common questions, we have created
71a Frequently Asked Questions (FAQ) list, which is now available on the
72iperf3 Web site, at:
73
74http://software.es.net/iperf/faq.html
75
76Future Plans
77------------
78
79In the near-term, we're planning another iperf3 release that will
80include some recently added changes.  Because some of the changes are
81rather large, we're considering basing this release off the mainline
82which would make it the first 3.2 release, rather than try to backport
83these changes and make another "bugfix" 3.1 release.  No decisions
84have been made yet.
85
86The main changes (already on the master branch) are authentication
87(#517), a more fine-grained pacing timer (#460), and some portability
88fixes.  We'd appreciate any testing and feedback that users in the
89community could give on these.
90
91Thanks for your interest and support of iperf3,
92
93Bruce Mah
94Software Engineering Group
95ESnet
96