[Make-wifi-fast] iperf enhancements in 2.0.8

Bob (Robert) McMahon rmcmahon at broadcom.com
Tue Oct 20 20:06:08 EDT 2015

Hi Toke,

I made a few changes to your proposal in order to preserve backwards compatibility as well as used clock_gettime() vs gettimeofday() when available.  

Diff set is:


One can get the millisecond timestamps in the CSV two ways

	1) use the -e option (for enhanced reporting)
	2) use a value of less than 0.5 seconds for -i  which enables enhanced reports without requiring -e (previous iperf verisons don't support faster than 0.5 sec so it's assumed a user setting it faster will also want enhanced reports)

For a 2.0.9 release, I plan to add all the new stats to CSV reporting as well as improve the udp packet accounting.  Sub grouping (shewart's and cusum control charts) and inline mean shift detection support is also under consideration.  


Please do let me know if there are other things that could be useful.   Making wi-fi fast and getting rid of bloat is a good thing for the networking industry to accomplish :)

-----Original Message-----
From: Bob (Robert) McMahon 
Sent: Friday, October 16, 2015 9:03 AM
To: toke at toke.dk
Cc: make-wifi-fast at lists.bufferbloat.net
Subject: RE: [Make-wifi-fast] iperf enhancements in 2.0.8

Sure, will do.  I'll apply the below diff, test it, and then commit.  Thanks for the diff.


-----Original Message-----
From: toke at toke.dk [mailto:toke at toke.dk]
Sent: Friday, October 16, 2015 1:53 AM
To: Bob (Robert) McMahon
Cc: make-wifi-fast at lists.bufferbloat.net
Subject: Re: [Make-wifi-fast] iperf enhancements in 2.0.8

"Bob (Robert) McMahon" <rmcmahon at broadcom.com> writes:

> Just an FYI for those who might be interested. We added RTT and CWND 
> samples in iperf 2.0.8 for the TCP transmitter (iperf client) as well 
> as UDP mean/min/max/stdev in the iperf server (assumes the clocks are
> synched.) Also, much faster sampling is supported. These may be 
> helpful to those trying to improve wi-fi performance. To get the 
> output one needs to use the –e option. Also, RTT/CWND is linux only.
> Apple is evaluating the change set and *may* ship it with future 
> phones and Mac OS X systems.

Hi Bob

Any chance of getting the below patch into Iperf? Or in general, getting sub-second resolution on the timestamps output in CSV mode? Would make it easier to integrate Iperf into Flent tests (where the timestamps are used to match the output with other simultaneous test tools).


--- a/src/ReportCSV.c	2007-08-29 23:57:27.000000000 +0200
+++ b/src/ReportCSV.c	2012-10-17 15:54:46.516986280 +0200
@@ -149,9 +149,8 @@
 void CSV_timestamp( char *timestamp, int length ) {
-    time_t times;
-    struct tm *timest;
-    times = time( NULL );
-    timest = localtime( &times );
-    strftime( timestamp, length,"%Y%m%d%H%M%S", timest );
+    struct timeval tv;
+    gettimeofday(&tv, NULL);
+    snprintf(timestamp, length, "%lu.%06lu",
+             (unsigned long)tv.tv_sec, (unsigned long)tv.tv_usec);

More information about the Make-wifi-fast mailing list