- Update from version 2.0.14a to 2.1.7 - Update of rootfile not required - Changelog 2.1.7 (as of April 5th, 2022) o Support for tcp bounceback test o Code clean up o Regression fixes (see git-log) 2.1.6 o Fix to major 2.1.5 regeressions 2.1.5 change set as of (December 3, 2021) o fix some HAVE_IPV6 conditional changes o fix SO_TIMEOUT regressiony o ren sockets.c to socket_io.c o fix compile breakage per abs() returning an int instead of float o support for gettcpinfo on Mac OS X (tested on both M1 and x86 silicon) o move setsock_blocking from sockets into PerfSocket.cpp o don't require -V for v6, instead try v6 when v4 hostname lookup fails, client only o add assert in writen o add tcp RTT variance to client output o use setsockopt to get the nagle status o show Nagle and TOS settings on client o more on connect-only testing o sample and output the initial rtt and cwnd in the connect report o fix multiple fullduplex regressions o fix for HAVE_TCP_STATS in configure, then linux compile o writen can have more than one write, fix accounting when this occurs o fix tos with --reverse and --full-duplex o add support for --tos-override <value> on server o add support for --tcp-drain, add mmm stats, histograms - experimental feature o multiple man page updates o fix partial histogram print to not show (f) o some new scripts in python flows o fixes to incr-srcport o fixes for --incr-dstport o fix regression on very first UDP packet having transit latency of zero o fix --reverse and --isochronous when --trip-times not set o fix client_init regression, pull out tcp_shutdown o fix reporter startup race and one second delay by setting the threads ready predicate and issuing the signal under a lock o fix first send accounting for small -n o fix configure.ac to use '=' instead of '==' 2.1.4 change set as of (August 12, 2021) o fix TCP isoch regression o fix regression in UDP header exchange for tests like --reverse o Add support for TCP_NOTSENT_LOWAT vi --tcp-write-prefetch and select() before write() o Add support for TCP_WINDOW_CLAMP o Rework recvn() and writen() for when SO_SNDTIMEO and SO_RCVTIMEO are enabled o Add support for --histograms on select with --tcp-write-prefetch o 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 o Add support for virtual/tap interfaces o Add support for --hide-ips (don't show the ip addresses in the report outputs) o Fix units of -pps with --reverse, --fullduplex, -r and -d o Remove use of MSG_PEEK by moving the mBuf buffer from client/server object to settings context o Use MSG_WAITALL in recvn (collided with MSG_PEEK on Windows) 2.1.3 change set as of (July 13, 2021) o relax cli errors a bit to WARN instead of ERROR o fix TCP read fatal error macro o fix UDP server to not fatal error on EINTR, use macro o handle and warn on failed read of tcp test flags o redesign of tcp retry (2.1.2 fix was incomplete) o thread exit signals reporter thread condition var for timely exits of the tool 2.1.2 change set (as of June 25th, 2021) o fix TCP retry regression per interval reporting 2.1.1 change set (as of June 23rd, 2021) o isochronous bug fix o -P and -B src port will increment for unique quintuple o support for port ranges, e.g. -p 6000-6008 o double free fix per memory corruption when -l is less than 244 o don't use pthread_join on the client --reverse, symptom hung client o fixes for --trip-times and small 64 byte packets o udp fail on reverse should exit o support for low duty cycle bursts (--burst-period and --burst-size) o final report fixes o full duplex ouput fixex o support for --incr-scrip o multicast setsockopt fixes 2.1.0 change set (as of January 5th, 2021) o scaling improvements for -P, i.e. improved support for large numbers of traffic threads o major code refactoring (see doc/DESIGN_NOTES) for maintainability, extensibilty, performance, scaling, memory usage o support for full duplex traffic using --full-duplex o support for reverse traffic using --reverse o support for role-reversal character of asterisk in the transfer id o transfer id now an incrementing integer and no longer the socket id o support for TCP connect only tests with --connect-only o isochronous support compiled in by default, must use config to disable o support --isochronous for both UDP or TCP traffic to simulate video streams o support for low duty cycle traffic patterns via --burst-period and --burst-size o use of clock_nanosleep when supported to schedule isochronous burst starts, otherwise use nanosleep delay o support for --trip-times indicating the client and server clocks are synchronized to an accuracy sufficient, note: consider the use of precision time protocol as well as ask your data center to provide access to a GPS disciplined reference time source o support for --trip-times with -d and -r bidirectional tests o output TCP connect times (3WHS) in connect reports o support for application level tcp connect retries via --connect-retries n o rate-limited options of -b and --fq-rate supported for unidirectional, full duplex and reverse traffic o reporter thread designed to automatically cause packet reports to aggregate - mitigating and hopefully removing thread thrashing o support for frame or burst based reporting or sampling vs time based via -i [f|F] (experimental) o support for UDP traffic only from client to server with --no-udp-fin o support for write to read latencies (UDP and TCP) with --trip-times o support for sum only outputs with --sum-only o support for little's law calculations in --trip-time outputs o support for --txstart-time <epoch-time> to schedule client traffic start, timestamp support microseconds, e.g. unix $(expr $(date +%s) + 1).$(date +%N) o support for --txdelay-time to insert delay between TCP three way handshake (3WHS) and data transfer o support for --no-connect-sync which disables transmit traffic start synchronization when -P is used, defaults to synchronized o option of --full-duplex implementation uses a barrier on the client side to synchronize full duplex traffic o no limits to group sum reports, i.e. all clients will get its own sum report per a server o improved report timestamps, e.g. end to end or client and server based timestamps with --trip-times o improved settings messaging o improved messaging for --tcp-congestion or -Z o re-implemented -U for single UDP server with minimal threading interactions o re-implemented -1 or --singleclient where server will serialize traffic runs o warning message if the test were likely CPU bound instead of network i/o bound o fix the case when -P <value> is set on the server such that summing output is displayed o multicast listener will autoset -U (single server), e.g -P > 1 not supported for multicast o multicast listener no longer busy drops multicast packets during traffic test, i.e. only server thread receives them o immediate bail out on mutually exclusive command line options o getaddrinfo bug with -static linkage workaround and DNS lookup one time in setttings context vs twice in Settings and client traffic thread o fix -o or --output using freopen to redirect stdout and stderr to a file o support for --local-only which sets SO_DONTROUTE on a socket to limit traffic to local hosts (default is off) o support compile time option of --local-only to set on by default via ./configure --enable-default-localonly o support for date and time of in connect messages, e.g. [ 0] local 192.168.1.108%eth0 port 5001 connected with 192.168.1.62 port 36724 (MSS=453) (sock=5) on 2020-12-22 19:43:42 (PST) o support for feature of --permit-key and permit-key-timeout (defaults to 20 seconds.) The permit-key must match for the server to accpet the client's traffic. It also sets the transfer id. TCP only. o support for experimental feature of --near-congestion (tcp only) o man page updates with examples o tested with 1000's of traffic streams, WiFi, 10G and 100G
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- lfs/iperf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lfs/iperf b/lfs/iperf index 10bdc61d3..ad4e9f374 100644 --- a/lfs/iperf +++ b/lfs/iperf @@ -26,7 +26,7 @@ include Config
SUMMARY = A tool to measure network performance
-VER = 2.0.14a +VER = 2.1.7
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 = 5 +PAK_VER = 6
DEPS =
@@ -48,7 +48,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = 8484e7514f9569499cd7e66fd778856fc88dd30cadac84e70e412d457b26ac681620f1e6d434d23a6739ec3132b5b41662c3340795679bf9a4fc709e84308f7f +$(DL_FILE)_BLAKE2 = 7540cc8e7229bb48ee0483c18c3a07ad4bbc63cf02e742d1b38ba703168013f30c47c2e37d856c06634c541ae0f7e7f11a08014ede233c1f6bcc7780ad528283
install : $(TARGET)
Reviewed-by: Peter Müller peter.mueller@ipfire.org
- Update from version 2.0.14a to 2.1.7
- Update of rootfile not required
- Changelog 2.1.7 (as of April 5th, 2022) o Support for tcp bounceback test o Code clean up o Regression fixes (see git-log) 2.1.6 o Fix to major 2.1.5 regeressions 2.1.5 change set as of (December 3, 2021) o fix some HAVE_IPV6 conditional changes o fix SO_TIMEOUT regressiony o ren sockets.c to socket_io.c o fix compile breakage per abs() returning an int instead of float o support for gettcpinfo on Mac OS X (tested on both M1 and x86 silicon) o move setsock_blocking from sockets into PerfSocket.cpp o don't require -V for v6, instead try v6 when v4 hostname lookup fails, client only o add assert in writen o add tcp RTT variance to client output o use setsockopt to get the nagle status o show Nagle and TOS settings on client o more on connect-only testing o sample and output the initial rtt and cwnd in the connect report o fix multiple fullduplex regressions o fix for HAVE_TCP_STATS in configure, then linux compile o writen can have more than one write, fix accounting when this occurs o fix tos with --reverse and --full-duplex o add support for --tos-override <value> on server o add support for --tcp-drain, add mmm stats, histograms - experimental feature o multiple man page updates o fix partial histogram print to not show (f) o some new scripts in python flows o fixes to incr-srcport o fixes for --incr-dstport o fix regression on very first UDP packet having transit latency of zero o fix --reverse and --isochronous when --trip-times not set o fix client_init regression, pull out tcp_shutdown o fix reporter startup race and one second delay by setting the threads ready predicate and issuing the signal under a lock o fix first send accounting for small -n o fix configure.ac to use '=' instead of '==' 2.1.4 change set as of (August 12, 2021) o fix TCP isoch regression o fix regression in UDP header exchange for tests like --reverse o Add support for TCP_NOTSENT_LOWAT vi --tcp-write-prefetch and select() before write() o Add support for TCP_WINDOW_CLAMP o Rework recvn() and writen() for when SO_SNDTIMEO and SO_RCVTIMEO are enabled o Add support for --histograms on select with --tcp-write-prefetch o 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 o Add support for virtual/tap interfaces o Add support for --hide-ips (don't show the ip addresses in the report outputs) o Fix units of -pps with --reverse, --fullduplex, -r and -d o Remove use of MSG_PEEK by moving the mBuf buffer from client/server object to settings context o Use MSG_WAITALL in recvn (collided with MSG_PEEK on Windows) 2.1.3 change set as of (July 13, 2021) o relax cli errors a bit to WARN instead of ERROR o fix TCP read fatal error macro o fix UDP server to not fatal error on EINTR, use macro o handle and warn on failed read of tcp test flags o redesign of tcp retry (2.1.2 fix was incomplete) o thread exit signals reporter thread condition var for timely exits of the tool 2.1.2 change set (as of June 25th, 2021) o fix TCP retry regression per interval reporting 2.1.1 change set (as of June 23rd, 2021) o isochronous bug fix o -P and -B src port will increment for unique quintuple o support for port ranges, e.g. -p 6000-6008 o double free fix per memory corruption when -l is less than 244 o don't use pthread_join on the client --reverse, symptom hung client o fixes for --trip-times and small 64 byte packets o udp fail on reverse should exit o support for low duty cycle bursts (--burst-period and --burst-size) o final report fixes o full duplex ouput fixex o support for --incr-scrip o multicast setsockopt fixes 2.1.0 change set (as of January 5th, 2021) o scaling improvements for -P, i.e. improved support for large numbers of traffic threads o major code refactoring (see doc/DESIGN_NOTES) for maintainability, extensibilty, performance, scaling, memory usage o support for full duplex traffic using --full-duplex o support for reverse traffic using --reverse o support for role-reversal character of asterisk in the transfer id o transfer id now an incrementing integer and no longer the socket id o support for TCP connect only tests with --connect-only o isochronous support compiled in by default, must use config to disable o support --isochronous for both UDP or TCP traffic to simulate video streams o support for low duty cycle traffic patterns via --burst-period and --burst-size o use of clock_nanosleep when supported to schedule isochronous burst starts, otherwise use nanosleep delay o support for --trip-times indicating the client and server clocks are synchronized to an accuracy sufficient, note: consider the use of precision time protocol as well as ask your data center to provide access to a GPS disciplined reference time source o support for --trip-times with -d and -r bidirectional tests o output TCP connect times (3WHS) in connect reports o support for application level tcp connect retries via --connect-retries n o rate-limited options of -b and --fq-rate supported for unidirectional, full duplex and reverse traffic o reporter thread designed to automatically cause packet reports to aggregate - mitigating and hopefully removing thread thrashing o support for frame or burst based reporting or sampling vs time based via -i [f|F] (experimental) o support for UDP traffic only from client to server with --no-udp-fin o support for write to read latencies (UDP and TCP) with --trip-times o support for sum only outputs with --sum-only o support for little's law calculations in --trip-time outputs o support for --txstart-time <epoch-time> to schedule client traffic start, timestamp support microseconds, e.g. unix $(expr $(date +%s) + 1).$(date +%N) o support for --txdelay-time to insert delay between TCP three way handshake (3WHS) and data transfer o support for --no-connect-sync which disables transmit traffic start synchronization when -P is used, defaults to synchronized o option of --full-duplex implementation uses a barrier on the client side to synchronize full duplex traffic o no limits to group sum reports, i.e. all clients will get its own sum report per a server o improved report timestamps, e.g. end to end or client and server based timestamps with --trip-times o improved settings messaging o improved messaging for --tcp-congestion or -Z o re-implemented -U for single UDP server with minimal threading interactions o re-implemented -1 or --singleclient where server will serialize traffic runs o warning message if the test were likely CPU bound instead of network i/o bound o fix the case when -P <value> is set on the server such that summing output is displayed o multicast listener will autoset -U (single server), e.g -P > 1 not supported for multicast o multicast listener no longer busy drops multicast packets during traffic test, i.e. only server thread receives them o immediate bail out on mutually exclusive command line options o getaddrinfo bug with -static linkage workaround and DNS lookup one time in setttings context vs twice in Settings and client traffic thread o fix -o or --output using freopen to redirect stdout and stderr to a file o support for --local-only which sets SO_DONTROUTE on a socket to limit traffic to local hosts (default is off) o support compile time option of --local-only to set on by default via ./configure --enable-default-localonly o support for date and time of in connect messages, e.g. [ 0] local 192.168.1.108%eth0 port 5001 connected with 192.168.1.62 port 36724 (MSS=453) (sock=5) on 2020-12-22 19:43:42 (PST) o support for feature of --permit-key and permit-key-timeout (defaults to 20 seconds.) The permit-key must match for the server to accpet the client's traffic. It also sets the transfer id. TCP only. o support for experimental feature of --near-congestion (tcp only) o man page updates with examples o tested with 1000's of traffic streams, WiFi, 10G and 100G
Signed-off-by: Adolf Belka adolf.belka@ipfire.org
lfs/iperf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lfs/iperf b/lfs/iperf index 10bdc61d3..ad4e9f374 100644 --- a/lfs/iperf +++ b/lfs/iperf @@ -26,7 +26,7 @@ include Config
SUMMARY = A tool to measure network performance
-VER = 2.0.14a +VER = 2.1.7
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 = 5 +PAK_VER = 6
DEPS =
@@ -48,7 +48,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = 8484e7514f9569499cd7e66fd778856fc88dd30cadac84e70e412d457b26ac681620f1e6d434d23a6739ec3132b5b41662c3340795679bf9a4fc709e84308f7f +$(DL_FILE)_BLAKE2 = 7540cc8e7229bb48ee0483c18c3a07ad4bbc63cf02e742d1b38ba703168013f30c47c2e37d856c06634c541ae0f7e7f11a08014ede233c1f6bcc7780ad528283
install : $(TARGET)