iperf: Update to version 2.2.0

Message ID 20240812153808.3944396-9-adolf.belka@ipfire.org
State Staged
Commit 734a201469e05c7b8886ec7eef744dfea1edc17d
Headers
Series iperf: Update to version 2.2.0 |

Commit Message

Adolf Belka Aug. 12, 2024, 3:38 p.m. UTC
  - 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 based 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 = 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 requested
	  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 has
	  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 <val ms> option on both client
	  and server
	o pass the CCA from client to server
	o support burst-size with different write sizes and don't require --burst-period
	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 test
	  scenarios
	o deprecated --bounceback-congest introduced in 2.1.8, replaced by --working-loads
	o --working-loads support generalized; works with --bounceback, --connect-only &
	  --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 <adolf.belka@ipfire.org>
---
 lfs/iperf | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
  

Patch

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  <info@ipfire.org>                     #
+# Copyright (C) 2007-2024  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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
 
 SUMMARY    = A tool to measure network performance
 
-VER        = 2.1.8
+VER        = 2.2.0
 
 THISAPP    = iperf-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -34,7 +34,7 @@  DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = iperf
-PAK_VER    = 7
+PAK_VER    = 8
 
 DEPS       =
 
@@ -48,7 +48,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = a3e9f214b4c00911d1d6221f17cf54602169f2787125b54b86486cb07e5dcc118c9a7c0ba743ae643e060a06316e1c4e85d349dd6b97263986e194115c924f0d
+$(DL_FILE)_BLAKE2 = 9dacd6146ddff7eda2a3e9402c2d4be06b8793816f93064ada6ab1897ea0e89037ef104a445028376e7be556ea635ab6bea4329664846c8ceae8f221dc162ab8
 
 install : $(TARGET)
 
@@ -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=/usr
+	cd $(DIR_APP) && ./configure \
+				--prefix=/usr
 	cd $(DIR_APP) && make $(MAKETUNING)
 	cd $(DIR_APP) && make install
 	@rm -rf $(DIR_APP)