openwrt/package/network/utils/iperf/Makefile

52 lines
1.2 KiB
Makefile
Raw Normal View History

#
# 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
PKG_RELEASE:=1
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
PKG_SOURCE_URL:=@SF/iperf2
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_LICENSE:=BSD-3-Clause
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/uclibc++.mk
include $(INCLUDE_DIR)/package.mk
define Package/iperf
SECTION:=net
CATEGORY:=Network
DEPENDS:= $(CXX_DEPENDS) +libpthread
TITLE:=Internet Protocol bandwidth measuring tool
URL:=http://sourceforge.net/projects/iperf2/
endef
define Package/iperf/description
Iperf is a modern alternative for measuring TCP and UDP bandwidth
performance, allowing the tuning of various parameters and
characteristics.
endef
TARGET_CFLAGS += -D_GNU_SOURCE
CONFIGURE_ARGS += --disable-multicast
CONFIGURE_VARS += CXXFLAGS="$$$$CXXFLAGS -fno-rtti"
CONFIGURE_VARS += LIBS="-lpthread -lm"
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))