2012-10-10 12:35:43 +00:00
|
|
|
#
|
|
|
|
# Copyright (C) 2007-2010 OpenWrt.org
|
|
|
|
#
|
|
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
|
|
# See /LICENSE for more information.
|
|
|
|
#
|
|
|
|
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
|
|
|
|
PKG_NAME:=iperf
|
iperf: bump to 2.0.12
2.0.12 change set (as of June 25th 2018)
o Change the unicast TTL default value from 1 to the system default (to be compatable with previous versions.) Mulitcast still defaults to 1.
o adpative formatting bug fix: crash occurs when values exceed 1 Tera. Add support for Tera and Peta and eliminate the potential crash condition
o configure default compile to include isochronous support (use configure --disable-isochronous to remove support)
o replace 2.0.11's --vary-load option with a more general -b option to include <mean>,<stdev>, e.g. -b 100m,40m, which will pull from a log normal distribution every 0.1 seconds
o fixes for windows cross compile (using mingw32)
o compile flags of -fPIE for android
o configure --enable-checkprograms to compile ancillary binaries used to test things such as delay, isoch, pdf generation
o compile tests when trying to use 64b seq numbers on a 32b platform
o Fix GCC ver 8 warnings
2.0.11 change set (as of May 24th, 2018)
o support for -b on server (read rate limiting)
o honor -T (ttl) for unicast. (Note: the default value is 1 so this will impact unicast tests that require routing)
o support for --isochronous traffic with optional frames per second, mean and variance uses a log normal distribution (requires configure w/-enable-isochronous and compile)
o support for --udp triggers (requires configure w/ --enable-udptriggers, early code with very limited support)
o support for --udp-histogram with optional bin width and number of bins (default is 1 millisecond bin width and 1000 bins)
o support for frame (burst) latency histograms when --isochronous is set
o support for --tx-sync with -P for synchonrized writes. Initial use is for WiFi OFDMA latency testing.
o support for --incr-dstip with -P for simultaneous flows to multiple destinations (use case is for OFDMA)
o support for --vary-load with optional weight, uses log normal distribution (requires -b to set the mean)
o support for --l2checks to detect L2 length errors not detected by v4 or v6 payload length errors (requires linux, berkeley packet filters BPFs and AF_PACKET socket support)
o support for server joining mulitcast source specific multicast (S,G) and (*,G) for both v4 and v6 on platforms that support it
o improved write counters (requires -e)
o accounting bug fix on client when write fails, this bug was introduced in 2.0.10
o slight restructure client/server traffic thread code for maintainability
o python: flow example script updates
o python: ssh node object using asyncio
o python: histograms in flows with plotting (assumed gnuplot available)
o python: hierarchical clustering of latency histograms (early code)
o man pages updates
o Note: latency histograms require client and server system clock synchronization. A GPS disciplined oscillator using Precision Time Protocol works well for this.
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-08-02 13:00:17 +00:00
|
|
|
PKG_VERSION:=2.0.12
|
2012-10-10 12:35:43 +00:00
|
|
|
PKG_RELEASE:=1
|
|
|
|
|
2017-09-25 02:59:23 +00:00
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
iperf: bump to 2.0.12
2.0.12 change set (as of June 25th 2018)
o Change the unicast TTL default value from 1 to the system default (to be compatable with previous versions.) Mulitcast still defaults to 1.
o adpative formatting bug fix: crash occurs when values exceed 1 Tera. Add support for Tera and Peta and eliminate the potential crash condition
o configure default compile to include isochronous support (use configure --disable-isochronous to remove support)
o replace 2.0.11's --vary-load option with a more general -b option to include <mean>,<stdev>, e.g. -b 100m,40m, which will pull from a log normal distribution every 0.1 seconds
o fixes for windows cross compile (using mingw32)
o compile flags of -fPIE for android
o configure --enable-checkprograms to compile ancillary binaries used to test things such as delay, isoch, pdf generation
o compile tests when trying to use 64b seq numbers on a 32b platform
o Fix GCC ver 8 warnings
2.0.11 change set (as of May 24th, 2018)
o support for -b on server (read rate limiting)
o honor -T (ttl) for unicast. (Note: the default value is 1 so this will impact unicast tests that require routing)
o support for --isochronous traffic with optional frames per second, mean and variance uses a log normal distribution (requires configure w/-enable-isochronous and compile)
o support for --udp triggers (requires configure w/ --enable-udptriggers, early code with very limited support)
o support for --udp-histogram with optional bin width and number of bins (default is 1 millisecond bin width and 1000 bins)
o support for frame (burst) latency histograms when --isochronous is set
o support for --tx-sync with -P for synchonrized writes. Initial use is for WiFi OFDMA latency testing.
o support for --incr-dstip with -P for simultaneous flows to multiple destinations (use case is for OFDMA)
o support for --vary-load with optional weight, uses log normal distribution (requires -b to set the mean)
o support for --l2checks to detect L2 length errors not detected by v4 or v6 payload length errors (requires linux, berkeley packet filters BPFs and AF_PACKET socket support)
o support for server joining mulitcast source specific multicast (S,G) and (*,G) for both v4 and v6 on platforms that support it
o improved write counters (requires -e)
o accounting bug fix on client when write fails, this bug was introduced in 2.0.10
o slight restructure client/server traffic thread code for maintainability
o python: flow example script updates
o python: ssh node object using asyncio
o python: histograms in flows with plotting (assumed gnuplot available)
o python: hierarchical clustering of latency histograms (early code)
o man pages updates
o Note: latency histograms require client and server system clock synchronization. A GPS disciplined oscillator using Precision Time Protocol works well for this.
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-08-02 13:00:17 +00:00
|
|
|
PKG_HASH:=367f651fb1264b13f6518e41b8a7e08ce3e41b2a1c80e99ff0347561eed32646
|
2017-09-25 02:59:23 +00:00
|
|
|
PKG_SOURCE_URL:=@SF/iperf2
|
2012-10-10 12:35:43 +00:00
|
|
|
|
2016-06-07 06:58:31 +00:00
|
|
|
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
2014-11-02 12:20:54 +00:00
|
|
|
PKG_LICENSE:=BSD-3-Clause
|
2012-10-10 12:35:43 +00:00
|
|
|
|
|
|
|
PKG_BUILD_PARALLEL:=1
|
|
|
|
|
|
|
|
include $(INCLUDE_DIR)/uclibc++.mk
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
|
2016-05-10 21:09:05 +00:00
|
|
|
define Package/iperf
|
2012-10-10 12:35:43 +00:00
|
|
|
SECTION:=net
|
|
|
|
CATEGORY:=Network
|
2016-05-10 21:09:05 +00:00
|
|
|
DEPENDS:= $(CXX_DEPENDS) +libpthread
|
2012-10-10 12:35:43 +00:00
|
|
|
TITLE:=Internet Protocol bandwidth measuring tool
|
2016-05-10 21:09:04 +00:00
|
|
|
URL:=http://sourceforge.net/projects/iperf2/
|
2012-10-10 12:35:43 +00:00
|
|
|
endef
|
|
|
|
|
2016-05-10 21:09:05 +00:00
|
|
|
define Package/iperf/description
|
2012-10-10 12:35:43 +00:00
|
|
|
Iperf is a modern alternative for measuring TCP and UDP bandwidth
|
|
|
|
performance, allowing the tuning of various parameters and
|
|
|
|
characteristics.
|
|
|
|
endef
|
|
|
|
|
2016-05-10 21:09:04 +00:00
|
|
|
TARGET_CFLAGS += -D_GNU_SOURCE
|
2012-10-10 12:35:43 +00:00
|
|
|
CONFIGURE_ARGS += --disable-multicast
|
|
|
|
|
|
|
|
CONFIGURE_VARS += CXXFLAGS="$$$$CXXFLAGS -fno-rtti"
|
2016-08-29 13:09:50 +00:00
|
|
|
CONFIGURE_VARS += LIBS="-lpthread -lm"
|
2012-10-10 12:35:43 +00:00
|
|
|
|
|
|
|
define Package/iperf/install
|
|
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/iperf $(1)/usr/bin/iperf
|
|
|
|
endef
|
|
|
|
|
|
|
|
$(eval $(call BuildPackage,iperf))
|