# $Id$

NETPERF CHANGES

2.4.4 (2007-11-16)
-  The LOC_CPU and REM_CPU tests will report their respective beliefs
   as to the number of CPUs present when the verbosity is set to more
   than one.  This can be used when trying to diagnose issues with CPU
   utilization.
-  A kind soul who wishes to remain anonymous provided a patch to
   enable use of sendfile() on OSX.
-  Fix a misplaced \n in a format string of send_tcp_maerts, courtesy
   of Alexander Duyck.
-  There is an experimental global -r option which will allow one to
   include CPU utilization measurements, but make the decision about
   hitting confidence based on the result only.  The test banner will
   reflects this when -r is used.
-  It is no longer necessary to specify a file with the global -F
   option when running a _SENDFILE test.  Netperf will create a
   temporary file and populate it with random data and use that.  If
   running aggregate tests it is strongly suggested one use a -F
   option. Otherwise, the overhead spent creating and populating the
   temporary file will be included in the CPU utilization calculation.
-  The configure script recognizes Solaris 11 and selects the correct
   CPU utilization mechanism - or rather it selects the same mechanism
   as is used in Solaris 10.  Fix courtesy of Andrew Gallatin.
-  Convert a number of struct sockaddr_in's to struct
   sockaddr_storage's and add requisite casts to deal with some abort
   problems on Windows and perhaps other platforms as well. Kudos to
   Alexander Duyck.
-  One can now pass a value of 'x' to the global -f option to specify
   the units as transactions per second.  This is the default for any
   request/response test, which is determined by there being a "double
   `r'" in the name - eg "RR," "rr," "Rr," or "rR."  At present only
   the TCP_RR test actually looks for this to be set.
-  One can request bits/bytes per second as the primary output of a
   TCP_RR test by setting the global -f option to [kmgKMG] as with any
   of the "STREAM" tests.  This converts the primary throughput metric
   to a bitrate (byterate) following the verbosity rules for a STREAM
   test.  Service demand remains usec/Transaction regardless of the
   setting of the global -f option.
   A verbosity level of 2 or more will cause the TCP_RR test to report
   calculated average RTT latency, transaction rate, and inbound and
   outbound transfer rates regardless of the primary units selected
   with the global -f paramter.  If the primary output is transactions
   per second, the reported inbound and outbound transfer rates will
   be 10^6 bits per second, otherwise, they honor the setting of the
   global -f option.
   All of this is EXPERIMENTAL and subject to change without prior
   notice in future versions of netperf.
-  Replace "break" with "break 2" in acinclude.m4 for a socklen macro
-  The default for the requested socket buffer size is changed from 0
   to -1 to enable passing a value of 0 under Windows, which tells that
   stack one wishes to enable copy-avoidance.
-  Call fflush() on each interim result displayed in demo mode to make
   things happier for folks redirecting same to a file.  From Dan
   Yost.
-  In theory each distinct netserver child will have a debug log with
   its pid appended to the name, somewhat like what appears to happen
   under Windows.
-  A new global, command-line option to netperf and netserver has been
   added. The -V option will cause netperf/netserver to display its
   version and exit.
-  Setting -I without setting -i will now implicitly set the iteration
   minimum and maximums as if a -i 10,3 were set.  Also, some further
   sanity checking on the bounds for each is made.
-  Fixed a typo in the manual (found by Emir Halepovic) so the
   description for the -s and -S options properly specifies they
   affect the data connection.

2.4.3 (2007-10-05)
-  The UDP_STREAM test includes --enable-demo support, courtesy of
   patches from Scott Weitzenkamp.
-  The nettest_dns.* files have been removed from the release and the
   repository.  Those wishing to perform DNS server tests should
   migrate to netperf4 which has better support for DNS test.
-  Fixes for compiling under Windows with Mingw/gcc courtesy of Gisle
   Vanem.
-  A new global option - -N - has been added. When specified, this
   option will tell netperf to not bother to try to establish a
   control connection with a remote netserver.  Instead, netperf will
   only attempt to make a data connection to the remote system.  By
   default, this will be to the "discard" service for a "STREAM" or
   "SENDFILE" test, the "echo" service for a "RR" test and the
   "chargen" service for a "MAERTS" test.  Any "remote" settings are
   changed to reflect their being unused in the test, and a "no
   control" tag is added to the test banner when -N is specified.
   This still needs to be propagated to other test files - at least
   for those for which it may make sense.
-  The tests in nettest_bsd.c have been altered to not actually take
   timestamps and deltas in --enable-histogram unless the verbosity
   level has been set to actually display a histogram.  This reduces
   the overhead measurably, even on systems with "fast" time calls,
   which _may_ mean that a future release of netperf may have
   histogram support enabled by default.
   This still needs to be propagated to other test files.  Patches
   from the community would be most welcome :)
-  Eliminate a bogus fprintf from the signal catching routine which
   was being executed when both intervals and demo mode were active at
   the same time.
-  The nettest_ipv6.* files are no longer included in the source
   tar/zip file. IPv6 functionality has been subsumed into the
   nettest_bsd.* files for some time now. 
-  Use a higher resolution "time" source for HISTOGRAM support under
   Windows, courtesy of Spencer Frink. Prior to this it had no better
   than 10ms granularity which could lead to some rather strange
   looking results :)
-  A bug fix reporting recv_size rather than send_size in TCP_MAERTS
   when CPU utilization was requested.
-  A bug fix for buffer filling from a file to properly advance the
   buffer pointer when the file is smaller than the send buffer.
-  Enable certain UDP tests which previously used unconnected sockets 
   to use connected sockets.  Courtesy of Shilpi Agarwal.
-  The OSX CPU utilization code actually gets put into the tarball in
   a make dist now :)
-  The check to make sure that getaddrinfo returned ai_protocol and/or
   ai_socktype's matching that which we requested is done for all socket
   and/or protocol types and a warning is emitted if it returns any which
   do not match.
-  The linux CPU affinity code has been made capable of binding to
   CPU's >=32 on a 32-bit compilation and >=64 on a 64-bit
   compilation.
-  More complete closing/redirecting of stdin/stdout/stderr/where in
   netserver to make it easier to launch netserver at the far-end of a
   remote shell.  Courtesy of Hans Blom.
-  Sendfile changes for Solaris courtesy of Andrew Gallatin.
-  "spec" file support to generate RPMs courtesy of Martin Brown

2.4.2 (2007-09-01)
-  Fixes for floating point format differences, courtesy of George
   Davis.
-  Additions for CPU util support on MacOS X, courtesy of Anonymous.
-  Processor affinity is now supported on AIX 5.3 (perhaps earlier)
   via the bindprocessor system call.
-  Fixes for test lockups with TCP_CRR and TCP_CC under Windows
   courtesy of Dikon Reed.
-  Fixes to netcpu_looper.c to get it to actually compile :)
-  Have netcpu_looper use the bind_to_specific_processor() call
   provided by netlib since that knows about more platforms than the
   code in netcpu_looper did. The looper CPU binding will use a
   mapping to handle cases where the CPU id's on the system may not be
   a contiguous space starting from zero.  At present, the code that
   setups the mapping only knows about retrieving actual CPU ids under
   HP-UX.
-  The netcpu_sysctl method becomes calibration-free, courtesy of 
   Andrew Gallatin

