IPERF(1)

NAME
iperf - perform network throughput tests

SYNOPSIS
iperf -s [ options ]

iperf -c server [ options ]

iperf -u -s [ options ]

iperf -u -c server [ options ]

DESCRIPTION
iperf is a tool for performing network throughput measurements. It can test either TCP or UDP throughput. To perform an iperf test the user must establish both a server (to discard traffic) and a client (to generate traffic).

GENERAL OPTIONS

-e, --enhanced
    Display enhanced output in reports

-f, --format
    [kmgKMG] format to report: Kbits, Mbits, KBytes, MBytes (see NOTES for more)

-h, --help
    print a help synopsis

-i, --interval n
    pause n seconds between periodic bandwidth reports

-l, --len n[kmKM]
    set read/write buffer size (TCP) or length (UDP) to n (TCP default 128K, UDP default 1470)

-m, --print_mss
    print TCP maximum segment size (MTU - TCP/IP header)

-o, --output filename
    output the report or error message to this specified file

-p, --port n
    set server port to listen on/connect to to n (default 5001)

-u, --udp
    use UDP rather than TCP

--udp-counters-64bit
    use 64 bit UDP sequence numbers

-w, --window n[kmKM]
    TCP window size (socket buffer size)

-z, --realtime
    Request realtime scheduler, if supported.

-B, --bind host
    bind to host, an interface or multicast address

-C, --compatibility
    for use with older versions does not sent extra msgs

-M, --mss n
    set TCP maximum segment size (MTU - 40 bytes)

-N, --nodelay
    set TCP no delay, disabling Nagle's Algorithm

-S, --tos
    set the socket's IP_TOS (byte) field

-v, --version
    print version information and quit

-x, --reportexclude [CDMSV]
    exclude C(connection) D(data) M(multicast) S(settings) V(server) reports

-y, --reportstyle C|c
    if set to C or c report results as CSV (comma separated values)

SERVER SPECIFIC OPTIONS

-s, --server
    run in server mode

-D, --daemon
    run the server as a daemon. On Windows this will also install the IPerfService.

-R, --remove
    remove the IPerfService (Windows only).

-U, --single_udp
    run in single threaded UDP mode

-V, --ipv6_domain
    Enable IPv6 reception by setting the domain and socket to AF_INET6 (Can receive on both IPv4 and IPv6)

CLIENT SPECIFIC OPTIONS

-b, --bandwidth n[kmgKMG] | npps
    set target bandwidth to n bits/sec (default 1 Mbit/sec) or n packets per sec. This may be used with TCP or UDP.

-c, --client host
    run in client mode, connecting to host

-d, --dualtest
    Do a bidirectional test simultaneously

-n, --num n[kmKM]
    number of bytes to transmit (instead of -t)

-r, --tradeoff
    Do a bidirectional test individually

-t, --time n
    time in seconds to listen for new traffic connections, receive traffic or transmit traffic (Defaults: transmit is 10 secs while listen and receive are indefinite)

-B, --bind ip | ip:port | ipv6 -V | [ipv6]:port -V
    bind src addr(s) and ports from which to originate traffic (Note: -V option required for ipv6)

-F, --fileinput name
    input the data to be transmitted from a file

-I, --stdin
    input the data to be transmitted from stdin

-L, --listenport n
    port to recieve bidirectional tests back on

-P, --parallel n
    number of parallel client threads to run

-R, --reverse
    reverse the traffic flow after header exchange, useful for testing through firewalls

-T, --ttl n
    time-to-live, for multicast (default 1)

-V, --ipv6_domain
    Set the domain to IPv6 (send packets over IPv6)

-X, --peerdetect
    run server version detection prior to traffic.

-Z, --linux-congestion algo
    set TCP congestion control algorithm (Linux only)

ENVIRONMENT

TCP_WINDOW_SIZE
    Controls the size of TCP buffers.

NOTES
Some numeric options support format characters per '<value>c' (e.g. 10M) where the c format characters are k,m,g,K,M,G. Lowercase format characters are 10^3 based and uppercase are 2^n based, e.g. 1k = 1000, 1K = 1024, 1m = 1,000,000 and 1M = 1,048,576

DIAGNOSTICS
This section needs to be filled in.

BUGS
See https://sourceforge.net/p/iperf2/tickets/

AUTHORS
Iperf2, based from iperf (originally written by Mark Gates and Alex Warshavsky), has a goal of maintainence with some feature enhancement. Other contributions from Ajay Tirumala, Jim Ferguson, Jon Dugan <jdugan at x1024 dot net>, Feng Qin, Kevin Gibbs, John Estabrook <jestabro at ncsa.uiuc.edu>, Andrew Gallatin <gallatin at gmail.com>, Stephen Hemminger <shemminger at linux-foundation.org>, Tim Auckland, Robert J. McMahon <rjmcmahon at rjmcmahon.com>

SEE ALSO
http://sourceforge.net/projects/iperf2/