...
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 | ||
---|---|---|
| ||
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 RTEMS CPU is no longer pingable after the client side is done. Also, running the client in UDP mode causes protocol errors to be counted. All to be investigated.