blob: 2854cf3f81a5474bcfde32c7479a03d177bbadbd [file] [log] [blame]
Most of these problems are operating systems problems, not bugs in Iperf.
As such, they will affect all network applications. They are just revealed
by using Iperf.
os | host | compiles | threads | runs | grade
---------+----------+----------+---------+------+-------
AIX | sp129 | yes | yes | yes |
Cray T3E | golden | yes | yes | yes |
Cray J90 | ouray | yes | yes | yes |
DEC OSF | oceana | yes | fail | yes |
FreeBSD | spitfire | yes | yes | yes |
HP-UX | sangamon | yes | NA | yes |
IRIX | modi4 | yes | yes | yes |
Linux | bombadil | yes | yes | yes |
NetBSD | nimi2 | yes | NA | yes |
Solaris | pecos | yes | yes | yes |
WinNT/2K | bombadil | yes | yes | yes |
Win95/98 | bombadil | yes | fail | yes |
---------+----------+----------+---------+------+-------
Known Problems
==============
OpenBSD 3.1
- getaddrinfo is not thread safe. If you have trouble with
bidirectional testing try compiling without IPv6 extensions.
AIX 4.2.1.0 (IBM sp) (xlc/xlC)
- pthreads don't work correctly
- If the TCP window size is larger than the maximum, the default
is used (instead of the maximum).
Cray UNICOS/mk 2.0.4.85 (Cray T3E) (cc/CC)
- when server is receiving multiple threads, second thread tends
to take a while (several seconds) to startup.
Cray UNICOS 10.0.0.3 (Cray J90) (cc/CC)
- pthread_cancel not available
DEC OSF1 3.2 (gcc/g++)
- pthreads don't work correctly
- requires extern "C" { ... } around
#include <netdb.h> and #include <arpa/inet.h>
(other platforms have problems with _having_ those
externs, so I do the correct thing and exclude them.)
- If the TCP window size is larger than the maximum, the default
is used (instead of the maximum).
DEC OSF1 4 (cc/CC)
- need to specify 'cc -pthread' and 'CC -pthread' as the compilers
if compiling with threads. Otherwise it won't link.
FreeBSD
- If the TCP window size is larger than the maximum, the default
is used (instead of the maximum).
HP-UX 10.20 (gcc/g++)
- pthreads not available on the machine I have access to
- If the TCP window size is larger than the maximum, the default
is used (instead of the maximum).
IRIX 6.5 (SGI Origin2000) (cc/CC)
- TCP clients round their TCP window size down slightly.
The default is 59.9 KB instead of 60 KB.
Linux 2.2.12 (gcc/g++)
- TCP maximum segment size (MSS) cannot be read (can be set though)
- TCP window size is often set to twice the requested value. So if
I ask for 16K, I get 32K.
NetBSd 1.3.3 (gcc/g++)
- If the TCP window size is larger than the maximum, the default
is used (instead of the maximum).
Solaris (gcc/g++)
- TCP maximum segment size (MSS) cannot be set (can be read though)
- If the TCP window size is larger than the maximum, the default
is used (instead of the maximum).
Windows NT 4.0 (CodeWarrior Pro 3)
- TCP maximum segment size (MSS) cannot be read or set
- connecting UDP sockets doesn't work very well. In particular
* no "port unreachable" errors are reported to the sending socket,
so even if a server is not listening, the client still sends.
* only the 1st UDP stream is handled; subsequent parallel ones
are ignored.
* the local address is reported as 0.0.0.0, rather than being filled in.
These are all deficiencies in the way Windows handles UDP sockets.
I could address them by using multiple ports, but that complicates
the client/server since they have to communicate what ports to use.
Maybe in a future version...
For now, the UDP client is multi-threaded and works fine, but the
UDP server is run single threaded.
Windows 95/98 (CodeWarrior Pro 3)
- Doesn't support the necessary threads API, so only the single
threaded version will work.
$Id: KNOWN_PROBLEMS,v 1.1.1.1 2004-06-23 13:07:31 randall Exp $