* Sat Sep 23 2023 firstname.lastname@example.org
- update to 3.15 (bsc#1215662, ESNET-SECADV-2023-0002):
* Several bugs that could allow the iperf3 server to hang waiting
for input on the control connection has been fixed
(ESnet Software Security Advisory ESNET-SECADV-2023-0002)
* A bug that caused garbled output with UDP tests on 32-bit hosts
has been fixed (PR #1554, PR #1556). This bug was introduced in
* A bug in counting UDP messages has been fixed
* Tue Mar 07 2023 email@example.com
- update to 3.13:
* Added missing bind_dev getter and setter.
* a fix for A resource leak bug in function iperf_create_pidfile (#1443)
* doc: Fix copy-and-paste error leading to wrong error message
* Fix crash on rcv-timeout with JSON logfile
* Sat Dec 03 2022 firstname.lastname@example.org
- update to 3.12:
* cJSON has been updated to version 1.7.15 (#1383).
* The --bind <host>%<dev> option syntax now works properly (#1360 /
* A server-side file descriptor leak with the --logfile option has
been fixed (#1369 / #1360 / #1369 / #1389 / #1393).
* A bug that caused some large values from TCP_INFO to be misprinted
as negative numbers has been fixed (#1372).
* Using the -k or -n flags with --reverse no longer leak into future
tests (#1363 / #1364).
* There are now various debug level options available with the
- -debug option. These can be used to adjust the amount of
debugging output (#1327).
* A new --snd-timeout option has been added to set a termination
timeout for idle TCP connections (#1215 / #1282).
* iperf3 is slightly more robust to out-of-order packets during UDP
connection setup in --reverse mode (#914 / #1123 / #1182 / #1212 /
* iperf3 will now use different ports for each direction when the
- -cport and --bdir options are set (#1249 / #1259).
* The iperf3 server will now exit if it can't open its log file
* Various help message and output fixes have been made (#1299 /
* Various compiler warnings have been fixed (#1211 / #1316).
* Operation of bootstrap.sh has been fixed and simplified (#1335 /
* Flow label support / compatibility under Linux has been improved
* Various minor memory leaks have been fixed (#1332 / #1333).
* A getter/setter has been added for the bind_port parameter
(--cport option). (#1303, #1305)
* Various internal documentation improvements (#1265 / #1285 / #1304).
* Thu Mar 03 2022 email@example.com
- update to 3.11:
* Update links to Discussions in documentation
* Fix DSCP so that TOS = DSCP * 4 (#1162)
* Fix --bind-dev for TCP streams (#1153)
* Fix interface specification so doesn't overlap with IPv6 link-local addresses for -c and -B (#1157, #1180)
* Add get/set test_unit_format function declaration to iperf_api.h
* Auto adjustment of test-end condition for file transfers (-F), if no end condition is set, it will automatically adjust it to file size in bytes
* Exit if idle time expires waiting for a connection in one-off mode (#1187, #1197)
* Support zerocopy by reverse mode (#1204)
* Update help and manpage text for #1157, support bind device
* Consistently print target_bandwidth in JSON start section (#1177)
* Test bitrate added to JSON output (#1168)
* Remove fsync call after every write to receiving --file (#1176, #1159)
* Update documentation for -w (#1175)
* Fix for #952, different JSON object names for bidir reverse channel
* Mon Jun 07 2021 firstname.lastname@example.org
- update to 3.10.1:
* Fixed a problem with autoconf scripts that made builds fail in
some environments (#1154 / #1155).
* GNU autoconf 2.71 or newer is now required to regenerate iperf3's
* Mon Jun 07 2021 email@example.com
- update to 3.10:
* Fix a bug where some --reverse tests didn't terminate (#982 /
* Responsiveness of control connections is slightly improved (#1045
/ #1046 / #1063).
* The allowable clock skew when doing authentication between client
and server is now configurable with the new --time-skew-threshold
(#1065 / #1070).
* Bitrate throttling using the -b option now works when a burst size
is specified (#1090).
* A bug with calculating CPU utilization has been fixed (#1076 /
* A --bind-dev option to support binding sockets to a given network
interface has been added to make iperf3 work better with
multi-homed machines and/or VRFs (#817 / #1089 / #1097).
* --pidfile now works with --client mode (#1110).
* The server is now less likely to get stuck due to network errors
(#1101, #1125), controlled by the new --rcv-timeout option.
* Fixed a few bugs in termination conditions for byte or
block-limited tests (#1113, #1114, #1115).
* Added tcp_info.snd_wnd to JSON output (#1148).
* Some bugs with garbled JSON output have been fixed (#1086, #1118,
[#1143] / #1146).
* Support for setting the IPv4 don't-fragment (DF) bit has been
added with the new --dont-fragment option (#1119).
* A failure with not being able to read the congestion control
algorithm under WSL1 has been fixed (#1061 / #1126).
* Error handling and error messages now make more sense in cases
where sockets were not successfully opened (#1129 / #1132 /
[#1136], #1135 / #1138, #1128 / #1139).
* Some buffer overflow hazards were fixed (#1134).
* It is now possible to use the API to set/get the congestion
control algorithm (#1036 / #1112).
* Mon Sep 14 2020 firstname.lastname@example.org
- update to 3.9:
* A --timestamps flag has been added, which prepends a timestamp to
each output line. An optional argument to this flag, which is a
format specification to strftime(3), allows for custom timestamp
formats (#909, #1028).
* A --server-bitrate-limit flag has been added as a server-side
command-line argument. It allows a server to enforce a maximum
throughput rate; client connections that specify a higher bitrate
or exceed this bitrate during a test will be terminated. The
bitrate is expressed in bits per second, with an optional trailing
slash and integer count that specifies an averaging interval over
which to enforce the limit (#999).
* A bug that caused increased CPU usage with the --bidir option has
been fixed (#1011).
* Fixed various minor memory leaks (#1023).
* Sat Jul 11 2020 email@example.com
- update to 3.8.1
* Minor bugfixes and enhancements
- don't apply the profiling patch any more
* Thu Nov 14 2019 firstname.lastname@example.org
- update to 3.7
* Support for simultaneous bidirectional tests with the --bidir flag
* Use POSIX standard clock_gettime(3) interface for timekeeping where
* Passwords for authentication can be provided via environment
* Specifying --repeating-payload and --reverse now works
* Failed authentication doesn't count for --one-off
* Several memory leaks related to authenticated use were fixed
* The delay for tearing down the control connection for the default
timed tests has been increased, to more gracefully handle
* Various improvements to the libiperf APIs
* Fixed build behavior when OpenSSL is absent
* Portability fixes
- spec file cleanup
* Fri Jul 06 2018 email@example.com
- update to 3.6
* A new --extra-data option can be used to fill in a user-defined
string field that appears in JSON output.
* A new --repeating-payload option makes iperf3 use a payload pattern
similar to that used by iperf2, which could help in recreating
results that might be affected by payload entropy (for example,
* -B now works properly with SCTP tests.
* A compile fix for Solaris 10 was added.
* Some minor bug fixes for JSON output. In particular, warnings for
debug and/or verbose modes with --json output and a fix for
JSON output on CentOS 6
* Mon Feb 08 2016 firstname.lastname@example.org
- update to version 3.1.2
* Bug fixes
* Mon Feb 08 2016 email@example.com
- Fix url so OBS is happy.
* Mon Dec 14 2015 firstname.lastname@example.org
- update to version 3.1.1
* Minor bugfixes
* Mon Nov 30 2015 email@example.com
- Update to version 3.1
* SCTP support has been added (with the --sctp flag), on Linux,
FreeBSD, and Solaris (issue #131).
* Setting CPU affinity now works on FreeBSD.
* Selection of TCP congestion now works on FreeBSD, and is now
called --congestion (the old --linux-congestion option works
but is now deprecated).
* A new -I option for the server causes it to write a PID file,
mostly useful for daemon mode (issue #120).
* A --logfile argument can now force all output to go to a file,
rather than to a file. This is especially useful when running an
iperf3 server in daemon mode (issue #119).
* Various compatibility fixes for Android (issue #184, issue #185),
iOS (issue #288), NetBSD (issue #248), Solaris (issue #175, issue
[#178], issue #180, issue #211), vxWorks (issue #268).
* A --udp-counters-64bit flag has been added to support very
long-running UDP tests, which could cause a counter to overflow
* A --cport option to specify the client-side port has been added
(issue #207, issue #209, issue #239).
* Some calculation errors with the -O feature have been fixed (issue
* A potential crash in the iperf3 server has been fixed (issue #257,
* Many miscellaneous bug fixes.
* Consumers of libiperf can now get the JSON output for a
just-completed test (issue #147).
* Detection of various optional features has been improved to check
for the presence or absence of platform functionality, not the name
* Out-of-tree builds now work (issue #265).
- Do not provide static library
- Update iperf-3.0.5_disable-profiling.patch > iperf-disable-profiling.patch
* Sun Apr 05 2015 firstname.lastname@example.org
- iperf 3.0.11
* This maintenance release adds a -1 flag to make the iperf3
execute a single test and exit, needed for an upcoming bwctl
release. A few other bugs are also fixed.
* Thu Jan 08 2015 email@example.com
- iperf 3.0.10, user-visible changes:
* UDP tests now honor the -w option for setting the socket buffer
sizes (issue #219).
* Fri Dec 26 2014 firstname.lastname@example.org
- Apply profiling patch whenever %optflags includes -fomit-frame-pointer
* Thu Jul 17 2014 email@example.com
- iperf 3.0.9
* Bug fixes
* Thu Jul 17 2014 firstname.lastname@example.org
- iperf 3.0.5
* A timing issue which caused measurement intervals to be wrong
with TCP tests on lossy networks has been fixed
* It is now possible to get (most of) the server-side output at
the client by using the --get-server-output flag
* A number of bugs with --json output have been fixed
- rebased iperf-3.0.2_disable-profiling.patch on 3.0.5 code
(now is iperf-3.0.5_disable-profiling.patch)
* Wed Mar 26 2014 email@example.com
- iperf 3.0.3
* Summary structures in the JSON output are now included, even if
there is only one stream.
* A possible buffer overflow in iperf_error.c has been fixed
* Example programs now build correctly
- clean spec
* Tue Mar 25 2014 firstname.lastname@example.org
- iperf project moved from SourceForge to Google Code and now to GitHub.
License changed from NCSA to BDS-3-Clause
- Update to 3.0.2
This version, sometimes referred to as iperf3, is a redesign of an original
version developed at NLANR/DAST. iperf3 is a new implementation from scratch,
with the goal of a smaller, simpler code base, and a library version of the
functionality that can be used in other programs. iperf3 also a number of
features found in other tools such as nuttcp and netperf, but were missing
from the original iperf. These include, for example, a zero-copy mode and
optional JSON output.
Note that iperf3 is NOT backwards compatible with the original iperf.
- Added iperf-3.0.2_strncat_bufferoverflow.patch:
* Prevent buffer overflow in strncat
- Added iperf-3.0.2_disable-profiling.patch:
* Disable profiling on x86 (option '-pg' is incompatible with invoked
- Changes in 3.0.2
* iperf3 now builds on Linux systems that do not support
TCP_CONGESTION. Most notably this allows iperf3 to work on CentOS
* An abort on MacOS 10.9 has been fixed (issue #135).
* Added -I flag for the server to write a PID file, mostly useful for
daemon mode (issue #120).
* A bug that could break some TCP tests on FreeBSD has been fixed.
* TCP snd_cwnd output is now printed by default on Linux (issue #99).
* In JSON output, the --title string no longer has a colon and two
spaces appended (issue #139).
* A buffer for holding formatted numeric values is now
properly-sized so that output is not truncated (issue #142).
* Some memory leaks have been fixed.
* A -d flag enables debugging output.
* libtoolize is now invoked correctly from the bootstrap.sh script.
* The test unit format can now be set from the API (issue #144).
* libiperf is now built as both shared and static libraries.
- Changes in 3.0.1
* Added the following new flags
- D, --daemon run server as a daemon
- L, --flowlabel set IPv6 flow label (Linux only)
- C, --linux-congestion set congestion control algorithm (Linux only)
- k, --blockcount #[KMG] number of blocks (packets) to transmit
(instead of -t or -n)
* Bug fixes
- Changes in 3.0-RC5
* Added the following new flags
- F, --file name xmit/recv the specified file
- A, --affinity n/n,m set CPU affinity (Linux only)
- J, --json output in JSON format
- Z, --zerocopy use a 'zero copy' method of sending data
- O, --omit N omit the first n seconds
- T, --title str prefix every output line with this string
* more useful information in 'verbose' mode
* Many bug fixes
- Changes in 3.0b4
* Added support for binding to a specific interface (-B)
* Added support for IPv6 mode (-6)
* Setting TCP window size (-w) is now supported
* Updates to iperf_error
* Added new errors
* Should generate more relavent messages
* Stream list now managed by queue.h macros
* Test structures are now kept intact after a test is run (for API users)
* Improved interval timer granularity
* Support for decimal values
* Many bug fixes
- Changes in 3.0b3
* Better error handling
* All errors now handled with iperf_error()
* All functions that can return errors return NULL or -1 on error and set i_errno appropriately
* Iperf API intruduced
* Support for adding new protocols
* Added support for callback functions
* on_connect - executes after a connection is made to the server
* on_new_stream - executes after a new stream is created
* on_test_start - executes right before the test begins
* on_test_finish - executes after the test is finished
* Added early support for verbose mode (-V)
- Changes in 3.0b2
* UDP mode now supported
* Support for setting bandwidth (-b)
* Parallel UDP stream support
* Reverse mode UDP support
* Support for setting TCP_NODELAY (-N), disabling Nagle's Algorithm
* Support for setting TCP MSS (-M)
* Note: This feature is still in development. It is still very buggy.
- Changes in 3.0b1
* TCP control socket now manages messages between client and server
* Dynamic server (gets test parameters from client)
* Server can now set test options dynamically without having to restart.
* Currently supported options: -l, -t, -n, -P, -R
* Future options: -u, -b, -w, -M, -N, -I, -T, -Z, -6
* Results exchange
* Client can now see server results (and vice versa)
* Reverse mode (-R)
* Server sends, client receives
* Fri Jun 22 2012 email@example.com
- disable _service file for factory update
- update license to be spdx.org conform
* Fri Aug 27 2010 firstname.lastname@example.org
- Update to 2.0.5
* bumped default TCP send/recv buffer to 128K (this is not the
kernel buffer that controls the window, but rather the Iperf
* honor -i flag when for a server (-s) when using TCP
* Exit rather than warn on connection failure
* Reduce CPU usage
* "neater" output for some units, eg Kbps, Mbps, Gbps
* addresses some typos
* prevent underflow when the amount of data to be
transmitted (-n) is not a multiple of the buffer size (-l)
* print report headers only once
* use appropriate report header for UDP tests
- Cleaned with spec-cleaner
* Tue Mar 30 2010 email@example.com
- Initial package, version 2.0.4