This is Iperf v2.0.0, a tool for measuring Internet bandwidth performance.
See the doc directory for more documentation.
Briefly:

  ./configure      -- configure for your machine
  make             -- compile Iperf
  make install     -- install Iperf, if desired

  iperf -s               (on machine "foo.bar.edu")
  iperf -c foo.bar.edu   (on some other machine)
  iperf -h               (for help screen)
  iperf -v               (for version information)

Copyright 1999, 2000, 2001, 2002, 2003, 2004
The Board of Trustees of the University of Illinois
All rights reserved
See UI License (doc/ui_license.html) for complete details.

$Id: README,v 1.1.1.1 2004/05/18 01:50:44 kgibbs Exp $
