summaryrefslogtreecommitdiff
path: root/net/iperf2
diff options
context:
space:
mode:
authorgdt <gdt@pkgsrc.org>2021-09-08 23:45:45 +0000
committergdt <gdt@pkgsrc.org>2021-09-08 23:45:45 +0000
commit31ac37389719f0e03e9fa13a605ec9a8f6aad605 (patch)
tree6efcd242422f86b6c0245c8783c76e6564b03fe4 /net/iperf2
parent964906d1f259738f0d8d2161e8be103945259928 (diff)
downloadpkgsrc-31ac37389719f0e03e9fa13a605ec9a8f6aad605.tar.gz
net/iperf2: Update to 2.1.4
Drop two patches applied upstream. Take MAINTAINERship. upstream NEWS: perf 2.1.4 has many user visible changes since 2.0.13 and even more since 2.0.5 The below describes many of these user visible changes with a focus on 2.1.4 compared to 2.0.13 -e or --enhanced-reports configure '--enable-fast-sampling' This configuration causes the iperf binary to support units of microseconds. It casues iperf to use four units of precision in it's timing interval output, i.e. 1e-4, as one example iperf -c 192.168.1.64 -n 4 -C ------------------------------------------------------------ Client connecting to 192.168.1.64, TCP port 5001 TCP window size: 85.0 KByte (default) ------------------------------------------------------------ [ 1] local 192.168.1.133 port 56568 connected with 192.168.1.64 port 5001 [ ID] Interval Transfer Bandwidth [ 1] 0.0000-0.0172 sec 4.00 Bytes 1.86 Kbits/sec '--trip-times' on the client This option indicates to iperf a few things. First, that the user has syncrhonized the clients' and servers' clocks. A good way to do this is using Precision Time Protocol and a GPS atomic clock as a reference. This knowledge allows iperf to use many time stamps to be sender based, i.e. taken from the sender's write timestamp (which is carried in the payloads.) The connect message on both the server and the client will indicate that '--trip-times' has been enabled. Both UDP an TCP support '--trip-times' iperf -c 192.168.1.64 --trip-times ------------------------------------------------------------ Client connecting to 192.168.1.64, TCP port 5001 TCP window size: 85.0 KByte (default) ------------------------------------------------------------ [ 1] local 192.168.1.133 port 56580 connected with 192.168.1.64 port 5001 (trip-times) iperf -s ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 128 KByte (default) ------------------------------------------------------------ [ 1] local 192.168.1.64%enp2s0 port 5001 connected with 192.168.1.133 port 56580 (MSS=1448) (trip-times) (sock=4) (peer 2.1.4) on 2021-08-22 11:12:08 (PDT) Iperf 2 new metrics NetPwr Network power: The network power (NetPwr) metric originates from Kleinrock and Jaffe circa 1980. It is a measure of a desirable property divided by an undesirable property. It is defined as throughput/delay. For TCP transmits, the delay is the sampled RTT times. For TCP receives, the delay is the write to read latency. For UDP the delay is the packet end/end latency. Note, one must use -i interval with TCP to get this as that's what sets the RTT sampling rate. The metric is scaled to assist with human readability. InP The InP metric is derived from Little's Law or Little's Lamma. LL in queuing theory is a theorem that determines the average number of items (L) in a stationary queuing system based on the average waiting time (W) of an item within a system and the average number of items arriving at the system per unit of time (lambda). Mathematically, it's L = lambda * W. As used here, the units are bytes. The arrival rate is taken from the writes.
Diffstat (limited to 'net/iperf2')
-rw-r--r--net/iperf2/Makefile8
-rw-r--r--net/iperf2/distinfo12
-rw-r--r--net/iperf2/patches/patch-src_Listener.cpp36
-rw-r--r--net/iperf2/patches/patch-src_PerfSocket.cpp20
4 files changed, 8 insertions, 68 deletions
diff --git a/net/iperf2/Makefile b/net/iperf2/Makefile
index 9f04c938e22..abf4b133dab 100644
--- a/net/iperf2/Makefile
+++ b/net/iperf2/Makefile
@@ -1,12 +1,10 @@
-# $NetBSD: Makefile,v 1.2 2021/03/15 17:00:06 gdt Exp $
+# $NetBSD: Makefile,v 1.3 2021/09/08 23:45:45 gdt Exp $
-# Upstream has newer files but no newer actual releases.
-# https://sourceforge.net/p/iperf2/tickets/102/
-DISTNAME= iperf-2.0.13
+DISTNAME= iperf-2.1.4
CATEGORIES= net benchmarks
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=iperf2/}
-MAINTAINER= pkgsrc-users@NetBSD.org
+MAINTAINER= gdt@NetBSD.org
HOMEPAGE= https://sourceforge.net/projects/iperf2/
COMMENT= TCP and UDP bandwidth performance measurement tool
LICENSE= modified-bsd
diff --git a/net/iperf2/distinfo b/net/iperf2/distinfo
index f2ff86baafb..2360cd13d2e 100644
--- a/net/iperf2/distinfo
+++ b/net/iperf2/distinfo
@@ -1,8 +1,6 @@
-$NetBSD: distinfo,v 1.2 2021/03/15 17:00:06 gdt Exp $
+$NetBSD: distinfo,v 1.3 2021/09/08 23:45:45 gdt Exp $
-SHA1 (iperf-2.0.13.tar.gz) = 0c7625c61087b9e6866421abb8bb533658b40a8d
-RMD160 (iperf-2.0.13.tar.gz) = 199ccc03cabb48e825b948688bbc1867369cf9ef
-SHA512 (iperf-2.0.13.tar.gz) = 40fcfb8f4d27887f53a743ac07396511fb2a7ac59f4b300fe36896bd0241e191945fa253705990711772ee776d5e4227ed62760fc92abebdfebcedd11c27c0ea
-Size (iperf-2.0.13.tar.gz) = 326148 bytes
-SHA1 (patch-src_Listener.cpp) = 76751e63e17f7c65d182ed9fdefdec0170aa28f2
-SHA1 (patch-src_PerfSocket.cpp) = f59214e44c29ca73132a3edcbebc3701a2da46cd
+SHA1 (iperf-2.1.4.tar.gz) = f1b7835eb74094b1a1849faeafe35b7c362f4ab5
+RMD160 (iperf-2.1.4.tar.gz) = 26262ed6c1b062555c27ea7979916566964f81e1
+SHA512 (iperf-2.1.4.tar.gz) = 75a0e61eba649d843e23855dec3c578db573c1b34a59837d6a210b85c57b8bf92a244bacc61cf9b8796a9965982950d8d555abed69f1f9e4149f31391463ad6e
+Size (iperf-2.1.4.tar.gz) = 395909 bytes
diff --git a/net/iperf2/patches/patch-src_Listener.cpp b/net/iperf2/patches/patch-src_Listener.cpp
deleted file mode 100644
index da4ef3725de..00000000000
--- a/net/iperf2/patches/patch-src_Listener.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-$NetBSD: patch-src_Listener.cpp,v 1.2 2021/03/15 17:00:06 gdt Exp $
-
-Fix bug where the standards-specificed IPV6_JOIN_GROUP is not used.
-See https://tools.ietf.org/html/rfc3493 on page 20.
-See https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_10_16
-
-https://sourceforge.net/p/iperf2/tickets/103/
-
-Fix bug where setsockopt was used with int when it is defined to use
-unsigned char. This should avoid bugs on BE machines.
-
-https://sourceforge.net/p/iperf2/tickets/104/
-
---- src/Listener.cpp.orig 2019-01-22 20:31:17.000000000 +0000
-+++ src/Listener.cpp
-@@ -462,6 +462,9 @@ void Listener::McastJoin( ) {
-
- } else {
- #ifdef HAVE_IPV6_MULTICAST
-+#if !defined(IPV6_ADD_MEMBERSHIP) && defined(IPV6_JOIN_GROUP)
-+#define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP
-+#endif
- struct ipv6_mreq mreq;
-
- memcpy( &mreq.ipv6mr_multiaddr, SockAddr_get_in6_addr( &mSettings->local ),
-@@ -759,8 +762,9 @@ int Listener::L2_setup (void) {
- void Listener::McastSetTTL( int val ) {
- #ifdef HAVE_MULTICAST
- if ( !SockAddr_isIPv6( &mSettings->local ) ) {
-+ u_char uval = val;
- int rc = setsockopt( mSettings->mSock, IPPROTO_IP, IP_MULTICAST_TTL,
-- (char*) &val, sizeof(val));
-+ (char*) &uval, sizeof(uval));
- WARN_errno( rc == SOCKET_ERROR, "multicast ttl" );
- }
- #ifdef HAVE_IPV6_MULTICAST
diff --git a/net/iperf2/patches/patch-src_PerfSocket.cpp b/net/iperf2/patches/patch-src_PerfSocket.cpp
deleted file mode 100644
index 5426109aae1..00000000000
--- a/net/iperf2/patches/patch-src_PerfSocket.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-$NetBSD: patch-src_PerfSocket.cpp,v 1.2 2021/03/15 17:00:06 gdt Exp $
-
-Fix bug where setsockopt was used with int when it is defined to use
-unsigned char. This should avoid bugs on BE machines.
-
-https://sourceforge.net/p/iperf2/tickets/104/
-
---- src/PerfSocket.cpp.orig 2019-01-22 20:31:18.000000000 +0000
-+++ src/PerfSocket.cpp
-@@ -120,8 +120,9 @@ void SetSocketOptions( thread_Settings *
- // set TTL
- int val = inSettings->mTTL;
- if ( !isIPV6(inSettings) ) {
-+ u_char uval = val;
- int rc = setsockopt( inSettings->mSock, IPPROTO_IP, IP_MULTICAST_TTL,
-- (char*) &val, (Socklen_t) sizeof(val));
-+ (char*) &uval, (Socklen_t) sizeof(val));
-
- WARN_errno( rc == SOCKET_ERROR, "multicast v4 ttl" );
- } else