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      | fail    | yes  | 
Cray T3E | golden   | yes      | yes     | yes  | 
Cray J90 | ouray    | yes      | yes     | yes  | 
DEC OSF  | oceana   | yes      | fail    | yes  | 
FreeBSD  | spitfire | yes      | NA      | 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
==============
General
  - The biggest problem I've had is with terminating the server while
    using pthreads. Different OSes handle signals and thread cancels
    differently, some seem to work and some don't. If you run into
    problems, try compiling without pthreads.

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
  - 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).

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++)
  - 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).

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.
  - Multicast is not supported. The Windows API is different, and I
    just haven't ported it over yet.

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.13 2000/02/21 23:13:28 mgates Exp $
