1*7ab6e6acSAndroid Build Coastguard WorkerSubject: iperf3 status, April 2017 2*7ab6e6acSAndroid Build Coastguard Worker 3*7ab6e6acSAndroid Build Coastguard WorkerThis is the first of a series of (maybe periodic?) updates about 4*7ab6e6acSAndroid Build Coastguard Workeriperf3 development: 5*7ab6e6acSAndroid Build Coastguard Worker 6*7ab6e6acSAndroid Build Coastguard WorkerState of the iperf3 World, as seen from ESnet... 7*7ab6e6acSAndroid Build Coastguard Worker------------------------------------------------ 8*7ab6e6acSAndroid Build Coastguard Worker 9*7ab6e6acSAndroid Build Coastguard Workeriperf3 was originally written to be a "better", more maintainable 10*7ab6e6acSAndroid Build Coastguard Workerfollow-on to iperf2. This was seen to be necessary to fill the 11*7ab6e6acSAndroid Build Coastguard Workerrequirements for the perfSONAR project (http://www.perfsonar.net). 12*7ab6e6acSAndroid Build Coastguard Worker 13*7ab6e6acSAndroid Build Coastguard WorkerIn the past few years, iperf2 development has been restarted by Bob 14*7ab6e6acSAndroid Build Coastguard WorkerMcMahon of Broadcom. He (and other contributors) have fixed a number 15*7ab6e6acSAndroid Build Coastguard Workerof problems with iperf2 and added some new features 16*7ab6e6acSAndroid Build Coastguard Worker(https://sourceforge.net/projects/iperf2/). We're happy to observe 17*7ab6e6acSAndroid Build Coastguard Workerthat iperf2 is once again under active development, and we have 18*7ab6e6acSAndroid Build Coastguard Workerstarted discussing ways in which these two projects could productively 19*7ab6e6acSAndroid Build Coastguard Workerinteract. 20*7ab6e6acSAndroid Build Coastguard Worker 21*7ab6e6acSAndroid Build Coastguard WorkerWe note that iperf3 lacks several features found in iperf2, for 22*7ab6e6acSAndroid Build Coastguard Workerexample multicast tests, bidirectional tests, multi-threading, and 23*7ab6e6acSAndroid Build Coastguard Workerofficial Windows support. Given the active state of iperf2 24*7ab6e6acSAndroid Build Coastguard Workerdevelopment and maintenance, we feel that the needs of users requiring 25*7ab6e6acSAndroid Build Coastguard Workersuch functionality are best met by using a recent version of iperf2 26*7ab6e6acSAndroid Build Coastguard Workerinstead of waiting for them to be backported or reimplemented in 27*7ab6e6acSAndroid Build Coastguard Workeriperf3. 28*7ab6e6acSAndroid Build Coastguard Worker 29*7ab6e6acSAndroid Build Coastguard WorkerESnet's main interest in iperf3 is for testing high-performance 30*7ab6e6acSAndroid Build Coastguard WorkerResearch and Education (R&E) networks, especially as a part of the 31*7ab6e6acSAndroid Build Coastguard WorkerperfSONAR toolkit. iperf3 can be useful in other circumstances as 32*7ab6e6acSAndroid Build Coastguard Workerwell, but high-speed R&E network performance testing will remain the 33*7ab6e6acSAndroid Build Coastguard Workerprimary use case. (Much of iperf2's recent development 34*7ab6e6acSAndroid Build Coastguard Workerhas focused on the use of UDP for end-to-end latency testing on a 35*7ab6e6acSAndroid Build Coastguard Workerbroad range of platforms, although it too is useful for many other 36*7ab6e6acSAndroid Build Coastguard Workertesting scenarios.) 37*7ab6e6acSAndroid Build Coastguard Worker 38*7ab6e6acSAndroid Build Coastguard Workeriperf3 Support 39*7ab6e6acSAndroid Build Coastguard Worker-------------- 40*7ab6e6acSAndroid Build Coastguard Worker 41*7ab6e6acSAndroid Build Coastguard WorkerWe're trying to work down the support backlog for iperf3. To that 42*7ab6e6acSAndroid Build Coastguard Workerend, we've been aggressively triaging iperf3 issues in the issue 43*7ab6e6acSAndroid Build Coastguard Workertracker on GitHub. Over the past several weeks, we've gone from about 44*7ab6e6acSAndroid Build Coastguard Worker180 open issues to less than 75. A number of these issues were user 45*7ab6e6acSAndroid Build Coastguard Workerquestions, not bug reports or enhancement requests. We're now 46*7ab6e6acSAndroid Build Coastguard Workerdiscouraging the use of the iperf3 issue tracker for questions. 47*7ab6e6acSAndroid Build Coastguard WorkerInstead we'd like users to either use the mailing list 48*7ab6e6acSAndroid Build Coastguard Worker([email protected]) or to look to various question sites on 49*7ab6e6acSAndroid Build Coastguard Workerthe Internet such as Stack Overflow (http://www.stackoverflow.com). 50*7ab6e6acSAndroid Build Coastguard Worker 51*7ab6e6acSAndroid Build Coastguard WorkerWe're happy to accept enhancement requests, although it should be 52*7ab6e6acSAndroid Build Coastguard Workernoted that ESnet's time commitments to iperf3 are somewhat limited and 53*7ab6e6acSAndroid Build Coastguard Workerwe need to prioritize our work to match our own requirements. We have 54*7ab6e6acSAndroid Build Coastguard Workerbegun using the "Help Wanted" label in the issue tracker on GitHub to 55*7ab6e6acSAndroid Build Coastguard Workerindicate requests we agree with (or at least don't object to), but 56*7ab6e6acSAndroid Build Coastguard Workerwhich we don't have the time to work on ourselves. These are good 57*7ab6e6acSAndroid Build Coastguard Workercandidates for someone in the community to work on and submit as a 58*7ab6e6acSAndroid Build Coastguard Workerpull request. 59*7ab6e6acSAndroid Build Coastguard Worker 60*7ab6e6acSAndroid Build Coastguard WorkerPull requests are still encouraged, as long as they're compatible with 61*7ab6e6acSAndroid Build Coastguard WorkerESnet's goals and requirements for iperf3. If you're contemplating a 62*7ab6e6acSAndroid Build Coastguard Workercode change that would have a major, fundamental change on the iperf3 63*7ab6e6acSAndroid Build Coastguard Workerarchitecture, we strongly encourage discussion with the iperf3 64*7ab6e6acSAndroid Build Coastguard Workermaintainers before doing a significant amount of work. 65*7ab6e6acSAndroid Build Coastguard Worker 66*7ab6e6acSAndroid Build Coastguard WorkerSome of the above considerations are now documented in GitHub 67*7ab6e6acSAndroid Build Coastguard Workertemplates that we've recently installed for new issues, pull requests, 68*7ab6e6acSAndroid Build Coastguard Workerand contribution guidelines. 69*7ab6e6acSAndroid Build Coastguard Worker 70*7ab6e6acSAndroid Build Coastguard WorkerTo make it easier for new users with common questions, we have created 71*7ab6e6acSAndroid Build Coastguard Workera Frequently Asked Questions (FAQ) list, which is now available on the 72*7ab6e6acSAndroid Build Coastguard Workeriperf3 Web site, at: 73*7ab6e6acSAndroid Build Coastguard Worker 74*7ab6e6acSAndroid Build Coastguard Workerhttp://software.es.net/iperf/faq.html 75*7ab6e6acSAndroid Build Coastguard Worker 76*7ab6e6acSAndroid Build Coastguard WorkerFuture Plans 77*7ab6e6acSAndroid Build Coastguard Worker------------ 78*7ab6e6acSAndroid Build Coastguard Worker 79*7ab6e6acSAndroid Build Coastguard WorkerIn the near-term, we're planning another iperf3 release that will 80*7ab6e6acSAndroid Build Coastguard Workerinclude some recently added changes. Because some of the changes are 81*7ab6e6acSAndroid Build Coastguard Workerrather large, we're considering basing this release off the mainline 82*7ab6e6acSAndroid Build Coastguard Workerwhich would make it the first 3.2 release, rather than try to backport 83*7ab6e6acSAndroid Build Coastguard Workerthese changes and make another "bugfix" 3.1 release. No decisions 84*7ab6e6acSAndroid Build Coastguard Workerhave been made yet. 85*7ab6e6acSAndroid Build Coastguard Worker 86*7ab6e6acSAndroid Build Coastguard WorkerThe main changes (already on the master branch) are authentication 87*7ab6e6acSAndroid Build Coastguard Worker(#517), a more fine-grained pacing timer (#460), and some portability 88*7ab6e6acSAndroid Build Coastguard Workerfixes. We'd appreciate any testing and feedback that users in the 89*7ab6e6acSAndroid Build Coastguard Workercommunity could give on these. 90*7ab6e6acSAndroid Build Coastguard Worker 91*7ab6e6acSAndroid Build Coastguard WorkerThanks for your interest and support of iperf3, 92*7ab6e6acSAndroid Build Coastguard Worker 93*7ab6e6acSAndroid Build Coastguard WorkerBruce Mah 94*7ab6e6acSAndroid Build Coastguard WorkerSoftware Engineering Group 95*7ab6e6acSAndroid Build Coastguard WorkerESnet 96