Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The choice of the prefix argument indicates that the results should be installed in the /afs/slac/g/cci area, rather than in the /usr/local area.  In /afs/slac/g/cci/bin you can find the main program iperf3, for example.  Run iperf3 --help to see the choice of options, but basically, the idea is to run one instance on one machine in server mode (iperf3 -s), and another instance on a different machine in client mode (iperf3 -c).

For RTEMS, there are various problems in building iperf.  Most involve missing header files, and also the definition of int64_t is missing.  I haven't seen a way through these issues yet, so I have punted for the moment.

iperf2

This older version of the iperf tool is hosted at http://iperf.sourceforge.net/.  It doesn't seem to be entirely dead, since the latest version (2.0.5) was placed there on June 12, 2013.

...

Code Block
languagebash
cd /afs/slac/g/cci/package/iperf2
mkdir linux
cd linux
../configure --prefix /afs/slac/g/cci 
make
make install

For RTEMS, TBD.iperf-2.0.5 builds without too much trouble.  There are a number of header files that are included by headers.h when the corresponding config.h macro is set to indicate that they shouldn't be; easy to fix.  Along these same lines, there were some additional compile-time conditionals needed when building with the LWIP network stack.  Lastly, I renamed main to iperf_main under RTEMS and wrote an Init function to add the iperf command to the shell.

The server mode of iperf runs correctly under RTEMS, but the client mode dies due to a missing functional implementation of setitimer.  Additionally, the server side report isn't being printed out.  Both to be investigated.