--- /dev/null
+= fireperf(8)
+
+== NAME
+fireperf - A Network Benchmarking Tool
+
+== SYNOPSIS
+[verse]
+`fireperf --server ...`
+`fireperf --client ADDRESS ...`
+
+== DESCRIPTION
+`fireperf` can perform network benchmarks to test throughput and quality of
+a network between a fireperf client and fireperf server.
+
+
+== COMMON OPTIONS
+
+-d::
+ Enables debugging output
+ +
+ If `fireperf` has been compiled with debugging support, this command will print
+ various debug messages that will help to find bugs in the program.
+
+--parallel=N::
+-P N::
+ If this option is set on the client side, it will instruct the client to open N
+ connections and keep them open.
+ +
+ On the server side, it will set a limit how many connections the server is willing
+ to accept.
+
+--port=N::
+-p N::
+--port=N:M::
+-p N:M::
+ Both server and client take a single port (N) or a port range (N:M).
+ +
+ The server will open a listening socket the port given or each port in the range
+ and waits for the client to connect.
+ +
+ The client will for each connection randomly select a port in the range or use the
+ specified port to connect to the server.
+
+--version::
+-V::
+ Prints the version of this program
+
+
+== SERVER-SPECIFIC OPTIONS
+
+--server::
+-s::
+ This starts the program in server mode which makes it connect to the specified
+ port and waits for clients to connect.
+
+
+== CLIENT-SPECIFIC OPTIONS
+
+--client ADDRESS::
+-c ADDRESS::
+ This starts the program in client mode. In this mode, the client will connect to
+ the server at ADDRESS and start a throughput test.
+
+--keepalive::
+-k::
+ Instead of sending data to the server, this will configure the client to only
+ send keepalive packets.
+ +
+ If a large number of connections is being created, it might become undesirable to
+ saturate the link between client and server. This option will send some packets to
+ keep the connection alive through for example NAT gateways.
+
+--timeout=T::
+-t T::
+ If set, the client will automatically terminate itself after T seconds.
+ Otherwise it will run for forever.
+
+--zero::
+-z::
+ Instead of sending random data, this option will set the client to send packets
+ filled with zeroes.
+ +
+ This is useful for testing compression between the client and server.
+
+
+== BUGS
+Please report all bugs to the bugtracker at https://bugzilla.ipfire.org/
+
+== AUTHORS
+Michael Tremer