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