Jef Poskanzer
96609aecad
Makefile tweak to get iperf3_profile to actual generate profiles.
2013-02-12 11:40:16 -08:00
Jef Poskanzer
2724cb3139
Don't need -lm in Makefile any more.
2013-02-11 22:04:52 -08:00
Jef Poskanzer
f19a68d53a
Oops, left out the important line from the error routine.
2013-02-07 17:54:52 -08:00
Jef Poskanzer
7ea98727a8
Initialize a couple variables to NULL to get rid of bogus warnings.
2013-02-07 13:39:33 -08:00
Jef Poskanzer
079579187a
Portability fix for cJSON.
2013-02-07 13:34:53 -08:00
Jef Poskanzer
eb0206e686
Better handling of non-exit errors in JSON.
...
Also converted one more error to the unified call.
2013-02-07 13:30:58 -08:00
Jef Poskanzer
bf501899e7
Added fflush to JSON output.
2013-02-07 12:37:10 -08:00
Jef Poskanzer
b5e0751f59
(Mostly) switched error reporting to a single routine that handles JSON mode.
2013-02-07 12:35:17 -08:00
Jef Poskanzer
cda2ce2a7e
Fixed cjson.c to no longer require -lm.
2013-02-05 21:18:47 -08:00
Jef Poskanzer
5a561d9d40
Get rid of commented-out obsolete code. If it's needed it's in the
...
revision history.
2013-02-05 15:38:45 -08:00
Jef Poskanzer
9bfb54c0cc
Add -J flag to produce JSON output instead.
2013-02-01 11:42:35 -08:00
Jef Poskanzer
17666b94d9
Updated the man page and help string so they correspond with the code.
...
This entailed some re-ordering, so the diff is large.
2013-01-28 18:14:34 -08:00
Jef Poskanzer
0569f7d192
Also change iperf.1 to iperf3.1 in the makefile.
2013-01-28 17:33:51 -08:00
Jef Poskanzer
a2adc385e2
Rename iperf.1 to iperf3.1.
2013-01-28 16:52:54 -08:00
Jef Poskanzer
2efc602fb2
The units handling was interpreting capital K/M/G as 1024/1048576/1073741824
...
and lowercase k/m/g as 1000/1000000/1000000000. This was deemed to be
too confusing. Now both capital and lowercase give the powers-of-two version.
2013-01-28 16:52:04 -08:00
Jef Poskanzer
1f4b249abb
Better fix for the -u/-l argument parsing mixup. This one avoids
...
the problem of explicitly setting the UDP block size to the TCP default
and getting ignored.
2013-01-28 14:19:07 -08:00
Jef Poskanzer
1ac282ccdd
Raise default UDP block size, for better performance.
2013-01-28 14:04:39 -08:00
Jef Poskanzer
45080fc6b7
Fixed little glitch in argument handling order: "-l nnn -u" was
...
setting the block size back to the UDP default, while "-u -l nnn"
worked. Now both orders work.
2013-01-28 11:48:19 -08:00
Jef Poskanzer
6177a7f1f1
Get rid of extra select() calls before reading and writing,
...
in both client and server. Instead we pass in and use the
fdsets from the main loop's select().
2013-01-18 10:17:05 -08:00
Jef Poskanzer
d7613a8e9f
Allow API client to provide an fd for the client-side control socket.
2012-12-13 09:37:55 -08:00
Jef Poskanzer
5cd3317d98
Get rid of compiler warning.
2012-12-11 22:45:15 -08:00
Jef Poskanzer
88dd44b040
Need a couple more include files to compile on FreeBSD.
2012-12-11 22:41:37 -08:00
Jef Poskanzer
ec2d0670b8
Switched to using a new timer package, adapted from thttpd and http_load.
2012-12-11 22:29:26 -08:00
Jef Poskanzer
9673370f98
Move non-timer routines from timer.[hc] to iperf_util.[hc]
2012-12-05 12:34:58 -08:00
Jef Poskanzer
d6e2781d18
Better detection of when linux has retransmit info in tcp_info.
2012-12-03 22:02:31 -08:00
Jef Poskanzer
9d1fc7c676
Line up output columns better.
2012-12-03 16:20:49 -08:00
Jef Poskanzer
d7ebadafa4
Make the retransmits code compile again on systems without retransmits.
2012-12-03 16:00:14 -08:00
Jef Poskanzer
46baab59e8
Disable retransmit reporting for FreeBSD, it's not actually
...
implemented in the OS yet.
2012-12-03 15:50:29 -08:00
Jef Poskanzer
acad430d3d
Fix retransmit reporting for Linux.
2012-12-03 15:48:54 -08:00
Jef Poskanzer
437537fe30
Test commit.
2012-11-30 12:16:17 -08:00
jef
eb3c71b8fe
Don't do getsockopt(TCP_INFO) on UDP runs.
2012-11-30 10:13:25 -08:00
jef
874856ab6b
Show retransmit count for FreeBSD too. This may not actually
...
be implemented by the OS yet - the struct member starting with
a double underscore indicates that it's not fully implemented.
2012-11-28 07:22:51 -08:00
jef
0d48915c69
A few portability changes, now builds on OSX without warnings.
2012-11-13 11:33:52 -08:00
jef
0115558217
Run uname for the -v/--version flag. Also, show version and uname for
...
the -V/--verbose flag. Still debating whether version/uname should be
shown by default.
2012-11-12 10:01:26 -08:00
jef
6b7db8f774
Get rid of the -T/--tcpinfo flag and show retransmits if they
...
are available.
Also, show them in interval results as well as at the end.
2012-11-09 16:02:42 -08:00
jef
8a0cc10076
Testing timeval equality deserves to be its own routine.
2012-11-02 09:04:46 -07:00
jef
99502d9409
Re-jiggered the "Interval Transfer Bandwidth" header so it only
...
appears at the start and end of the results, and added a separator
line when there are both multiple streams and multiple intervals.
2012-10-29 22:30:31 -07:00
jef
7b43a90638
Switch the JSON parameter names from single letters to words.
...
That gets rid of the case-sensitivity issue, and is nicer.
2012-10-27 17:29:29 -07:00
jef
d23d944f12
Fix JSON parsing to handle very long ints better. Should still
...
do something better about them on output.
2012-10-27 16:43:04 -07:00
jef
ff3c7fba24
JSON names are case-insensitive so we have to use different
...
names for e.g. p and P. I prefixed the upper case flags with "cap".
2012-10-27 16:24:54 -07:00
jef
53a87a0b9d
Oops, -lm is still needed by cjson for floor(). Still worth getting
...
rid of pow() though.
2012-10-26 07:45:28 -07:00
jef
ea71aaeaee
Fixed cjson to not need -lm any more, by adding an ipow() routine
...
to use instead of pow().
2012-10-25 22:14:02 -07:00
jef
4095757536
Converted the parameter exchange to use JSON.
...
This also gets rid of the antique tiny version of getopt that I added
to hack around a stubborn SEGV error.
2012-10-18 13:08:30 -07:00
jef
23481e7953
Converted the results exchange to use JSON.
2012-10-18 10:47:27 -07:00
jef
10d202a998
Simplify/clarify use of htonl/ntohl.
2012-10-17 09:14:14 -07:00
jef
0b96eba3e3
Move results-formatting into a new format_results() function.
...
Also, parse_results() doesn't need to be declared in iperf_api.h.
There are probably a whole bunch of other routines in there which
should be similarly made module-local.
2012-10-17 08:30:12 -07:00
jef
a497129b4d
Oops, the cjson files need to be in the src directory.
...
Also changed the makefiles so that cjson gets compiled and linked in.
Next step: actually call it.
2012-10-15 09:49:20 -07:00
jef
249ca84944
Fixed-up version of cjson: repaired compiler errors and warnings,
...
reformatted, and changed filenames.
2012-10-15 09:02:23 -07:00
jef
b7487c8e84
Added original version of cJSON.
2012-10-15 08:59:48 -07:00
jef
8bb79aee26
Switched interval_results to use the queue.h macros.
2012-10-05 10:24:03 -07:00