documentation update...
Hello,
I'm using iperf for network tests since some months now, it's a very
nice program. I'm often using it on Linux Debian systems, without X nor
internet, where main documentation is iperf's man page automatically
generated from 'iperf --help' output.
Some time ago (when I was bitten by a bug in 2.0.1 version), I
discovered than some options wasn't documented or without all
configurations (like the '-f a' nice formatting), so I had looked
inside the code and tried to summarize these lacks of doc (see the end
of this e-mail). Could you update the 'iperf --help' output to fill
these missings ? If you prefer, I could submit you a patch, but I think
you have a better knowlegde of options significations.
with regards,
Frédéric Boiteux.
uncommented options :
----------------------
case '1': // Single Client
setSingleClient( mExtSettings );
break;
case 'o' : // output the report and other messages into the file
unsetSTDOUT( mExtSettings );
mExtSettings->mOutputFileName = new char[strlen(optarg)+1];
strcpy( mExtSettings->mOutputFileName, optarg);
break;
case 'x': // Limit Reports
while ( *optarg != '\0' ) {
switch ( *optarg ) {
case 's':
case 'S':
setNoSettReport( mExtSettings );
break;
case 'c':
case 'C':
setNoConnReport( mExtSettings );
break;
case 'd':
case 'D':
setNoDataReport( mExtSettings );
break;
case 'v':
case 'V':
setNoServReport( mExtSettings );
break;
case 'm':
case 'M':
setNoMultReport( mExtSettings );
break;
default:
fprintf(stderr, warn_invalid_report, *optarg);
}
optarg++;
}
break;
case 'y': // Reporting Style
switch ( *optarg ) {
case 'c':
case 'C':
mExtSettings->mReportMode = kReport_CSV;
break;
default:
fprintf( stderr, warn_invalid_report_style,
optarg ); }
break;
case 'R':
setRemoveService( mExtSettings );
break;
case 'S': // IP type-of-service
// TODO use a function that understands base-2
// the zero base here allows the user to specify
// "0x#" hex, "0#" octal, and "#" decimal numbers
mExtSettings->mTOS = strtol( optarg, NULL, 0 );
break;
options with incomplete doc :
-----------------------------
-f, --format
[kmKM] format to report: Kbits, Mbits, KBytes, MBytes
* B, K, M, G, A for Byte, Kbyte, Mbyte, Gbyte, adaptive byte
* b, k, m, g, a for bit, Kbit, Mbit, Gbit, adaptive bit
* adaptive picks the "best" one based on the number.
options with incomplete time description (possibility of time fraction) :
-------------------------------------------------------------------------
-i, --interval
# seconds and fraction of seconds (>= 0.5) between
periodic bandwidth reports
-t, --time
# time in seconds to transmit for (default 10 secs)
options with incomplete suffixes description (lacks G suffix) :
---------------------------------------------------------------
-b, --bandwidth #[KMG]
for UDP, bandwidth to send at in bits/sec (default 1
Mbit/sec, implies -u)
-l, --len
#[KMG] length of buffer to read or write (default 8 KB)
-n, --num
#[KMG] number of bytes to transmit (instead of -t)
-w, --window
#[KM] TCP window size (socket buffer size)
[KM] Indicates options that support a K or M suffix for kilo- or
mega-