[Make-wifi-fast] iperf 2-2-0 release candidate

rjmcmahon rjmcmahon at rjmcmahon.com
Mon Mar 25 14:42:05 EDT 2024


Hi All,

iperf 2 has a release candidate ready for users to try. It's on 
sourceforge as iperf 2-2-0-rc. Please file tickets on sourceforge as 
well.

Release notes:

2.2.0 (as of March 14th, 2024
------------------------------
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


More information about the Make-wifi-fast mailing list