Subject: iperf3 status, April 2017 This is the first of a series of (maybe periodic?) updates about iperf3 development: State of the iperf3 World, as seen from ESnet... ------------------------------------------------ iperf3 was originally written to be a "better", more maintainable follow-on to iperf2. This was seen to be necessary to fill the requirements for the perfSONAR project (http://www.perfsonar.net). In the past few years, iperf2 development has been restarted by Bob McMahon of Broadcom. He (and other contributors) have fixed a number of problems with iperf2 and added some new features (https://sourceforge.net/projects/iperf2/). We're happy to observe that iperf2 is once again under active development, and we have started discussing ways in which these two projects could productively interact. We note that iperf3 lacks several features found in iperf2, for example multicast tests, bidirectional tests, multi-threading, and official Windows support. Given the active state of iperf2 development and maintenance, we feel that the needs of users requiring such functionality are best met by using a recent version of iperf2 instead of waiting for them to be backported or reimplemented in iperf3. ESnet's main interest in iperf3 is for testing high-performance Research and Education (R&E) networks, especially as a part of the perfSONAR toolkit. iperf3 can be useful in other circumstances as well, but high-speed R&E network performance testing will remain the primary use case. (Much of iperf2's recent development has focused on the use of UDP for end-to-end latency testing on a broad range of platforms, although it too is useful for many other testing scenarios.) iperf3 Support -------------- We're trying to work down the support backlog for iperf3. To that end, we've been aggressively triaging iperf3 issues in the issue tracker on GitHub. Over the past several weeks, we've gone from about 180 open issues to less than 75. A number of these issues were user questions, not bug reports or enhancement requests. We're now discouraging the use of the iperf3 issue tracker for questions. Instead we'd like users to either use the mailing list (iperf-dev@google-groups.com) or to look to various question sites on the Internet such as Stack Overflow (http://www.stackoverflow.com). We're happy to accept enhancement requests, although it should be noted that ESnet's time commitments to iperf3 are somewhat limited and we need to prioritize our work to match our own requirements. We have begun using the "Help Wanted" label in the issue tracker on GitHub to indicate requests we agree with (or at least don't object to), but which we don't have the time to work on ourselves. These are good candidates for someone in the community to work on and submit as a pull request. Pull requests are still encouraged, as long as they're compatible with ESnet's goals and requirements for iperf3. If you're contemplating a code change that would have a major, fundamental change on the iperf3 architecture, we strongly encourage discussion with the iperf3 maintainers before doing a significant amount of work. Some of the above considerations are now documented in GitHub templates that we've recently installed for new issues, pull requests, and contribution guidelines. To make it easier for new users with common questions, we have created a Frequently Asked Questions (FAQ) list, which is now available on the iperf3 Web site, at: http://software.es.net/iperf/faq.html Future Plans ------------ In the near-term, we're planning another iperf3 release that will include some recently added changes. Because some of the changes are rather large, we're considering basing this release off the mainline which would make it the first 3.2 release, rather than try to backport these changes and make another "bugfix" 3.1 release. No decisions have been made yet. The main changes (already on the master branch) are authentication (#517), a more fine-grained pacing timer (#460), and some portability fixes. We'd appreciate any testing and feedback that users in the community could give on these. Thanks for your interest and support of iperf3, Bruce Mah Software Engineering Group ESnet