Here is a quick hack to compile iperf 2.0.4 on AIX. This patch includes:
- rename a conflicted function from thread_init() to thread_initialize().
- add compat/malloc.c for AC_FUNC_MALLOC.
- add @PTHREAD_LIBS@ into iperf_LDFLAGS in Makefile.
In addition, after applying this patch, I can compile iperf 2.0.4 on Solaris 8:
$ PTHREAD_LIBS="-lpthreads -lrt" ./configure
$ make
=====
steps to do:
1. gpatch -p1 > ../iperf-2.0.4-aix.diff
2. PTHREAD_LIBS="-lpthreads -lrt" ./configure
3. make
Attachment:" align="left" border="0"> iperf-2.0.4-aix.diff
Install iperf on Solaris8
Install iperf on Solaris10
steps to build iperf on solaris10
- Download iperf-2.0.4.tar.gz into a directory and place the patch file
(attached) in the same directory.
- Unpack the source tarball:
gtar xvfz iperf-2.0.4.tar.gz
- Uncompress the patch file:
gunzip iperf-2.0.4-pthreads-rt.patch
- Enter the uncompressed source dir
cd iperf-2.0.4
- Run the configure script making sure to specify GNU make be used rather than
Solaris make:
MAKE=gmake ./configure
- Apple the patch to the configured source directories using GNU patch util
rather than Solaris patch:
gpatch -p1 < ../iperf-2.0.4-pthreads-rt.patch
- Build the source with GNU make rather than Solaris make:
gmake all
=========
iperf-2.0.4-pthreads-rt.patch.gz
Description: GNU Zip compressed data
=========
src: http://www.mail-archive.com/iperf-users@lists.sourceforge.net/msg00074.html
mathhoang
High Performance Networking Options
High Performance Networking Options
The options below are presented in the order that they should be checked and adjusted.
-
Maximum TCP Buffer (Memory) space: All operating systems have some global mechanism to limit the amount of system memory that can be used by any one TCP connection. [more][less]
-
Socket Buffer Sizes: Most operating systems also support separate per connection send and receive buffer limits that can be adjusted by the user, application or other mechanism as long as they stay within the maximum memory limits above. These buffer sizes correspond to the SO_SNDBUF and SO_RCVBUF options of the BSD setsockopt() call. [more][less]
-
TCP Large Window Extensions (RFC1323): These enable optional TCP protocol features (window scale and time stamps) which are required to support large BDP paths. [more][less]
-
TCP Selective Acknowledgments Option (SACK, RFC2018) allow a TCP receiver inform the sender exactly which data is missing and needs to be retransmitted. [more][less]
-
Path MTU The host system must use the largest possible MTU for the path. This may require enabling Path MTU Discovery (RFC1191, RFC1981, RFC4821). [more][less]
Note that both ends of a TCP connection must be properly tuned independently, before it will support high speed transfers.
----------
mathhoang