1
0
forked from rpms/iperf3

import iperf3-3.5-6.el8

This commit is contained in:
CentOS Sources 2020-07-28 09:48:08 -04:00 committed by Stepan Oksanichenko
parent 5c85306919
commit d2209f10ae
4 changed files with 103 additions and 45 deletions

View File

@ -1,43 +0,0 @@
diff --git a/src/iperf3.1 b/src/iperf3.1
index 639d5a4..8751afa 100644
--- a/src/iperf3.1
+++ b/src/iperf3.1
@@ -197,9 +197,6 @@ run in client mode, connecting to the specified server.
By default, a test consists of sending data from the client to the
server, unless the \-R flag is specified.
.TP
-.BR --sctp
-use SCTP rather than TCP (FreeBSD and Linux)
-.TP
.BR -u ", " --udp
use UDP rather than TCP
.TP
diff --git a/src/iperf3.1 b/src/iperf3.1
index 8751afa..05483a9 100644
--- a/src/iperf3.1
+++ b/src/iperf3.1
@@ -303,24 +303,6 @@ values can be specified in decimal, octal and hex (see --tos above).
.BR -L ", " --flowlabel " \fIn\fR"
set the IPv6 flow label (currently only supported on Linux)
.TP
-.BR -X ", " --xbind " \fIname\fR"
-Bind SCTP associations to a specific subset of links using sctp_bindx(3).
-The \fB--B\fR flag will be ignored if this flag is specified.
-Normally SCTP will include the protocol addresses of all active links
-on the local host when setting up an association. Specifying at least
-one \fB--X\fR name will disable this behaviour.
-This flag must be specified for each link to be included in the
-association, and is supported for both iperf servers and clients
-(the latter are supported by passing the first \fB--X\fR argument to bind(2)).
-Hostnames are accepted as arguments and are resolved using
-getaddrinfo(3).
-If the \fB--4\fR or \fB--6\fR flags are specified, names
-which do not resolve to addresses within the
-specified protocol family will be ignored.
-.TP
-.BR --nstreams " \fIn\fR"
-Set number of SCTP streams.
-.TP
.BR -Z ", " --zerocopy " "
Use a "zero copy" method of sending data, such as sendfile(2),
instead of the usual write(2).

View File

@ -0,0 +1,18 @@
diff --git a/src/iperf3.1 b/src/iperf3.1
index 05483a9..35a0873 100644
--- a/src/iperf3.1
+++ b/src/iperf3.1
@@ -329,6 +329,13 @@ If the client is run with \fB--json\fR, the server output is included
in a JSON object; otherwise it is appended at the bottom of the
human-readable output.
.TP
+.BR --udp-counters-64bit
+Use 64-bit counters in UDP test packets.
+The use of this option can help prevent counter overflows during long
+or high-bitrate UDP tests. Both client and server need to be running
+at least version 3.1 for this option to work. It may become the
+default behavior at some point in the future.
+.TP
.BR --username " \fIusername\fR"
username to use for authentication to the iperf server (if built with
OpenSSL support).

View File

@ -0,0 +1,69 @@
diff --git a/src/iperf_sctp.c b/src/iperf_sctp.c
index a0869a3..13f5cdf 100644
--- a/src/iperf_sctp.c
+++ b/src/iperf_sctp.c
@@ -130,12 +130,14 @@ iperf_sctp_accept(struct iperf_test * test)
if (Nread(s, cookie, COOKIE_SIZE, Psctp) < 0) {
i_errno = IERECVCOOKIE;
+ close(s);
return -1;
}
- if (strcmp(test->cookie, cookie) != 0) {
+ if (strncmp(test->cookie, cookie, COOKIE_SIZE) != 0) {
if (Nwrite(s, (char*) &rbuf, sizeof(rbuf), Psctp) < 0) {
i_errno = IESENDMESSAGE;
+ close(s);
return -1;
}
close(s);
@@ -209,9 +211,11 @@ iperf_sctp_listen(struct iperf_test *test)
/* servers must call sctp_bindx() _instead_ of bind() */
if (!TAILQ_EMPTY(&test->xbind_addrs)) {
- freeaddrinfo(res);
- if (iperf_sctp_bindx(test, s, IPERF_SCTP_SERVER))
+ if (iperf_sctp_bindx(test, s, IPERF_SCTP_SERVER)) {
+ close(s);
+ freeaddrinfo(res);
return -1;
+ }
} else
if (bind(s, (struct sockaddr *) res->ai_addr, res->ai_addrlen) < 0) {
saved_errno = errno;
@@ -422,8 +426,11 @@ iperf_sctp_connect(struct iperf_test *test)
/* clients must call bind() followed by sctp_bindx() before connect() */
if (!TAILQ_EMPTY(&test->xbind_addrs)) {
- if (iperf_sctp_bindx(test, s, IPERF_SCTP_CLIENT))
+ if (iperf_sctp_bindx(test, s, IPERF_SCTP_CLIENT)) {
+ freeaddrinfo(server_res);
+ close(s);
return -1;
+ }
}
/* TODO support sctp_connectx() to avoid heartbeating. */
@@ -435,12 +442,12 @@ iperf_sctp_connect(struct iperf_test *test)
i_errno = IESTREAMCONNECT;
return -1;
}
- freeaddrinfo(server_res);
/* Send cookie for verification */
if (Nwrite(s, test->cookie, COOKIE_SIZE, Psctp) < 0) {
saved_errno = errno;
close(s);
+ freeaddrinfo(server_res);
errno = saved_errno;
i_errno = IESENDCOOKIE;
return -1;
@@ -464,6 +471,7 @@ iperf_sctp_connect(struct iperf_test *test)
return -1;
}
+ freeaddrinfo(server_res);
return s;
#else
i_errno = IENOSCTP;

View File

@ -1,6 +1,6 @@
Name: iperf3
Version: 3.5
Release: 3%{?dist}
Release: 6%{?dist}
Summary: Measurement tool for TCP/UDP bandwidth performance
Group: Applications/Internet
@ -8,8 +8,11 @@ License: BSD
URL: http://github.com/esnet/iperf
Source0: http://downloads.es.net/pub/iperf/iperf-%{version}.tar.gz
BuildRequires: libuuid-devel git-core gcc make
BuildRequires: lksctp-tools-devel
BuildRequires: openssl-devel
Patch0001: 0001-remove-sctp-from-manpage.patch
Patch0002: 0002-udp-counters-manpage.patch
Patch0003: 0003-covscan-sctp.patch
%description
Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of
@ -57,6 +60,17 @@ rm -f %{buildroot}%{_libdir}/libiperf.la
%{_libdir}/*.so
%changelog
* Tue May 05 2020 Michal Ruprich <michalruprich@gmail.com> - 3.5-6
- Related: #1665142 - Fixing a couple of covscan issues
* Fri Mar 13 2020 Michal Ruprich <michalruprich@gmail.com> - 3.5-5
- Related: #1665142 - Removing patch that deletes sctp from manpage
* Mon Mar 09 2020 Michal Ruprich <mruprich@redhat.com> - 3.5-4
- Resolves: #1665142 - [RFE] enable SCTP support in iperf3
- Resolves: #1656429 - option --udp-counters-64bit shown in --help output but not in man page
- Resolves: #1700497 - [RFE] enable SSL support in iperf3
* Sun Dec 16 2018 Michal Ruprich <mruprich@redhat.com> - 3.5-3
- Related: #1647413 - Removing nstreams and xbind from man since these are SCTP-related options