update to 3.12

This commit is contained in:
Jonathan Wright 2022-12-12 20:56:28 -06:00
parent 54476bd5e0
commit 161e999cf8
4 changed files with 43 additions and 59 deletions

1
.gitignore vendored
View File

@ -23,3 +23,4 @@
/3.9.tar.gz
/3.10.1.tar.gz
/3.11.tar.gz
/3.12.tar.gz

View File

@ -1,44 +1,7 @@
From 7146bbf518d4b390a2839b3d0e47ef2116d4915d Mon Sep 17 00:00:00 2001
From: Jakub Kicinski <kuba@kernel.org>
Date: Wed, 2 Feb 2022 09:38:24 -0800
Subject: [PATCH] Report number of reorder_seen
TCP can detect reordering by tracking SACKs and timestamps
coming back to the sender. This is useful information for
investigating performance issues and testing networks as
good networks should generally not reorder packets.
---
src/iperf.h | 2 ++
src/iperf_api.c | 6 ++++--
src/iperf_api.h | 1 +
src/tcp_info.c | 14 ++++++++++++++
4 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/src/iperf.h b/src/iperf.h
index 6de234325..2d280e7ee 100644
--- a/src/iperf.h
+++ b/src/iperf.h
@@ -110,6 +110,7 @@ struct iperf_interval_results
int rtt;
int rttvar;
int pmtu;
+ int reorder;
};
struct iperf_stream_result
@@ -121,6 +122,7 @@ struct iperf_stream_result
iperf_size_t bytes_sent_omit;
int stream_prev_total_retrans;
int stream_retrans;
+ int stream_reorder;
int stream_prev_total_sacks;
int stream_sacks;
int stream_max_rtt;
diff --git a/src/iperf_api.c b/src/iperf_api.c
index 7462f823c..af0c6827f 100644
--- a/src/iperf_api.c
+++ b/src/iperf_api.c
@@ -3185,6 +3185,8 @@ iperf_stats_callback(struct iperf_test *test)
diff -uNr iperf-3.12.orig/src/iperf_api.c iperf-3.12/src/iperf_api.c
--- iperf-3.12.orig/src/iperf_api.c 2022-12-12 20:48:20.888140777 -0600
+++ iperf-3.12/src/iperf_api.c 2022-12-12 20:51:48.696650754 -0600
@@ -3233,6 +3233,8 @@
temp.rttvar = get_rttvar(&temp);
temp.pmtu = get_pmtu(&temp);
@ -47,7 +10,7 @@ index 7462f823c..af0c6827f 100644
}
}
} else {
@@ -3623,7 +3625,7 @@ iperf_print_results(struct iperf_test *test)
@@ -3671,7 +3673,7 @@
if (test->sender_has_retransmits) {
/* Sender summary, TCP and SCTP with retransmits. */
if (test->json_output)
@ -56,7 +19,7 @@ index 7462f823c..af0c6827f 100644
else
if (test->role == 's' && !sp->sender) {
if (test->verbose)
@@ -4070,7 +4072,7 @@ print_interval_results(struct iperf_test *test, struct iperf_stream *sp, cJSON *
@@ -4118,7 +4120,7 @@
if (test->sender_has_retransmits == 1 && sp->sender) {
/* Interval, TCP with retransmits. */
if (test->json_output)
@ -65,11 +28,10 @@ index 7462f823c..af0c6827f 100644
else {
unit_snprintf(cbuf, UNIT_LEN, irp->snd_cwnd, 'A');
iperf_printf(test, report_bw_retrans_cwnd_format, sp->socket, mbuf, st, et, ubuf, nbuf, irp->interval_retrans, cbuf, irp->omitted?report_omitted:"");
diff --git a/src/iperf_api.h b/src/iperf_api.h
index b8da94d1e..84bc249c4 100644
--- a/src/iperf_api.h
+++ b/src/iperf_api.h
@@ -285,6 +285,7 @@ long get_snd_wnd(struct iperf_interval_results *irp);
diff -uNr iperf-3.12.orig/src/iperf_api.h iperf-3.12/src/iperf_api.h
--- iperf-3.12.orig/src/iperf_api.h 2022-12-12 20:48:20.889140789 -0600
+++ iperf-3.12/src/iperf_api.h 2022-12-12 20:52:17.923001361 -0600
@@ -290,6 +290,7 @@
long get_rtt(struct iperf_interval_results *irp);
long get_rttvar(struct iperf_interval_results *irp);
long get_pmtu(struct iperf_interval_results *irp);
@ -77,15 +39,32 @@ index b8da94d1e..84bc249c4 100644
void print_tcpinfo(struct iperf_test *test);
void build_tcpinfo_message(struct iperf_interval_results *r, char *message);
diff --git a/src/tcp_info.c b/src/tcp_info.c
index 6b75384d4..1c6734d4f 100644
--- a/src/tcp_info.c
+++ b/src/tcp_info.c
@@ -213,6 +213,20 @@ get_pmtu(struct iperf_interval_results *irp)
#endif
diff -uNr iperf-3.12.orig/src/iperf.h iperf-3.12/src/iperf.h
--- iperf-3.12.orig/src/iperf.h 2022-12-12 20:48:20.888140777 -0600
+++ iperf-3.12/src/iperf.h 2022-12-12 20:50:26.768684321 -0600
@@ -109,6 +109,7 @@
long rtt;
long rttvar;
long pmtu;
+ long reorder;
};
struct iperf_stream_result
@@ -120,6 +121,7 @@
iperf_size_t bytes_sent_omit;
long stream_prev_total_retrans;
long stream_retrans;
+ long stream_reorder;
long stream_max_rtt;
long stream_min_rtt;
long stream_sum_rtt;
diff -uNr iperf-3.12.orig/src/tcp_info.c iperf-3.12/src/tcp_info.c
--- iperf-3.12.orig/src/tcp_info.c 2022-12-12 20:48:20.889140789 -0600
+++ iperf-3.12/src/tcp_info.c 2022-12-12 20:53:54.926188984 -0600
@@ -214,6 +214,20 @@
}
+/*************************************************************/
/*************************************************************/
+/*
+ * Return number of reordering events seen.
+ */
@ -99,6 +78,7 @@ index 6b75384d4..1c6734d4f 100644
+#endif
+}
+
/*************************************************************/
+/*************************************************************/
void
build_tcpinfo_message(struct iperf_interval_results *r, char *message)
{

View File

@ -1,6 +1,6 @@
Name: iperf3
Version: 3.11
Release: 3%{?dist}
Version: 3.12
Release: 1%{?dist}
Summary: Measurement tool for TCP/UDP bandwidth performance
License: BSD
@ -54,6 +54,9 @@ rm -f %{buildroot}%{_libdir}/libiperf.la
%{_libdir}/*.so
%changelog
* Mon Dec 12 2022 Jonathan Wright <jonathan@almalinux.org> - 3.12-1
- Update to 3.12 rhbz#2131418
* Tue Sep 27 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 3.11-3
- Backport PR#1278: Report number of reorder_seen. Fixes: rhbz#2063959

View File

@ -1 +1 @@
SHA512 (3.11.tar.gz) = 4be3e407f77a083d826bddc5ce2939047c85f5b816a6aeb3293eacabf2ea23bf13df4226e629ade3bf390c2eb08d6a1cb96f8cdb0fefb290a0fa4c8331d11a17
SHA512 (3.12.tar.gz) = 9b0600a19750311557833b32ca5c4be809ab98643522f125645dd8f83c482017e42fbe5fc9484624731176a59b67203a468eb81eebf1a37b9c1b3eff818857ba