Files
bpfire/lfs/iperf
Adolf Belka 734a201469 iperf: Update to version 2.2.0
- 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>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-13 09:15:02 +00:00

91 lines
3.3 KiB
Plaintext

###############################################################################
# #
# IPFire.org - A linux based firewall #
# 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 #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
###############################################################################
###############################################################################
# Definitions
###############################################################################
include Config
SUMMARY = A tool to measure network performance
VER = 2.2.0
THISAPP = iperf-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = iperf
PAK_VER = 8
DEPS =
SERVICES =
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = 9dacd6146ddff7eda2a3e9402c2d4be06b8793816f93064ada6ab1897ea0e89037ef104a445028376e7be556ea635ab6bea4329664846c8ceae8f221dc162ab8
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
b2 : $(subst %,%_BLAKE2,$(objects))
dist:
@$(PAK)
###############################################################################
# Downloading, checking, b2sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_BLAKE2,$(objects)) :
@$(B2SUM)
###############################################################################
# Installation Details
###############################################################################
$(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) && make $(MAKETUNING)
cd $(DIR_APP) && make install
@rm -rf $(DIR_APP)
@$(POSTBUILD)