Subject: CVS commit: pkgsrc/benchmarks/netperf
From: Adam Ciarcinski
Date: 2014-04-01 13:13:28
Message id: 20140401111328.12D7596@cvs.netbsd.org

Log Message:
Changes 2.6.0:

*) Initial pass at support for --enable-intervals (WANT_INTERVALS) for
   Windows, courtesy of Jonathan Cook.

*) When in demo mode (./configure --enable-demo and a global -D
   <interval> option netperf will make sure it emits "one last
   interval result" when the test is terminated.  This should assist
   when post-processing results through the likes of rrdtool when
   there is a slow-down in the performance just at the end that would
   have stretched the interval to beyond the test termination.

*) A fix to have the AF_UNIX tests realize that the value for "take
   the system default" socket buffer size became -1 years ago.  Bug
   found by Eric Dumazet.

*) Include a patch from Dave Taht to enable symbolic manipulation of
   IP_TOS values.

*) Include a patch from Sachar Raindel to enable the omni tests to get
   ENOBUFS under Linux when the socket buffer is larger than the tx
   queue of the egress interface.  This will help preclude netperf's
   reporting a larger than link-rate send-side figure.

*) Fix a problem with late checking of the return from select() in
   src/netserver.c. Reported by Waqar Sheikh.

*) A new global -Z option has been added to netperf and netserver.
   This takes as an argument a passphrase.  In the case of netserver
   it will expect a control message with the passphrase as the first
   thing it receives on the control connection.  If netserver does not
   receive a control message with the passphrase it will close the
   control connection and move-on.  If the netserver receives a
   control message with a passprhase when it is not lookign for one,
   it will be ignored. There is at present a 20 second timeout on the
   attempted receipt of the request message. In the case of netperf,
   the passphrase will be the first thing sent on the control
   connection.  There is no response to a passphrase control message.

*) Demo mode output format will now track the omni output format. So,
   if the omni ouput format is CSV then the interim results will be
   emitted in csv. Likewise for keyval.  If the mode is human (default
   and test-specific -O) then the output remains unchanged.  Keyval
   output includes the count of interval, with a mind towards being
   able to source it in shells and whatnot.  Subject to change without
   notice.

*) A patch to correctly handle IPv6 addresses in the control messages,
   courtesy of Bjoern Zeeb.

*) The global -F option can now be used specify a local and/or remote
   fill file.

*) It is now possible to set/get the TCP congestion control algorithm
   being used by either end of the test connection when using the omni
   code.  The output selectors are LOCAL_CONG_CONTROL and
   REMOTE_CONG_CONTROL and setting is via the test-specific -K option.

*) Stop leaking file descriptors when looking-up probable egress
   interface names and I/O slot numbers.

*) The global -Y option can be used to set IP_TOS on those platforms
   which support it.  Since this is specific to IP (v4 or v6) it may
   move to a test-specific otion in the future.  It is presently
   global for foolish consistency with the -y option to set
   SO_PRIORITY.

*) The global -y option can be used to set SO_PRIORITY on those
   platforms which support it.  Based on patches from Amir Vidai.

*) The control message size has been increased from 256 bytes to 512
   bytes. THIS WILL BREAK COMPATABILITY WITH PREVIOUS VERSIONS OF
   NETPERF. However, we need more room on the pinhead on which the
   angels dance.

*) Make the "sum" field of the histogram structure a 64 bit int to
   avoid having it wrap-around on tests where the sum of all the
   measured latencies was larger than 31 bits. This was causing
   statistics like stddev to go negative in some cases.

*) If the time delta between two events is negative, do not bother
   doing any math with it in the histogram/statistics code, just
   increment the ridiculous count and move-on.

*) Fixed a bug which caused local transport retransmissions to be
   reported as -1 even though the getsockopt() call was
   successful. (Linux).  Later included remote transport
   retransmissions.

*) The src/nettest_omni.c and re-written src/netserver.c code are now
   known to have compiled under Windows 7 x64 with the Microsoft
   WDK. There remains a timing issue with confidence intervals which
   is yet to be addressed, and may have been there for ages. Netserver
   has been run as a non-spawning (-f) server, netperf has been run,
   both have run "classic" and "omni" tests.

Files:
RevisionActionfile
1.10modifypkgsrc/benchmarks/netperf/Makefile
1.7modifypkgsrc/benchmarks/netperf/distinfo
1.4modifypkgsrc/benchmarks/netperf/patches/patch-ab
1.3modifypkgsrc/benchmarks/netperf/patches/patch-ah
1.3modifypkgsrc/benchmarks/netperf/patches/patch-ak
1.3removepkgsrc/benchmarks/netperf/patches/patch-aa