Diff for /embedaddon/iperf/README.md between versions 1.1.1.1 and 1.1.1.3

version 1.1.1.1, 2016/10/18 13:28:17 version 1.1.1.3, 2023/09/27 11:14:54
Line 7  Summary Line 7  Summary
 iperf is a tool for active measurements of the maximum achievable  iperf is a tool for active measurements of the maximum achievable
 bandwidth on IP networks.  It supports tuning of various parameters  bandwidth on IP networks.  It supports tuning of various parameters
 related to timing, protocols, and buffers.  For each test it reports  related to timing, protocols, and buffers.  For each test it reports
the bandwidth, loss, and other parameters.the measured throughput / bitrate, loss, and other parameters.
   
 This version, sometimes referred to as iperf3, is a redesign of an  This version, sometimes referred to as iperf3, is a redesign of an
 original version developed at NLANR/DAST.  iperf3 is a new  original version developed at NLANR/DAST.  iperf3 is a new
 implementation from scratch, with the goal of a smaller, simpler code  implementation from scratch, with the goal of a smaller, simpler code
 base, and a library version of the functionality that can be used in  base, and a library version of the functionality that can be used in
other programs. iperf3 also a number of features found in other toolsother programs. iperf3 also has a number of features found in other tools
 such as nuttcp and netperf, but were missing from the original iperf.  such as nuttcp and netperf, but were missing from the original iperf.
 These include, for example, a zero-copy mode and optional JSON output.  These include, for example, a zero-copy mode and optional JSON output.
 Note that iperf3 is *not* backwards compatible with the original iperf.  Note that iperf3 is *not* backwards compatible with the original iperf.
   
Primary development for iperf3 takes place on CentOS Linux, FreeBSD,Primary development for iperf3 takes place on Ubuntu Linux, FreeBSD,
and MacOS X.  At this time, these are the only officially supportedand macOS.  At this time, these are the only officially supported
 platforms, however there have been some reports of success with  platforms, however there have been some reports of success with
 OpenBSD, NetBSD, Android, Solaris, and other Linux distributions.  OpenBSD, NetBSD, Android, Solaris, and other Linux distributions.
   
 iperf3 is principally developed by ESnet / Lawrence Berkeley National  iperf3 is principally developed by ESnet / Lawrence Berkeley National
 Laboratory.  It is released under a three-clause BSD license.  Laboratory.  It is released under a three-clause BSD license.
   
Note that at this point, ESnet plans to support iperf3 in "maintenanceFor more information see: https://software.es.net/iperf
mode".  At this point, there are no definite plans for further iperf3 
releases, and ESnet will be providing a very limited amount of 
resources for support and development, going forward.  However, ESnet 
could issue new iperf3 releases to deal with security issues or 
high-impact bug fixes. 
   
 For more information see: http://software.es.net/iperf  
   
 Source code and issue tracker: https://github.com/esnet/iperf  Source code and issue tracker: https://github.com/esnet/iperf
   
   Discussion forums: https://github.com/esnet/iperf/discussions
   
 Obtaining iperf3  Obtaining iperf3
 ----------------  ----------------
   
 Downloads of iperf3 are available at:  Downloads of iperf3 are available at:
   
    http://downloads.es.net/pub/iperf/    https://downloads.es.net/pub/iperf/
   
 To check out the most recent code, clone the git repository at:  To check out the most recent code, clone the git repository at:
   
Line 67  Invoking iperf3 Line 62  Invoking iperf3
 iperf3 includes a manual page listing all of the command-line options.  iperf3 includes a manual page listing all of the command-line options.
 The manual page is the most up-to-date reference to the various flags and parameters.  The manual page is the most up-to-date reference to the various flags and parameters.
   
For sample command line usage, see: For sample command line usage, see:
   
http://fasterdata.es.net/performance-testing/network-troubleshooting-tools/iperf-and-iperf3/https://fasterdata.es.net/performance-testing/network-troubleshooting-tools/iperf/
   
 Using the default options, iperf is meant to show typical well  Using the default options, iperf is meant to show typical well
designed application performance.  'Typical well designed application'designed application performance.  "Typical well designed application"
 means avoiding artificial enhancements that work only for testing  means avoiding artificial enhancements that work only for testing
 (such as splice()'ing the data to /dev/null).  iperf does also have  (such as splice()'ing the data to /dev/null).  iperf does also have
flags for 'extreme best case' optimizations but they must beflags for "extreme best case" optimizations, but they must be
 explicitly activated.  explicitly activated.
   
 These flags include:  These flags include:
Line 83  These flags include: Line 78  These flags include:
     -Z, --zerocopy            use a 'zero copy' sendfile() method of sending data      -Z, --zerocopy            use a 'zero copy' sendfile() method of sending data
     -A, --affinity n/n,m      set CPU affinity      -A, --affinity n/n,m      set CPU affinity
   
Bug ReportsBug and Security Reports
-----------------------------------
   
 Before submitting a bug report, please make sure you're running the  Before submitting a bug report, please make sure you're running the
 latest version of the code, and confirm that your issue has not  latest version of the code, and confirm that your issue has not
Line 104  sensitive information. Line 99  sensitive information.
 If you have a question about usage or about the code, please do *not*  If you have a question about usage or about the code, please do *not*
 submit an issue.  Please use one of the mailing lists for that.  submit an issue.  Please use one of the mailing lists for that.
   
Changes from iperf 2.xIf you suspect there is a potential security issue, please contact the
----------------------developers at:
   
New options:iperf@es.net
   
    -V, --verbose             more detailed output than beforeRelation to iperf 2.x
    -J, --json                output in JSON format---------------------
    -Z, --zerocopy            use a 'zero copy' sendfile() method of sending data 
    -O, --omit N              omit the first n seconds (to ignore slowstart) 
    -T, --title str           prefix every output line with this string 
    -F, --file name           xmit/recv the specified file 
    -A, --affinity n/n,m      set CPU affinity (Linux and FreeBSD only) 
    -k, --blockcount #[KMG]   number of blocks (packets) to transmit (instead  
                              of -t or -n) 
    -L, --flowlabel           set IPv6 flow label (Linux only) 
   
Changed flags:Although iperf2 and iperf3 both measure network performance,
 they are not compatible with each other.
 The projects (as of mid-2021) are in active, but separate, development.
 The continuing iperf2 development
 project can be found at https://sourceforge.net/projects/iperf2/.
   
   iperf3 contains a number of options and functions not present in
   iperf2.  In addition, some flags are changed from their iperf2
   counterparts:
   
     -C, --linux-congestion    set congestion control algorithm (Linux only)      -C, --linux-congestion    set congestion control algorithm (Linux only)
                               (-Z in iperf2)                                (-Z in iperf2)
       --bidir                   bidirectional testing mode
                                 (-d in iperf2)
   
   Some iperf2 options are not available in iperf3:
   
 Deprecated options:  
   
 Not planning to support these iperf2 flags. If you really miss these  
 options, please submit a request in the issue tracker:  
   
     -d, --dualtest           Do a bidirectional test simultaneously  
     -r, --tradeoff           Do a bidirectional test individually      -r, --tradeoff           Do a bidirectional test individually
     -T, --ttl                time-to-live, for multicast (default 1)      -T, --ttl                time-to-live, for multicast (default 1)
    -x, --reportexclude [CDMSV]   exclude C(connection) D(data) M(multicast)     -x, --reportexclude [CDMSV]   exclude C(connection) D(data) M(multicast)
                                   S(settings) V(server) reports                                    S(settings) V(server) reports
     -y, --reportstyle C      report as a Comma-Separated Values      -y, --reportstyle C      report as a Comma-Separated Values
   
Also deprecated is the ability to set the options via environmentAlso removed is the ability to set the options via environment
 variables.  variables.
   
 Known Issues  Known Issues
 ------------  ------------
   
* UDP performance: Some problems have been noticed with iperf3 on theA set of known issues is maintained on the iperf3 Web pages:
ESnet 100G testbed at high UDP rates (above 10Gbps).  The symptom is 
that on any particular run of iperf3 the receiver reports a loss rate 
of about 20%, regardless of the -b option used on the client side. 
This problem appears not to be iperf3-specific, and may be due to the 
placement of the iperf3 process on a CPU and its relation to the 
inbound NIC.  In some cases this problem can be mitigated by an 
appropriate use of the CPU affinity (-A) option.  (Issue #55) 
   
* The -Z flag sometimes causes the iperf3 client to hang on OSX.https://software.es.net/iperf/dev.html#known-issues
(Issue #129) 
   
 * When specifying the socket buffer size using the "-w" flag on Linux, Linux   
 doubles the value you pass in. (You can see this using iperf3's debug flag).   
 But then the CWND does not actually ramp up to the doubled value, but only  
 to about 75% of the doubled value. This appears to be by design.  
   
 * Although the "-w" flag is documented as setting the (TCP) window  
 size, it is also used to set the socket buffer size.  This has been  
 shown to be helpful with high-bitrate UDP tests.  
   
 * On some platforms, it might be necessary to invoke "ldconfig"   
 manually after doing a "make install" before the iperf3 executable can   
 find its shared library.  (Issue #153)  
   
 * The results printed on the server side at the end of a test do not  
 correctly reflect the client-side measurements.  This is due to the  
 ordering of computing and transferring results between the client  
 and server.  (Issue #293)  
   
 * The server could have a very short measurement reporting interval at  
 the end of a test (particularly a UDP test), containing few or no  
 packets.  This issue is due to an artifact of timing between the  
 client and server.  (Issue #278)  
   
 Links  Links
 -----  -----
   
Line 194  responsibility for the content of these pages. Line 155  responsibility for the content of these pages.
 Copyright  Copyright
 ---------  ---------
   
iperf, Copyright (c) 2014-2016, The Regents of the University ofiperf, Copyright (c) 2014-2023, The Regents of the University of
 California, through Lawrence Berkeley National Laboratory (subject  California, through Lawrence Berkeley National Laboratory (subject
 to receipt of any required approvals from the U.S. Dept. of  to receipt of any required approvals from the U.S. Dept. of
 Energy).  All rights reserved.  Energy).  All rights reserved.

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>