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