You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
iperf-3.19 2025-05-16
Notable user-visible changes
iperf3 now supports the use of Multi-Path TCP (MPTCPv1) on Linux
with the use of the
--mptcp
flag. (PR add MPTCPv1 support #1661)iperf3 now supports a
--cntl-ka
option to enable TCP keepaliveson the control connection. (Cannot test long UDP sessions #812, intermittent connection #835, PR Add control connection keepalive arguments #1423)
iperf3 now supports the
MSG_TRUNC
receive option, specified bythe
--skip-rx-copy
. This theoretically improves the ratedthroughput of tests at high bitrates by not delivering network
payload data to userspace. (feature request: support for MSG_ZEROCOPY and MSG_TRUNC flags #1678, PR Add SKIP-RX-COPY support - using MSG_TRUNC socket option #1717)
A bug that caused the bitrate setting to be ignored when bursts
are set, has been fixed. (Remove the usage of pacing_timer and simplify iperf_mt_send #1773, Iperf3.18 - packet count for burst mode seems broken when sending UDP traffic (on Windows) #1820, PR Fix issue that bitrate is ignored when burst is set (with Nanosleep) #1821, PR Extending PR #1821 fix to PR #1773 for sending when bitrate is set #1848)
The congestion control protocol setting, if used, is now
properly reset between tests. (PR Reset the congestion protocol on the server between tests #1812)
iperf3 now exits with a non-error 0 exit code if exiting via a
SIGTERM
,SIGHUP
, orSIGINT
. (Better daemon mode #1009, PR# 1829)The current behavior of iperf3 with respect to the
-n
and-k
options is now documented as correct. (Lower throughtput numbers reported with v3.16 #1768, End test immediately when all number of blocks/bytes sent/received #1775, bytes/blockcount with reverse mode #596, PR Change help to make current -n/-k behavior a Feature #1800)
Notable developer-visible changes
iperf3 now supports a callback function to get the JSON output
strings. (How to use the iperf library to obtain bandwidth information in real-time at intervals? #1711, PR Add callback function to get JSON Output strings #1798)
iperf3 now builds correctly with gcc-15 (Fails To Build From Source with GCC-15 #1838, PR fix build with gcc-15 #1805)
Various memory leaks were fixed (Fix two minor memory / file descriptor leaks in iperf_tcp_connect(). #1881, PR#1823, Remove (by design) memory-leak by from the Intervals Results linked-list #1814, PR#1822)
A potential segfault crash was fixed (Fix Segfault in iperf_err(exit) #1807)
Improved warning messages when reading malformed JSON messages
(PR JSON_Read() warning messages enhancements #1817)
The Github CI configuration was changed to use a more up-to-date
set of runners (PR GitHub actions: Remove deprecated CI runner, add more diverse set of … #1864)
This discussion was created from the release iperf-3.19 2025-05-16.
Beta Was this translation helpful? Give feedback.
All reactions