From 7e608c3cd58a06eed28efa7083f11c99f700071b Mon Sep 17 00:00:00 2001 From: jonathanspw Date: Wed, 6 Dec 2023 22:18:42 -0600 Subject: [PATCH] update to 3.16 --- .gitignore | 1 + 1278-rebase.patch | 97 +++++++++++++++++++---------------------------- iperf3.spec | 6 ++- sources | 2 +- 4 files changed, 46 insertions(+), 60 deletions(-) diff --git a/.gitignore b/.gitignore index c3f0c4a..a871c79 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ /iperf-3.13.tar.gz /iperf-3.14.tar.gz /iperf-3.15.tar.gz +/iperf-3.16.tar.gz diff --git a/1278-rebase.patch b/1278-rebase.patch index 91956a6..5bc1107 100644 --- a/1278-rebase.patch +++ b/1278-rebase.patch @@ -1,58 +1,25 @@ -From 641e51cb4a9bb30e499562e5521901ea23631a8c Mon Sep 17 00:00:00 2001 -From: Jonathan Wright -Date: Tue, 18 Jul 2023 09:04:48 -0500 -Subject: [PATCH] 1278-rebase Report number of reorder_seen - ---- - 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 c3ce333..60b4d6e 100644 ---- a/src/iperf.h -+++ b/src/iperf.h -@@ -109,6 +109,7 @@ struct iperf_interval_results - long rtt; - long rttvar; - long pmtu; -+ long reorder; - }; - - struct iperf_stream_result -@@ -120,6 +121,7 @@ struct iperf_stream_result - 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 --git a/src/iperf_api.c b/src/iperf_api.c -index a95e024..30ff8d1 100644 ---- a/src/iperf_api.c -+++ b/src/iperf_api.c -@@ -3308,6 +3308,8 @@ iperf_stats_callback(struct iperf_test *test) +diff -rNu iperf-3.16.orig/iperf-3.16/src/iperf_api.c iperf-3.16/src/iperf_api.c +--- iperf-3.16.orig/iperf-3.16/src/iperf_api.c 2023-11-29 13:46:13.000000000 -0600 ++++ iperf-3.16/src/iperf_api.c 2023-12-06 22:08:09.508869360 -0600 +@@ -3356,6 +3356,8 @@ temp.rttvar = get_rttvar(&temp); temp.pmtu = get_pmtu(&temp); -+ temp.reorder = get_reorder(&temp); -+ rp->stream_reorder = temp.reorder; ++ temp.reorder = get_reorder(&temp); ++ rp->stream_reorder = temp.reorder; } } } else { -@@ -3753,7 +3755,7 @@ iperf_print_results(struct iperf_test *test) +@@ -3801,7 +3803,7 @@ if (test->sender_has_retransmits) { /* Sender summary, TCP and SCTP with retransmits. */ if (test->json_output) - cJSON_AddItemToObject(json_summary_stream, report_sender, iperf_json_printf("socket: %d start: %f end: %f seconds: %f bytes: %d bits_per_second: %f retransmits: %d max_snd_cwnd: %d max_snd_wnd: %d max_rtt: %d min_rtt: %d mean_rtt: %d sender: %b", (int64_t) sp->socket, (double) start_time, (double) sender_time, (double) sender_time, (int64_t) bytes_sent, bandwidth * 8, (int64_t) sp->result->stream_retrans, (int64_t) sp->result->stream_max_snd_cwnd, (int64_t) sp->result->stream_max_snd_wnd, (int64_t) sp->result->stream_max_rtt, (int64_t) sp->result->stream_min_rtt, (int64_t) ((sp->result->stream_count_rtt == 0) ? 0 : sp->result->stream_sum_rtt / sp->result->stream_count_rtt), stream_must_be_sender)); -+ cJSON_AddItemToObject(json_summary_stream, report_sender, iperf_json_printf("socket: %d start: %f end: %f seconds: %f bytes: %d bits_per_second: %f retransmits: %d reorder: %d max_snd_cwnd: %d max_snd_wnd: %d max_rtt: %d min_rtt: %d mean_rtt: %d sender: %b", (int64_t) sp->socket, (double) start_time, (double) sender_time, (double) sender_time, (int64_t) bytes_sent, bandwidth * 8, (int64_t) sp->result->stream_retrans, (int64_t) sp->result->stream_reorder, (int64_t) sp->result->stream_max_snd_cwnd, (int64_t) sp->result->stream_max_snd_wnd, (int64_t) sp->result->stream_max_rtt, (int64_t) sp->result->stream_min_rtt, (int64_t) ((sp->result->stream_count_rtt == 0) ? 0 : sp->result->stream_sum_rtt / sp->result->stream_count_rtt), stream_must_be_sender)); ++ cJSON_AddItemToObject(json_summary_stream, "sender", iperf_json_printf("socket: %d start: %f end: %f seconds: %f bytes: %d bits_per_second: %f retransmits: %d reorder: %d max_snd_cwnd: %d max_snd_wnd: %d max_rtt: %d min_rtt: %d mean_rtt: %d sender: %b", (int64_t) sp->socket, (double) start_time, (double) sender_time, (double) sender_time, (int64_t) bytes_sent, bandwidth * 8, (int64_t) sp->result->stream_retrans, (int64_t) sp->result->stream_reorder, (int64_t) sp->result->stream_max_snd_cwnd, (int64_t) sp->result->stream_max_snd_wnd, (int64_t) sp->result->stream_max_rtt, (int64_t) sp->result->stream_min_rtt, (int64_t) ((sp->result->stream_count_rtt == 0) ? 0 : sp->result->stream_sum_rtt / sp->result->stream_count_rtt), stream_must_be_sender)); else if (test->role == 's' && !sp->sender) { if (test->verbose) -@@ -4204,7 +4206,7 @@ print_interval_results(struct iperf_test *test, struct iperf_stream *sp, cJSON * +@@ -4252,7 +4254,7 @@ if (test->sender_has_retransmits == 1 && sp->sender) { /* Interval, TCP with retransmits. */ if (test->json_output) @@ -61,11 +28,10 @@ index a95e024..30ff8d1 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 171006a..542d8c9 100644 ---- a/src/iperf_api.h -+++ b/src/iperf_api.h -@@ -301,6 +301,7 @@ long get_snd_wnd(struct iperf_interval_results *irp); +diff -rNu iperf-3.16.orig/iperf-3.16/src/iperf_api.h iperf-3.16/src/iperf_api.h +--- iperf-3.16.orig/iperf-3.16/src/iperf_api.h 2023-11-29 13:46:13.000000000 -0600 ++++ iperf-3.16/src/iperf_api.h 2023-12-06 22:08:36.409418686 -0600 +@@ -316,6 +316,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); @@ -73,15 +39,32 @@ index 171006a..542d8c9 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 160063c..263e748 100644 ---- a/src/tcp_info.c -+++ b/src/tcp_info.c -@@ -217,6 +217,20 @@ get_pmtu(struct iperf_interval_results *irp) - #endif +diff -rNu iperf-3.16.orig/iperf-3.16/src/iperf.h iperf-3.16/src/iperf.h +--- iperf-3.16.orig/iperf-3.16/src/iperf.h 2023-11-29 13:46:13.000000000 -0600 ++++ iperf-3.16/src/iperf.h 2023-12-06 22:06:35.332454109 -0600 +@@ -125,6 +125,7 @@ + long rtt; + long rttvar; + long pmtu; ++ long reorder; + }; + + struct iperf_stream_result +@@ -136,6 +137,7 @@ + atomic_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 -rNu iperf-3.16.orig/iperf-3.16/src/tcp_info.c iperf-3.16/src/tcp_info.c +--- iperf-3.16.orig/iperf-3.16/src/tcp_info.c 2023-11-29 13:46:13.000000000 -0600 ++++ iperf-3.16/src/tcp_info.c 2023-12-06 22:09:45.371252438 -0600 +@@ -218,6 +218,20 @@ } -+/*************************************************************/ + /*************************************************************/ +/* + * Return number of reordering events seen. + */ @@ -95,9 +78,7 @@ index 160063c..263e748 100644 +#endif +} + - /*************************************************************/ ++/*************************************************************/ void build_tcpinfo_message(struct iperf_interval_results *r, char *message) --- -2.41.0 - + { diff --git a/iperf3.spec b/iperf3.spec index c1cb740..3de8a69 100644 --- a/iperf3.spec +++ b/iperf3.spec @@ -1,11 +1,12 @@ Name: iperf3 -Version: 3.15 +Version: 3.16 Release: 1%{?dist} Summary: Measurement tool for TCP/UDP bandwidth performance License: BSD URL: https://github.com/esnet/iperf Source0: %{url}/archive/%{version}/iperf-%{version}.tar.gz +# https://github.com/esnet/iperf/pull/1278 Patch0: 1278-rebase.patch BuildRequires: libuuid-devel BuildRequires: gcc @@ -53,6 +54,9 @@ rm -f %{buildroot}%{_libdir}/libiperf.la %{_libdir}/*.so %changelog +* Wed Dec 06 2023 Jonathan Wright - 3.16-1 +- Update to 3.16 rhbz#2252641 + * Tue Oct 17 2023 Jonathan Wright - 3.15-1 - Update to 3.15 rhbz#2239199 rhbz#2244708 diff --git a/sources b/sources index e4e574e..adb237f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (iperf-3.15.tar.gz) = 01d91c95b9d12f19612303d80eadf7568de9d53a1a1750322bf5e88c0ad030c07b2bac5f1aa5696cb708692fa88667446435c9a08e8b663543c2eea0c5ce95d2 +SHA512 (iperf-3.16.tar.gz) = 32c0a35c632ade4185ba495495842fe7a6af62cb8a8691b791ea4b37429b7b9a22baf5e7389a4c41e344fb35149cf64ece6adda2c79cc096c7787f7c2e3421da