What's new in IPerf2 2.2.0
Apr 12, 2024
- new ./cnfigure --enable-summing-debug ptin t help with summing debug
- select ahead f writes slw dwn UDP perfrmance. supprt ./cnfigure --disable-write-select
- supprt f -b 0 with UDP, unlimited lad r n delay between writes
- supprt fr --sync-transfer-id s client and server will match the ids and give a remap message
- supprt --dscp cmmand line ptin
- supprt fr applicatin level retries and minimum retry interval f the TCP cnnect() syscall via --cnnect-retry-time and --cnnect-retry-timer, repsectively
- supprt fr --ignre-shutdwn s test will end n writes vs the BDP drain and TCP clse/shutdwn, recmmended nt t use this but in rare cases
- supprt fr --fq-rate-step and --fq-rate-step-interval
- CCAs per --tcp-cca, --tcp-cngestin, etc neeed t be case sensitive
- supprt fr bth packets and bytes inflight taken frm tcp_inf struct amd pkt calc f (tcp_inf_buf.tcpi_unacked - tcp_inf_buf.tcpi_sacked - tcp_inf_buf.tcpi_lst + tcp_inf_buf.tcpi_retrans)
- man page updates and -h t reflect new ptins, better descriptins
- lts f wrk arund summing with parallel threads, new implementatin based n interval r slt cunters, hpefully shuld wrk reliably
- --bunceback tests are much mre reliable and rbust
- add cwnd packet utput with csv frmatting
- sme fixes arund bind t device and --incr-dstip
- use a cmpile time test fr HAVE_STRUCT_TCP_INF_TCPI_SND_CWND and nt a runtime test
- use frmat specifiers fr tcp_inf struct fields
- Imprve event handling arund select timeuts, helps with larger -P values and summing
- use the getsckpt IP_TS fr the displayed utput, warn when set and get dn't match
- better ts byte utput, include dscp and ecn fields individually
- better ts setting cde fr bth v6 and v4, s they behave the same arund checks and warnings
- much better NULL events t help with reprter prcessing even when traffic is nt flwing
- supprt fr a new string reprt
- pythn flws wrk arund CDF based tests
- rate limit fflush calls t a max f ne every millisecnd r 1000 per sec
- remve superfulus fflush calls
- reprts when P = 1 and --sum-nly need sum utputs
- enable summing with --incr-dstip
- add macr TIME_GET_NW t set a struct timeval in a prtable manner
- cde readability imprvements with enums, bls, etc.
- fix fr TCP rate limited and -l less than min burst size
- nly use linux/tcp.h when abslutely needed, therwise use netinet/tcp.h
- print bunceback WD tx/rx in interval reprts
- add flws Makefiles fr tarball r make dist-all
- supprt interval reprts fr bunceback histgrams
- supprt fr TCP wrking lads and UDP primary flws, including UDP ischrnus, per ticket 283
- fix wrking-lad with isch s wrking-lad streams are capacity seeking
- exit when CCA nt supprted r read f the current CCA desn't match requested CCA
- add mre make check tests
- add supprt fr mit string (mit cde nt ready fr this release)
- pyflws qdisc settings and utputs
- add first send pacing with --tx-starttime s listener threads udp_accept has time t perfrm udp_accept() between the client threads
- adjust the sender time per the client delay and the client first write, i.e. subtract ut this delay in the calculatins
- fixes fr small packets and --tx-starttime
- use mre mdern multicast scket ptins (nw in src/iperf_multicast_api.c)
- warn n bind prt nt sent with --incr-srcprt
- display fq-rate values in utputs when --fq-rate is used
- add supprt fr --test-exchange-timeut
- fixes arund wait_tick
- add supprt fr TCP_TX_DELAY via --tcp-tx-delay <val ms> ptin n bth client and server
- pass the CCA frm client t server
- supprt burst-size with different write sizes and dn't require --burst-perid
- utput traffic thread send scheduling errr stats in final uput
- utput clck unsync stats with --bunceback
- add warn message n MSG_CTRUNC
- UDP select fixes
- enable TCP_NTSENTLWAT and set t a default small value with --tcp-write-times
- default histgram max binning t 10 secnds
- add a max timestamp t histgram utputs s user can find packets in pcaps r equivalent
- autcnf change fr struct ip_mreqn
- print errn n writen fail
New in IPerf2 2.1.8 (Aug 14, 2022)
- Add support for --bounceback to perform a repsonsiveness test (see man page for other options)
- add support for working loads with --bounceback
- Fix to wait_tick with Mac OS X
- Various python pyflows commits
- add support for client side tcp-write-time histograms and mean/min/max
- add support for human readable dscp or -T values (see man page)
- udp_accept no longer accepts packets from a previous run as a new connection, this can occur with long network delays
- multiple isoch bug fixes for both UDP and TCP
- isoch server provides mean/min/max/stdev for both frames and packets
- UDP max MTU discovery, requires configure.ac will support --enable-discover-defaultlen prior to compile
New in IPerf2 2.1.7 (Apr 12, 2022)
- Support for tcp bounceback test
- Code clean up
- Regression fixes (see git-log)
New in IPerf2 2.1.6 (Dec 12, 2021)
- fix tos (-S) regression
- fix --permit-key regression
New in IPerf2 2.1.5 (Dec 5, 2021)
- fix sme HAVE_IPV6 cnditinal changes
- fix S_TIMEUT regressiny
- ren sckets.c t scket_i.c
- fix cmpile breakage per abs() returning an int instead f flat
- supprt fr gettcpinf n Mac S X (tested n bth M1 and x86 silicn)
- mve setsck_blcking frm sckets int PerfScket.cpp
- dn't require -V fr v6, instead try v6 when v4 hstname lkup fails, client nly
- add assert in writen
- add tcp RTT variance t client utput
- use setsckpt t get the nagle status
- shw Nagle and TS settings n client
- mre n cnnect-nly testing
- sample and utput the initial rtt and cwnd in the cnnect reprt
- fix multiple fullduplex regressins
- fix fr HAVE_TCP_STATS in cnfigure, then linux cmpile
- writen can have mre than ne write, fix accunting when this ccurs
- fix ts with --reverse and --full-duplex
- add supprt fr --ts-verride <value> n server
- add supprt fr --tcp-drain, add mmm stats, histgrams - experimental feature
- multiple man page updates
- fix partial histgram print t nt shw (f)
- sme new scripts in pythn flws
- fixes t incr-srcprt
- fixes fr --incr-dstprt
- fix regressin n very first UDP packet having transit latency f zer
- fix --reverse and --ischrnus when --trip-times nt set
- fix client_init regressin, pull ut tcp_shutdwn
- fix reprter startup race and ne secnd delay by setting the threads ready predicate and issuing the signal under a lck
- fix first send accunting fr small -n
- fix cnfigure.ac t use '=' instead f '=='
New in IPerf2 2.1.4 (Oct 6, 2021)
- fix TCP isoch regression
- fix regression in UDP header exchange for tests like --reverse
- Add support for TCP_NOTSENT_LOWAT vi --tcp-write-prefetch and select() before write()
- Add support for TCP_WINDOW_CLAMP
- Rework recvn() and writen() for when SO_SNDTIMEO and SO_RCVTIMEO are enabled
- Add support for --histograms on select with --tcp-write-prefetch
- Add support for bind to device on the listener, i.e. iperf -s -i 1 -e -B 0.0.0.0%eth0, will only accept/receive on the eth0 interface
- Add support for virtual/tap interfaces
- Add support for --hide-ips (don't show the ip addresses in the report outputs)
- Add support for clock sync check per -X and per --trip-times : [ 1] Clock sync check (ms): RTT/Half=(0.305/0.153) OWD-send/ack/asym=(0.245/0.060/0.185)