[Make-wifi-fast] iperf enhancements in 2.0.8

Bob (Robert) McMahon rmcmahon at broadcom.com
Fri Oct 16 00:19:56 EDT 2015


Hi,

Just an FYI for those who might be interested.  We added RTT and CWND samples in iperf 2.0.8<https://sourceforge.net/projects/iperf2/> 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.

Full change set here:

  *   Fix portability, compile and tested with Linux, Win10, Win7, WinXP, MacOS and Android
  *   Require -u for UDP (-b no longer defaults to UDP)
  *   Improved performance
  *   Enhanced reporting with -e
  *   Support smaller report intervals (5 ms or greater)
  *   Support SO_RCVTIMEOUT for server reports regardless of no packets
  *   Server will close the socket after no received traffic per the -t value (default is 10 sec)
  *   Support SO_TIMESTAMP for kernel level packet timestamping
  *   Support end/end latency in mean/min/max/stdev format (UDP) (-e required)
  *   (assumes client and server clocks synched, e.g by Precision Time Protocol)
  *   Add local port to bind support (-B option) using colon as separator
  *   (e.g. iperf -c 192.168.100.100 -B 192.168.100.10:6001)
  *   Support TCP rate limited streams (via the -b) using token bucket
  *   Support packets per second (UDP) via pps as units, (e.g. -b 1000pps)
  *   Display PPS in both client and server reports (UDP) (-e required)
  *   Support realtime scheduler as a command line option (--realtime or -z, assumes proper user privileges)
  *   Improve client tx code path so actual tx offered rate will converge to the -b value
  *   Improve accuracy of microsecond delay calls (in platform independent manner)
  *   (Use of Kalman filter to predict delay errors and adjust delays per predicted error)
  *   Display target loop time in initial client header (UDP)
  *   Fix final latency report sent from server to client (UDP)
  *   Include standard deviation in latency output
  *   Suppress unrealistic latency output using (-/-/-/-)
  *   Support SO_SNDTIMEO on send so socket write won't block beyond -t (TCP)
  *   Use clock_gettime if available (preferred over gettimeofday())
  *   TCP write and error counts (TCP retries and CWND for linux) (-e required)
  *   TCP read count, TCP read histogram (8 bins) (-e required)
  *   TCP RTT and CWND values in client reports (-e required, Linux only, RTT units microseconds)

Bob McMahon
Broadcom Wi-Fi QA Engineer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.bufferbloat.net/pipermail/make-wifi-fast/attachments/20151016/f514852a/attachment-0002.html>


More information about the Make-wifi-fast mailing list