Iperf 3.16 Windows build


Recommended Posts

Ok updated cygwin, did a new compile here is the new update

 

$ iperf3.exe -v
iperf 3.7 (cJSON 1.5.2)
CYGWIN_NT-10.0-18363 i5-win 3.1.4-340.x86_64 2020-02-19 08:49 UTC x86_64
Optional features available: CPU affinity setting

 

https://files.budman.pw/iperf3.7_64_updated_cygwin1dll.zip

CRC32: ABCA3CAA
MD5: C3594A08967FD57BF36F757980480F9D
SHA-1: DF6C8B3D18941DABBC5AB21ACB5844A062620092
SHA-256: B1A14F8B2435AAA98D26F8499DF23BF6532B5F0EA2288DA04E0C28333EDBC48E

edit:  I again had to make the change to ossl_typ.h shown above to get it to compile... My change had gotten over witten with the updated of cygwin.

Link to comment
Share on other sites

  • 1 month later...

Hello!

 

Guys, I'm wodering how can I build a statically-linked executable of iperf3 without needing cygwin1.dll? I was trying

./configure "LDFLAGS=--static" --disable-shared

But it still requires for cygwin1.dll.

 

Thank you!

Link to comment
Share on other sites

I don't think you can.. I would love to do that myself.. 

 

If you find a way - please post it here, and I would for sure compile iperf3 as standalone without the need of the extra dll.

 

https://cygwin.com/faq/faq.html#faq.programming.static-linking

 

You would have to compile ipferf3 with something other than cygwin from my understanding.

Link to comment
Share on other sites

  • 1 month later...

Yeah been seeing the messages on the changes they were making (I get emails when they make a commit) but hadn't see actual release - will take a look see, thanks - if out should have new version up today.

 

edit:  Ok new version compiled and on site, updated to latest cygwin just before compile.

Had to make the same change to ossl_typ.h as above.

 

E:\test\iperf3.8_64bit>iperf3.exe -v
iperf 3.8 (cJSON 1.7.13)
CYGWIN_NT-10.0-18363 i5-win 3.1.5-340.x86_64 2020-06-01 08:59 UTC x86_64
Optional features available: CPU affinity setting

 

Since now running 2.5 gbps to my nas ds918+ (cheap 40$ usb ethernet nic).. Did a test.. NAS only has 3.7 since the guy that makes the packages has updated as of yet ;) Its only been out yesterday.  If anyone interested in doing the same.. Just ask and post up the info... It was a nice 80$ upgrade for moving files between my pc and nas.. Vs using the smb3 multichannel, which is also great way to break the gig barrier in moving files.

 

E:\test\iperf3.8_64bit>iperf3.exe -c 192.168.10.10
warning: Ignoring nonsense TCP MSS 334080
Connecting to host 192.168.10.10, port 5201
[  5] local 192.168.10.9 port 55228 connected to 192.168.10.10 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   270 MBytes  2.27 Gbits/sec
[  5]   1.00-2.00   sec   278 MBytes  2.33 Gbits/sec
[  5]   2.00-3.00   sec   276 MBytes  2.31 Gbits/sec
[  5]   3.00-4.00   sec   278 MBytes  2.34 Gbits/sec
[  5]   4.00-5.00   sec   275 MBytes  2.31 Gbits/sec
[  5]   5.00-6.00   sec   276 MBytes  2.32 Gbits/sec
[  5]   6.00-7.00   sec   280 MBytes  2.35 Gbits/sec
[  5]   7.00-8.00   sec   278 MBytes  2.33 Gbits/sec
[  5]   8.00-9.00   sec   277 MBytes  2.32 Gbits/sec
[  5]   9.00-10.00  sec   282 MBytes  2.37 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  2.71 GBytes  2.32 Gbits/sec                  sender
[  5]   0.00-10.01  sec  2.71 GBytes  2.32 Gbits/sec                  receiver

iperf Done.

E:\test\iperf3.8_64bit>

File uploaded

https://files.budman.pw/iperf3.8_64bit.zip

MD5: 38A01DC0D4CC67058B094A96274A6F49
SHA-256: E37B0885EFA60106A3333CDAE878815B2306B434175F2BFBAF2DBF709BAB2049

 

I will update the first post with the details as well.

Link to comment
Share on other sites

3.8.1 came out

 

budman@I5-WIN C:\tools\iperf3.8.1_64
$ iperf3.exe -v
iperf 3.8.1 (cJSON 1.7.13)
CYGWIN_NT-10.0-18363 i5-win 3.1.5-340.x86_64 2020-06-01 08:59 UTC x86_64
Optional features available: CPU affinity setting

https://files.budman.pw/iperf3.8.1_64.zip

CRC32: 69CE7B06
MD5: 1157B038DC04646B074A822A171E77A7
SHA-1: A692D6E5FAD3004A229C92661EC4448004EA269E
SHA-256: CD337C2EEB5ACF02713867990E4F9F0656CC0CAEA850F3B3C289DD79305DF1A1

Link to comment
Share on other sites

  • 3 weeks later...

D:\Download\iperf3.8.1_64>iperf3.exe -v
iperf 3.8.1 (cJSON 1.7.13)
CYGWIN_NT-10.0-19041 DESKTOP-SBNDHC1 3.1.5-340.x86_64 2020-06-01 08:59 UTC x86_64
Optional features available: CPU affinity setting

 

 

D:\Download\iperf3.8.1_64>iperf3.exe -Z -c 172.30.1.32
iperf3: parameter error - this OS does not support sendfile

Can you solve this problem?

Link to comment
Share on other sites

Prob not.. since its not supported on windows.. 

 

If you can get the iperf guys to get it to work, then I could compile it..  I am not by any means a coder, I just compiling it - and in the past have figure out a few issues with it compiling like header issues, etc.. But something like this would be beyond my skillset.

 

It works on linux... I have to reinstall cygwin (just redid my pc)

 

 

Link to comment
Share on other sites

  • 1 month later...

3.9 released

iperf 3.9 2020-08-17
--------------------

* Notable user-visible changes

  * 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).

* Notable developer-visible changes

  * Fixed various minor memory leaks (#1023).

 

C:\iperf3.9_64>iperf3.exe -v
iperf 3.9 (cJSON 1.7.13)
CYGWIN_NT-10.0-19041 I5-Win 3.1.6-340.x86_64 2020-07-09 08:20 UTC x86_64
Optional features available: CPU affinity setting

 

https://files.budman.pw/iperf3.9_64.zip

Name: iperf3.9_64.zip
Size: 1542276 bytes (1506 KiB)
SHA256: 15D2D3C2A8B9A69EFD9991FEFE5206E31D6055399F7A4C663C3CB6D77B6770F8

 

  • Like 2
Link to comment
Share on other sites

  • 9 months later...

There is new version:

https://github.com/esnet/iperf/archive/refs/tags/3.10.zip

 

iperf 3.10 2021-05-26

Notable user-visible changes

Fix a bug where some --reverse tests didn't terminate (#982 / #1054).

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 / #1077).

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).

Notable developer-visible changes

It is now possible to use the API to set/get the congestion control algorithm (#1036 / #1112).

Link to comment
Share on other sites

Well it is there - doh.. I had seen the mailing list announcement that 5/26 was suppose to be the release date.  But never saw the news site update with info..

 

My cygwin is updating now to 3.2 and will compile here in a bit after that is finish.  Thanks for poke ;)

Link to comment
Share on other sites

Ok 3.10 64bit is up

 

md5 	12c084405e3c8352278e48922dbd7499
sha1 	63e2ffd5b33f5bd372b62dc617ba7d786493c29a
sha256 	098f276552939acec2a9a7d6990e79bac17e45fb951d32ce59c2d764cdcaf15a

 

https://files.budman.pw/iperf3.10_64bit.zip

 

C:\test\iperf3.10_64bit>iperf3.exe -v
iperf 3.10 (cJSON 1.7.13)
CYGWIN_NT-10.0-19043 I5-Win 3.2.0-340.x86_64 2021-03-29 08:42 UTC x86_64
Optional features available: CPU affinity setting, support IPv4 don't fragment

 

I tested it against older 3.7 version running on my nas.. It works from that standpoint.

 

C:\test\iperf3.10_64bit>iperf3.exe -c 192.168.10.10
Connecting to host 192.168.10.10, port 5201
[  5] local 192.168.10.9 port 27081 connected to 192.168.10.10 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   264 MBytes  2.21 Gbits/sec
[  5]   1.00-2.00   sec   274 MBytes  2.30 Gbits/sec
[  5]   2.00-3.00   sec   276 MBytes  2.32 Gbits/sec
[  5]   3.00-4.00   sec   276 MBytes  2.31 Gbits/sec
[  5]   4.00-5.00   sec   278 MBytes  2.33 Gbits/sec
[  5]   5.00-6.00   sec   276 MBytes  2.32 Gbits/sec
[  5]   6.00-7.00   sec   275 MBytes  2.30 Gbits/sec
[  5]   7.00-8.00   sec   275 MBytes  2.31 Gbits/sec
[  5]   8.00-9.00   sec   275 MBytes  2.31 Gbits/sec
[  5]   9.00-10.00  sec   274 MBytes  2.30 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  2.68 GBytes  2.30 Gbits/sec                  sender
[  5]   0.00-10.01  sec  2.68 GBytes  2.30 Gbits/sec                  receiver

iperf Done.

 

edit: updated 6/4/21

https://files.budman.pw/iperf3.10.1_64bit.zip

sha256     2cf3ff3671f9f4f57cf01ab8b2d960feb9e087d450f3b58aaf4ab82333262be0

iperf 3.10.1 fixes a problem with the configure script that made it make not work correctly in some circumstances. It is functionally identical to iperf 3.10.

I didn't seem to have any issues with my 3.10 build, but redid to keep with current version numbers.

 

C:\test\iperf3.10.1_64bit>iperf3.exe -v
iperf 3.10.1 (cJSON 1.7.13)
CYGWIN_NT-10.0-19043 I5-Win 3.2.0-340.x86_64 2021-03-29 08:42 UTC x86_64
Optional features available: CPU affinity setting, support IPv4 don't fragment

 

Link to comment
Share on other sites

  • +BudMan changed the title to Iperf 3.10.1 Windows build
  • 3 weeks later...

Ok, I got a bit tired of waiting for where I was getting iperf3 to run on my nas.. So I compiled it myself.. Not sure how to create a package yet, etc.

 

But creating the build environment for my ds918+ was easier than I thought..

 

So if you have an apollolake synology nas and would like to test iperf3.10.1

https://files.budman.pw/iperf3.10.1-apollolake.zip

 

Copy iperf3 to /usr/bin

Copy the libiperf.so.0 to /usr/local/lib

make sure you can exe the iperf3, chmod 755 for example

 

And there you go..

ash-4.3# iperf3 -v
iperf 3.10.1 (cJSON 1.7.13)
Linux NAS 4.4.59+ #25556 SMP PREEMPT Thu Mar 18 13:00:35 CST 2021 x86_64
Optional features available: CPU affinity setting, IPv6 flow label, TCP congestion algorithm setting, sendfile / zerocopy, socket pacing, authentication, bind to device, support IPv4 don't fragment
ash-4.3# 

 

ash-4.3# iperf3 -s
-----------------------------------------------------------
Server listening on 5201 (test #1)
-----------------------------------------------------------
Accepted connection from 192.168.10.9, port 4739
[  5] local 192.168.10.10 port 5201 connected to 192.168.10.9 port 4740
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   282 MBytes  2.37 Gbits/sec                  
[  5]   1.00-2.00   sec   283 MBytes  2.37 Gbits/sec                  
[  5]   2.00-3.00   sec   283 MBytes  2.37 Gbits/sec                  
[  5]   3.00-4.00   sec   283 MBytes  2.37 Gbits/sec                  
[  5]   4.00-5.00   sec   282 MBytes  2.37 Gbits/sec                  
[  5]   5.00-6.00   sec   281 MBytes  2.36 Gbits/sec                  
[  5]   6.00-7.00   sec   283 MBytes  2.37 Gbits/sec                  
[  5]   7.00-8.00   sec   282 MBytes  2.37 Gbits/sec                  
[  5]   8.00-9.00   sec   283 MBytes  2.37 Gbits/sec                  
[  5]   9.00-10.00  sec   283 MBytes  2.37 Gbits/sec                  
[  5]  10.00-10.01  sec  2.96 MBytes  2.34 Gbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec  2.76 GBytes  2.37 Gbits/sec                  receiver
-----------------------------------------------------------
Server listening on 5201 (test #2)
-----------------------------------------------------------
^Ciperf3: interrupt - the server has terminated
ash-4.3# 

 

If any one tests this - let me know how it turns out.. When I get a bit more motivated might look into creating a package.

 

Also if you have a different synology nas other than apollolake and would like me to compile for you.. Let me know and give it a shot.

Link to comment
Share on other sites

2 minutes ago, BudMan said:

Ok, I got a bit tired of waiting for where I was getting iperf3 to run on my nas.. So I compiled it myself.. Not sure how to create a package yet, etc.

 

But creating the build environment for my ds918+ was easier than I thought..

 

So if you have an apollolake synology nas and would like to test iperf3.10.1

https://files.budman.pw/iperf3.10.1-apollolake.zip

 

Copy iperf3 to /usr/bin

Copy the libiperf.so.0 to /usr/local/lib

make sure you can exe the iperf3, chmod 755 for example

 

And there you go..


ash-4.3# iperf3 -v
iperf 3.10.1 (cJSON 1.7.13)
Linux NAS 4.4.59+ #25556 SMP PREEMPT Thu Mar 18 13:00:35 CST 2021 x86_64
Optional features available: CPU affinity setting, IPv6 flow label, TCP congestion algorithm setting, sendfile / zerocopy, socket pacing, authentication, bind to device, support IPv4 don't fragment
ash-4.3# 

 


ash-4.3# iperf3 -s
-----------------------------------------------------------
Server listening on 5201 (test #1)
-----------------------------------------------------------
Accepted connection from 192.168.10.9, port 4739
[  5] local 192.168.10.10 port 5201 connected to 192.168.10.9 port 4740
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   282 MBytes  2.37 Gbits/sec                  
[  5]   1.00-2.00   sec   283 MBytes  2.37 Gbits/sec                  
[  5]   2.00-3.00   sec   283 MBytes  2.37 Gbits/sec                  
[  5]   3.00-4.00   sec   283 MBytes  2.37 Gbits/sec                  
[  5]   4.00-5.00   sec   282 MBytes  2.37 Gbits/sec                  
[  5]   5.00-6.00   sec   281 MBytes  2.36 Gbits/sec                  
[  5]   6.00-7.00   sec   283 MBytes  2.37 Gbits/sec                  
[  5]   7.00-8.00   sec   282 MBytes  2.37 Gbits/sec                  
[  5]   8.00-9.00   sec   283 MBytes  2.37 Gbits/sec                  
[  5]   9.00-10.00  sec   283 MBytes  2.37 Gbits/sec                  
[  5]  10.00-10.01  sec  2.96 MBytes  2.34 Gbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec  2.76 GBytes  2.37 Gbits/sec                  receiver
-----------------------------------------------------------
Server listening on 5201 (test #2)
-----------------------------------------------------------
^Ciperf3: interrupt - the server has terminated
ash-4.3# 

 

If any one tests this - let me know how it turns out.. When I get a bit more motivated might look into creating a package.

 

Also if you have a different synology nas other than apollolake and would like me to compile for you.. Let me know and give it a shot.

Thank you sir. If you want to make an installer, check out inno setup.

https://jrsoftware.org/isinfo.php

Link to comment
Share on other sites

Thanks but no interest for windows installer, its a simple exe and just run.  But for nas prob be easier package installed it... Just have to read up on doing that ;)

 

Use to be able to get package for nas here - but he seems to have lost interest.

http://www.jadahl.com/

 

Under misc he had iperf 3.7 for a bunch of nases

 

Link to comment
Share on other sites

  • 3 weeks later...

So finally pulled the trigger on moving to dsm 7, went way smoother than I expected.. Plex was my big concern - and it was really no big deal.  I have 1 docker that is not running related to plex, but that is because the plex folder moved, and docker can not see it in new location.  But its not a big deal, sure the developer will fix it up for dsm 7 I hope ;)

 

The one thing holding me up besides my concern for plex was driver for usb 2.5ge nic.. And that was released awhile ago so finally got around to doing it this morning.  Well that broke my iperf3.10.1 I had compiled for dsm6.2 branch.. Anyhoo I got it compiled for dsm7.. If you you have a apollolake synology nas you can find it here.

 

https://files.budman.pw/iperf3.10.1-apollolake-dsm7.zip

 

Seems I need a lib that wasn't needed on 6.2.. both libs included.. Read the readme.txt

 

At some point will prob make a spk for this so easier to install.. But this works for me..

 

ash-4.4# ./iperf3 -v
iperf 3.10.1 (cJSON 1.7.13)
Linux NAS 4.4.180+ #41890 SMP Fri Jun 25 02:42:35 CST 2021 x86_64
Optional features available: CPU affinity setting, IPv6 flow label, TCP congestion algorithm setting, sendfile / zerocopy, socket pacing, authentication, bind to device, support IPv4 don't fragment
ash-4.4# ./iperf3 -s
-----------------------------------------------------------
Server listening on 5201 (test #1)
-----------------------------------------------------------
Accepted connection from 192.168.10.9, port 16310
[  5] local 192.168.10.10 port 5201 connected to 192.168.10.9 port 16311
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   148 MBytes  1.24 Gbits/sec                  
[  5]   1.00-2.00   sec   283 MBytes  2.37 Gbits/sec                  
[  5]   2.00-3.00   sec   283 MBytes  2.37 Gbits/sec                  
[  5]   3.00-4.00   sec   283 MBytes  2.37 Gbits/sec                  
[  5]   4.00-5.00   sec   282 MBytes  2.36 Gbits/sec                  
[  5]   5.00-6.00   sec   283 MBytes  2.37 Gbits/sec                  
[  5]   6.00-7.00   sec   283 MBytes  2.37 Gbits/sec                  
[  5]   7.00-8.00   sec   153 MBytes  1.28 Gbits/sec                  
[  5]   8.00-9.00   sec   283 MBytes  2.37 Gbits/sec                  
[  5]   9.00-10.00  sec   283 MBytes  2.37 Gbits/sec                  
[  5]  10.00-10.01  sec  3.00 MBytes  2.37 Gbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec  2.51 GBytes  2.15 Gbits/sec                  receiver
-----------------------------------------------------------
Server listening on 5201 (test #2)
-----------------------------------------------------------
^Ciperf3: interrupt - the server has terminated

 

Link to comment
Share on other sites

  • 6 months later...

Budman you magnificent thing, I've used your iperf3 builds for literally years and now you've compiled for DSM7 I can finally pull the trigger on my own update :) numerous thanks for your ongoing efforts!

Link to comment
Share on other sites

Glad if you can use it, and it was a learning adventure to get the dsm build environment going.. But after I did it - guess what I found ;)  A package that has it as part of it hehehe

 

https://synocommunity.com/package/synocli-monitor

 

I am currently just using my build, but if they continue to update that package, I will prob move to it when the new iperf3 comes out.   But will continue to do the iperf3 for windows as new versions come out.

 

I am currently running 7.0.1-42218 Update 2, and still works..

Link to comment
Share on other sites

  • 3 weeks later...

So.. I got a new machine not that long ago, finally got around to putting cygwin back on so I could compile iperf3 again when next version came out. Well I noticed 3.11 is out from https://downloads.es.net/pub/iperf/

 

Dated Jan 31, but don't see any release notes published yet.

 

Anyway I went ahead and to test compile working I redid 3.10.1 64bit, newer cygwin for sure, and with cygcheck now show some dlls didn't see before being needed.  So I have updated the download for 3.10.1 with version that includes these other dlls.  And also did a compile of 3.11

 

$ cygcheck ./iperf3.exe
C:\cygwin64\usr\local\bin\iperf3.exe
  C:\cygwin64\bin\cygcrypto-1.1.dll
    C:\cygwin64\bin\cygwin1.dll
      C:\Windows\system32\KERNEL32.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-rtlsupport-l1-1-0.dll
        C:\Windows\system32\ntdll.dll
        C:\Windows\system32\KERNELBASE.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-processthreads-l1-1-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-processthreads-l1-1-1.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-heap-l1-1-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-memory-l1-1-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-handle-l1-1-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-synch-l1-1-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-synch-l1-2-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-file-l1-1-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-file-l1-2-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-namedpipe-l1-1-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-datetime-l1-1-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-sysinfo-l1-1-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-timezone-l1-1-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-localization-l1-2-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-processenvironment-l1-1-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-string-l1-1-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-debug-l1-1-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-errorhandling-l1-1-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-util-l1-1-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-profile-l1-1-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-file-l2-1-0.dll
        C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\bin\api-ms-win-core-console-l1-1-0.dll
    C:\cygwin64\bin\cygz.dll

Budman@i9-win /usr/local/bin

 

I tested them both doing test to my nas running 3.10.1 and working.  I have no idea at this time what has changed (if anything), etc. But figured would put up both the new compile of 3.10.1 and 3.11

 

Budman@I9-WIN G:\iperf3.10.1_64bit_compiled_2-2-2022
$ iperf3.exe -v
iperf 3.10.1 (cJSON 1.7.13)
CYGWIN_NT-10.0-19044 i9-win 3.3.4-341.x86_64 2022-01-31 19:35 UTC x86_64
Optional features available: CPU affinity setting, authentication, support IPv4 don't fragment

Budman@I9-WIN G:\iperf3.11_64bit
$ iperf3.exe -v
iperf 3.11 (cJSON 1.7.13)
CYGWIN_NT-10.0-19044 i9-win 3.3.4-341.x86_64 2022-01-31 19:35 UTC x86_64
Optional features available: CPU affinity setting, authentication, support IPv4 don't fragment

 

https://files.budman.pw/iperf3.11_64bit.zip

sha-256

166F815BEEC86DE38CC26C243C344C67143575F380974EE0033C6CEF90398F84

 

https://files.budman.pw/iperf3.10.1_64bit_compiled_2-2-2022.zip

sha-256

212A5E346D018A63BD35212EFA1387CDEE1248979D89DB0DE3BADCAA897257CE

 

btw for those that just want to compile yourself.. No edits at all had to be made to get this to work.  Just install cygwin.  Make sure you select the development packages to be installed.  Copy the source code to your cygwin, change into that directory and run

 

./configure; make; make install

 

You will find your new exe in /usr/local/bin and run a cygcheck on it to see what dlls you need.. Copy those all over to your windows filesystem and there you go.

 

edit: Guess I timed that perfect, just got email announcement of release of 3.11 here are the release notes

Iperf-3.11 2022-01-31
-----------------------
* 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

 

 

Link to comment
Share on other sites

  • +BudMan changed the title to Iperf 3.11 Windows build
  • 3 weeks later...
On 02/02/2022 at 08:54, BudMan said:

I tested them both doing test to my nas running 3.10.1 and working.  I have no idea at this time what has changed (if anything), etc. But figured would put up both the new compile of 3.10.1 and 3.11

In last 2 versions, unknowingly you compiled iperf3 dynamically linked with openssl. Openssl must have been in your path that is why it got linked during configure automatically.

If you do "iperf3.exe -v" you will see a new feature "authentication". And If you do "iperf3.exe -h" you will see additional options related to ssl/rsa. This feature enables authentication between iperf server and client. People hardly use this feature for speed tests.

 

BTW the previous 3.10.1 version you have without openssl, the binary size is 158KB larger than what it should be, its a big difference (I assume it is something related to your env or code changes)

 

I have 3 variations available in my public git repo under Releases:

Iperf3 No Openssl (Dependency: cygwin1.dll)
Iperf3 With Openssl Statically Linked (Dependency: cygwin1.dll)
Iperf3 With Openssl Dynamically Linked (Dependency: cygcrypto-1.1.dll, cygwin1.dll, cygz.dll)

 

https://github.com/ar51an/iperf3-win-builds

Link to comment
Share on other sites

Nice!  I have no idea what was in the path or not in the path.  I just installed cygwin and compiled..  Guess I no longer need to do this ;)

Link to comment
Share on other sites

  • 7 months later...

Well looks like @CryptAnalyst beat me too it by like 6 hours, his versions are up on his site. 

 

But I have also updated my build

 

Budman@I9-WIN C:\tools\iperf3.12
$ iperf3.exe -v
iperf 3.12 (cJSON 1.7.15)
CYGWIN_NT-10.0-19044 i9-win 3.3.6-341.x86_64 2022-09-05 11:15 UTC x86_64
Optional features available: CPU affinity setting, authentication, support IPv4 don't fragment

 

https://files.budman.pw/iperf3.12_64.zip

SHA-256: 24222F681219D3814880D0E3FAB2165C1A88628D1DBD89CCBFADD4A853DD8AC7

  • Like 3
Link to comment
Share on other sites

  • +BudMan changed the title to Iperf 3.12 Windows build

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now