Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
336 commits
Select commit Hold shift + click to select a range
3510239
Merge pull request #1613 from davidBar-On/affinity-help-text-correction
bmah888 Jan 3, 2024
d4b2b31
minor error message correction for openssl includes (#1649)
dopheide-esnet Feb 8, 2024
0e90ae5
Regen.
bmah888 Feb 8, 2024
d3e676c
Fix Issue #1632 fq-rate works in reverse
Jan 11, 2024
2c3d631
docs: Update docs to account for multi-threaded iperf3.
bmah888 Feb 6, 2024
e004dc3
Fix --rcv-timeout manual text (#1642)
notgba Feb 9, 2024
c362e1a
Assume we always have inttypes.h and stdint.h (both from C99).
bmah888 Feb 23, 2024
d7c021b
Properly reset the --fq-rate parameter on the server between tests.
bmah888 Mar 14, 2024
b86ba29
Merge pull request #1667 from esnet/bmah-fix-fqrate-server
bmah888 Mar 14, 2024
60b0c18
iperf_api: memset entire malloc
RABijl Mar 19, 2024
7b94705
Update copyright dates in selected places.
bmah888 Mar 14, 2024
e06177c
Close the descriptor when forces exit
maks-mishin Dec 14, 2023
111212b
Fix memory leak with addrinfo
maks-mishin Dec 14, 2023
ed7d16c
Fix descriptor leak in some return paths
maks-mishin Dec 14, 2023
cd18344
Add stat reporting interval to JSON .start.test_start
TheRealDJ Mar 12, 2024
46f6050
Don't chdir when becoming a daemon.
bmah888 Mar 22, 2024
b5eb3a4
Fix issue 1662 - not allow negative test duration (with rebase and ch…
davidBar-On Mar 23, 2024
d80b914
Add pthread missing functions in Android
davidBar-On Feb 18, 2024
1843d37
Regen.
bmah888 Mar 27, 2024
9632f93
Prevent server termination with JSON and remove redundant code with e…
davidBar-On Apr 25, 2024
4058461
Shrink critical section in iperf_err().
bmah888 Apr 26, 2024
fd96963
Restructure iperf_json_finish() to eliminate duplicate --json output.…
bmah888 Apr 26, 2024
a56a100
Merge pull request #1689 from esnet/bmah-more-json-output-fixes
bmah888 Apr 29, 2024
299b356
Using OAEP padding instead of PKCS1 padding for OpenSSL. Fix for CVE-…
Mar 21, 2024
3006413
Manual page update for --use-pkcs1-padding.
bmah888 Apr 22, 2024
fbd99b1
Treat a decryption error as an empty string.
bmah888 Apr 22, 2024
de9c34b
Merge pull request #1695 from esnet/paddingUpdate
swlars May 10, 2024
2c63a3f
iperf-3.17 2024-05-10
May 10, 2024
356f01f
Initialize cookie buffer
MattCatz May 10, 2024
2a23508
Update for iperf-3.17. Various markup and other fixes in Web site.
bmah888 May 11, 2024
6f1e96f
Fix clang compilation failure due to patch d80b914141582dc0c0cf3f71cc…
tqfx Apr 23, 2024
fbeb991
iperf-3.17.1
swlars May 13, 2024
a00eef6
Regen.
swlars May 13, 2024
2acfcfe
Remove signing requirement for git tags
swlars May 13, 2024
9371f99
Update for iperf-3.17.1.
bmah888 May 13, 2024
3ba2559
Update online manual page for iperf-3.17.1.
bmah888 May 13, 2024
1b1fc46
General update of release engineering checklist.
bmah888 May 13, 2024
8119457
Version bump post 3.17.1.
bmah888 May 13, 2024
a6fdfbf
Regen.
bmah888 May 13, 2024
93c60bf
Document post-release version number bump in releng checklist.
bmah888 May 13, 2024
6254d11
Merge pull request #1687 from tqfx/patch-1
swlars May 24, 2024
69a1eb3
Merge pull request #1698 from MattCatz/patch-1
bmah888 May 24, 2024
7a082f5
Merge pull request #1670 from RABijl/dev
bmah888 May 24, 2024
8f5a87e
Merge pull request #1619 from maks-mishin/master
bmah888 May 24, 2024
ac6b9f7
Do not listen to old pro_listener
davidBar-On Jun 2, 2024
8b39c84
Fix memory leak for parallel tests
MattCatz Jun 7, 2024
4c7629f
fix -Wformat-y2k error
neheb Jun 8, 2024
8a62bb7
Fix memory leak in `iperf_print_results`
MattCatz Jun 9, 2024
4fe022d
fix more formats
neheb Jun 11, 2024
d976d43
cast time_t to 64-bit
neheb Jun 11, 2024
daea2dc
Add SKIP-RX-COPY support - using MSG_TRUNC socket option
davidBar-On Jun 16, 2024
33838da
Use user-provided timestasmp format string specifier for errors.
bmah888 Jun 27, 2024
f52bfa3
Merge pull request #1714 from neheb/patch-2
bmah888 Jun 27, 2024
c0983a3
Changed fqrate from uint to uint64 to allow pacing above 30G
Jul 10, 2024
ed66f42
Merge pull request #1708 from davidBar-On/udp-do-listen-to-old-prot_l…
bmah888 Jul 12, 2024
c3b19d8
Fix indentation and add braces in iperf_server_api for clarity
swlars Jun 27, 2024
922820e
Merge pull request #1733 from esnet/formatting_changes
swlars Jul 19, 2024
a40b05a
Merge branch 'esnet:master' into 64bit-MAX_PACING_RATE
marcosfsch Jul 23, 2024
3f7dbae
Changes per review comments with some enhancements
davidBar-On Jul 27, 2024
ac4205b
Merge pull request #1734 from davidBar-On/state_change_debug_messages
bmah888 Jul 28, 2024
92c9155
Add SCTP information to --json output (#1731)
davidBar-On Aug 2, 2024
f89aee0
Merge pull request #1728 from marcosfsch/64bit-MAX_PACING_RATE
swlars Aug 5, 2024
e9e49c4
Performance enhancement for iperf_time_add()
davidBar-On Aug 10, 2024
783095e
Fix #1741 - reduce CPU usage when test baud rate is limited
davidBar-On Aug 11, 2024
9e4ccfb
Fix rcv-timeout issue because of Nread timeout
davidBar-On Aug 13, 2024
67ca2c8
Merge pull request #1713 from neheb/patch-1
bmah888 Aug 13, 2024
5bf93d6
Merge pull request #1742 from davidBar-On/iperf_time_add_usecs-perfor…
bmah888 Aug 26, 2024
3da07ae
remove incorrect freeaddrinfo call
kulikjak Aug 28, 2024
af81adc
Changes per reviewer comments
davidBar-On Aug 29, 2024
9d73cee
Fix #812 and #835 - add control connection keepalive (after rebase wi…
davidBar-On Aug 29, 2024
4abd5ea
Merge pull request #1743 from davidBar-On/issue-1741-reduce-cpu-utili…
bmah888 Aug 30, 2024
7679199
Regen.
bmah888 Aug 30, 2024
0128d03
Veify that Params JSON size was received and is resonable
davidBar-On Jun 2, 2024
5b0ed63
Add check that size is positive
davidBar-On Jun 2, 2024
d2a6ba6
Changes per reviewer comments (with rebase)
davidBar-On Sep 12, 2024
36deba4
Merge pull request #1744 from davidBar-On/rcv-timeout-fix
bmah888 Sep 13, 2024
d5713db
Avoid subthread signal handling (#1752)
xTire Sep 13, 2024
62f3fb2
Merge pull request #1755 from kulikjak/fix-freeaddrinfo
bmah888 Sep 13, 2024
dab301f
Call warning() instead of printf("WARINING: ....")
davidBar-On Sep 15, 2024
7bd583d
Avoid duplicate thread recycling.
Sep 9, 2024
bf12abb
Remove the usage of pacing_timer and simplify iperf_mt_send
davidBar-On Sep 19, 2024
31b63a0
Issue 1770 - not limit omit time
davidBar-On Sep 20, 2024
99cf98a
Merge pull request #1709 from davidBar-On/JSON_read-check-JSON-size
swlars Sep 20, 2024
0ea9cb6
Merge pull request #1761 from answer9030/master
bmah888 Sep 20, 2024
54b2288
fix typo in iperf_util.c
iZarrios Sep 27, 2024
5fa8608
Merge pull request #1777 from iZarrios/fix-iperf-util-typo
bmah888 Sep 27, 2024
464ce7c
Fix for #1776 - do not limit JSON size for --get-server-output
davidBar-On Sep 27, 2024
062ad48
Merge pull request #1779 from davidBar-On/JSON_read-check-JSON-size
swlars Oct 18, 2024
c038abe
-No select() when reading data (used only for control/json read)
davidBar-On Oct 15, 2024
38b4dde
Merge pull request #1787 from davidBar-On/issue-1707-UDP-higher-packe…
bmah888 Oct 25, 2024
80e657f
Merge pull request #1712 from MattCatz/patch-2
bmah888 Oct 25, 2024
3f10f76
Bump actions/checkout to v4
tinyboxvk Oct 31, 2024
0586e1c
Merge pull request #1773 from davidBar-On/pacing_timer-remove__and__m…
bmah888 Nov 1, 2024
da42eba
Improved iperf_udp_recv() debug messages
davidBar-On Nov 5, 2024
4511c3b
Merge branch 'master' into UDP-NET_SOFTERROR-debug-message
swlars Nov 7, 2024
2575ae8
Merge pull request #1795 from tinyboxvk/patch-1
bmah888 Nov 7, 2024
a9080ee
Merge branch 'master' into issue-812-835-control-connection-keepalive
swlars Nov 8, 2024
e03c2cc
Changes per reviewer comments - limit omit time to MAX_OMIT_TIME
davidBar-On Nov 20, 2024
de2456c
Change help to make current -n/-k behavior a feature - end test at th…
davidBar-On Nov 21, 2024
53d645d
Do not try to cancell NULL thread
davidBar-On Nov 21, 2024
fa183fd
Remove init line per reviewer comment
davidBar-On Nov 22, 2024
abe95a9
Merge pull request #1774 from davidBar-On/issue-1770-no-limit-to-omit…
bmah888 Nov 22, 2024
510cf65
Merge pull request #1801 from davidBar-On/bug-fix-do-not-try-to-cance…
bmah888 Dec 3, 2024
d595ee6
Merge pull request #1379 from davidBar-On/UDP-NET_SOFTERROR-debug-mes…
swlars Dec 6, 2024
beadb59
fix build with gcc-15
heitbaum Dec 9, 2024
01888d2
Fix Segfault in iperf_err(exit)
martin-ottens Dec 11, 2024
3f66f60
Add a variant of cJSON_GetObjectItem that does type-checking.
swlars Nov 15, 2024
7a77e52
Merge pull request #1810 from esnet/IP-282
bmah888 Dec 13, 2024
e68dad6
Update release notes and version numbers for iperf-3.18.
bmah888 Dec 14, 2024
2a29844
Regen.
bmah888 Dec 14, 2024
1e80c4f
Reset the congestion protocol on the server between tests
hwti Dec 14, 2024
e4cb673
docs: Note iperf-3.18 release.
bmah888 Dec 16, 2024
0f7366c
Post release version number bump to 3.18+.
bmah888 Dec 17, 2024
85d454c
Regen.
bmah888 Dec 17, 2024
aaa7425
Increase MAX_MSS to 32K
nshopik Dec 21, 2024
cf75cf4
add MPTCPv1 support
geliangtang Mar 6, 2024
edf5c75
Fix typo in LICENSE
tinyboxvk Jan 9, 2025
24239de
Fix typo in units.c
tinyboxvk Jan 9, 2025
94280a5
Fix typo in iperf_locale.c
tinyboxvk Jan 9, 2025
108c293
Fix typo in iperf_api.c
tinyboxvk Jan 9, 2025
c5383b8
Fix typo in iperf3.1
tinyboxvk Jan 9, 2025
70de753
Fix typo in invoking.rst
tinyboxvk Jan 9, 2025
352ef1b
Merge pull request #1812 from hwti/reset-congestion-protocol
bmah888 Jan 10, 2025
36e47e7
Fix issue that bitrate is ignored when burst is set (with Nanosleep)
davidBar-On Jan 16, 2025
069a37d
iperf_api: fix potential descriptor leak
maks-mishin Jan 16, 2025
d9333ca
Properly define variables when nanosleep is not available
davidBar-On Jan 17, 2025
bd292ee
Merge branch 'master' into master
swlars Jan 17, 2025
9e1360d
Merge pull request #1661 from geliangtang/master
bmah888 Jan 17, 2025
49acc94
Regen.
bmah888 Jan 17, 2025
9050d81
JSON_Read() warning messages enhancements (#1817)
davidBar-On Jan 27, 2025
7b5fb7d
Merge pull request #1819 from tinyboxvk/patch-1
bmah888 Jan 27, 2025
83f1da7
docs: Fix wrong URL in news entry for iperf-3.18.
bmah888 Jan 31, 2025
a4621f1
Merge pull request #1827 from esnet/issue-1826
bmah888 Feb 3, 2025
4bab9bc
Exit with 0 on SIGTERM
davidBar-On Feb 6, 2025
aa8c4f7
Change sp->test->state to test->state per reviewer comment
davidBar-On Feb 6, 2025
c8dec9e
Merge pull request #1800 from davidBar-On/end-of-test-help-for-n-k-op…
bmah888 Feb 6, 2025
d8af312
Merge pull request #1797 from davidBar-On/udp_recv_improved_debug_mes…
bmah888 Feb 6, 2025
7e58c53
Merge pull request #1821 from davidBar-On/issue-1820-bitrate-ignored-…
bmah888 Feb 7, 2025
806a7ce
Add callback function to get JSON strings instead of writing them to …
davidBar-On Nov 17, 2024
76c60ee
Per reviewer comment - add parameter to the callback function and en…
davidBar-On Feb 8, 2025
7e8a19f
Per reviwer comment added SIGHUP to the non-error signals and added #…
davidBar-On Feb 8, 2025
296222d
Merge pull request #1807 from martin-ottens/master
swlars Feb 10, 2025
46af7e9
Add also SIGINT to the non-error signals
davidBar-On Feb 11, 2025
6b69d06
Merge pull request #1798 from davidBar-On/issue-1711-library_function…
bmah888 Feb 14, 2025
5e22d15
Add missing code for SERVER_ERRROR handling under HAVE_SSL
davidBar-On Feb 15, 2025
7b2af28
Merge pull request #1829 from davidBar-On/issue-1009-exit-code-0-on-s…
bmah888 Feb 21, 2025
d77d64e
Extending PR 1821 fix to PR 1773 for sending when bitrate is set
davidBar-On Feb 28, 2025
3c725cc
Merge pull request #1848 from davidBar-On/issue-1847-second-fix-to-se…
swlars Mar 5, 2025
e161c6d
Merge branch 'master' into issue-812-835-control-connection-keepalive
swlars Mar 5, 2025
d1409d0
Merge pull request #1423 from davidBar-On/issue-812-835-control-conne…
swlars Mar 6, 2025
183ea92
Regen.
bmah888 Mar 10, 2025
b5d40ef
GitHub actions: Remove deprecated CI runner, add more diverse set of …
bmah888 Feb 21, 2025
8d9b78e
Merge pull request #1864 from esnet/update-github-workflows
bmah888 Mar 25, 2025
16c4ba9
Merge pull request #1822 from maks-mishin/iperf-api-handle-leak-fd
bmah888 Apr 18, 2025
b6afe3f
Merge branch 'master' into issue-1678-SKIP_RX_COPY-MSG_TRUNC
swlars Apr 25, 2025
329ba61
Update net.c to include Nread_no_select and Nrecv_no_select
swlars Apr 25, 2025
c49deb0
Update iperf_udp.c
swlars Apr 25, 2025
0481860
Merge pull request #1717 from davidBar-On/issue-1678-SKIP_RX_COPY-MSG…
swlars Apr 25, 2025
282140e
Regen.
bmah888 Apr 25, 2025
91894d1
Correct typo in net.c (#1874)
WatcherOfTheSkies Apr 28, 2025
7eeda4c
Merge pull request #1805 from heitbaum/gcc
bmah888 May 2, 2025
9a4a108
Merge pull request #1835 from davidBar-On/Add-missing-code-for-HAVE_S…
bmah888 May 2, 2025
71cfa71
Minor fix-ups from #1717:
bmah888 May 2, 2025
d9e4585
Merge pull request #1877 from esnet/bmah-pr-1717-fix-ups
bmah888 May 5, 2025
81b9a64
Do not allocate unused Intervals lined-list to solve memory-leak (by …
davidBar-On May 5, 2025
9f6dc21
Copyright updates for 2025.
bmah888 Apr 25, 2025
e251b99
Fix two minor memory / file descriptor leaks in iperf_tcp_connect().
bmah888 May 9, 2025
204421d
Merge pull request #1881 from esnet/bmah-memory-leaks-pr-1823
bmah888 May 9, 2025
539edb9
Release engineering updates and version bumps for iperf-3.19.
bmah888 May 16, 2025
57396df
Regen.
bmah888 May 16, 2025
e62f522
Documentation chnages for iperf-3.19.
bmah888 May 16, 2025
ecff2de
RELNOTES: fix Multipath-TCP flag
matttbe May 17, 2025
e5c4263
Fix a compilation issue with uClibc due to a missing include file.
kadambininema May 17, 2025
a651961
Post-version release bump.
bmah888 May 19, 2025
eba7c92
Regen.
bmah888 May 19, 2025
c308ca9
Merge pull request #1887 from matttbe/patch-1
bmah888 May 19, 2025
9d560ed
json: add UNIX timestamp in milliseconds
phip1611 May 21, 2025
b0c0611
new APIs for setting RSA keys by file
manedurphy May 21, 2025
2f2b503
Merge pull request #1846 from phip1611/timestamp
bmah888 May 21, 2025
3770aeb
Merge pull request #1888 from kadambininema/master
bmah888 May 23, 2025
03968e9
Allow setting options only for client or server
davidBar-On May 28, 2025
a4ab6c5
Report number of reorder_seen
kuba-moo Feb 2, 2022
84c49f2
Merge pull request #1278 from kuba-moo/report-reorder
bmah888 May 30, 2025
5fc36c9
src: Fix division by zero in UDP bandwidth calculation in iperf_api.c
AntonMoryakov Jul 11, 2025
78aef75
Fix for 3 minor issues (unrelated to each other)
davidBar-On Jul 15, 2025
969b7f7
Fix for buffer overflow in MSG_TRUNC udp --skip-rx-copy zerocopy
swlars Jun 13, 2025
4eab661
Prevent crash due to assertion failures on malformed authentication a…
bmah888 Jun 24, 2025
4e5313b
Fix off-by-one heap overflow in auth.
swlars Jun 25, 2025
c0f0444
iperf3-3.19.1 Release notes updates
swlars Jun 27, 2025
32f9f19
Merge pull request #1917 from esnet/3.19.1-integration
bmah888 Jul 25, 2025
5f2f046
Update documentation for 3.19.1.
bmah888 Jul 30, 2025
b9371bf
Merge pull request #1906 from AntonMoryakov/DIVISION_BY_ZERO.EX.FLOAT…
bmah888 Aug 1, 2025
55f1f4c
Github Actions Test (#1919)
swlars Aug 8, 2025
f505cfe
docs: clarify --get-output-server needs the test to complete
rmelotte Aug 13, 2025
9207330
Update build.yml Fix Checkout @v4 - @v5 (#1928)
FlutterGenerator Aug 15, 2025
b64ea8d
Merge pull request #1894 from davidBar-On/issue-1892-only-client-opti…
bmah888 Aug 15, 2025
a6985db
Version bump post 3.19.1.
bmah888 Aug 15, 2025
156953d
Regen.
bmah888 Aug 15, 2025
ebd6eae
Remove the unused build_tcpinfo_message() function.
bmah888 Aug 15, 2025
cf53d6c
Convert some sprintf() calls to use safer snprintf() calls instead.
bmah888 Aug 15, 2025
3291a16
Merge pull request #1929 from esnet/bmah-no-sprintf
bmah888 Aug 18, 2025
48acc2e
Do not allow UDP file transfer in all cases
davidBar-On Aug 27, 2025
c81f853
Send Server's get_Parameters() errors to the client
davidBar-On Aug 27, 2025
9053028
Merge pull request #1909 from davidBar-On/3-minor-fixes
bmah888 Aug 29, 2025
68d25ab
Add gitlab-ci.yml (#1933)
swlars Aug 29, 2025
46afdca
Merge pull request #1889 from manedurphy/rsa_from_file
bmah888 Aug 29, 2025
942c76c
add ability to get full JSON result object with streams enabled
manedurphy Jul 8, 2025
0f0fe61
man page entry
manedurphy Jul 8, 2025
f499d02
format
manedurphy Jul 8, 2025
75f58a9
format
manedurphy Jul 8, 2025
f655d42
format
manedurphy Jul 8, 2025
0e7dacd
Merge pull request #1903 from manedurphy/json_stream_full_output
bmah888 Sep 5, 2025
7517ade
manual page: Document interactions between the JSON flags.
bmah888 Sep 5, 2025
a7bb1b1
manual page: Capitalization, punctuation, wrapping, markup fixes.
bmah888 Sep 5, 2025
e3e8263
Merge pull request #1927 from rmelotte/doc/clarify-get-server-output-…
bmah888 Sep 10, 2025
65c5443
Merge branch 'master' into bmah-doc-updates
bmah888 Sep 10, 2025
96173cf
manual page: Fix formatting of authorization examples.
bmah888 Sep 10, 2025
8997d1c
Merge pull request #1936 from esnet/bmah-doc-updates
bmah888 Sep 15, 2025
a0e28f7
Fix typo in iperf3 documentation
NatsuCamellia Sep 18, 2025
8880fe8
Merge pull request #1941 from NatsuCamellia/fix-man-typo
bmah888 Sep 19, 2025
6b391d4
Merge pull request #1932 from davidBar-On/server_params_error_code_to…
bmah888 Sep 19, 2025
37b1d89
fix update yml (#1942)
FlutterGenerator Sep 22, 2025
cfe569c
zerocopy now sends data from readentropy and fill_with_repeating_pattern
manedurphy Sep 27, 2025
d18a2b3
server: ignore rcv-timeout in BIDIRECTIONAL mode
scarpein Sep 24, 2025
aeb4f70
docs: We use Ubuntu, not CentOS, for primary Linux development.
bmah888 Oct 3, 2025
e13c2b7
t_auth memory checks (#1953)
swlars Oct 3, 2025
543c8a7
Merge pull request #1952 from esnet/bmah-1891
bmah888 Oct 3, 2025
e4503c8
Add Time Flag For The Iperf Server Process (#1684)
manedurphy Oct 3, 2025
28976ad
Merge pull request #1946 from scarpein/fix-bidir-rcv-timeout
bmah888 Oct 14, 2025
52aae0c
Resolve issue with openssl 3.5.3 encrypt (#1956)
mdlowman Oct 23, 2025
0c76a53
Add error handling to the unit_atoX() functions (#1394)
jtdor Oct 23, 2025
d40052e
Merge pull request #1949 from manedurphy/map_shared
bmah888 Nov 7, 2025
fd36aae
Release notes and version number bumps for iperf-3.20.
bmah888 Nov 14, 2025
c6f6e79
Regen.
bmah888 Nov 14, 2025
0711330
Merge pull request #1966 from esnet/releng-3.20
bmah888 Nov 14, 2025
3b54686
docs: documentation site update for iperf-3.20.
bmah888 Nov 14, 2025
c77bff0
Post-release version bump.
bmah888 Nov 18, 2025
df01f49
Regen.
bmah888 Nov 18, 2025
b74d4dd
Fix small release notes errors for 3.20 (#1972)
manedurphy Nov 20, 2025
bcbfaf1
Minor improvement in man page for --server-max-duration flag
manedurphy Nov 20, 2025
d348cd7
Merge pull request #1974 from manedurphy/server_max_duration_doc_fix
bmah888 Nov 21, 2025
4ce7d25
Removed extra warning message.
WatcherOfTheSkies Dec 15, 2025
4b370dd
Merge pull request #1983 from WatcherOfTheSkies/fix-extra-warning
bmah888 Dec 19, 2025
1987fbd
Typographical Fixes
THE-Spellchecker Dec 30, 2025
50ab7a3
Do not modify --bind and --client arguments inplace
klemensn Oct 30, 2025
62ade9c
Fixed missing 'break;'s and improved formatting.
WatcherOfTheSkies Dec 8, 2025
0ae94b6
Merge pull request #1960 from klemensn/bind-argv
bmah888 Jan 9, 2026
d259a3e
Merge pull request #1993 from THE-Spellchecker/spellcheck-iperf3
bmah888 Jan 16, 2026
e4bcbf9
Merge pull request #1816 from nshopik/patch-1
bmah888 Jan 16, 2026
6b76500
renove data sockets closing from server_timer_proc as it caused threa…
davidBar-On Jan 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: GitHub Actions Build Test
permissions:
contents: read
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
cppcheck-test:
runs-on: ubuntu-latest
steps:
- run: echo "This job was triggered by a ${{ github.event_name }} event."
- name: Checkout Repo
uses: actions/checkout@v5
- name: install dependencies
run: |
sudo apt-get -y update && sudo apt-get install -y cppcheck && \
cppcheck . --force --inline-suppr
build-test-ubuntu-ish:
strategy:
matrix:
os: [ubuntu-latest, ubuntu-22.04, ubuntu-22.04-arm]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5
- name: install dependencies
run: |
sudo apt-get -y update && sudo apt-get install -y build-essential
- name: build
run: |
./configure && make && make check
timeout 300 src/iperf3 -s &
./test_commands.sh localhost
build-test-macos-ish:
strategy:
matrix:
os: [macos-15, macos-14]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5
- name: install dependencies
run: |
brew install coreutils
- name: build
run: |
./configure && make && make check
timeout 300 src/iperf3 -s &
./test_commands.sh localhost
build-test-sanitizer-address:
runs-on: ubuntu-latest
steps:
- run: echo "Running address sanitzer"
- name: Checkout Repo
uses: actions/checkout@v5
- name: install dependencies
run: |
sudo apt-get -y update && sudo apt-get install -y build-essential
- name: build
run: |
./configure CFLAGS="-g -O0 -fsanitize=address" LDFLAGS="-fsanitize=address" && make && make check
timeout 300 src/iperf3 -s &
./test_commands.sh localhost
43 changes: 43 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/development/cicd/templates/
# This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/C++.gitlab-ci.yml

# use the official gcc image, based on debian
# can use versions as well, like gcc:5.2
# see https://hub.docker.com/_/gcc/
# To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/development/cicd/templates/
# This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/C++.gitlab-ci.yml

# use the official gcc image, based on debian
# can use versions as well, like gcc:5.2
# see https://hub.docker.com/_/gcc/

image: gcc

build:
stage: build
before_script:
- apt update && apt -y install make autoconf libssl-dev
script:
- ./configure CFLAGS="-g -O0 -fsanitize=address" LDFLAGS="-fsanitize=address"
- make
- timeout 300 ./src/iperf3 -s &
- ./test_commands.sh localhost
artifacts:
paths:
- src/iperf3
- src/.libs/*

# run tests using the binary built before
test:
stage: test
script:
- ls

deploy:
stage: deploy
script: echo "Define your deployment script!"
environment: production
14 changes: 0 additions & 14 deletions .travis.yml

This file was deleted.

4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"iperf, Copyright (c) 2014-2023, The Regents of the University of California,
"iperf, Copyright (c) 2014-2025, The Regents of the University of California,
through Lawrence Berkeley National Laboratory (subject to receipt of any
required approvals from the U.S. Dept. of Energy). All rights reserved."

Expand Down Expand Up @@ -212,7 +212,7 @@ This software contains source code (src/units.{c.h}) that is:
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE CONTIBUTORS OR COPYRIGHT
* NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE
Expand Down
53 changes: 40 additions & 13 deletions Makefile.in
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.5 from Makefile.am.
# Makefile.in generated by automake 1.18.1 from Makefile.am.
# @configure_input@

# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# Copyright (C) 1994-2025 Free Software Foundation, Inc.

# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
Expand Down Expand Up @@ -69,6 +69,8 @@ am__make_running_with_option = \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
am__rm_f = rm -f $(am__rm_f_notfound)
am__rm_rf = rm -rf $(am__rm_f_notfound)
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
Expand All @@ -90,6 +92,7 @@ host_triplet = @host@
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/ax_check_openssl.m4 \
$(top_srcdir)/config/ax_pthread.m4 \
$(top_srcdir)/config/iperf_config_static_bin.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
Expand Down Expand Up @@ -169,8 +172,8 @@ distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
if test -d "$(distdir)"; then \
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -rf "$(distdir)" \
find "$(distdir)" -type d ! -perm -700 -exec chmod u+rwx {} ';' \
; rm -rf "$(distdir)" \
|| { sleep 5 && rm -rf "$(distdir)"; }; \
else :; fi
am__post_remove_distdir = $(am__remove_distdir)
Expand Down Expand Up @@ -200,14 +203,16 @@ am__relativize = \
done; \
reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
GZIP_ENV = -9
DIST_TARGETS = dist-gzip
# Exists only to be overridden by the user if desired.
AM_DISTCHECK_DVI_TARGET = dvi
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
distcleancheck_listfiles = \
find . \( -type f -a \! \
\( -name .nfs* -o -name .smb* -o -name .__afs* \) \) -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
Expand All @@ -219,6 +224,7 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
Expand Down Expand Up @@ -273,6 +279,10 @@ PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_CXX = @PTHREAD_CXX@
PTHREAD_LIBS = @PTHREAD_LIBS@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
Expand All @@ -289,8 +299,11 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__rm_f_notfound = @am__rm_f_notfound@
am__tar = @am__tar@
am__untar = @am__untar@
am__xargs_n = @am__xargs_n@
ax_pthread_config = @ax_pthread_config@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
Expand Down Expand Up @@ -486,12 +499,13 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files

distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am

distdir-am: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
$(AM_V_at)$(MKDIR_P) "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
Expand Down Expand Up @@ -561,6 +575,10 @@ dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
$(am__post_remove_distdir)

dist-bzip3: distdir
tardir=$(distdir) && $(am__tar) | bzip3 -c >$(distdir).tar.bz3
$(am__post_remove_distdir)

dist-lzip: distdir
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
$(am__post_remove_distdir)
Expand Down Expand Up @@ -602,17 +620,19 @@ dist dist-all:
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
eval GZIP= gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.bz3*) \
bzip3 -dc $(distdir).tar.bz3 | $(am__untar) ;;\
*.tar.lz*) \
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
eval GZIP= gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
*.tar.zst*) \
Expand Down Expand Up @@ -712,8 +732,8 @@ mostlyclean-generic:
clean-generic:

distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-$(am__rm_f) $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)

maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
Expand Down Expand Up @@ -793,8 +813,8 @@ uninstall-am:
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
am--refresh check check-am clean clean-cscope clean-generic \
clean-libtool cscope cscopelist-am ctags ctags-am dist \
dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
dist-xz dist-zip dist-zstd distcheck distclean \
dist-all dist-bzip2 dist-bzip3 dist-gzip dist-lzip dist-shar \
dist-tarZ dist-xz dist-zip dist-zstd distcheck distclean \
distclean-generic distclean-libtool distclean-tags \
distcleancheck distdir distuninstallcheck dvi dvi-am html \
html-am info info-am install install-am install-data \
Expand All @@ -813,3 +833,10 @@ uninstall-am:
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

# Tell GNU make to disable its built-in pattern rules.
%:: %,v
%:: RCS/%,v
%:: RCS/%
%:: s.%
%:: SCCS/s.%
33 changes: 10 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ Source code and issue tracker: https://github.com/esnet/iperf

Discussion forums: https://github.com/esnet/iperf/discussions

Reporting security vulnerabilities: iperf@es.net

Obtaining iperf3
----------------

Expand Down Expand Up @@ -78,8 +80,8 @@ These flags include:
-Z, --zerocopy use a 'zero copy' sendfile() method of sending data
-A, --affinity n/n,m set CPU affinity

Bug Reports
-----------
Bug and Security Reports
------------------------

Before submitting a bug report, please make sure you're running the
latest version of the code, and confirm that your issue has not
Expand All @@ -99,6 +101,11 @@ sensitive information.
If you have a question about usage or about the code, please do *not*
submit an issue. Please use one of the mailing lists for that.

If you suspect there is a potential security issue, please contact the
developers at:

iperf@es.net

Relation to iperf 2.x
---------------------

Expand All @@ -108,26 +115,6 @@ The projects (as of mid-2021) are in active, but separate, development.
The continuing iperf2 development
project can be found at https://sourceforge.net/projects/iperf2/.

iperf3 contains a number of options and functions not present in
iperf2. In addition, some flags are changed from their iperf2
counterparts:

-C, --linux-congestion set congestion control algorithm (Linux only)
(-Z in iperf2)
--bidir bidirectional testing mode
(-d in iperf2)

Some iperf2 options are not available in iperf3:

-r, --tradeoff Do a bidirectional test individually
-T, --ttl time-to-live, for multicast (default 1)
-x, --reportexclude [CDMSV] exclude C(connection) D(data) M(multicast)
S(settings) V(server) reports
-y, --reportstyle C report as a Comma-Separated Values

Also removed is the ability to set the options via environment
variables.

Known Issues
------------

Expand All @@ -150,7 +137,7 @@ responsibility for the content of these pages.
Copyright
---------

iperf, Copyright (c) 2014-2023, The Regents of the University of
iperf, Copyright (c) 2014-2025, The Regents of the University of
California, through Lawrence Berkeley National Laboratory (subject
to receipt of any required approvals from the U.S. Dept. of
Energy). All rights reserved.
Expand Down
Loading