.. iperf documentation master file, created by
   sphinx-quickstart on Fri Mar 28 14:58:40 2014.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

iperf3
======

The iperf series of tools perform active measurements to determine the
maximum achievable bandwidth on IP networks.  It supports tuning of
various parameters related to timing, protocols, and buffers.  For
each test it reports the measured throughput, loss, and other
parameters.

This version, sometimes referred to as iperf3, is a redesign of an
original version developed at NLANR / DAST.  iperf3 is a new
implementation from scratch, with the goal of a smaller, simpler code
base, and a library version of the functionality that can be used in
other programs. iperf3 also incorporates a number of features found in
other tools such as nuttcp and netperf, but were missing from the
original iperf.  These include, for example, a zero-copy mode and
optional JSON output.  Note that iperf3 is *not* backwards compatible
with the original iperf.

Primary development for iperf3 takes place on CentOS Linux, FreeBSD,
and macOS.  At this time, these are the only officially
supported platforms, however there have been some reports of success
with OpenBSD, Android, and other Linux distributions.

iperf3 is principally developed by `ESnet <http://www.es.net/>`_ /
`Lawrence Berkeley National Laboratory <http://www.lbl.gov/>`_.  It
is released under a three-clause BSD license.

iperf2 is no longer being developed by its original maintainers.
However, beginning in 2014, another developer began fixing bugs and
enhancing functionality, and generating releases of iperf2.  Both
projects (as of late 2017) are currently being developed actively, but
independently.  More information can be found in the :ref:`faq`.

Links for the Impatient
-----------------------

Project homepage and documentation hosted on GitHub Pages:
http://software.es.net/iperf/

Project site (source code repository, issue tracker) hosted on GitHub:
https://github.com/esnet/iperf

Source code downloads:
http://downloads.es.net/pub/iperf/

Contents
--------

.. toctree::
   :maxdepth: 2

   news
   obtaining
   building
   invoking
   dev
   faq

Indices and tables
------------------

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

