1iperf3 Release Notes 2==================== 3 4iperf 3.8.1 2020-06-10 5---------------------- 6 7* Notable user-visible changes 8 9 * A regression with "make install", where the libiperf shared 10 library files were not getting installed, has been fixed (#1013 / 11 #1014). 12 13iperf 3.8 2020-06-08 14-------------------- 15 16* Notable user-visible changes 17 18 * Profiled libraries and binaries are no longer built by default 19 (#950). 20 21 * A minimal Dockerfile has been added (#824). 22 23 * A bug with burst mode and unlimited rate has been fixed (#898). 24 25 * Configuring with the --enable-static-bin flag will now cause 26 a statically-linked iperf3 binary to be built (#989). 27 28 * Configuring with the --without-sctp flag will now prevent SCTP 29 from being auto-detected (#1008). This flag allows building a 30 static binary (see above item) on a CentOS system with SCTP 31 installed, because no static SCTP libraries are available. 32 33 * Clock skew between the iperf3 client and server will no longer 34 skew the computation of jitter during UDP tests (#842 / #990). 35 36 * A possible buffer overflow in the authentication feature has been 37 fixed. This was only relevant when configuration authentication 38 using the libiperf3 API, and did not affect command-line usage. 39 Various other improvements and fixes in this area were also made 40 (#996). 41 42* Notable developer-visible changes 43 44 * The embedded version of cJSON has been updated to 1.3.17 (#978). 45 46 * Some server authentication functions have been added to the API 47 (#911). 48 49 * API access has been added to the connection timeout parameter 50 (#1001). 51 52 * Tests for some authentication functions have been added. 53 54 * Various compiler errors and warnings have been fixed. 55 56iperf 3.7 2019-06-21 57-------------------- 58 59* Notable user-visible changes 60 61 * Support for simultaneous bidirectional tests with the --bidir flag 62 (#201/#780). 63 64 * Use POSIX standard clock_gettime(3) interface for timekeeping where 65 available (#253/#738). 66 67 * Passwords for authentication can be provided via environment 68 variable (#815). 69 70 * Specifying --repeating-payload and --reverse now works (#867). 71 72 * Failed authentication doesn't count for --one-off (#864/#877). 73 74 * Several memory leaks related to authenticated use were fixed 75 (#881/#888). 76 77 * The delay for tearing down the control connection for the default 78 timed tests has been increased, to more gracefully handle 79 high-delay paths (#751/#859). 80 81* Notable developer-visible changes 82 83 * Various improvements to the libiperf APIs (#767, #775, #869, #870, 84 #871) 85 86 * Fixed build behavior when OpenSSL is absent (#854). 87 88 * Portability fixes (#821/#874). 89 90iperf 3.6 2018-06-25 91-------------------- 92 93* Notable user-visible changes 94 95 * A new --extra-data option can be used to fill in a user-defined 96 string field that appears in JSON output. (#600 / #729) 97 98 * A new --repeating-payload option makes iperf3 use a payload pattern 99 similar to that used by iperf2, which could help in recreating 100 results that might be affected by payload entropy (for example, 101 compression). (#726) 102 103 * -B now works properly with SCTP tests. (#678 / #715) 104 105 * A compile fix for Solaris 10 was added. (#711) 106 107 * Some minor bug fixes for JSON output. In particular, warnings for 108 debug and/or verbose modes with --json output (#737) and a fix for 109 JSON output on CentOS 6 (#727 / #744). 110 111 * software.es.net and downloads.es.net now support HTTPS, so URLs in 112 documentation that refer to those two hosts now use https:// 113 instead of http:// URLs. (#759) 114 115* Notable developer-visible changes 116 117 * Functions related to authenticated iperf3 connections have been 118 exposed via libiperf. (#712 / #713) 119 120 * The ToS byte is now exposed in the libiperf API. (#719) 121 122iperf 3.5 2018-03-02 123-------------------- 124 125* Notable user-visible changes 126 127 * iperf3 no longer counts data received after the end of a test in 128 the bytecounts. This fixes a bug that could, under some 129 conditions, artificially inflate the transfer size and measured 130 bitrate. This bug was most noticeable on reverse direction 131 transfers on short tests over high-latency or buffer-bloated 132 paths. Many thanks to @FuzzyStatic for providing access to a test 133 environment for diagnosing this issue (#692). 134 135iperf 3.4 2018-02-14 136-------------------- 137 138* Notable user-visible changes 139 140 * The -A (set processor affinity) command-line flag is now supported 141 on Windows (#665). 142 143 * iperf3 now builds on systems lacking a daemon(3) library call 144 (#369). 145 146 * A bug in time skew checking under authentication was fixed (#674). 147 148 * IPv6 flow labels now work correctly with multiple parallel streams 149 (#694). 150 151 * The client no longer closes its control connection before sending 152 end-of-test statistics to the server (#677). This fixes a 153 regression introduced in iperf-3.2. 154 155 * Sending output to stdout now makes errors go to stderr, as per 156 UNIX convention (#695). 157 158 * A server side crash in verbose output with a client running 159 multiple parallel connections has been fixed (#686). 160 161 * The --cport option can now be specified without the --bind option. 162 Using the --cport option on Linux can eliminate a problem with 163 ephemeral port number allocation that can make multi-stream iperf3 164 tests perform very poorly on LAGG links. Also, the --cport option 165 now works on SCTP tests (#697). 166 167* Notable developer-visible changes 168 169 * iperf3 now builds on (some) macOS systems older than 10.7 (#607). 170 171 * Some unused code and header inclusions were eliminated (#667, 172 #668). Also some code was cleaned up to eliminate (or at least 173 reduce) compiler warnings (#664, #671). 174 175iperf 3.3 2017-10-31 176-------------------- 177 178* Notable user-visible changes 179 180 * iperf3 can now be built --without-openssl on systems where OpenSSL 181 is present (#624, #633). 182 183 * A bug with printing very large numbers has been fixed (#642). 184 185 * A bug where the server would, under certain circumstances, halt a 186 test after exactly fifteen seconds has been fixed (#645). 187 188 * The --tos parameter is no longer "sticky" between tests when doing 189 --reverse tests (#639). 190 191 * The authentication token on the server is properly reset between 192 tests (#650). 193 194 * A bug that could cause iperf3 to overwrite the PID file of an 195 already-existing iperf3 process has been fixed (#623). 196 197 * iperf3 will now ignore nonsensical TCP MSS values (from the TCP 198 control connection) when trying to determine a reasonable block 199 size for UDP tests. This condition primarily affected users on 200 Windows, but potentially improves robustness for all 201 platforms. (#659) 202 203* Notable developer-visible changes 204 205iperf 3.2 2017-06-26 206-------------------- 207 208* User-visible changes 209 210 * Authentication via a username/password mechanism, coupled with a 211 public-key pair, is now an optional way of limiting access to an 212 iperf3 server (#517). 213 214 * Ending statistics are less ambiguous for UDP and also now use 215 correct test durations for all protocols (#560, #238). Many fixes 216 have been made in statistics printing code, generally for 217 human-readable output (#562, #575, #252, #443, #236). 218 219 * Several problems with the -F/--file options have been fixed. 220 Documentation has been improved to note some ways in which this 221 feature might not behave as expected (#588). 222 223 * iperf3 now uses the correct "bitrate" phraseology rather than 224 "bandwidth" when describing measurement results. The --bandwidth 225 option has been renamed --bitrate, although --bandwidth is still 226 accepted for backwards compatibility (#583). 227 228 * Application-level bandwidth pacing (--bitrate option) is now 229 checked every millisecond by default, instead of of every tenth of 230 a second, to provide smoother traffic behavior when using 231 application pacing (#460). The pacing can be tuned via the use of 232 the --pacing-timer option (#563). 233 234 * A new --dscp option allows specifying the DSCP value to be used 235 for outgoing packets (#508). The TOS byte value is now printed in 236 the JSON output (#226). 237 238 * Congestion window data on FreeBSD is now computed correctly (#465, 239 #475, #338). 240 241 * The T/t suffixes for terabytes/terabits are now accepted for 242 quantities where suffixes are supported, such as --bandwidth 243 (#402). 244 245 * Sanity checks for UDP send sizes have been added (#390), and 246 existing checks on the --window option have been improved (#557). 247 248 * The TCP rttvar value is now available in the JSON output (#534), as are 249 the socket buffer sizes (#558). 250 251 * Error handling and documentation have been improved for the 252 -f/--format options (#568). 253 254 * A new --connect-timeout option on the client allows specifying a 255 length of time that the client will attempt to connect to the 256 server, in milliseconds (#216). 257 258 * The hostname and current timestamp are no longer used in the 259 cookie used to associate the client and server. Instead, random 260 data is used. Note that iperf3 now requires the /dev/urandom 261 device (#582). 262 263 * Prior versions of iperf3 doing UDP tests used to overcount packet 264 losses in the presence of packet reordering. This has been 265 (partially) fixed by try to not count the sequence number gaps 266 resulting from out-of-order packets as actual losses (#457). 267 268 * iperf3 no longer prints results from very small intervals (10% of 269 the statistics reporting interval) at the end of the test run if 270 they contain no data. This can happen due to timing difference or 271 network queueing on the path between the client and server. This 272 is primarily a cosmetic change to prevent these fairly meaningless 273 intervals from showing up in the output (#278). 274 275 * Compatiblity note: Users running iperf3 3.2 or newer from the 276 bwctl utility will need to obtain version 1.6.3 or newer of bwctl. 277 Note that bwctl, a component of the perfSONAR toolkit, has been 278 deprecated in favor of pScheduler since the release of perfSONAR 279 4.0. 280 281* Developer-visible changes 282 283 * Various warnings and build fixes (#551, #564, #518, #597). 284 285 * Some improvements have been made for increased compatibility on 286 IRIX (#368) and with C++ (#587). 287 288 * cJSON has been updated to 1.5.2 (#573), bringing in a number of 289 bugfixes. 290 291 * Some dead code has been removed. 292 293iperf 3.1.7 2017-03-06 294---------------------- 295 296iperf 3.1.7 is functionally identical to iperf 3.1.6. Its only 297changes consist of updated documentation files and text in the RPM 298spec file. 299 300iperf 3.1.6 2017-02-02 301---------------------- 302 303The release notes for iperf 3.1.6 describe changes, including bug 304fixes and new functionality, made since iperf 3.1.5. 305 306* User-visible changes 307 308 * Specifying --fq-rate or --no-fq-socket-pacing on a system where 309 these options are not supported now generate an error instead of a 310 warning. This change makes diagnosing issues related to pacing 311 more apparent. 312 313 * Fixed a bug where two recently-added diagnostic messages spammed 314 the JSON output on UDP tests. 315 316iperf 3.1.5 2017-01-12 317---------------------- 318 319The release notes for iperf 3.1.5 describe changes, including bug 320fixes and new functionality, made since iperf 3.1.4. 321 322Compatibility note: Fair-queueing is now specified differently in 323iperf 3.1.5 than in prior versions (which include 3.1.3 and 3.1.4). 324 325Compatibility note: UDP tests may yield different results from all 326prior versions of iperf3 (through 3.1.4) due to the new default UDP 327sending size. 328 329* User-visible changes 330 331 * The fair-queueing per-socket based pacing available on recent 332 Linux systems has been reimplemented with a different user 333 interface (#325, #467, #488). The --bandwidth command-line flag 334 now controls only the application-level pacing, as was the case in 335 iperf 3.1.2 and all earlier versions. Fair-queueing per-socket 336 based pacing is now controlled via a new --fq-rate command-line 337 flag. Note that TCP and UDP tests may use --bandwidth, --fq-rate, 338 both flags, or neither flag. SCTP tests currently support 339 --bandwidth only. The --no-fq-socket-pacing flag, which was 340 introduced in iperf 3.1.3, has now been deprecated, and is 341 equivalent to --fq-rate=0. iperf3 now reacts more gracefully if 342 --no-fq-socket-pacing or --fq-rate are specified on platforms that 343 don't support these options. 344 345 For UDP tests, note that the default --bandwidth is 1 Mbps. Using 346 the fair-queueing-based pacing will probably require explicitly 347 setting both --bandwidth and --fq-rate, preferably to the same 348 value. (While setting different values for --bandwidth and 349 --fq-rate can certainly be done, the results can range from 350 entertaining to perplexing.) 351 352 * iperf3 now chooses a more sane default UDP send size (#496, #498). 353 The former default (8KB) caused IP packet fragmentation on paths 354 having smaller MTUs (including any Ethernet network not configured 355 for jumbo frames). This could have effects ranging from increased 356 burstiness, to packet loss, to complete failure of the test. 357 iperf3 now attempts to use the MSS of the control connection to 358 determine a default UDP send size if no sending length was 359 explicitly specified with --length. 360 361 * Several checks are now made when setting the socket buffer sizes 362 with the -w option, to verify that the settings have been applied 363 correctly. The results of these checks can been seen when the 364 --debug flag is specified. (#356) 365 366 * A --forceflush flag has been added to flush the output stream 367 after every statistics reporting interval. 368 369* Developer-visible changes 370 371 * A systemd service file has been added (#340, #430). 372 373iperf 3.1.4 2016-10-31 374---------------------- 375 376The release notes for iperf 3.1.4 describe changes, including bug 377fixes and new functionality, made since iperf 3.1.3. 378 379* User-visible changes 380 381 * On systems that support setting the congestion control algorithm, 382 iperf3 now keeps track of the congestion control algorithm and 383 print it in the JSON output in the members sender_tcp_congestion 384 and receiver_tcp_congestion (issue #461). A few bugs (probably 385 not user-visible) with setting the congestion control algorithm 386 were also fixed. 387 388* Developer-visible changes 389 390 * Fixed a buffer overflow in the cJSON library (issue #466). It is 391 not believed that this bug created any security vulnerabilities in 392 the context of iperf3. 393 394 * Travis CI builds are now enabled on this codeline (pull request #424). 395 396 * Various bug fixes (issue #459, pull request #429, issue #388). 397 398iperf 3.1.3 2016-06-08 399---------------------- 400 401The release notes for iperf 3.1.3 describe changes, including bug 402fixes and new functionality, made since iperf 3.1.2. 403 404* Security 405 406 * Fixed a buffer overflow / heap corruption issue that could occur 407 if a malformed JSON string was passed on the control channel. In 408 theory, this vulnerability could be leveraged to create a heap 409 exploit. This issue, present in the cJSON library, was already 410 fixed upstream, so was addressed in iperf3 by importing a newer 411 version of cJSON (plus local ESnet modifications). Discovered and 412 reported by Dave McDaniel, Cisco Talos. Cross-references: 413 TALOS-CAN-0164, ESNET-SECADV-2016-0001, CVE-2016-4303. 414 415* User-visible changes 416 417 * On supported platforms (recent Linux), iperf3 can use 418 fair-queueing-based per-socket pacing instead of its own 419 application-level pacing for the --bandwidth option. 420 Application-level pacing can be forced with the 421 -no-fq-socket-pacing flag. 422 423 * A bug that could show negative loss counters with --udp and --omit 424 has been fixed (issue #412, pull request #414). 425 426 * Error handling has been made slightly more robust. Also, the 427 iperf3 server will no longer exit after five consecutive errors, 428 but will only exit for certain types of errors that prevent it 429 from participating in any tests at all. 430 431* Developer-visible changes 432 433 * Fixed the build on FreeBSD 11-CURRENT (issue #413). 434 435 * Fixed various coding errors (issue #423, issue #425). 436 437iperf 3.1.2 2016-02-01 438---------------------- 439 440The release notes for iperf 3.1.2 describe changes, including bug 441fixes and new functionality, made since iperf 3.1.1. 442 443* User-visible changes 444 445 * Fixed a bug that caused nan values to be emitted (incorrectly) 446 into JSON, particularly at the end of UDP tests (issue #278). 447 448 * Fixed a bug that caused the wrong value to be printed for 449 out-of-order UDP packets (issue #329). 450 451 * Added a contrib/ directory containing a few submitted graphing 452 scripts. 453 454* Developer-visible changes 455 456iperf 3.1.1 2015-11-19 457---------------------- 458 459The release notes for iperf 3.1.1 describe changes and new 460functionality in iperf 3.1.1, but not present in 3.1. 461 462* User-visible changes 463 464 * Some markup fixes have been made in the manpages for Debian 465 compatibility (issue #291). 466 467 * A bug where the -T title option was not being output correctly 468 in JSON output has been fixed (issue #292). 469 470 * Argument handling for some command-line options has been improved 471 (issue #316). 472 473* Developer-visible changes 474 475 * A regression with C++ compatibility in one of the iperf header 476 files has been fixed (issue #323). 477 478iperf 3.1 2015-10-16 479-------------------- 480 481The release notes for iperf 3.1 describe changes and new 482functionality in iperf 3.1, but not present in 3.0.11 or any earlier 4833.0.x release. 484 485* Selected user-visible changes 486 487 * SCTP support has been added (with the --sctp flag), on Linux, 488 FreeBSD, and Solaris (issue #131). 489 490 * Setting CPU affinity now works on FreeBSD. 491 492 * Selection of TCP congestion now works on FreeBSD, and is now 493 called --congestion (the old --linux-congestion option works 494 but is now deprecated). 495 496 * A new -I option for the server causes it to write a PID file, 497 mostly useful for daemon mode (issue #120). 498 499 * A --logfile argument can now force all output to go to a file, 500 rather than to a file. This is especially useful when running an 501 iperf3 server in daemon mode (issue #119). 502 503 * Various compatibility fixes for Android (issue #184, issue #185), 504 iOS (issue #288), NetBSD (issue #248), Solaris (issue #175, issue 505 #178, issue #180, issue #211), vxWorks (issue #268). 506 507 * A --udp-counters-64bit flag has been added to support very 508 long-running UDP tests, which could cause a counter to overflow 509 (issue #191). 510 511 * A --cport option to specify the client-side port has been added 512 (issue #207, issue #209, issue #239). 513 514 * Some calculation errors with the -O feature have been fixed (issue 515 #236). 516 517 * A potential crash in the iperf3 server has been fixed (issue #257, 518 issue #258). 519 520 * Many miscellaneous bug fixes. 521 522* Selected developer-visible changes 523 524 * Consumers of libiperf can now get the JSON output for a 525 just-completed test (issue #147). 526 527 * Detection of various optional features has been improved to check 528 for the presence or absence of platform functionality, not the name 529 of platforms. 530 531 * Out-of-tree builds now work (issue #265). 532 533iperf 3.0.11 2015-01-09 534----------------------- 535 536* User-visible changes 537 538 * Added -1 / --one-off flag, which causes the iperf3 server to 539 process one client connection and then exit. Intended primarily 540 for bwctl integration (issue #230). 541 542 * Added various minor bug fixes (issues #231, #232, #233). 543 544 * Added 30-second timeout for UDP tests if unable to establish UDP 545 connectivity between sender and receiver (issue #222). 546 547iperf 3.0.10 2014-12-16 548----------------------- 549 550* User-visible changes 551 552 * Fixed the build on MacOS X Yosemite (issue #213). 553 554 * UDP tests now honor the -w option for setting the socket buffer 555 sizes (issue #219). 556 557* Developer-visible changes 558 559 * Added an RPM spec file plus functionality to fill in the version 560 number. 561 562 * Fixed potential filename collision with a system header (issue 563 #203). 564 565iperf 3.0.9 2014-10-14 566---------------------- 567 568* User-visible changes 569 570 * Fixed a series of problems that came from attempting a UDP test 571 with a pathologically large block size. This put the server into 572 an odd state where it could not accept new client connections. 573 This in turn caused subsequent client connections to crash when 574 interrupted (issue #212). 575 576* Developer-visible changes 577 578 * None. 579 580iperf 3.0.8 2014-09-30 581---------------------- 582 583* User-visible changes 584 585 * Updated license and copyright verbage to confirm to LBNL Tech 586 Transfer requirements. No substantive changes; license remains 587 the 3-clause BSD license. 588 589* Developer-visible changes 590 591 * None. 592 593iperf 3.0.7 2014-08-28 594---------------------- 595 596* User-visible changes 597 598 * A server bug where new connections from clients could disrupt 599 running tests has been fixed (issue #202). 600 601 * Rates now consistently use 1000-based prefixes (K, M, G), where 602 sizes of objects now consistently use 1024-based prefixes (issue #173). 603 604 * UDP tests with unlimited bandwidth are now supported (issue #170). 605 606 * An interaction between the -w and -B options, which kept them from 607 working when used together, has been fixed (issue #193). 608 609* Developer-visible changes 610 611iperf 3.0.6 2014-07-28 612---------------------- 613 614* User-visible changes 615 616 * Several bugs that kept the -B option from working in various 617 circumstances have been fixed (issue #193). 618 619 * Various compatibility fixes for OpenBSD (issue #196) and 620 Solaris (issue #177). 621 622* Developer-visible changes 623 624 * The {get,set}_test_bind_address API calls have been added to 625 expose the -B functionality to API consumers (issue #197). 626 627iperf 3.0.5 2014-06-16 628---------------------- 629 630* User-visible changes 631 632 * Erroneous output when doing --json output has been fixed (this 633 problem was caused by an attempt to fix issue #158). 634 635 * The maximum test running time has been increased from one hour to 636 one day (issue #166). 637 638 * Project documentation has been moved to GitHub Pages at this URL: 639 http://software.es.net/iperf/. 640 641 * A bug that caused CPU time to be computed incorrectly on FreeBSD 642 has been fixed. 643 644 * A timing issue which caused measurement intervals to be wrong 645 with TCP tests on lossy networks has been fixed (issue #125). 646 647 * Newer versions of autoconf / automake / libtool are now used by 648 default (issue #161). 649 650 * JSON output now indicates whether the test was run in --reverse 651 mode (issue #167). 652 653 * It is now possible to get (most of) the server-side output at 654 the client by using the --get-server-output flag (issue #160). 655 656* Developer-visible changes 657 658 * automake/autoconf/libtool have been updated to more recent 659 versions. AM_MAINTAINER_MODE is now used to avoid requiring these 660 tools at build-time. 661 662iperf 3.0.4 was not released 663---------------------------- 664 665iperf 3.0.3 2014-03-26 666---------------------- 667 668* User-visible changes 669 670 * Due to several oversights, the source code archive for iperf 3.0.2 671 was distributed as an uncompressed tarball, despite having an 672 extension (".tar.gz") that indicated it was compressed. The 673 release generation procedure has been changed to avoid this 674 problem going forward. 675 676 * Summary structures in the JSON output are now included, even if 677 there is only one stream. This change makes consuming the JSON 678 output easier and more consistent (issue #151). 679 680 * A possible buffer overflow in iperf_error.c has been fixed (issue 681 #155). 682 683* Developer-visible changes 684 685 * Example programs now build correctly, after having been broken in 686 the 3.0.2 release (issue #152). 687 688iperf 3.0.2 2014-03-10 689---------------------- 690 691* User-visible changes 692 693 * The iperf3 project has been moved to GitHub, and various URLs in 694 documentation files have been changed to point there. 695 696 * iperf3 now builds on Linux systems that do not support 697 TCP_CONGESTION. Most notably this allows iperf3 to work on CentOS 698 5. 699 700 * An abort on MacOS 10.9 has been fixed (issue #135). 701 702 * Added -I flag for the server to write a PID file, mostly useful for 703 daemon mode (issue #120). 704 705 * A bug that could break some TCP tests on FreeBSD has been fixed. 706 707 * TCP snd_cwnd output is now printed by default on Linux (issue #99). 708 709 * In JSON output, the --title string no longer has a colon and two 710 spaces appended (issue #139). 711 712 * A buffer for holding formatted numeric values is now 713 properly-sized so that output is not truncated (issue #142). 714 715* Developer-visible changes 716 717 * Some memory leaks have been fixed. 718 719 * A -d flag enables debugging output. 720 721 * A .gitignore file has been added. 722 723 * libtoolize is now invoked correctly from the bootstrap.sh script. 724 725 * The test unit format can now be set from the API (issue #144). 726 727 * libiperf is now built as both shared and static libraries. 728 729 * In the JSON output, the "connection" structures are now stored as 730 an array in the "start" block, instead of overwriting each other. 731 While technically an incompatible API change, the former behavior 732 generated unusable JSON. 733 734iperf 3.0.1 2014-01-10 735---------------------- 736 737 * Added the following new flags 738 -D, --daemon run server as a daemon 739 -L, --flowlabel set IPv6 flow label (Linux only) 740 -C, --linux-congestion set congestion control algorithm (Linux only) 741 -k, --blockcount #[KMG] number of blocks (packets) to transmit 742 (instead of -t or -n) 743 * Bug fixes 744 745iperf 3.0-RC5 2013-11-15 746------------------------ 747 748 * Added the following new flags 749 -F, --file name xmit/recv the specified file 750 -A, --affinity n/n,m set CPU affinity (Linux only) 751 -J, --json output in JSON format 752 -Z, --zerocopy use a 'zero copy' method of sending data 753 -O, --omit N omit the first n seconds 754 -T, --title str prefix every output line with this string 755 * more useful information in 'verbose' mode 756 * Many bug fixes 757 758 759iperf 3.0b4 2010-08-02 760---------------------- 761 762 * Added support for binding to a specific interface (-B) 763 * Added support for IPv6 mode (-6) 764 * Setting TCP window size (-w) is now supported 765 * Updates to iperf_error 766 * Added new errors 767 * Should generate more relavent messages 768 * Stream list now managed by queue.h macros 769 * Test structures are now kept intact after a test is run (for API users) 770 * Improved interval timer granularity 771 * Support for decimal values 772 * Many bug fixes 773 774iperf 3.0b3 2010-07-23 775---------------------- 776 777 * Better error handling 778 * All errors now handled with iperf_error() 779 * All functions that can return errors return NULL or -1 on error and set i_errno appropriately 780 * Iperf API intruduced 781 * Support for adding new protocols 782 * Added support for callback functions 783 * on_connect - executes after a connection is made to the server 784 * on_new_stream - executes after a new stream is created 785 * on_test_start - executes right before the test begins 786 * on_test_finish - executes after the test is finished 787 * Added early support for verbose mode (-V) 788 789iperf 3.0b2 2010-07-15 790---------------------- 791 792 * UDP mode now supported 793 * Support for setting bandwidth (-b) 794 * Parallel UDP stream support 795 * Reverse mode UDP support 796 * Support for setting TCP_NODELAY (-N), disabling Nagle's Algorithm 797 * Support for setting TCP MSS (-M) 798 * Note: This feature is still in development. It is still very buggy. 799 800iperf 3.0b1 2010-07-08 801---------------------- 802 803 * TCP control socket now manages messages between client and server 804 * Dynamic server (gets test parameters from client) 805 * Server can now set test options dynamically without having to restart. 806 * Currently supported options: -l, -t, -n, -P, -R 807 * Future options: -u, -b, -w, -M, -N, -I, -T, -Z, -6 808 * Results exchange 809 * Client can now see server results (and vice versa) 810 * Reverse mode (-R) 811 * Server sends, client receives 812