Skip to content

Commit

Permalink
[iperf] update README
Browse files Browse the repository at this point in the history
Signed-off-by: Dimitrios Stavrakakis <dimitrios.stavrakakis@intel.com>
  • Loading branch information
Dimitrios Stavrakakis authored and Dmitrii Kuvaiskii committed Jan 12, 2024
1 parent 712b939 commit 7754d5e
Showing 1 changed file with 43 additions and 10 deletions.
53 changes: 43 additions & 10 deletions iperf/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,59 @@ recent version of `iperf` as of this writing (3.16).

# Prerequisites

`iperf` has no prerequisites.
`iperf` has no prerequisites ([source](https://github.com/esnet/iperf?tab=readme-ov-file#prerequisites)).

# Execution instructions
# Building instructions

## Building for Linux

Run `make` in the root directory.

## Building for SGX

```sh
# build iperf and the final manifest
make SGX=1
Run `make SGX=1` (non-debug) or `make SGX=1 DEBUG=1` (debug) in the root directory.

# To run the original iperf server, use:
# Execution instructions

Run `iperf` server natively:
```
LD_LIBRARY_PATH=./install ./install/iperf3 -s
```

# To run the iperf server in non-SGX Gramine, use:
Run `iperf` server in Gramine without SGX:
```
gramine-direct iperf3
```

# To run the iperf server in Gramine-SGX, use:
Run `iperf` server in Gramine with SGX:
```
gramine-sgx iperf3
```

# To get measurements with the iperf client, run in another terminal:
To get measurements with the `iperf` client, run in another terminal:
```
LD_LIBRARY_PATH=./install ./install/iperf3 -c localhost -p 5201
```

# Useful iperf options
## Generic options (both for server and client):
- `-p, --port`: server port to listen on/connect to
- `--forceflush`: force flushing output at every interval
- `-d, --debug[=#]`: emit debugging output (optional "=" and debug level: 1-4. Default is 4 - all messages)

## Server-specific options:
- `-s, --server`: run in server mode
- `-1, --one-off`: handle one client connection then exit
- `--idle-timeout #`: restart idle server after # seconds in case it got stuck (default - no timeout)

## Client-specific options:
- `-c, --client <host>`: run in client mode, connecting to <host>
- `-t, --time #`: time in seconds to transmit for (default 10 secs)
- `-n, --bytes #[KMG]`: number of bytes to transmit (instead of -t)
- `-P, --parallel #`: number of parallel client streams to run
- `-N, --no-delay`: set TCP/SCTP no delay, disabling Nagle's Algorithm

# Notes
Tested in `Ubuntu 22.04.3 LTS`.
- Tested in `Ubuntu 22.04.3 LTS`.
- In the execution instructions, we use port `5201` for the client.
This is the default port used by `iperf`.

0 comments on commit 7754d5e

Please sign in to comment.