From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adolf Belka To: development@lists.ipfire.org Subject: [PATCH] iperf: Update to version 2.2.0 Date: Mon, 12 Aug 2024 17:38:03 +0200 Message-ID: <20240812153808.3944396-9-adolf.belka@ipfire.org> In-Reply-To: <20240812153808.3944396-1-adolf.belka@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4599653201100769532==" List-Id: --===============4599653201100769532== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable - Update from version 2.1.8 to 2.2.0 - Update of rootfile not required - Changelog 2.2.0 o new ./configure --enable-summing-debug option to help with summing debug o select ahead of writes slow down UDP performance. support ./configure --disable-write-select o support fo -b 0 with UDP, unlimited load or no delay between writes o support for --sync-transfer-id so client and server will match the ids and give a remap message o support --dscp command line option o support for application level retries and minimum retry interval of the TCP connect() syscall via --connect-retry-time and --connect-retry-timer, repsectively o support for --ignore-shutdown so test will end on writes vs the BDP drain = and TCP close/shutdown, recommended not to use this but in rare cases o support for --fq-rate-step and --fq-rate-step-interval o CCAs per --tcp-cca, --tcp-congestion, etc neeed to be case sensitive o support for both packets and bytes inflight taken from tcp_info struct amd= pkt calc of (tcp_info_buf.tcpi_unacked - tcp_info_buf.tcpi_sacked - tcp_info_buf.tcpi_lost + tcp_info_buf.tcpi_retrans) o man page updates and -h to reflect new options, better descriptions o lots of work around summing with parallel threads, new implementation base= d on interval or slot counters, hopefully should work reliably o --bounceback tests are much more reliable and robust o Improve event handling around select timeouts, helps with larger -P values= and summing o use the getsockopt IP_TOS for the displayed output, warn when set and get don't match o better tos byte output, include dscp and ecn fields individually o better tos setting code for both v6 and v4, so they behave the same around checks and warnings o much better NULL events to help with reporter processing even when traffic= is not flowing o support for a new string report o python flows work around CDF based tests o rate limit fflush calls to a max of one every millisecond or 1000 per sec o remove superfulous fflush calls o reports when P =3D 1 and --sum-only need sum outputs o enable summing with --incr-dstip o add macro TIME_GET_NOW to set a struct timeval in a portable manner o code readability improvements with enums, bools, etc. o fix for TCP rate limited and -l less than min burst size o only use linux/tcp.h when absolutely needed, otherwise use netinet/tcp.h o print bounceback OWD tx/rx in interval reports o add flows Makefiles for tarball or make dist-all o support interval reports for bounceback histograms o support for TCP working loads and UDP primary flows, including UDP isochronous, per ticket 283 o fix working-load with isoch so working-load streams are capacity seeking o exit when CCA not supported or read of the current CCA doesn't match reque= sted CCA o add more make check tests o add support for omit string (omit code not ready for this release) o pyflows qdisc settings and outputs o add first send pacing with --tx-starttime so listener threads udp_accept h= as time to perform udp_accept() between the client threads o adjust the sender time per the client delay and the client first write, i.= e. subtract out this delay in the calculations o fixes for small packets and --tx-starttime o use more modern multicast socket options (now in src/iperf_multicast_api.c) o warn on bind port not sent with --incr-srcport o display fq-rate values in outputs when --fq-rate is used o add support for --test-exchange-timeout o fixes around wait_tick o add support for TCP_TX_DELAY via --tcp-tx-delay option on both cl= ient and server o pass the CCA from client to server o support burst-size with different write sizes and don't require --burst-pe= riod o output traffic thread send scheduling error stats in final ouput o output clock unsync stats with --bounceback o add warn message on MSG_CTRUNC o UDP select fixes o enable TCP_NOTSENTLOWAT and set to a default small value with --tcp-write-= times o default histogram max binning to 10 seconds o add a max timestamp to histogram outputs so user can find packets in pcaps= or equivalent o autoconf change for struct ip_mreqn o print errno on writen fail 2.1.9 o fixed traffic setitimer to use uintmax_t vs int, supporting large values o --bounceback officially supported (including Windows) for repsonsiveness t= est scenarios o deprecated --bounceback-congest introduced in 2.1.8, replaced by --working= -loads o --working-loads support generalized; works with --bounceback, --connect-on= ly & --burst-period o default TCP_NOTSENT_LOWAT with the --working-loads concurrent traffic o add support for GMT time formatting via --utc option o --trip-times will auto set TCP_NOTSENT_LOWAT o CSV output fixes for reverse o CSV output regressions fixed per sum outputs using negative transfer ids o CSV output support with --enhanced o Fix to isoch wait_tick with Windows o fix support for --txstart-time with --bounceback o Add support for summing histograms in histogram sum outputs o Multiple sum report fixes per threading & needing mutex protections o Jitter packet IPG calcluations ignore inter frame gaps o Isoch jitter output to use running value vs sampled value o Add support for --jitter-histograms o man page content updates o output isoch scheduling errors at end of isoch run o PRIdMAX fix for ARM systems o better work around in isochronous with Windows per early return of WaitForSingleObject() o fix SO_BINDTODEVICE regression o fix v6 source port parsing with -B and brackets o fix malloc error with --hideips o fixes for rate limited TCP with --trip-times o add support for TCL_NOTSENT_LOWAT with rate limited TCP o permit key now supports -P using listen() with a backlog, no longer single thread limited o fixes for zero valued permit-key o fixes for multiple permit-key regressions o fix token bucket delay with TCP await write o fix isMulticast test for ipv4 - previous logic indicate true for 240.x.x.x which is not multicast o fix regression on jitter calc - starts on second transit time o add cmsg for loop with UDP rx timestamp, cmsg processing best to use loop = w/test o use stdout and exit(0) for -h and -v (vs stderr and exit(1)) o add python facetime scripts o Fix single thread compile breakage o fix windows cross compile o multiple spelling error fixes in comments and man page Signed-off-by: Adolf Belka --- lfs/iperf | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lfs/iperf b/lfs/iperf index e3f78173f..31ea623a9 100644 --- a/lfs/iperf +++ b/lfs/iperf @@ -1,7 +1,7 @@ ############################################################################= ### # = # # IPFire.org - A linux based firewall = # -# Copyright (C) 2007-2023 IPFire Team = # +# Copyright (C) 2007-2024 IPFire Team = # # = # # This program is free software: you can redistribute it and/or modify = # # it under the terms of the GNU General Public License as published by = # @@ -26,7 +26,7 @@ include Config =20 SUMMARY =3D A tool to measure network performance =20 -VER =3D 2.1.8 +VER =3D 2.2.0 =20 THISAPP =3D iperf-$(VER) DL_FILE =3D $(THISAPP).tar.gz @@ -34,7 +34,7 @@ DL_FROM =3D $(URL_IPFIRE) DIR_APP =3D $(DIR_SRC)/$(THISAPP) TARGET =3D $(DIR_INFO)/$(THISAPP) PROG =3D iperf -PAK_VER =3D 7 +PAK_VER =3D 8 =20 DEPS =3D =20 @@ -48,7 +48,7 @@ objects =3D $(DL_FILE) =20 $(DL_FILE) =3D $(DL_FROM)/$(DL_FILE) =20 -$(DL_FILE)_BLAKE2 =3D a3e9f214b4c00911d1d6221f17cf54602169f2787125b54b86486c= b07e5dcc118c9a7c0ba743ae643e060a06316e1c4e85d349dd6b97263986e194115c924f0d +$(DL_FILE)_BLAKE2 =3D 9dacd6146ddff7eda2a3e9402c2d4be06b8793816f93064ada6ab1= 897ea0e89037ef104a445028376e7be556ea635ab6bea4329664846c8ceae8f221dc162ab8 =20 install : $(TARGET) =20 @@ -82,7 +82,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) $(UPDATE_AUTOMAKE) - cd $(DIR_APP) && ./configure --prefix=3D/usr + cd $(DIR_APP) && ./configure \ + --prefix=3D/usr cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install @rm -rf $(DIR_APP) --=20 2.46.0 --===============4599653201100769532==--