diff options
author | gdt <gdt@pkgsrc.org> | 2021-09-08 23:45:45 +0000 |
---|---|---|
committer | gdt <gdt@pkgsrc.org> | 2021-09-08 23:45:45 +0000 |
commit | 31ac37389719f0e03e9fa13a605ec9a8f6aad605 (patch) | |
tree | 6efcd242422f86b6c0245c8783c76e6564b03fe4 /net/iperf2 | |
parent | 964906d1f259738f0d8d2161e8be103945259928 (diff) | |
download | pkgsrc-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/Makefile | 8 | ||||
-rw-r--r-- | net/iperf2/distinfo | 12 | ||||
-rw-r--r-- | net/iperf2/patches/patch-src_Listener.cpp | 36 | ||||
-rw-r--r-- | net/iperf2/patches/patch-src_PerfSocket.cpp | 20 |
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 |