aboutsummaryrefslogtreecommitdiff
path: root/src/iperf.h
diff options
context:
space:
mode:
authorBruce A. Mah <bmah@es.net>2014-10-23 11:10:39 -0700
committerBruce A. Mah <bmah@es.net>2014-10-23 11:10:39 -0700
commit432ef7ebb3abfedcb87b717b251eb72fc1a2d0c3 (patch)
treefd2a0fcb891bcc13d14eb2891555a7c9f49c98a7 /src/iperf.h
parent8634b34804c20211b94fc5992bb311a2f245109d (diff)
downloadiperf3-432ef7ebb3abfedcb87b717b251eb72fc1a2d0c3.tar.gz
Retrieve RTT information on platforms supporting it.
This value is available on the sender side, expressed in microseconds. It's available in the JSON output. In the JSON output we also output the maximum observed RTT per-stream. Note that since the observation interval is many times the RTT, it's not clear how good this value would be at capturing the largest computed RTT value over the lifetime of each stream. While here, also determine the maximum observed snd_cwnd value over the lifetime of each stream. This all works pretty well on Linux, but on FreeBSD (which should theoretically be supported) we don't do a good job of supporting the tcp_info structure. We need to make this code a lot more portable, rather than just assuming the world of platforms is "Linux" vs. "everything else". Fixing this requires some rearchitecting of the way that we retrieve, compute, and print statistics. Part of a fix for #215.
Diffstat (limited to 'src/iperf.h')
-rw-r--r--src/iperf.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/iperf.h b/src/iperf.h
index 6b55559..b1ff1e8 100644
--- a/src/iperf.h
+++ b/src/iperf.h
@@ -77,6 +77,7 @@ struct iperf_interval_results
int snd_cwnd;
TAILQ_ENTRY(iperf_interval_results) irlistentries;
void *custom_data;
+ int rtt;
};
struct iperf_stream_result
@@ -89,6 +90,8 @@ struct iperf_stream_result
int stream_retrans;
int stream_prev_total_sacks;
int stream_sacks;
+ int stream_max_rtt;
+ int stream_max_snd_cwnd;
struct timeval start_time;
struct timeval end_time;
TAILQ_HEAD(irlisthead, iperf_interval_results) interval_results;