blob: 8e15da270e04b5025e11c46f5913774fabf4e0ab [file] [log] [blame]
<!DOCTYPE html>
<html lang="en" data-content_root="./">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Invoking iperf3 &#8212; iperf3 3.15 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css?v=4468db6d" />
<link rel="stylesheet" href="_static/bootstrap-3.3.6/css/bootstrap.min.css" type="text/css" />
<link rel="stylesheet" href="_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="_static/esnet/esnet.css" type="text/css" />
<script src="_static/documentation_options.js?v=c35749de"></script>
<script src="_static/doctools.js?v=888ff710"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/js/jquery-1.11.0.min.js"></script>
<script src="_static/js/jquery-fix.js"></script>
<script src="_static/bootstrap-3.3.6/js/bootstrap.min.js"></script>
<script src="_static/bootstrap-sphinx.js"></script>
<link rel="icon" href="_static/favicon.ico"/>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="iperf3 Development" href="dev.html" />
<link rel="prev" title="Building iperf3" href="building.html" />
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
<meta name="apple-mobile-web-app-capable" content="yes">
</head><body>
<div id="navbar" class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<!-- .btn-navbar is used as the toggle for collapsed navbar content -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html">
iperf3</a>
</div>
<div class="collapse navbar-collapse nav-collapse">
<ul class="nav navbar-nav">
<li class="dropdown globaltoc-container">
<a role="button"
id="dLabelGlobalToc"
data-toggle="dropdown"
data-target="#"
href="index.html">Section <b class="caret"></b></a>
<ul class="dropdown-menu globaltoc"
role="menu"
aria-labelledby="dLabelGlobalToc"><ul class="current">
<li class="toctree-l1"><a class="reference internal" href="news.html">iperf3 Project News</a></li>
<li class="toctree-l1"><a class="reference internal" href="obtaining.html">Obtaining iperf3</a></li>
<li class="toctree-l1"><a class="reference internal" href="building.html">Building iperf3</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Invoking iperf3</a></li>
<li class="toctree-l1"><a class="reference internal" href="dev.html">iperf3 Development</a></li>
<li class="toctree-l1"><a class="reference internal" href="faq.html">iperf3 FAQ</a></li>
</ul>
</ul>
</li>
<li>
<a href="building.html" title="Previous Chapter: Building iperf3">
<span class="glyphicon glyphicon-chevron-left"></span>
<span class="hidden-sm">
Building iperf3
</span>
</a>
</li>
<li>
<a href="dev.html" title="Next Chapter: iperf3 Development">
<span class="hidden-sm">
iperf3 Development
</span>
<span class="glyphicon glyphicon-chevron-right"></span>
</a>
</li>
<li class="divider-vertical"></li>
<li><a href="genindex.html">Index</a></li>
<li><a href="https://www.es.net">ESnet</a></li>
<li><a href="https://github.com/esnet/iperf"><img src="_static/icon-github.png" height="20" width="20"></a></li>
<li class="hidden-sm">
<div id="sourcelink">
<a href="_sources/invoking.rst.txt"
rel="nofollow">Source</a>
</div></li>
</ul>
<form class="navbar-form navbar-right" action="search.html" method="get">
<div class="form-group">
<input type="text" name="q" class="form-control" placeholder="Search" />
</div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-md-3">
<div id="sidebar" class="bs-sidenav" role="complementary"><ul>
<li><a class="reference internal" href="#">Invoking iperf3</a><ul>
<li><a class="reference internal" href="#iperf3-manual-page">iperf3 Manual Page</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="col-md-9">
<section id="invoking-iperf3">
<h1>Invoking iperf3<a class="headerlink" href="#invoking-iperf3" title="Link to this heading"></a></h1>
<p>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.</p>
<p>For sample command line usage, see:</p>
<p><a class="reference external" href="https://fasterdata.es.net/performance-testing/network-troubleshooting-tools/iperf/">https://fasterdata.es.net/performance-testing/network-troubleshooting-tools/iperf/</a></p>
<p>Using the default options, iperf3 is meant to show typical well
designed application performance. “Typical well designed application”
means avoiding artificial enhancements that work only for testing
(such as <code class="docutils literal notranslate"><span class="pre">splice()</span></code>-ing the data to <code class="docutils literal notranslate"><span class="pre">/dev/null</span></code>). iperf3 does
also have flags for “extreme best case” optimizations but they must be
explicitly activated. These flags include the <code class="docutils literal notranslate"><span class="pre">-Z</span></code> (<code class="docutils literal notranslate"><span class="pre">--zerocopy</span></code>)
and <code class="docutils literal notranslate"><span class="pre">-A</span></code> (<code class="docutils literal notranslate"><span class="pre">--affinity</span></code>) options.</p>
<section id="iperf3-manual-page">
<h2>iperf3 Manual Page<a class="headerlink" href="#iperf3-manual-page" title="Link to this heading"></a></h2>
<p>This section contains a plaintext rendering of the iperf3 manual page.
It is presented here only for convenience; the text here might not
correspond to the current version of iperf3. The authoritative iperf3
manual page is included in the source tree and installed along with
the executable.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">IPERF3</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="n">User</span> <span class="n">Manuals</span> <span class="n">IPERF3</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="n">NAME</span>
<span class="n">iperf3</span> <span class="o">-</span> <span class="n">perform</span> <span class="n">network</span> <span class="n">throughput</span> <span class="n">tests</span>
<span class="n">SYNOPSIS</span>
<span class="n">iperf3</span> <span class="o">-</span><span class="n">s</span> <span class="p">[</span> <span class="n">options</span> <span class="p">]</span>
<span class="n">iperf3</span> <span class="o">-</span><span class="n">c</span> <span class="n">server</span> <span class="p">[</span> <span class="n">options</span> <span class="p">]</span>
<span class="n">DESCRIPTION</span>
<span class="n">iperf3</span> <span class="ow">is</span> <span class="n">a</span> <span class="n">tool</span> <span class="k">for</span> <span class="n">performing</span> <span class="n">network</span> <span class="n">throughput</span> <span class="n">measurements</span><span class="o">.</span> <span class="n">It</span>
<span class="n">can</span> <span class="n">test</span> <span class="n">TCP</span><span class="p">,</span> <span class="n">UDP</span><span class="p">,</span> <span class="ow">or</span> <span class="n">SCTP</span> <span class="n">throughput</span><span class="o">.</span> <span class="n">To</span> <span class="n">perform</span> <span class="n">an</span> <span class="n">iperf3</span> <span class="n">test</span> <span class="n">the</span>
<span class="n">user</span> <span class="n">must</span> <span class="n">establish</span> <span class="n">both</span> <span class="n">a</span> <span class="n">server</span> <span class="ow">and</span> <span class="n">a</span> <span class="n">client</span><span class="o">.</span>
<span class="n">The</span> <span class="n">iperf3</span> <span class="n">executable</span> <span class="n">contains</span> <span class="n">both</span> <span class="n">client</span> <span class="ow">and</span> <span class="n">server</span> <span class="n">functionality</span><span class="o">.</span>
<span class="n">An</span> <span class="n">iperf3</span> <span class="n">server</span> <span class="n">can</span> <span class="n">be</span> <span class="n">started</span> <span class="n">using</span> <span class="n">either</span> <span class="n">of</span> <span class="n">the</span> <span class="o">-</span><span class="n">s</span> <span class="ow">or</span> <span class="o">--</span><span class="n">server</span> <span class="n">com</span><span class="o">-</span>
<span class="n">mand</span><span class="o">-</span><span class="n">line</span> <span class="n">parameters</span><span class="p">,</span> <span class="k">for</span> <span class="n">example</span><span class="p">:</span>
<span class="n">iperf3</span> <span class="o">-</span><span class="n">s</span>
<span class="n">iperf3</span> <span class="o">--</span><span class="n">server</span>
<span class="n">Note</span> <span class="n">that</span> <span class="n">many</span> <span class="n">iperf3</span> <span class="n">parameters</span> <span class="n">have</span> <span class="n">both</span> <span class="n">short</span> <span class="p">(</span><span class="o">-</span><span class="n">s</span><span class="p">)</span> <span class="ow">and</span> <span class="n">long</span>
<span class="p">(</span><span class="o">--</span><span class="n">server</span><span class="p">)</span> <span class="n">forms</span><span class="o">.</span> <span class="n">In</span> <span class="n">this</span> <span class="n">section</span> <span class="n">we</span> <span class="n">will</span> <span class="n">generally</span> <span class="n">use</span> <span class="n">the</span> <span class="n">short</span> <span class="n">form</span>
<span class="n">of</span> <span class="n">command</span><span class="o">-</span><span class="n">line</span> <span class="n">flags</span><span class="p">,</span> <span class="n">unless</span> <span class="n">only</span> <span class="n">the</span> <span class="n">long</span> <span class="n">form</span> <span class="n">of</span> <span class="n">a</span> <span class="n">flag</span> <span class="ow">is</span> <span class="n">avail</span><span class="o">-</span>
<span class="n">able</span><span class="o">.</span>
<span class="n">By</span> <span class="n">default</span><span class="p">,</span> <span class="n">the</span> <span class="n">iperf3</span> <span class="n">server</span> <span class="n">listens</span> <span class="n">on</span> <span class="n">TCP</span> <span class="n">port</span> <span class="mi">5201</span> <span class="k">for</span> <span class="n">connections</span>
<span class="kn">from</span> <span class="nn">an</span> <span class="n">iperf3</span> <span class="n">client</span><span class="o">.</span> <span class="n">A</span> <span class="n">custom</span> <span class="n">port</span> <span class="n">can</span> <span class="n">be</span> <span class="n">specified</span> <span class="n">by</span> <span class="n">using</span> <span class="n">the</span> <span class="o">-</span><span class="n">p</span>
<span class="n">flag</span><span class="p">,</span> <span class="k">for</span> <span class="n">example</span><span class="p">:</span>
<span class="n">iperf3</span> <span class="o">-</span><span class="n">s</span> <span class="o">-</span><span class="n">p</span> <span class="mi">5002</span>
<span class="n">After</span> <span class="n">the</span> <span class="n">server</span> <span class="ow">is</span> <span class="n">started</span><span class="p">,</span> <span class="n">it</span> <span class="n">will</span> <span class="n">listen</span> <span class="k">for</span> <span class="n">connections</span> <span class="kn">from</span> <span class="nn">iperf3</span>
<span class="n">clients</span> <span class="p">(</span><span class="ow">in</span> <span class="n">other</span> <span class="n">words</span><span class="p">,</span> <span class="n">the</span> <span class="n">iperf3</span> <span class="n">program</span> <span class="n">run</span> <span class="ow">in</span> <span class="n">client</span> <span class="n">mode</span><span class="p">)</span><span class="o">.</span> <span class="n">The</span>
<span class="n">client</span> <span class="n">mode</span> <span class="n">can</span> <span class="n">be</span> <span class="n">started</span> <span class="n">using</span> <span class="n">the</span> <span class="o">-</span><span class="n">c</span> <span class="n">command</span><span class="o">-</span><span class="n">line</span> <span class="n">option</span><span class="p">,</span> <span class="n">which</span> <span class="n">also</span>
<span class="n">requires</span> <span class="n">a</span> <span class="n">host</span> <span class="n">to</span> <span class="n">which</span> <span class="n">iperf3</span> <span class="n">should</span> <span class="n">connect</span><span class="o">.</span> <span class="n">The</span> <span class="n">host</span> <span class="n">can</span> <span class="n">by</span> <span class="n">speci</span><span class="o">-</span>
<span class="n">fied</span> <span class="n">by</span> <span class="n">hostname</span><span class="p">,</span> <span class="n">IPv4</span> <span class="n">literal</span><span class="p">,</span> <span class="ow">or</span> <span class="n">IPv6</span> <span class="n">literal</span><span class="p">:</span>
<span class="n">iperf3</span> <span class="o">-</span><span class="n">c</span> <span class="n">iperf3</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">com</span>
<span class="n">iperf3</span> <span class="o">-</span><span class="n">c</span> <span class="mf">192.0.2.1</span>
<span class="n">iperf3</span> <span class="o">-</span><span class="n">c</span> <span class="mi">2001</span><span class="p">:</span><span class="n">db8</span><span class="p">::</span><span class="mi">1</span>
<span class="n">If</span> <span class="n">the</span> <span class="n">iperf3</span> <span class="n">server</span> <span class="ow">is</span> <span class="n">running</span> <span class="n">on</span> <span class="n">a</span> <span class="n">non</span><span class="o">-</span><span class="n">default</span> <span class="n">TCP</span> <span class="n">port</span><span class="p">,</span> <span class="n">that</span> <span class="n">port</span>
<span class="n">number</span> <span class="n">needs</span> <span class="n">to</span> <span class="n">be</span> <span class="n">specified</span> <span class="n">on</span> <span class="n">the</span> <span class="n">client</span> <span class="k">as</span> <span class="n">well</span><span class="p">:</span>
<span class="n">iperf3</span> <span class="o">-</span><span class="n">c</span> <span class="n">iperf3</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">com</span> <span class="o">-</span><span class="n">p</span> <span class="mi">5002</span>
<span class="n">The</span> <span class="n">initial</span> <span class="n">TCP</span> <span class="n">connection</span> <span class="ow">is</span> <span class="n">used</span> <span class="n">to</span> <span class="n">exchange</span> <span class="n">test</span> <span class="n">parameters</span><span class="p">,</span> <span class="n">control</span>
<span class="n">the</span> <span class="n">start</span> <span class="ow">and</span> <span class="n">end</span> <span class="n">of</span> <span class="n">the</span> <span class="n">test</span><span class="p">,</span> <span class="ow">and</span> <span class="n">to</span> <span class="n">exchange</span> <span class="n">test</span> <span class="n">results</span><span class="o">.</span> <span class="n">This</span> <span class="ow">is</span>
<span class="n">sometimes</span> <span class="n">referred</span> <span class="n">to</span> <span class="k">as</span> <span class="n">the</span> <span class="s2">&quot;control connection&quot;</span><span class="o">.</span> <span class="n">The</span> <span class="n">actual</span> <span class="n">test</span>
<span class="n">data</span> <span class="ow">is</span> <span class="n">sent</span> <span class="n">over</span> <span class="n">a</span> <span class="n">separate</span> <span class="n">TCP</span> <span class="n">connection</span><span class="p">,</span> <span class="k">as</span> <span class="n">a</span> <span class="n">separate</span> <span class="n">flow</span> <span class="n">of</span> <span class="n">UDP</span>
<span class="n">packets</span><span class="p">,</span> <span class="ow">or</span> <span class="k">as</span> <span class="n">an</span> <span class="n">independent</span> <span class="n">SCTP</span> <span class="n">connection</span><span class="p">,</span> <span class="n">depending</span> <span class="n">on</span> <span class="n">what</span> <span class="n">proto</span><span class="o">-</span>
<span class="n">col</span> <span class="n">was</span> <span class="n">specified</span> <span class="n">by</span> <span class="n">the</span> <span class="n">client</span><span class="o">.</span>
<span class="n">Normally</span><span class="p">,</span> <span class="n">the</span> <span class="n">test</span> <span class="n">data</span> <span class="ow">is</span> <span class="n">sent</span> <span class="kn">from</span> <span class="nn">the</span> <span class="n">client</span> <span class="n">to</span> <span class="n">the</span> <span class="n">server</span><span class="p">,</span> <span class="ow">and</span> <span class="n">mea</span><span class="o">-</span>
<span class="n">sures</span> <span class="n">the</span> <span class="n">upload</span> <span class="n">speed</span> <span class="n">of</span> <span class="n">the</span> <span class="n">client</span><span class="o">.</span> <span class="n">Measuring</span> <span class="n">the</span> <span class="n">download</span> <span class="n">speed</span>
<span class="kn">from</span> <span class="nn">the</span> <span class="n">server</span> <span class="n">can</span> <span class="n">be</span> <span class="n">done</span> <span class="n">by</span> <span class="n">specifying</span> <span class="n">the</span> <span class="o">-</span><span class="n">R</span> <span class="n">flag</span> <span class="n">on</span> <span class="n">the</span> <span class="n">client</span><span class="o">.</span>
<span class="n">This</span> <span class="n">causes</span> <span class="n">data</span> <span class="n">to</span> <span class="n">be</span> <span class="n">sent</span> <span class="kn">from</span> <span class="nn">the</span> <span class="n">server</span> <span class="n">to</span> <span class="n">the</span> <span class="n">client</span><span class="o">.</span>
<span class="n">iperf3</span> <span class="o">-</span><span class="n">c</span> <span class="n">iperf3</span><span class="o">.</span><span class="n">example</span><span class="o">.</span><span class="n">com</span> <span class="o">-</span><span class="n">p</span> <span class="mi">5202</span> <span class="o">-</span><span class="n">R</span>
<span class="n">Results</span> <span class="n">are</span> <span class="n">displayed</span> <span class="n">on</span> <span class="n">both</span> <span class="n">the</span> <span class="n">client</span> <span class="ow">and</span> <span class="n">server</span><span class="o">.</span> <span class="n">There</span> <span class="n">will</span> <span class="n">be</span> <span class="n">at</span>
<span class="n">least</span> <span class="n">one</span> <span class="n">line</span> <span class="n">of</span> <span class="n">output</span> <span class="n">per</span> <span class="n">measurement</span> <span class="n">interval</span> <span class="p">(</span><span class="n">by</span> <span class="n">default</span> <span class="n">a</span> <span class="n">mea</span><span class="o">-</span>
<span class="n">surement</span> <span class="n">interval</span> <span class="n">lasts</span> <span class="k">for</span> <span class="n">one</span> <span class="n">second</span><span class="p">,</span> <span class="n">but</span> <span class="n">this</span> <span class="n">can</span> <span class="n">be</span> <span class="n">changed</span> <span class="n">by</span> <span class="n">the</span>
<span class="o">-</span><span class="n">i</span> <span class="n">option</span><span class="p">)</span><span class="o">.</span> <span class="n">Each</span> <span class="n">line</span> <span class="n">of</span> <span class="n">output</span> <span class="n">includes</span> <span class="p">(</span><span class="n">at</span> <span class="n">least</span><span class="p">)</span> <span class="n">the</span> <span class="n">time</span> <span class="n">since</span> <span class="n">the</span>
<span class="n">start</span> <span class="n">of</span> <span class="n">the</span> <span class="n">test</span><span class="p">,</span> <span class="n">amount</span> <span class="n">of</span> <span class="n">data</span> <span class="n">transferred</span> <span class="n">during</span> <span class="n">the</span> <span class="n">interval</span><span class="p">,</span> <span class="ow">and</span>
<span class="n">the</span> <span class="n">average</span> <span class="n">bitrate</span> <span class="n">over</span> <span class="n">that</span> <span class="n">interval</span><span class="o">.</span> <span class="n">Note</span> <span class="n">that</span> <span class="n">the</span> <span class="n">values</span> <span class="k">for</span> <span class="n">each</span>
<span class="n">measurement</span> <span class="n">interval</span> <span class="n">are</span> <span class="n">taken</span> <span class="kn">from</span> <span class="nn">the</span> <span class="n">point</span> <span class="n">of</span> <span class="n">view</span> <span class="n">of</span> <span class="n">the</span> <span class="n">endpoint</span>
<span class="n">process</span> <span class="n">emitting</span> <span class="n">that</span> <span class="n">output</span> <span class="p">(</span><span class="ow">in</span> <span class="n">other</span> <span class="n">words</span><span class="p">,</span> <span class="n">the</span> <span class="n">output</span> <span class="n">on</span> <span class="n">the</span> <span class="n">client</span>
<span class="n">shows</span> <span class="n">the</span> <span class="n">measurement</span> <span class="n">interval</span> <span class="n">data</span> <span class="k">for</span> <span class="n">the</span> <span class="n">client</span><span class="o">.</span>
<span class="n">At</span> <span class="n">the</span> <span class="n">end</span> <span class="n">of</span> <span class="n">the</span> <span class="n">test</span> <span class="ow">is</span> <span class="n">a</span> <span class="nb">set</span> <span class="n">of</span> <span class="n">statistics</span> <span class="n">that</span> <span class="n">shows</span> <span class="p">(</span><span class="n">at</span> <span class="n">least</span> <span class="k">as</span>
<span class="n">much</span> <span class="k">as</span> <span class="n">possible</span><span class="p">)</span> <span class="n">a</span> <span class="n">summary</span> <span class="n">of</span> <span class="n">the</span> <span class="n">test</span> <span class="k">as</span> <span class="n">seen</span> <span class="n">by</span> <span class="n">both</span> <span class="n">the</span> <span class="n">sender</span> <span class="ow">and</span>
<span class="n">the</span> <span class="n">receiver</span><span class="p">,</span> <span class="k">with</span> <span class="n">lines</span> <span class="n">tagged</span> <span class="n">accordingly</span><span class="o">.</span> <span class="n">Recall</span> <span class="n">that</span> <span class="n">by</span> <span class="n">default</span>
<span class="n">the</span> <span class="n">client</span> <span class="ow">is</span> <span class="n">the</span> <span class="n">sender</span> <span class="ow">and</span> <span class="n">the</span> <span class="n">server</span> <span class="ow">is</span> <span class="n">the</span> <span class="n">receiver</span><span class="p">,</span> <span class="n">although</span> <span class="k">as</span>
<span class="n">indicated</span> <span class="n">above</span><span class="p">,</span> <span class="n">use</span> <span class="n">of</span> <span class="n">the</span> <span class="o">-</span><span class="n">R</span> <span class="n">flag</span> <span class="n">will</span> <span class="n">reverse</span> <span class="n">these</span> <span class="n">roles</span><span class="o">.</span>
<span class="n">The</span> <span class="n">client</span> <span class="n">can</span> <span class="n">be</span> <span class="n">made</span> <span class="n">to</span> <span class="n">retrieve</span> <span class="n">the</span> <span class="n">server</span><span class="o">-</span><span class="n">side</span> <span class="n">output</span> <span class="k">for</span> <span class="n">a</span> <span class="n">given</span>
<span class="n">test</span> <span class="n">by</span> <span class="n">specifying</span> <span class="n">the</span> <span class="o">--</span><span class="n">get</span><span class="o">-</span><span class="n">server</span><span class="o">-</span><span class="n">output</span> <span class="n">flag</span><span class="o">.</span>
<span class="n">Either</span> <span class="n">the</span> <span class="n">client</span> <span class="ow">or</span> <span class="n">the</span> <span class="n">server</span> <span class="n">can</span> <span class="n">produce</span> <span class="n">its</span> <span class="n">output</span> <span class="ow">in</span> <span class="n">a</span> <span class="n">JSON</span> <span class="n">struc</span><span class="o">-</span>
<span class="n">ture</span><span class="p">,</span> <span class="n">useful</span> <span class="k">for</span> <span class="n">integration</span> <span class="k">with</span> <span class="n">other</span> <span class="n">programs</span><span class="p">,</span> <span class="n">by</span> <span class="n">passing</span> <span class="n">it</span> <span class="n">the</span> <span class="o">-</span><span class="n">J</span>
<span class="n">flag</span><span class="o">.</span> <span class="n">Because</span> <span class="n">the</span> <span class="n">contents</span> <span class="n">of</span> <span class="n">the</span> <span class="n">JSON</span> <span class="n">structure</span> <span class="n">are</span> <span class="n">only</span> <span class="n">completely</span>
<span class="n">known</span> <span class="n">after</span> <span class="n">the</span> <span class="n">test</span> <span class="n">has</span> <span class="n">finished</span><span class="p">,</span> <span class="n">no</span> <span class="n">JSON</span> <span class="n">output</span> <span class="n">will</span> <span class="n">be</span> <span class="n">emitted</span> <span class="n">until</span>
<span class="n">the</span> <span class="n">end</span> <span class="n">of</span> <span class="n">the</span> <span class="n">test</span><span class="o">.</span>
<span class="n">iperf3</span> <span class="n">has</span> <span class="n">a</span> <span class="p">(</span><span class="n">overly</span><span class="p">)</span> <span class="n">large</span> <span class="nb">set</span> <span class="n">of</span> <span class="n">command</span><span class="o">-</span><span class="n">line</span> <span class="n">options</span> <span class="n">that</span> <span class="n">can</span> <span class="n">be</span>
<span class="n">used</span> <span class="n">to</span> <span class="nb">set</span> <span class="n">the</span> <span class="n">parameters</span> <span class="n">of</span> <span class="n">a</span> <span class="n">test</span><span class="o">.</span> <span class="n">They</span> <span class="n">are</span> <span class="n">given</span> <span class="ow">in</span> <span class="n">the</span> <span class="s2">&quot;GENERAL</span>
<span class="n">OPTIONS</span><span class="s2">&quot; section of the manual page below, as well as summarized in</span>
<span class="n">iperf3</span><span class="s1">&#39;s help output, which can be viewed by running iperf3 with the -h</span>
<span class="n">flag</span><span class="o">.</span>
<span class="n">GENERAL</span> <span class="n">OPTIONS</span>
<span class="o">-</span><span class="n">p</span><span class="p">,</span> <span class="o">--</span><span class="n">port</span> <span class="n">n</span>
<span class="nb">set</span> <span class="n">server</span> <span class="n">port</span> <span class="n">to</span> <span class="n">listen</span> <span class="n">on</span><span class="o">/</span><span class="n">connect</span> <span class="n">to</span> <span class="n">to</span> <span class="n">n</span> <span class="p">(</span><span class="n">default</span> <span class="mi">5201</span><span class="p">)</span>
<span class="o">-</span><span class="n">f</span><span class="p">,</span> <span class="o">--</span><span class="nb">format</span>
<span class="p">[</span><span class="n">kmgtKMGT</span><span class="p">]</span> <span class="nb">format</span> <span class="n">to</span> <span class="n">report</span><span class="p">:</span> <span class="n">Kbits</span><span class="o">/</span><span class="n">Mbits</span><span class="o">/</span><span class="n">Gbits</span><span class="o">/</span><span class="n">Tbits</span>
<span class="o">-</span><span class="n">i</span><span class="p">,</span> <span class="o">--</span><span class="n">interval</span> <span class="n">n</span>
<span class="n">pause</span> <span class="n">n</span> <span class="n">seconds</span> <span class="n">between</span> <span class="n">periodic</span> <span class="n">throughput</span> <span class="n">reports</span><span class="p">;</span> <span class="n">default</span> <span class="ow">is</span>
<span class="mi">1</span><span class="p">,</span> <span class="n">use</span> <span class="mi">0</span> <span class="n">to</span> <span class="n">disable</span>
<span class="o">-</span><span class="n">I</span><span class="p">,</span> <span class="o">--</span><span class="n">pidfile</span> <span class="n">file</span>
<span class="n">write</span> <span class="n">a</span> <span class="n">file</span> <span class="k">with</span> <span class="n">the</span> <span class="n">process</span> <span class="n">ID</span><span class="p">,</span> <span class="n">most</span> <span class="n">useful</span> <span class="n">when</span> <span class="n">running</span> <span class="k">as</span> <span class="n">a</span>
<span class="n">daemon</span><span class="o">.</span>
<span class="o">-</span><span class="n">F</span><span class="p">,</span> <span class="o">--</span><span class="n">file</span> <span class="n">name</span>
<span class="n">Use</span> <span class="n">a</span> <span class="n">file</span> <span class="k">as</span> <span class="n">the</span> <span class="n">source</span> <span class="p">(</span><span class="n">on</span> <span class="n">the</span> <span class="n">sender</span><span class="p">)</span> <span class="ow">or</span> <span class="n">sink</span> <span class="p">(</span><span class="n">on</span> <span class="n">the</span>
<span class="n">receiver</span><span class="p">)</span> <span class="n">of</span> <span class="n">data</span><span class="p">,</span> <span class="n">rather</span> <span class="n">than</span> <span class="n">just</span> <span class="n">generating</span> <span class="n">random</span> <span class="n">data</span> <span class="ow">or</span>
<span class="n">throwing</span> <span class="n">it</span> <span class="n">away</span><span class="o">.</span> <span class="n">This</span> <span class="n">feature</span> <span class="ow">is</span> <span class="n">used</span> <span class="k">for</span> <span class="n">finding</span> <span class="n">whether</span> <span class="ow">or</span>
<span class="ow">not</span> <span class="n">the</span> <span class="n">storage</span> <span class="n">subsystem</span> <span class="ow">is</span> <span class="n">the</span> <span class="n">bottleneck</span> <span class="k">for</span> <span class="n">file</span> <span class="n">transfers</span><span class="o">.</span>
<span class="n">It</span> <span class="n">does</span> <span class="ow">not</span> <span class="n">turn</span> <span class="n">iperf3</span> <span class="n">into</span> <span class="n">a</span> <span class="n">file</span> <span class="n">transfer</span> <span class="n">tool</span><span class="o">.</span> <span class="n">The</span> <span class="n">length</span><span class="p">,</span>
<span class="n">attributes</span><span class="p">,</span> <span class="ow">and</span> <span class="ow">in</span> <span class="n">some</span> <span class="n">cases</span> <span class="n">contents</span> <span class="n">of</span> <span class="n">the</span> <span class="n">received</span> <span class="n">file</span> <span class="n">may</span>
<span class="ow">not</span> <span class="n">match</span> <span class="n">those</span> <span class="n">of</span> <span class="n">the</span> <span class="n">original</span> <span class="n">file</span><span class="o">.</span>
<span class="o">-</span><span class="n">A</span><span class="p">,</span> <span class="o">--</span><span class="n">affinity</span> <span class="n">n</span><span class="o">/</span><span class="n">n</span><span class="p">,</span><span class="n">m</span>
<span class="n">Set</span> <span class="n">the</span> <span class="n">CPU</span> <span class="n">affinity</span><span class="p">,</span> <span class="k">if</span> <span class="n">possible</span> <span class="p">(</span><span class="n">Linux</span><span class="p">,</span> <span class="n">FreeBSD</span><span class="p">,</span> <span class="ow">and</span> <span class="n">Windows</span>
<span class="n">only</span><span class="p">)</span><span class="o">.</span> <span class="n">On</span> <span class="n">both</span> <span class="n">the</span> <span class="n">client</span> <span class="ow">and</span> <span class="n">server</span> <span class="n">you</span> <span class="n">can</span> <span class="nb">set</span> <span class="n">the</span> <span class="n">local</span>
<span class="n">affinity</span> <span class="n">by</span> <span class="n">using</span> <span class="n">the</span> <span class="n">n</span> <span class="n">form</span> <span class="n">of</span> <span class="n">this</span> <span class="n">argument</span> <span class="p">(</span><span class="n">where</span> <span class="n">n</span> <span class="ow">is</span> <span class="n">a</span> <span class="n">CPU</span>
<span class="n">number</span><span class="p">)</span><span class="o">.</span> <span class="n">In</span> <span class="n">addition</span><span class="p">,</span> <span class="n">on</span> <span class="n">the</span> <span class="n">client</span> <span class="n">side</span> <span class="n">you</span> <span class="n">can</span> <span class="n">override</span> <span class="n">the</span>
<span class="n">server</span><span class="s1">&#39;s affinity for just that one test, using the n,m form of</span>
<span class="n">argument</span><span class="o">.</span> <span class="n">Note</span> <span class="n">that</span> <span class="n">when</span> <span class="n">using</span> <span class="n">this</span> <span class="n">feature</span><span class="p">,</span> <span class="n">a</span> <span class="n">process</span> <span class="n">will</span>
<span class="n">only</span> <span class="n">be</span> <span class="n">bound</span> <span class="n">to</span> <span class="n">a</span> <span class="n">single</span> <span class="n">CPU</span> <span class="p">(</span><span class="k">as</span> <span class="n">opposed</span> <span class="n">to</span> <span class="n">a</span> <span class="nb">set</span> <span class="n">containing</span>
<span class="n">potentially</span> <span class="n">multiple</span> <span class="n">CPUs</span><span class="p">)</span><span class="o">.</span>
<span class="o">-</span><span class="n">B</span><span class="p">,</span> <span class="o">--</span><span class="n">bind</span> <span class="n">host</span><span class="p">[</span><span class="o">%</span><span class="n">dev</span><span class="p">]</span>
<span class="n">bind</span> <span class="n">to</span> <span class="n">the</span> <span class="n">specific</span> <span class="n">interface</span> <span class="n">associated</span> <span class="k">with</span> <span class="n">address</span> <span class="n">host</span><span class="o">.</span> <span class="n">If</span>
<span class="n">an</span> <span class="n">optional</span> <span class="n">interface</span> <span class="ow">is</span> <span class="n">specified</span><span class="p">,</span> <span class="n">it</span> <span class="ow">is</span> <span class="n">treated</span> <span class="k">as</span> <span class="n">a</span> <span class="n">shortcut</span>
<span class="k">for</span> <span class="o">--</span><span class="n">bind</span><span class="o">-</span><span class="n">dev</span> <span class="n">dev</span><span class="o">.</span> <span class="n">Note</span> <span class="n">that</span> <span class="n">a</span> <span class="n">percent</span> <span class="n">sign</span> <span class="ow">and</span> <span class="n">interface</span>
<span class="n">device</span> <span class="n">name</span> <span class="n">are</span> <span class="n">required</span> <span class="k">for</span> <span class="n">IPv6</span> <span class="n">link</span><span class="o">-</span><span class="n">local</span> <span class="n">address</span> <span class="n">literals</span><span class="o">.</span>
<span class="o">--</span><span class="n">bind</span><span class="o">-</span><span class="n">dev</span> <span class="n">dev</span>
<span class="n">bind</span> <span class="n">to</span> <span class="n">the</span> <span class="n">specified</span> <span class="n">network</span> <span class="n">interface</span><span class="o">.</span> <span class="n">This</span> <span class="n">option</span> <span class="n">uses</span>
<span class="n">SO_BINDTODEVICE</span><span class="p">,</span> <span class="ow">and</span> <span class="n">may</span> <span class="n">require</span> <span class="n">root</span> <span class="n">permissions</span><span class="o">.</span> <span class="p">(</span><span class="n">Available</span>
<span class="n">on</span> <span class="n">Linux</span> <span class="ow">and</span> <span class="n">possibly</span> <span class="n">other</span> <span class="n">systems</span><span class="o">.</span><span class="p">)</span>
<span class="o">-</span><span class="n">V</span><span class="p">,</span> <span class="o">--</span><span class="n">verbose</span>
<span class="n">give</span> <span class="n">more</span> <span class="n">detailed</span> <span class="n">output</span>
<span class="o">-</span><span class="n">J</span><span class="p">,</span> <span class="o">--</span><span class="n">json</span>
<span class="n">output</span> <span class="ow">in</span> <span class="n">JSON</span> <span class="nb">format</span>
<span class="o">--</span><span class="n">logfile</span> <span class="n">file</span>
<span class="n">send</span> <span class="n">output</span> <span class="n">to</span> <span class="n">a</span> <span class="n">log</span> <span class="n">file</span><span class="o">.</span>
<span class="o">--</span><span class="n">forceflush</span>
<span class="n">force</span> <span class="n">flushing</span> <span class="n">output</span> <span class="n">at</span> <span class="n">every</span> <span class="n">interval</span><span class="o">.</span> <span class="n">Used</span> <span class="n">to</span> <span class="n">avoid</span> <span class="n">buffer</span><span class="o">-</span>
<span class="n">ing</span> <span class="n">when</span> <span class="n">sending</span> <span class="n">output</span> <span class="n">to</span> <span class="n">pipe</span><span class="o">.</span>
<span class="o">--</span><span class="n">timestamps</span><span class="p">[</span><span class="o">=</span><span class="nb">format</span><span class="p">]</span>
<span class="n">prepend</span> <span class="n">a</span> <span class="n">timestamp</span> <span class="n">at</span> <span class="n">the</span> <span class="n">start</span> <span class="n">of</span> <span class="n">each</span> <span class="n">output</span> <span class="n">line</span><span class="o">.</span> <span class="n">By</span>
<span class="n">default</span><span class="p">,</span> <span class="n">timestamps</span> <span class="n">have</span> <span class="n">the</span> <span class="nb">format</span> <span class="n">emitted</span> <span class="n">by</span> <span class="n">ctime</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span>
<span class="n">Optionally</span><span class="p">,</span> <span class="o">=</span> <span class="n">followed</span> <span class="n">by</span> <span class="n">a</span> <span class="nb">format</span> <span class="n">specification</span> <span class="n">can</span> <span class="n">be</span> <span class="n">passed</span>
<span class="n">to</span> <span class="n">customize</span> <span class="n">the</span> <span class="n">timestamps</span><span class="p">,</span> <span class="n">see</span> <span class="n">strftime</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="o">.</span> <span class="n">If</span> <span class="n">this</span> <span class="n">optional</span>
<span class="nb">format</span> <span class="ow">is</span> <span class="n">given</span><span class="p">,</span> <span class="n">the</span> <span class="o">=</span> <span class="n">must</span> <span class="n">immediately</span> <span class="n">follow</span> <span class="n">the</span> <span class="o">--</span><span class="n">timestamps</span>
<span class="n">option</span> <span class="k">with</span> <span class="n">no</span> <span class="n">whitespace</span> <span class="n">intervening</span><span class="o">.</span>
<span class="o">--</span><span class="n">rcv</span><span class="o">-</span><span class="n">timeout</span> <span class="c1">#</span>
<span class="nb">set</span> <span class="n">idle</span> <span class="n">timeout</span> <span class="k">for</span> <span class="n">receiving</span> <span class="n">data</span> <span class="n">during</span> <span class="n">active</span> <span class="n">tests</span><span class="o">.</span> <span class="n">The</span>
<span class="n">receiver</span> <span class="n">will</span> <span class="n">halt</span> <span class="n">a</span> <span class="n">test</span> <span class="k">if</span> <span class="n">no</span> <span class="n">data</span> <span class="ow">is</span> <span class="n">received</span> <span class="kn">from</span> <span class="nn">the</span> <span class="n">sender</span>
<span class="k">for</span> <span class="n">this</span> <span class="n">number</span> <span class="n">of</span> <span class="n">ms</span> <span class="p">(</span><span class="n">default</span> <span class="n">to</span> <span class="mi">120000</span> <span class="n">ms</span><span class="p">,</span> <span class="ow">or</span> <span class="mi">2</span> <span class="n">minutes</span><span class="p">)</span><span class="o">.</span>
<span class="o">--</span><span class="n">snd</span><span class="o">-</span><span class="n">timeout</span> <span class="c1">#</span>
<span class="nb">set</span> <span class="n">timeout</span> <span class="k">for</span> <span class="n">unacknowledged</span> <span class="n">TCP</span> <span class="n">data</span> <span class="p">(</span><span class="n">on</span> <span class="n">both</span> <span class="n">test</span> <span class="ow">and</span> <span class="n">con</span><span class="o">-</span>
<span class="n">trol</span> <span class="n">connections</span><span class="p">)</span> <span class="n">This</span> <span class="n">option</span> <span class="n">can</span> <span class="n">be</span> <span class="n">used</span> <span class="n">to</span> <span class="n">force</span> <span class="n">a</span> <span class="n">faster</span> <span class="n">test</span>
<span class="n">timeout</span> <span class="ow">in</span> <span class="n">case</span> <span class="n">of</span> <span class="n">a</span> <span class="n">network</span> <span class="n">partition</span> <span class="n">during</span> <span class="n">a</span> <span class="n">test</span><span class="o">.</span> <span class="n">The</span>
<span class="n">required</span> <span class="n">parameter</span> <span class="ow">is</span> <span class="n">specified</span> <span class="ow">in</span> <span class="n">ms</span><span class="p">,</span> <span class="ow">and</span> <span class="n">defaults</span> <span class="n">to</span> <span class="n">the</span> <span class="n">sys</span><span class="o">-</span>
<span class="n">tem</span> <span class="n">settings</span><span class="o">.</span> <span class="n">This</span> <span class="n">functionality</span> <span class="n">depends</span> <span class="n">on</span> <span class="n">the</span> <span class="n">TCP_USER_TIME</span><span class="o">-</span>
<span class="n">OUT</span> <span class="n">socket</span> <span class="n">option</span><span class="p">,</span> <span class="ow">and</span> <span class="n">will</span> <span class="ow">not</span> <span class="n">work</span> <span class="n">on</span> <span class="n">systems</span> <span class="n">that</span> <span class="n">do</span> <span class="ow">not</span> <span class="n">sup</span><span class="o">-</span>
<span class="n">port</span> <span class="n">it</span><span class="o">.</span>
<span class="o">-</span><span class="n">d</span><span class="p">,</span> <span class="o">--</span><span class="n">debug</span>
<span class="n">emit</span> <span class="n">debugging</span> <span class="n">output</span><span class="o">.</span> <span class="n">Primarily</span> <span class="p">(</span><span class="n">perhaps</span> <span class="n">exclusively</span><span class="p">)</span> <span class="n">of</span> <span class="n">use</span>
<span class="n">to</span> <span class="n">developers</span><span class="o">.</span>
<span class="o">-</span><span class="n">v</span><span class="p">,</span> <span class="o">--</span><span class="n">version</span>
<span class="n">show</span> <span class="n">version</span> <span class="n">information</span> <span class="ow">and</span> <span class="n">quit</span>
<span class="o">-</span><span class="n">h</span><span class="p">,</span> <span class="o">--</span><span class="n">help</span>
<span class="n">show</span> <span class="n">a</span> <span class="n">help</span> <span class="n">synopsis</span>
<span class="n">SERVER</span> <span class="n">SPECIFIC</span> <span class="n">OPTIONS</span>
<span class="o">-</span><span class="n">s</span><span class="p">,</span> <span class="o">--</span><span class="n">server</span>
<span class="n">run</span> <span class="ow">in</span> <span class="n">server</span> <span class="n">mode</span>
<span class="o">-</span><span class="n">D</span><span class="p">,</span> <span class="o">--</span><span class="n">daemon</span>
<span class="n">run</span> <span class="n">the</span> <span class="n">server</span> <span class="ow">in</span> <span class="n">background</span> <span class="k">as</span> <span class="n">a</span> <span class="n">daemon</span>
<span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="o">--</span><span class="n">one</span><span class="o">-</span><span class="n">off</span>
<span class="n">handle</span> <span class="n">one</span> <span class="n">client</span> <span class="n">connection</span><span class="p">,</span> <span class="n">then</span> <span class="n">exit</span><span class="o">.</span> <span class="n">If</span> <span class="n">an</span> <span class="n">idle</span> <span class="n">time</span> <span class="ow">is</span>
<span class="nb">set</span><span class="p">,</span> <span class="n">the</span> <span class="n">server</span> <span class="n">will</span> <span class="n">exit</span> <span class="n">after</span> <span class="n">that</span> <span class="n">amount</span> <span class="n">of</span> <span class="n">time</span> <span class="k">with</span> <span class="n">no</span> <span class="n">con</span><span class="o">-</span>
<span class="n">nection</span><span class="o">.</span>
<span class="o">--</span><span class="n">idle</span><span class="o">-</span><span class="n">timeout</span> <span class="n">n</span>
<span class="n">restart</span> <span class="n">the</span> <span class="n">server</span> <span class="n">after</span> <span class="n">n</span> <span class="n">seconds</span> <span class="ow">in</span> <span class="n">case</span> <span class="n">it</span> <span class="n">gets</span> <span class="n">stuck</span><span class="o">.</span> <span class="n">In</span>
<span class="n">one</span><span class="o">-</span><span class="n">off</span> <span class="n">mode</span><span class="p">,</span> <span class="n">this</span> <span class="ow">is</span> <span class="n">the</span> <span class="n">number</span> <span class="n">of</span> <span class="n">seconds</span> <span class="n">the</span> <span class="n">server</span> <span class="n">will</span> <span class="n">wait</span>
<span class="n">before</span> <span class="n">exiting</span><span class="o">.</span>
<span class="o">--</span><span class="n">server</span><span class="o">-</span><span class="n">bitrate</span><span class="o">-</span><span class="n">limit</span> <span class="n">n</span><span class="p">[</span><span class="n">KMGT</span><span class="p">]</span>
<span class="nb">set</span> <span class="n">a</span> <span class="n">limit</span> <span class="n">on</span> <span class="n">the</span> <span class="n">server</span> <span class="n">side</span><span class="p">,</span> <span class="n">which</span> <span class="n">will</span> <span class="n">cause</span> <span class="n">a</span> <span class="n">test</span> <span class="n">to</span> <span class="n">abort</span>
<span class="k">if</span> <span class="n">the</span> <span class="n">client</span> <span class="n">specifies</span> <span class="n">a</span> <span class="n">test</span> <span class="n">of</span> <span class="n">more</span> <span class="n">than</span> <span class="n">n</span> <span class="n">bits</span> <span class="n">per</span> <span class="n">second</span><span class="p">,</span>
<span class="ow">or</span> <span class="k">if</span> <span class="n">the</span> <span class="n">average</span> <span class="n">data</span> <span class="n">sent</span> <span class="ow">or</span> <span class="n">received</span> <span class="n">by</span> <span class="n">the</span> <span class="n">client</span> <span class="p">(</span><span class="n">including</span>
<span class="nb">all</span> <span class="n">data</span> <span class="n">streams</span><span class="p">)</span> <span class="ow">is</span> <span class="n">greater</span> <span class="n">than</span> <span class="n">n</span> <span class="n">bits</span> <span class="n">per</span> <span class="n">second</span><span class="o">.</span> <span class="n">The</span>
<span class="n">default</span> <span class="n">limit</span> <span class="ow">is</span> <span class="n">zero</span><span class="p">,</span> <span class="n">which</span> <span class="n">implies</span> <span class="n">no</span> <span class="n">limit</span><span class="o">.</span> <span class="n">The</span> <span class="n">interval</span>
<span class="n">over</span> <span class="n">which</span> <span class="n">to</span> <span class="n">average</span> <span class="n">the</span> <span class="n">data</span> <span class="n">rate</span> <span class="ow">is</span> <span class="mi">5</span> <span class="n">seconds</span> <span class="n">by</span> <span class="n">default</span><span class="p">,</span> <span class="n">but</span>
<span class="n">can</span> <span class="n">be</span> <span class="n">specified</span> <span class="n">by</span> <span class="n">adding</span> <span class="n">a</span> <span class="s1">&#39;/&#39;</span> <span class="ow">and</span> <span class="n">a</span> <span class="n">number</span> <span class="n">to</span> <span class="n">the</span> <span class="n">bitrate</span>
<span class="n">specifier</span><span class="o">.</span>
<span class="o">--</span><span class="n">rsa</span><span class="o">-</span><span class="n">private</span><span class="o">-</span><span class="n">key</span><span class="o">-</span><span class="n">path</span> <span class="n">file</span>
<span class="n">path</span> <span class="n">to</span> <span class="n">the</span> <span class="n">RSA</span> <span class="n">private</span> <span class="n">key</span> <span class="p">(</span><span class="ow">not</span> <span class="n">password</span><span class="o">-</span><span class="n">protected</span><span class="p">)</span> <span class="n">used</span> <span class="n">to</span>
<span class="n">decrypt</span> <span class="n">authentication</span> <span class="n">credentials</span> <span class="kn">from</span> <span class="nn">the</span> <span class="n">client</span> <span class="p">(</span><span class="k">if</span> <span class="n">built</span>
<span class="k">with</span> <span class="n">OpenSSL</span> <span class="n">support</span><span class="p">)</span><span class="o">.</span>
<span class="o">--</span><span class="n">authorized</span><span class="o">-</span><span class="n">users</span><span class="o">-</span><span class="n">path</span> <span class="n">file</span>
<span class="n">path</span> <span class="n">to</span> <span class="n">the</span> <span class="n">configuration</span> <span class="n">file</span> <span class="n">containing</span> <span class="n">authorized</span> <span class="n">users</span> <span class="n">cre</span><span class="o">-</span>
<span class="n">dentials</span> <span class="n">to</span> <span class="n">run</span> <span class="n">iperf</span> <span class="n">tests</span> <span class="p">(</span><span class="k">if</span> <span class="n">built</span> <span class="k">with</span> <span class="n">OpenSSL</span> <span class="n">support</span><span class="p">)</span><span class="o">.</span>
<span class="n">The</span> <span class="n">file</span> <span class="ow">is</span> <span class="n">a</span> <span class="n">comma</span> <span class="n">separated</span> <span class="nb">list</span> <span class="n">of</span> <span class="n">usernames</span> <span class="ow">and</span> <span class="n">password</span>
<span class="n">hashes</span><span class="p">;</span> <span class="n">more</span> <span class="n">information</span> <span class="n">on</span> <span class="n">the</span> <span class="n">structure</span> <span class="n">of</span> <span class="n">the</span> <span class="n">file</span> <span class="n">can</span> <span class="n">be</span>
<span class="n">found</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">EXAMPLES</span> <span class="n">section</span><span class="o">.</span>
<span class="o">--</span><span class="n">time</span><span class="o">-</span><span class="n">skew</span><span class="o">-</span><span class="n">thresholdsecond</span> <span class="n">seconds</span>
<span class="n">time</span> <span class="n">skew</span> <span class="n">threshold</span> <span class="p">(</span><span class="ow">in</span> <span class="n">seconds</span><span class="p">)</span> <span class="n">between</span> <span class="n">the</span> <span class="n">server</span> <span class="ow">and</span> <span class="n">client</span>
<span class="n">during</span> <span class="n">the</span> <span class="n">authentication</span> <span class="n">process</span><span class="o">.</span>
<span class="n">CLIENT</span> <span class="n">SPECIFIC</span> <span class="n">OPTIONS</span>
<span class="o">-</span><span class="n">c</span><span class="p">,</span> <span class="o">--</span><span class="n">client</span> <span class="n">host</span><span class="p">[</span><span class="o">%</span><span class="n">dev</span><span class="p">]</span>
<span class="n">run</span> <span class="ow">in</span> <span class="n">client</span> <span class="n">mode</span><span class="p">,</span> <span class="n">connecting</span> <span class="n">to</span> <span class="n">the</span> <span class="n">specified</span> <span class="n">server</span><span class="o">.</span> <span class="n">By</span>
<span class="n">default</span><span class="p">,</span> <span class="n">a</span> <span class="n">test</span> <span class="n">consists</span> <span class="n">of</span> <span class="n">sending</span> <span class="n">data</span> <span class="kn">from</span> <span class="nn">the</span> <span class="n">client</span> <span class="n">to</span> <span class="n">the</span>
<span class="n">server</span><span class="p">,</span> <span class="n">unless</span> <span class="n">the</span> <span class="o">-</span><span class="n">R</span> <span class="n">flag</span> <span class="ow">is</span> <span class="n">specified</span><span class="o">.</span> <span class="n">If</span> <span class="n">an</span> <span class="n">optional</span> <span class="n">inter</span><span class="o">-</span>
<span class="n">face</span> <span class="ow">is</span> <span class="n">specified</span><span class="p">,</span> <span class="n">it</span> <span class="ow">is</span> <span class="n">treated</span> <span class="k">as</span> <span class="n">a</span> <span class="n">shortcut</span> <span class="k">for</span> <span class="o">--</span><span class="n">bind</span><span class="o">-</span><span class="n">dev</span>
<span class="n">dev</span><span class="o">.</span> <span class="n">Note</span> <span class="n">that</span> <span class="n">a</span> <span class="n">percent</span> <span class="n">sign</span> <span class="ow">and</span> <span class="n">interface</span> <span class="n">device</span> <span class="n">name</span> <span class="n">are</span>
<span class="n">required</span> <span class="k">for</span> <span class="n">IPv6</span> <span class="n">link</span><span class="o">-</span><span class="n">local</span> <span class="n">address</span> <span class="n">literals</span><span class="o">.</span>
<span class="o">--</span><span class="n">sctp</span> <span class="n">use</span> <span class="n">SCTP</span> <span class="n">rather</span> <span class="n">than</span> <span class="n">TCP</span> <span class="p">(</span><span class="n">FreeBSD</span> <span class="ow">and</span> <span class="n">Linux</span><span class="p">)</span>
<span class="o">-</span><span class="n">u</span><span class="p">,</span> <span class="o">--</span><span class="n">udp</span>
<span class="n">use</span> <span class="n">UDP</span> <span class="n">rather</span> <span class="n">than</span> <span class="n">TCP</span>
<span class="o">--</span><span class="n">connect</span><span class="o">-</span><span class="n">timeout</span> <span class="n">n</span>
<span class="nb">set</span> <span class="n">timeout</span> <span class="k">for</span> <span class="n">establishing</span> <span class="n">the</span> <span class="n">initial</span> <span class="n">control</span> <span class="n">connection</span> <span class="n">to</span>
<span class="n">the</span> <span class="n">server</span><span class="p">,</span> <span class="ow">in</span> <span class="n">milliseconds</span><span class="o">.</span> <span class="n">The</span> <span class="n">default</span> <span class="n">behavior</span> <span class="ow">is</span> <span class="n">the</span> <span class="n">oper</span><span class="o">-</span>
<span class="n">ating</span> <span class="n">system</span><span class="s1">&#39;s timeout for TCP connection establishment. Pro-</span>
<span class="n">viding</span> <span class="n">a</span> <span class="n">shorter</span> <span class="n">value</span> <span class="n">may</span> <span class="n">speed</span> <span class="n">up</span> <span class="n">detection</span> <span class="n">of</span> <span class="n">a</span> <span class="n">down</span> <span class="n">iperf3</span>
<span class="n">server</span><span class="o">.</span>
<span class="o">-</span><span class="n">b</span><span class="p">,</span> <span class="o">--</span><span class="n">bitrate</span> <span class="n">n</span><span class="p">[</span><span class="n">KMGT</span><span class="p">]</span>
<span class="nb">set</span> <span class="n">target</span> <span class="n">bitrate</span> <span class="n">to</span> <span class="n">n</span> <span class="n">bits</span><span class="o">/</span><span class="n">sec</span> <span class="p">(</span><span class="n">default</span> <span class="mi">1</span> <span class="n">Mbit</span><span class="o">/</span><span class="n">sec</span> <span class="k">for</span> <span class="n">UDP</span><span class="p">,</span>
<span class="n">unlimited</span> <span class="k">for</span> <span class="n">TCP</span><span class="o">/</span><span class="n">SCTP</span><span class="p">)</span><span class="o">.</span> <span class="n">If</span> <span class="n">there</span> <span class="n">are</span> <span class="n">multiple</span> <span class="n">streams</span> <span class="p">(</span><span class="o">-</span><span class="n">P</span>
<span class="n">flag</span><span class="p">),</span> <span class="n">the</span> <span class="n">throughput</span> <span class="n">limit</span> <span class="ow">is</span> <span class="n">applied</span> <span class="n">separately</span> <span class="n">to</span> <span class="n">each</span>
<span class="n">stream</span><span class="o">.</span> <span class="n">You</span> <span class="n">can</span> <span class="n">also</span> <span class="n">add</span> <span class="n">a</span> <span class="s1">&#39;/&#39;</span> <span class="ow">and</span> <span class="n">a</span> <span class="n">number</span> <span class="n">to</span> <span class="n">the</span> <span class="n">bitrate</span>
<span class="n">specifier</span><span class="o">.</span> <span class="n">This</span> <span class="ow">is</span> <span class="n">called</span> <span class="s2">&quot;burst mode&quot;</span><span class="o">.</span> <span class="n">It</span> <span class="n">will</span> <span class="n">send</span> <span class="n">the</span> <span class="n">given</span>
<span class="n">number</span> <span class="n">of</span> <span class="n">packets</span> <span class="n">without</span> <span class="n">pausing</span><span class="p">,</span> <span class="n">even</span> <span class="k">if</span> <span class="n">that</span> <span class="n">temporarily</span>
<span class="n">exceeds</span> <span class="n">the</span> <span class="n">specified</span> <span class="n">throughput</span> <span class="n">limit</span><span class="o">.</span> <span class="n">Setting</span> <span class="n">the</span> <span class="n">target</span>
<span class="n">bitrate</span> <span class="n">to</span> <span class="mi">0</span> <span class="n">will</span> <span class="n">disable</span> <span class="n">bitrate</span> <span class="n">limits</span> <span class="p">(</span><span class="n">particularly</span> <span class="n">useful</span>
<span class="k">for</span> <span class="n">UDP</span> <span class="n">tests</span><span class="p">)</span><span class="o">.</span> <span class="n">This</span> <span class="n">throughput</span> <span class="n">limit</span> <span class="ow">is</span> <span class="n">implemented</span> <span class="n">internally</span>
<span class="n">inside</span> <span class="n">iperf3</span><span class="p">,</span> <span class="ow">and</span> <span class="ow">is</span> <span class="n">available</span> <span class="n">on</span> <span class="nb">all</span> <span class="n">platforms</span><span class="o">.</span> <span class="n">Compare</span> <span class="k">with</span>
<span class="n">the</span> <span class="o">--</span><span class="n">fq</span><span class="o">-</span><span class="n">rate</span> <span class="n">flag</span><span class="o">.</span> <span class="n">This</span> <span class="n">option</span> <span class="n">replaces</span> <span class="n">the</span> <span class="o">--</span><span class="n">bandwidth</span> <span class="n">flag</span><span class="p">,</span>
<span class="n">which</span> <span class="ow">is</span> <span class="n">now</span> <span class="n">deprecated</span> <span class="n">but</span> <span class="p">(</span><span class="n">at</span> <span class="n">least</span> <span class="k">for</span> <span class="n">now</span><span class="p">)</span> <span class="n">still</span> <span class="n">accepted</span><span class="o">.</span>
<span class="o">--</span><span class="n">pacing</span><span class="o">-</span><span class="n">timer</span> <span class="n">n</span><span class="p">[</span><span class="n">KMGT</span><span class="p">]</span>
<span class="nb">set</span> <span class="n">pacing</span> <span class="n">timer</span> <span class="n">interval</span> <span class="ow">in</span> <span class="n">microseconds</span> <span class="p">(</span><span class="n">default</span> <span class="mi">1000</span>
<span class="n">microseconds</span><span class="p">,</span> <span class="ow">or</span> <span class="mi">1</span> <span class="n">ms</span><span class="p">)</span><span class="o">.</span> <span class="n">This</span> <span class="n">controls</span> <span class="n">iperf3</span><span class="s1">&#39;s internal pacing</span>
<span class="n">timer</span> <span class="k">for</span> <span class="n">the</span> <span class="o">-</span><span class="n">b</span><span class="o">/--</span><span class="n">bitrate</span> <span class="n">option</span><span class="o">.</span> <span class="n">The</span> <span class="n">timer</span> <span class="n">fires</span> <span class="n">at</span> <span class="n">the</span>
<span class="n">interval</span> <span class="nb">set</span> <span class="n">by</span> <span class="n">this</span> <span class="n">parameter</span><span class="o">.</span> <span class="n">Smaller</span> <span class="n">values</span> <span class="n">of</span> <span class="n">the</span> <span class="n">pacing</span>
<span class="n">timer</span> <span class="n">parameter</span> <span class="n">smooth</span> <span class="n">out</span> <span class="n">the</span> <span class="n">traffic</span> <span class="n">emitted</span> <span class="n">by</span> <span class="n">iperf3</span><span class="p">,</span> <span class="n">but</span>
<span class="n">potentially</span> <span class="n">at</span> <span class="n">the</span> <span class="n">cost</span> <span class="n">of</span> <span class="n">performance</span> <span class="n">due</span> <span class="n">to</span> <span class="n">more</span> <span class="n">frequent</span>
<span class="n">timer</span> <span class="n">processing</span><span class="o">.</span>
<span class="o">--</span><span class="n">fq</span><span class="o">-</span><span class="n">rate</span> <span class="n">n</span><span class="p">[</span><span class="n">KMGT</span><span class="p">]</span>
<span class="n">Set</span> <span class="n">a</span> <span class="n">rate</span> <span class="n">to</span> <span class="n">be</span> <span class="n">used</span> <span class="k">with</span> <span class="n">fair</span><span class="o">-</span><span class="n">queueing</span> <span class="n">based</span> <span class="n">socket</span><span class="o">-</span><span class="n">level</span> <span class="n">pac</span><span class="o">-</span>
<span class="n">ing</span><span class="p">,</span> <span class="ow">in</span> <span class="n">bits</span> <span class="n">per</span> <span class="n">second</span><span class="o">.</span> <span class="n">This</span> <span class="n">pacing</span> <span class="p">(</span><span class="k">if</span> <span class="n">specified</span><span class="p">)</span> <span class="n">will</span> <span class="n">be</span> <span class="ow">in</span>
<span class="n">addition</span> <span class="n">to</span> <span class="nb">any</span> <span class="n">pacing</span> <span class="n">due</span> <span class="n">to</span> <span class="n">iperf3</span><span class="s1">&#39;s internal throughput pac-</span>
<span class="n">ing</span> <span class="p">(</span><span class="o">-</span><span class="n">b</span><span class="o">/--</span><span class="n">bitrate</span> <span class="n">flag</span><span class="p">),</span> <span class="ow">and</span> <span class="n">both</span> <span class="n">can</span> <span class="n">be</span> <span class="n">specified</span> <span class="k">for</span> <span class="n">the</span> <span class="n">same</span>
<span class="n">test</span><span class="o">.</span> <span class="n">Only</span> <span class="n">available</span> <span class="n">on</span> <span class="n">platforms</span> <span class="n">supporting</span> <span class="n">the</span> <span class="n">SO_MAX_PAC</span><span class="o">-</span>
<span class="n">ING_RATE</span> <span class="n">socket</span> <span class="n">option</span> <span class="p">(</span><span class="n">currently</span> <span class="n">only</span> <span class="n">Linux</span><span class="p">)</span><span class="o">.</span> <span class="n">The</span> <span class="n">default</span> <span class="ow">is</span>
<span class="n">no</span> <span class="n">fair</span><span class="o">-</span><span class="n">queueing</span> <span class="n">based</span> <span class="n">pacing</span><span class="o">.</span>
<span class="o">--</span><span class="n">no</span><span class="o">-</span><span class="n">fq</span><span class="o">-</span><span class="n">socket</span><span class="o">-</span><span class="n">pacing</span>
<span class="n">This</span> <span class="n">option</span> <span class="ow">is</span> <span class="n">deprecated</span> <span class="ow">and</span> <span class="n">will</span> <span class="n">be</span> <span class="n">removed</span><span class="o">.</span> <span class="n">It</span> <span class="ow">is</span> <span class="n">equivalent</span>
<span class="n">to</span> <span class="n">specifying</span> <span class="o">--</span><span class="n">fq</span><span class="o">-</span><span class="n">rate</span><span class="o">=</span><span class="mf">0.</span>
<span class="o">-</span><span class="n">t</span><span class="p">,</span> <span class="o">--</span><span class="n">time</span> <span class="n">n</span>
<span class="n">time</span> <span class="ow">in</span> <span class="n">seconds</span> <span class="n">to</span> <span class="n">transmit</span> <span class="k">for</span> <span class="p">(</span><span class="n">default</span> <span class="mi">10</span> <span class="n">secs</span><span class="p">)</span>
<span class="o">-</span><span class="n">n</span><span class="p">,</span> <span class="o">--</span><span class="nb">bytes</span> <span class="n">n</span><span class="p">[</span><span class="n">KMGT</span><span class="p">]</span>
<span class="n">number</span> <span class="n">of</span> <span class="nb">bytes</span> <span class="n">to</span> <span class="n">transmit</span> <span class="p">(</span><span class="n">instead</span> <span class="n">of</span> <span class="o">-</span><span class="n">t</span><span class="p">)</span>
<span class="o">-</span><span class="n">k</span><span class="p">,</span> <span class="o">--</span><span class="n">blockcount</span> <span class="n">n</span><span class="p">[</span><span class="n">KMGT</span><span class="p">]</span>
<span class="n">number</span> <span class="n">of</span> <span class="n">blocks</span> <span class="p">(</span><span class="n">packets</span><span class="p">)</span> <span class="n">to</span> <span class="n">transmit</span> <span class="p">(</span><span class="n">instead</span> <span class="n">of</span> <span class="o">-</span><span class="n">t</span> <span class="ow">or</span> <span class="o">-</span><span class="n">n</span><span class="p">)</span>
<span class="o">-</span><span class="n">l</span><span class="p">,</span> <span class="o">--</span><span class="n">length</span> <span class="n">n</span><span class="p">[</span><span class="n">KMGT</span><span class="p">]</span>
<span class="n">length</span> <span class="n">of</span> <span class="n">buffer</span> <span class="n">to</span> <span class="n">read</span> <span class="ow">or</span> <span class="n">write</span><span class="o">.</span> <span class="n">For</span> <span class="n">TCP</span> <span class="n">tests</span><span class="p">,</span> <span class="n">the</span> <span class="n">default</span>
<span class="n">value</span> <span class="ow">is</span> <span class="mi">128</span><span class="n">KB</span><span class="o">.</span> <span class="n">In</span> <span class="n">the</span> <span class="n">case</span> <span class="n">of</span> <span class="n">UDP</span><span class="p">,</span> <span class="n">iperf3</span> <span class="n">tries</span> <span class="n">to</span> <span class="n">dynamically</span>
<span class="n">determine</span> <span class="n">a</span> <span class="n">reasonable</span> <span class="n">sending</span> <span class="n">size</span> <span class="n">based</span> <span class="n">on</span> <span class="n">the</span> <span class="n">path</span> <span class="n">MTU</span><span class="p">;</span> <span class="k">if</span>
<span class="n">that</span> <span class="n">cannot</span> <span class="n">be</span> <span class="n">determined</span> <span class="n">it</span> <span class="n">uses</span> <span class="mi">1460</span> <span class="nb">bytes</span> <span class="k">as</span> <span class="n">a</span> <span class="n">sending</span> <span class="n">size</span><span class="o">.</span>
<span class="n">For</span> <span class="n">SCTP</span> <span class="n">tests</span><span class="p">,</span> <span class="n">the</span> <span class="n">default</span> <span class="n">size</span> <span class="ow">is</span> <span class="mi">64</span><span class="n">KB</span><span class="o">.</span>
<span class="o">--</span><span class="n">cport</span> <span class="n">port</span>
<span class="n">bind</span> <span class="n">data</span> <span class="n">streams</span> <span class="n">to</span> <span class="n">a</span> <span class="n">specific</span> <span class="n">client</span> <span class="n">port</span> <span class="p">(</span><span class="k">for</span> <span class="n">TCP</span> <span class="ow">and</span> <span class="n">UDP</span>
<span class="n">only</span><span class="p">,</span> <span class="n">default</span> <span class="ow">is</span> <span class="n">to</span> <span class="n">use</span> <span class="n">an</span> <span class="n">ephemeral</span> <span class="n">port</span><span class="p">)</span>
<span class="o">-</span><span class="n">P</span><span class="p">,</span> <span class="o">--</span><span class="n">parallel</span> <span class="n">n</span>
<span class="n">number</span> <span class="n">of</span> <span class="n">parallel</span> <span class="n">client</span> <span class="n">streams</span> <span class="n">to</span> <span class="n">run</span><span class="o">.</span> <span class="n">Note</span> <span class="n">that</span> <span class="n">iperf3</span> <span class="ow">is</span>
<span class="n">single</span> <span class="n">threaded</span><span class="p">,</span> <span class="n">so</span> <span class="k">if</span> <span class="n">you</span> <span class="n">are</span> <span class="n">CPU</span> <span class="n">bound</span><span class="p">,</span> <span class="n">this</span> <span class="n">will</span> <span class="ow">not</span> <span class="k">yield</span>
<span class="n">higher</span> <span class="n">throughput</span><span class="o">.</span>
<span class="o">-</span><span class="n">R</span><span class="p">,</span> <span class="o">--</span><span class="n">reverse</span>
<span class="n">reverse</span> <span class="n">the</span> <span class="n">direction</span> <span class="n">of</span> <span class="n">a</span> <span class="n">test</span><span class="p">,</span> <span class="n">so</span> <span class="n">that</span> <span class="n">the</span> <span class="n">server</span> <span class="n">sends</span> <span class="n">data</span>
<span class="n">to</span> <span class="n">the</span> <span class="n">client</span>
<span class="o">--</span><span class="n">bidir</span>
<span class="n">test</span> <span class="ow">in</span> <span class="n">both</span> <span class="n">directions</span> <span class="p">(</span><span class="n">normal</span> <span class="ow">and</span> <span class="n">reverse</span><span class="p">),</span> <span class="k">with</span> <span class="n">both</span> <span class="n">the</span>
<span class="n">client</span> <span class="ow">and</span> <span class="n">server</span> <span class="n">sending</span> <span class="ow">and</span> <span class="n">receiving</span> <span class="n">data</span> <span class="n">simultaneously</span>
<span class="o">-</span><span class="n">w</span><span class="p">,</span> <span class="o">--</span><span class="n">window</span> <span class="n">n</span><span class="p">[</span><span class="n">KMGT</span><span class="p">]</span>
<span class="nb">set</span> <span class="n">socket</span> <span class="n">buffer</span> <span class="n">size</span> <span class="o">/</span> <span class="n">window</span> <span class="n">size</span><span class="o">.</span> <span class="n">This</span> <span class="n">value</span> <span class="n">gets</span> <span class="n">sent</span> <span class="n">to</span>
<span class="n">the</span> <span class="n">server</span> <span class="ow">and</span> <span class="n">used</span> <span class="n">on</span> <span class="n">that</span> <span class="n">side</span> <span class="n">too</span><span class="p">;</span> <span class="n">on</span> <span class="n">both</span> <span class="n">sides</span> <span class="n">this</span> <span class="n">option</span>
<span class="n">sets</span> <span class="n">both</span> <span class="n">the</span> <span class="n">sending</span> <span class="ow">and</span> <span class="n">receiving</span> <span class="n">socket</span> <span class="n">buffer</span> <span class="n">sizes</span><span class="o">.</span> <span class="n">This</span>
<span class="n">option</span> <span class="n">can</span> <span class="n">be</span> <span class="n">used</span> <span class="n">to</span> <span class="nb">set</span> <span class="p">(</span><span class="n">indirectly</span><span class="p">)</span> <span class="n">the</span> <span class="n">maximum</span> <span class="n">TCP</span> <span class="n">window</span>
<span class="n">size</span><span class="o">.</span> <span class="n">Note</span> <span class="n">that</span> <span class="n">on</span> <span class="n">Linux</span> <span class="n">systems</span><span class="p">,</span> <span class="n">the</span> <span class="n">effective</span> <span class="n">maximum</span> <span class="n">window</span>
<span class="n">size</span> <span class="ow">is</span> <span class="n">approximately</span> <span class="n">double</span> <span class="n">what</span> <span class="ow">is</span> <span class="n">specified</span> <span class="n">by</span> <span class="n">this</span> <span class="n">option</span>
<span class="p">(</span><span class="n">this</span> <span class="n">behavior</span> <span class="ow">is</span> <span class="ow">not</span> <span class="n">a</span> <span class="n">bug</span> <span class="ow">in</span> <span class="n">iperf3</span> <span class="n">but</span> <span class="n">a</span> <span class="s2">&quot;feature&quot;</span> <span class="n">of</span> <span class="n">the</span>
<span class="n">Linux</span> <span class="n">kernel</span><span class="p">,</span> <span class="k">as</span> <span class="n">documented</span> <span class="n">by</span> <span class="n">tcp</span><span class="p">(</span><span class="mi">7</span><span class="p">)</span> <span class="ow">and</span> <span class="n">socket</span><span class="p">(</span><span class="mi">7</span><span class="p">))</span><span class="o">.</span>
<span class="o">-</span><span class="n">M</span><span class="p">,</span> <span class="o">--</span><span class="nb">set</span><span class="o">-</span><span class="n">mss</span> <span class="n">n</span>
<span class="nb">set</span> <span class="n">TCP</span><span class="o">/</span><span class="n">SCTP</span> <span class="n">maximum</span> <span class="n">segment</span> <span class="n">size</span> <span class="p">(</span><span class="n">MTU</span> <span class="o">-</span> <span class="mi">40</span> <span class="nb">bytes</span><span class="p">)</span>
<span class="o">-</span><span class="n">N</span><span class="p">,</span> <span class="o">--</span><span class="n">no</span><span class="o">-</span><span class="n">delay</span>
<span class="nb">set</span> <span class="n">TCP</span><span class="o">/</span><span class="n">SCTP</span> <span class="n">no</span> <span class="n">delay</span><span class="p">,</span> <span class="n">disabling</span> <span class="n">Nagle</span><span class="s1">&#39;s Algorithm</span>
<span class="o">-</span><span class="mi">4</span><span class="p">,</span> <span class="o">--</span><span class="n">version4</span>
<span class="n">only</span> <span class="n">use</span> <span class="n">IPv4</span>
<span class="o">-</span><span class="mi">6</span><span class="p">,</span> <span class="o">--</span><span class="n">version6</span>
<span class="n">only</span> <span class="n">use</span> <span class="n">IPv6</span>
<span class="o">-</span><span class="n">S</span><span class="p">,</span> <span class="o">--</span><span class="n">tos</span> <span class="n">n</span>
<span class="nb">set</span> <span class="n">the</span> <span class="n">IP</span> <span class="nb">type</span> <span class="n">of</span> <span class="n">service</span><span class="o">.</span> <span class="n">The</span> <span class="n">usual</span> <span class="n">prefixes</span> <span class="k">for</span> <span class="n">octal</span> <span class="ow">and</span> <span class="nb">hex</span>
<span class="n">can</span> <span class="n">be</span> <span class="n">used</span><span class="p">,</span> <span class="n">i</span><span class="o">.</span><span class="n">e</span><span class="o">.</span> <span class="mi">52</span><span class="p">,</span> <span class="mi">064</span> <span class="ow">and</span> <span class="mh">0x34</span> <span class="nb">all</span> <span class="n">specify</span> <span class="n">the</span> <span class="n">same</span> <span class="n">value</span><span class="o">.</span>
<span class="o">--</span><span class="n">dscp</span> <span class="n">dscp</span>
<span class="nb">set</span> <span class="n">the</span> <span class="n">IP</span> <span class="n">DSCP</span> <span class="n">bits</span><span class="o">.</span> <span class="n">Both</span> <span class="n">numeric</span> <span class="ow">and</span> <span class="n">symbolic</span> <span class="n">values</span> <span class="n">are</span>
<span class="n">accepted</span><span class="o">.</span> <span class="n">Numeric</span> <span class="n">values</span> <span class="n">can</span> <span class="n">be</span> <span class="n">specified</span> <span class="ow">in</span> <span class="n">decimal</span><span class="p">,</span> <span class="n">octal</span> <span class="ow">and</span>
<span class="nb">hex</span> <span class="p">(</span><span class="n">see</span> <span class="o">--</span><span class="n">tos</span> <span class="n">above</span><span class="p">)</span><span class="o">.</span> <span class="n">To</span> <span class="nb">set</span> <span class="n">both</span> <span class="n">the</span> <span class="n">DSCP</span> <span class="n">bits</span> <span class="ow">and</span> <span class="n">the</span> <span class="n">ECN</span>
<span class="n">bits</span><span class="p">,</span> <span class="n">use</span> <span class="o">--</span><span class="n">tos</span><span class="o">.</span>
<span class="o">-</span><span class="n">L</span><span class="p">,</span> <span class="o">--</span><span class="n">flowlabel</span> <span class="n">n</span>
<span class="nb">set</span> <span class="n">the</span> <span class="n">IPv6</span> <span class="n">flow</span> <span class="n">label</span> <span class="p">(</span><span class="n">currently</span> <span class="n">only</span> <span class="n">supported</span> <span class="n">on</span> <span class="n">Linux</span><span class="p">)</span>
<span class="o">-</span><span class="n">X</span><span class="p">,</span> <span class="o">--</span><span class="n">xbind</span> <span class="n">name</span>
<span class="n">Bind</span> <span class="n">SCTP</span> <span class="n">associations</span> <span class="n">to</span> <span class="n">a</span> <span class="n">specific</span> <span class="n">subset</span> <span class="n">of</span> <span class="n">links</span> <span class="n">using</span>
<span class="n">sctp_bindx</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="o">.</span> <span class="n">The</span> <span class="o">--</span><span class="n">B</span> <span class="n">flag</span> <span class="n">will</span> <span class="n">be</span> <span class="n">ignored</span> <span class="k">if</span> <span class="n">this</span> <span class="n">flag</span> <span class="ow">is</span>
<span class="n">specified</span><span class="o">.</span> <span class="n">Normally</span> <span class="n">SCTP</span> <span class="n">will</span> <span class="n">include</span> <span class="n">the</span> <span class="n">protocol</span> <span class="n">addresses</span> <span class="n">of</span>
<span class="nb">all</span> <span class="n">active</span> <span class="n">links</span> <span class="n">on</span> <span class="n">the</span> <span class="n">local</span> <span class="n">host</span> <span class="n">when</span> <span class="n">setting</span> <span class="n">up</span> <span class="n">an</span> <span class="n">associa</span><span class="o">-</span>
<span class="n">tion</span><span class="o">.</span> <span class="n">Specifying</span> <span class="n">at</span> <span class="n">least</span> <span class="n">one</span> <span class="o">--</span><span class="n">X</span> <span class="n">name</span> <span class="n">will</span> <span class="n">disable</span> <span class="n">this</span> <span class="n">behav</span><span class="o">-</span>
<span class="n">iour</span><span class="o">.</span> <span class="n">This</span> <span class="n">flag</span> <span class="n">must</span> <span class="n">be</span> <span class="n">specified</span> <span class="k">for</span> <span class="n">each</span> <span class="n">link</span> <span class="n">to</span> <span class="n">be</span> <span class="n">included</span>
<span class="ow">in</span> <span class="n">the</span> <span class="n">association</span><span class="p">,</span> <span class="ow">and</span> <span class="ow">is</span> <span class="n">supported</span> <span class="k">for</span> <span class="n">both</span> <span class="n">iperf</span> <span class="n">servers</span> <span class="ow">and</span>
<span class="n">clients</span> <span class="p">(</span><span class="n">the</span> <span class="n">latter</span> <span class="n">are</span> <span class="n">supported</span> <span class="n">by</span> <span class="n">passing</span> <span class="n">the</span> <span class="n">first</span> <span class="o">--</span><span class="n">X</span> <span class="n">argu</span><span class="o">-</span>
<span class="n">ment</span> <span class="n">to</span> <span class="n">bind</span><span class="p">(</span><span class="mi">2</span><span class="p">))</span><span class="o">.</span> <span class="n">Hostnames</span> <span class="n">are</span> <span class="n">accepted</span> <span class="k">as</span> <span class="n">arguments</span> <span class="ow">and</span> <span class="n">are</span>
<span class="n">resolved</span> <span class="n">using</span> <span class="n">getaddrinfo</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="o">.</span> <span class="n">If</span> <span class="n">the</span> <span class="o">--</span><span class="mi">4</span> <span class="ow">or</span> <span class="o">--</span><span class="mi">6</span> <span class="n">flags</span> <span class="n">are</span>
<span class="n">specified</span><span class="p">,</span> <span class="n">names</span> <span class="n">which</span> <span class="n">do</span> <span class="ow">not</span> <span class="n">resolve</span> <span class="n">to</span> <span class="n">addresses</span> <span class="n">within</span> <span class="n">the</span>
<span class="n">specified</span> <span class="n">protocol</span> <span class="n">family</span> <span class="n">will</span> <span class="n">be</span> <span class="n">ignored</span><span class="o">.</span>
<span class="o">--</span><span class="n">nstreams</span> <span class="n">n</span>
<span class="n">Set</span> <span class="n">number</span> <span class="n">of</span> <span class="n">SCTP</span> <span class="n">streams</span><span class="o">.</span>
<span class="o">-</span><span class="n">Z</span><span class="p">,</span> <span class="o">--</span><span class="n">zerocopy</span>
<span class="n">Use</span> <span class="n">a</span> <span class="s2">&quot;zero copy&quot;</span> <span class="n">method</span> <span class="n">of</span> <span class="n">sending</span> <span class="n">data</span><span class="p">,</span> <span class="n">such</span> <span class="k">as</span> <span class="n">sendfile</span><span class="p">(</span><span class="mi">2</span><span class="p">),</span>
<span class="n">instead</span> <span class="n">of</span> <span class="n">the</span> <span class="n">usual</span> <span class="n">write</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">.</span>
<span class="o">-</span><span class="n">O</span><span class="p">,</span> <span class="o">--</span><span class="n">omit</span> <span class="n">n</span>
<span class="n">Perform</span> <span class="n">pre</span><span class="o">-</span><span class="n">test</span> <span class="k">for</span> <span class="n">N</span> <span class="n">seconds</span> <span class="ow">and</span> <span class="n">omit</span> <span class="n">the</span> <span class="n">pre</span><span class="o">-</span><span class="n">test</span> <span class="n">statistics</span><span class="p">,</span>
<span class="n">to</span> <span class="n">skip</span> <span class="n">past</span> <span class="n">the</span> <span class="n">TCP</span> <span class="n">slow</span><span class="o">-</span><span class="n">start</span> <span class="n">period</span><span class="o">.</span>
<span class="o">-</span><span class="n">T</span><span class="p">,</span> <span class="o">--</span><span class="n">title</span> <span class="nb">str</span>
<span class="n">Prefix</span> <span class="n">every</span> <span class="n">output</span> <span class="n">line</span> <span class="k">with</span> <span class="n">this</span> <span class="n">string</span><span class="o">.</span>
<span class="o">--</span><span class="n">extra</span><span class="o">-</span><span class="n">data</span> <span class="nb">str</span>
<span class="n">Specify</span> <span class="n">an</span> <span class="n">extra</span> <span class="n">data</span> <span class="n">string</span> <span class="n">field</span> <span class="n">to</span> <span class="n">be</span> <span class="n">included</span> <span class="ow">in</span> <span class="n">JSON</span> <span class="n">out</span><span class="o">-</span>
<span class="n">put</span><span class="o">.</span>
<span class="o">-</span><span class="n">C</span><span class="p">,</span> <span class="o">--</span><span class="n">congestion</span> <span class="n">algo</span>
<span class="n">Set</span> <span class="n">the</span> <span class="n">congestion</span> <span class="n">control</span> <span class="n">algorithm</span> <span class="p">(</span><span class="n">Linux</span> <span class="ow">and</span> <span class="n">FreeBSD</span> <span class="n">only</span><span class="p">)</span><span class="o">.</span>
<span class="n">An</span> <span class="n">older</span> <span class="o">--</span><span class="n">linux</span><span class="o">-</span><span class="n">congestion</span> <span class="n">synonym</span> <span class="k">for</span> <span class="n">this</span> <span class="n">flag</span> <span class="ow">is</span> <span class="n">accepted</span>
<span class="n">but</span> <span class="ow">is</span> <span class="n">deprecated</span><span class="o">.</span>
<span class="o">--</span><span class="n">get</span><span class="o">-</span><span class="n">server</span><span class="o">-</span><span class="n">output</span>
<span class="n">Get</span> <span class="n">the</span> <span class="n">output</span> <span class="kn">from</span> <span class="nn">the</span> <span class="n">server</span><span class="o">.</span> <span class="n">The</span> <span class="n">output</span> <span class="nb">format</span> <span class="ow">is</span> <span class="n">determined</span>
<span class="n">by</span> <span class="n">the</span> <span class="n">server</span> <span class="p">(</span><span class="ow">in</span> <span class="n">particular</span><span class="p">,</span> <span class="k">if</span> <span class="n">the</span> <span class="n">server</span> <span class="n">was</span> <span class="n">invoked</span> <span class="k">with</span> <span class="n">the</span>
<span class="o">--</span><span class="n">json</span> <span class="n">flag</span><span class="p">,</span> <span class="n">the</span> <span class="n">output</span> <span class="n">will</span> <span class="n">be</span> <span class="ow">in</span> <span class="n">JSON</span> <span class="nb">format</span><span class="p">,</span> <span class="n">otherwise</span> <span class="n">it</span>
<span class="n">will</span> <span class="n">be</span> <span class="ow">in</span> <span class="n">human</span><span class="o">-</span><span class="n">readable</span> <span class="nb">format</span><span class="p">)</span><span class="o">.</span> <span class="n">If</span> <span class="n">the</span> <span class="n">client</span> <span class="ow">is</span> <span class="n">run</span> <span class="k">with</span>
<span class="o">--</span><span class="n">json</span><span class="p">,</span> <span class="n">the</span> <span class="n">server</span> <span class="n">output</span> <span class="ow">is</span> <span class="n">included</span> <span class="ow">in</span> <span class="n">a</span> <span class="n">JSON</span> <span class="nb">object</span><span class="p">;</span> <span class="n">other</span><span class="o">-</span>
<span class="n">wise</span> <span class="n">it</span> <span class="ow">is</span> <span class="n">appended</span> <span class="n">at</span> <span class="n">the</span> <span class="n">bottom</span> <span class="n">of</span> <span class="n">the</span> <span class="n">human</span><span class="o">-</span><span class="n">readable</span> <span class="n">output</span><span class="o">.</span>
<span class="o">--</span><span class="n">udp</span><span class="o">-</span><span class="n">counters</span><span class="o">-</span><span class="mi">64</span><span class="n">bit</span>
<span class="n">Use</span> <span class="mi">64</span><span class="o">-</span><span class="n">bit</span> <span class="n">counters</span> <span class="ow">in</span> <span class="n">UDP</span> <span class="n">test</span> <span class="n">packets</span><span class="o">.</span> <span class="n">The</span> <span class="n">use</span> <span class="n">of</span> <span class="n">this</span> <span class="n">option</span>
<span class="n">can</span> <span class="n">help</span> <span class="n">prevent</span> <span class="n">counter</span> <span class="n">overflows</span> <span class="n">during</span> <span class="n">long</span> <span class="ow">or</span> <span class="n">high</span><span class="o">-</span><span class="n">bitrate</span>
<span class="n">UDP</span> <span class="n">tests</span><span class="o">.</span> <span class="n">Both</span> <span class="n">client</span> <span class="ow">and</span> <span class="n">server</span> <span class="n">need</span> <span class="n">to</span> <span class="n">be</span> <span class="n">running</span> <span class="n">at</span> <span class="n">least</span>
<span class="n">version</span> <span class="mf">3.1</span> <span class="k">for</span> <span class="n">this</span> <span class="n">option</span> <span class="n">to</span> <span class="n">work</span><span class="o">.</span> <span class="n">It</span> <span class="n">may</span> <span class="n">become</span> <span class="n">the</span> <span class="n">default</span>
<span class="n">behavior</span> <span class="n">at</span> <span class="n">some</span> <span class="n">point</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">future</span><span class="o">.</span>
<span class="o">--</span><span class="n">repeating</span><span class="o">-</span><span class="n">payload</span>
<span class="n">Use</span> <span class="n">repeating</span> <span class="n">pattern</span> <span class="ow">in</span> <span class="n">payload</span><span class="p">,</span> <span class="n">instead</span> <span class="n">of</span> <span class="n">random</span> <span class="nb">bytes</span><span class="o">.</span> <span class="n">The</span>
<span class="n">same</span> <span class="n">payload</span> <span class="ow">is</span> <span class="n">used</span> <span class="ow">in</span> <span class="n">iperf2</span> <span class="p">(</span><span class="n">ASCII</span> <span class="s1">&#39;0..9&#39;</span> <span class="n">repeating</span><span class="p">)</span><span class="o">.</span> <span class="n">It</span>
<span class="n">might</span> <span class="n">help</span> <span class="n">to</span> <span class="n">test</span> <span class="ow">and</span> <span class="n">reveal</span> <span class="n">problems</span> <span class="ow">in</span> <span class="n">networking</span> <span class="n">gear</span> <span class="k">with</span>
<span class="n">hardware</span> <span class="n">compression</span> <span class="p">(</span><span class="n">including</span> <span class="n">some</span> <span class="n">WiFi</span> <span class="n">access</span> <span class="n">points</span><span class="p">),</span> <span class="n">where</span>
<span class="n">iperf2</span> <span class="ow">and</span> <span class="n">iperf3</span> <span class="n">perform</span> <span class="n">differently</span><span class="p">,</span> <span class="n">just</span> <span class="n">based</span> <span class="n">on</span> <span class="n">payload</span>
<span class="n">entropy</span><span class="o">.</span>
<span class="o">--</span><span class="n">dont</span><span class="o">-</span><span class="n">fragment</span>
<span class="n">Set</span> <span class="n">the</span> <span class="n">IPv4</span> <span class="n">Don</span><span class="s1">&#39;t Fragment (DF) bit on outgoing packets. Only</span>
<span class="n">applicable</span> <span class="n">to</span> <span class="n">tests</span> <span class="n">doing</span> <span class="n">UDP</span> <span class="n">over</span> <span class="n">IPv4</span><span class="o">.</span>
<span class="o">--</span><span class="n">username</span> <span class="n">username</span>
<span class="n">username</span> <span class="n">to</span> <span class="n">use</span> <span class="k">for</span> <span class="n">authentication</span> <span class="n">to</span> <span class="n">the</span> <span class="n">iperf</span> <span class="n">server</span> <span class="p">(</span><span class="k">if</span> <span class="n">built</span>
<span class="k">with</span> <span class="n">OpenSSL</span> <span class="n">support</span><span class="p">)</span><span class="o">.</span> <span class="n">The</span> <span class="n">password</span> <span class="n">will</span> <span class="n">be</span> <span class="n">prompted</span> <span class="k">for</span> <span class="n">inter</span><span class="o">-</span>
<span class="n">actively</span> <span class="n">when</span> <span class="n">the</span> <span class="n">test</span> <span class="ow">is</span> <span class="n">run</span><span class="o">.</span> <span class="n">Note</span><span class="p">,</span> <span class="n">the</span> <span class="n">password</span> <span class="n">to</span> <span class="n">use</span> <span class="n">can</span>
<span class="n">also</span> <span class="n">be</span> <span class="n">specified</span> <span class="n">via</span> <span class="n">the</span> <span class="n">IPERF3_PASSWORD</span> <span class="n">environment</span> <span class="n">variable</span><span class="o">.</span>
<span class="n">If</span> <span class="n">this</span> <span class="n">variable</span> <span class="ow">is</span> <span class="n">present</span><span class="p">,</span> <span class="n">the</span> <span class="n">password</span> <span class="n">prompt</span> <span class="n">will</span> <span class="n">be</span>
<span class="n">skipped</span><span class="o">.</span>
<span class="o">--</span><span class="n">rsa</span><span class="o">-</span><span class="n">public</span><span class="o">-</span><span class="n">key</span><span class="o">-</span><span class="n">path</span> <span class="n">file</span>
<span class="n">path</span> <span class="n">to</span> <span class="n">the</span> <span class="n">RSA</span> <span class="n">public</span> <span class="n">key</span> <span class="n">used</span> <span class="n">to</span> <span class="n">encrypt</span> <span class="n">authentication</span> <span class="n">cre</span><span class="o">-</span>
<span class="n">dentials</span> <span class="p">(</span><span class="k">if</span> <span class="n">built</span> <span class="k">with</span> <span class="n">OpenSSL</span> <span class="n">support</span><span class="p">)</span>
<span class="n">EXAMPLES</span>
<span class="n">Authentication</span> <span class="o">-</span> <span class="n">RSA</span> <span class="n">Keypair</span>
<span class="n">The</span> <span class="n">authentication</span> <span class="n">feature</span> <span class="n">of</span> <span class="n">iperf3</span> <span class="n">requires</span> <span class="n">an</span> <span class="n">RSA</span> <span class="n">public</span> <span class="n">keypair</span><span class="o">.</span>
<span class="n">The</span> <span class="n">public</span> <span class="n">key</span> <span class="ow">is</span> <span class="n">used</span> <span class="n">to</span> <span class="n">encrypt</span> <span class="n">the</span> <span class="n">authentication</span> <span class="n">token</span> <span class="n">containing</span>
<span class="n">the</span> <span class="n">user</span> <span class="n">credentials</span><span class="p">,</span> <span class="k">while</span> <span class="n">the</span> <span class="n">private</span> <span class="n">key</span> <span class="ow">is</span> <span class="n">used</span> <span class="n">to</span> <span class="n">decrypt</span> <span class="n">the</span>
<span class="n">authentication</span> <span class="n">token</span><span class="o">.</span> <span class="n">The</span> <span class="n">private</span> <span class="n">key</span> <span class="n">must</span> <span class="n">be</span> <span class="ow">in</span> <span class="n">PEM</span> <span class="nb">format</span> <span class="ow">and</span> <span class="n">addi</span><span class="o">-</span>
<span class="n">tionally</span> <span class="n">must</span> <span class="ow">not</span> <span class="n">have</span> <span class="n">a</span> <span class="n">password</span> <span class="nb">set</span><span class="o">.</span> <span class="n">The</span> <span class="n">public</span> <span class="n">key</span> <span class="n">must</span> <span class="n">be</span> <span class="ow">in</span> <span class="n">PEM</span>
<span class="nb">format</span> <span class="ow">and</span> <span class="n">use</span> <span class="n">SubjectPrefixKeyInfo</span> <span class="n">encoding</span><span class="o">.</span> <span class="n">An</span> <span class="n">example</span> <span class="n">of</span> <span class="n">a</span> <span class="nb">set</span> <span class="n">of</span>
<span class="n">UNIX</span><span class="o">/</span><span class="n">Linux</span> <span class="n">commands</span> <span class="n">using</span> <span class="n">OpenSSL</span> <span class="n">to</span> <span class="n">generate</span> <span class="n">a</span> <span class="n">correctly</span><span class="o">-</span><span class="n">formed</span> <span class="n">key</span><span class="o">-</span>
<span class="n">pair</span> <span class="n">follows</span><span class="p">:</span>
<span class="o">&gt;</span> <span class="n">openssl</span> <span class="n">genrsa</span> <span class="o">-</span><span class="n">des3</span> <span class="o">-</span><span class="n">out</span> <span class="n">private</span><span class="o">.</span><span class="n">pem</span> <span class="mi">2048</span>
<span class="o">&gt;</span> <span class="n">openssl</span> <span class="n">rsa</span> <span class="o">-</span><span class="ow">in</span> <span class="n">private</span><span class="o">.</span><span class="n">pem</span> <span class="o">-</span><span class="n">outform</span> <span class="n">PEM</span> <span class="o">-</span><span class="n">pubout</span> <span class="o">-</span><span class="n">out</span> <span class="n">public</span><span class="o">.</span><span class="n">pem</span>
<span class="o">&gt;</span> <span class="n">openssl</span> <span class="n">rsa</span> <span class="o">-</span><span class="ow">in</span> <span class="n">private</span><span class="o">.</span><span class="n">pem</span> <span class="o">-</span><span class="n">out</span> <span class="n">private_not_protected</span><span class="o">.</span><span class="n">pem</span> <span class="o">-</span><span class="n">out</span><span class="o">-</span>
<span class="n">form</span> <span class="n">PEM</span>
<span class="n">After</span> <span class="n">these</span> <span class="n">commands</span><span class="p">,</span> <span class="n">the</span> <span class="n">public</span> <span class="n">key</span> <span class="n">will</span> <span class="n">be</span> <span class="n">contained</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">file</span> <span class="n">pub</span><span class="o">-</span>
<span class="n">lic</span><span class="o">.</span><span class="n">pem</span> <span class="ow">and</span> <span class="n">the</span> <span class="n">private</span> <span class="n">key</span> <span class="n">will</span> <span class="n">be</span> <span class="n">contained</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">file</span> <span class="n">pri</span><span class="o">-</span>
<span class="n">vate_not_protected</span><span class="o">.</span><span class="n">pem</span><span class="o">.</span>
<span class="n">Authentication</span> <span class="o">-</span> <span class="n">Authorized</span> <span class="n">users</span> <span class="n">configuration</span> <span class="n">file</span>
<span class="n">A</span> <span class="n">simple</span> <span class="n">plaintext</span> <span class="n">file</span> <span class="n">must</span> <span class="n">be</span> <span class="n">provided</span> <span class="n">to</span> <span class="n">the</span> <span class="n">iperf3</span> <span class="n">server</span> <span class="ow">in</span> <span class="n">order</span>
<span class="n">to</span> <span class="n">specify</span> <span class="n">the</span> <span class="n">authorized</span> <span class="n">user</span> <span class="n">credentials</span><span class="o">.</span> <span class="n">The</span> <span class="n">file</span> <span class="ow">is</span> <span class="n">a</span> <span class="n">simple</span> <span class="nb">list</span>
<span class="n">of</span> <span class="n">comma</span><span class="o">-</span><span class="n">separated</span> <span class="n">pairs</span> <span class="n">of</span> <span class="n">a</span> <span class="n">username</span> <span class="ow">and</span> <span class="n">a</span> <span class="n">corresponding</span> <span class="n">password</span>
<span class="nb">hash</span><span class="o">.</span> <span class="n">The</span> <span class="n">password</span> <span class="nb">hash</span> <span class="ow">is</span> <span class="n">a</span> <span class="n">SHA256</span> <span class="nb">hash</span> <span class="n">of</span> <span class="n">the</span> <span class="n">string</span> <span class="s2">&quot;{$user}$pass-</span>
<span class="n">word</span><span class="s2">&quot;. The file can also contain commented lines (starting with the #</span>
<span class="n">character</span><span class="p">)</span><span class="o">.</span> <span class="n">An</span> <span class="n">example</span> <span class="n">of</span> <span class="n">commands</span> <span class="n">to</span> <span class="n">generate</span> <span class="n">the</span> <span class="n">password</span> <span class="nb">hash</span> <span class="n">on</span> <span class="n">a</span>
<span class="n">UNIX</span><span class="o">/</span><span class="n">Linux</span> <span class="n">system</span> <span class="ow">is</span> <span class="n">given</span> <span class="n">below</span><span class="p">:</span>
<span class="o">&gt;</span> <span class="n">S_USER</span><span class="o">=</span><span class="n">mario</span> <span class="n">S_PASSWD</span><span class="o">=</span><span class="n">rossi</span>
<span class="o">&gt;</span> <span class="n">echo</span> <span class="o">-</span><span class="n">n</span> <span class="s2">&quot;{$S_USER}$S_PASSWD&quot;</span> <span class="o">|</span> <span class="n">sha256sum</span> <span class="o">|</span> <span class="n">awk</span> <span class="s1">&#39;{ print $1 }&#39;</span>
<span class="n">An</span> <span class="n">example</span> <span class="n">of</span> <span class="n">a</span> <span class="n">password</span> <span class="n">file</span> <span class="p">(</span><span class="k">with</span> <span class="n">an</span> <span class="n">entry</span> <span class="n">corresponding</span> <span class="n">to</span> <span class="n">the</span> <span class="n">above</span>
<span class="n">username</span> <span class="ow">and</span> <span class="n">password</span><span class="p">)</span> <span class="ow">is</span> <span class="n">given</span> <span class="n">below</span><span class="p">:</span>
<span class="o">&gt;</span> <span class="n">cat</span> <span class="n">credentials</span><span class="o">.</span><span class="n">csv</span>
<span class="c1"># file format: username,sha256</span>
<span class="n">mario</span><span class="p">,</span><span class="n">bf7a49a846d44b454a5d11e7acfaf13d138bbe0b7483aa3e050879700572709b</span>
<span class="n">AUTHORS</span>
<span class="n">A</span> <span class="nb">list</span> <span class="n">of</span> <span class="n">the</span> <span class="n">contributors</span> <span class="n">to</span> <span class="n">iperf3</span> <span class="n">can</span> <span class="n">be</span> <span class="n">found</span> <span class="n">within</span> <span class="n">the</span> <span class="n">documenta</span><span class="o">-</span>
<span class="n">tion</span> <span class="n">located</span> <span class="n">at</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">software</span><span class="o">.</span><span class="n">es</span><span class="o">.</span><span class="n">net</span><span class="o">/</span><span class="n">iperf</span><span class="o">/</span><span class="n">dev</span><span class="o">.</span><span class="n">html</span><span class="c1">#authors.</span>
<span class="n">SEE</span> <span class="n">ALSO</span>
<span class="n">libiperf</span><span class="p">(</span><span class="mi">3</span><span class="p">),</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">software</span><span class="o">.</span><span class="n">es</span><span class="o">.</span><span class="n">net</span><span class="o">/</span><span class="n">iperf</span>
<span class="n">ESnet</span> <span class="n">September</span> <span class="mi">2022</span> <span class="n">IPERF3</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
</pre></div>
</div>
<p>The iperf3 manual page will typically be installed in manual
section 1.</p>
</section>
</section>
</div>
</div>
</div>
<footer class="footer">
<div class="container">
<div class="row">
<div class="col-md-1">
<a href="http://www.es.net/"><img src="_static/ESnet_Final_Logos_All_Blue_Circle_Stamp_RGB.png" alt="[ESnet]"></a>
</div>
<div class="col-md-11">
<p class="pull-right">
<a href="#">Back to top</a>
</p>
<p>
&copy; Copyright 2014-2023, ESnet.<br/>
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 7.2.6.<br/>
</p>
</div>
</div>
</div>
</footer>
</body>
</html>