0

I'm using iperf3 that is supposedly a rewritten version of iperf. Reason why Im using this is because I love iperf when it comes to TCP and UDP throughput and I now want to test SCTP throughput between my end-points.

However when I'm trying to use the --sctp command that I've seen people been using it says command not recognizable. Is it the implementation I'm using that have not implemented this command?

https://github.com/esnet/iperf

This is the implementation I'm using, can't find any obvious documentation of the SCTP commands related to this. Most SCTP iperf implementations are added manually in the tests and the source code is often not provided.

Any help would be appreciated!

user1634254
  • 129
  • 4
  • 12

2 Answers2

0

Get a copy of iperf which supports lksctp module of linux kernel. Install it using the standard process. (If it fails, please inform with the error message and the operating system and kernel details). Now to use SCTP in iperf these are the proper syntaxes.

For creating an SCTP server,

iperf -z -s

(-z is for selecting the SCTP protocol and -s is for server.)

For creating an SCTP client,

iperf -z -c <host address> -t <time duration for the connection in second>s -i <interval of the time to print the bandwidth in terminal in second>s

(-z for SCTP, -c is for client. Host address should be the ip address of the server where iperf -z -s is already running. -t is to specify the communication time duration. -i is to specify the interval to show the bandwidth.)

Example:

iperf -z -c 0.0.0.0 -t 10s -i 2s

Here the communication time is 10 seconds and it'll report the bandwidth for each 2 seconds interval.

P.S.

(1) To use iperf for SCTP, you must enable the SCTP module in the kernel and recompile it. The kernel version must be 2.6 or above. Check it using uname -a or uname -r. If you have a lower one, then download a new kernel from The Linux Kernel Archives. And compile it by enabling SCTP.

First check if it is already enabled or not by running these two commands in the terminal.

modprobe sctp
lsmod | grep sctp If you get any output then SCTP is already enabled.

(2) If still iperf with -z fails. Try the following solution. If the two machines are 'A' and 'B'.

First make 'A' the server and 'B' the client. It won't succeed. So

exit by using `ctrl + z` and kill iperf
        using `pkill -9 iperf`.

Then make 'B' the server and 'A' the client. It may succeed. If it fails again, kill iperf using the above command and repeat step 1 again. it might get succeeded.

(The 2nd solution works for me with fedora 20 and kernel 2.6 and above.)

RatDon
  • 3,403
  • 8
  • 43
  • 85
0

Couldn't find any recent answers through googling so I though I would leave an answer here for those looking to installing Iperf3 to use SCTP on RHEL / CentOS.

You'll need to install lksctp-tools-devel first and build from source to enable the SCTP support. Yum Install Iperf3 3.17 with lksctp-tools-devel did not enable SCTP for me.

poly76
  • 51
  • 1
  • 3