1
1
Граф коммитов

517 Коммитов

Автор SHA1 Сообщение Дата
Jef Poskanzer
434e786fd0 More descriptive variable names for the throttling code. 2013-06-25 15:05:37 -07:00
Jef Poskanzer
647d3b95a8 New implementation of the -b bandwidth limit flag, that applies to
TCP as well as UDP.
2013-06-24 07:14:14 -07:00
Jef Poskanzer
cf06ba653a Server now exits after five consecutive errors. 2013-06-07 15:28:05 -07:00
Jef Poskanzer
3433c4d2c1 Better ifdefs for sendfile on OS/X. 2013-06-07 08:41:38 -07:00
Jef Poskanzer
c39c4f503f Added an ifdef for Mac OS/X version, to better protect the sendfile code. 2013-06-07 08:16:24 -07:00
Jef Poskanzer
5ec1d758f1 Raise maximum TCP buffer size to 512 MB. 2013-06-04 16:38:49 -07:00
Jef Poskanzer
481853ae5a Convert IPv4-mapped IPv6 address strings into regular old IPv4 format. 2013-06-04 00:11:41 -07:00
Jef Poskanzer
c687db9da2 Storing the known-to-not-work Flow Label code, just to save it.
The user-visible parts are commented out or return a "not implemented
yet" error message.  The other parts are harmless.

We'll come back to this once we figure out how exactly one sets
the Flow Label.
2013-06-03 13:12:43 -07:00
Jef Poskanzer
912bf5784f Add message emphasizing when we're doing reverse mode. 2013-05-31 10:36:12 -07:00
Jef Poskanzer
69bdbfd36d Handle retransmits correctly in reverse mode. 2013-05-29 15:18:18 -07:00
Jef Poskanzer
2c042fd469 Simplify multiple client/server forward/reverse checks into
a single sender boolean.
2013-05-29 12:32:42 -07:00
Jef Poskanzer
aa0e8fd5ac Remove temp file. 2013-05-25 07:22:11 -07:00
Jef Poskanzer
d95da48aee Bytes == 0 is no longer notable; bytes < 0 remains so. 2013-05-08 18:45:25 -07:00
Brian Tierney
854088329a remove "NLANR" tag 2013-05-08 14:53:31 -07:00
Jef Poskanzer
e321855d26 getopt_long returns int, not char. 2013-05-06 09:41:35 -07:00
Jef Poskanzer
12d474e2b4 A couple other places that used struct sockaddr_in when they should
have used struct sockaddr_storage - fixed now.
2013-05-02 15:28:30 -07:00
Jef Poskanzer
111645ed0f Fix UDP for IPv6 and dual-stack. 2013-05-02 15:18:07 -07:00
Jef Poskanzer
a27f6534b5 Added second concurrency model based on SIGALRM. 2013-04-09 11:42:30 -07:00
Jef Poskanzer
a6b3f26be1 Dual-stack operation - IPv4 and IP46 in the same server.
Also added -4 flag to force IPv4.
2013-03-29 17:49:27 -07:00
Jon M. Dugan
495aeb6ba7 bump date to current date 2013-03-28 12:02:39 -05:00
Jef Poskanzer
c50556ff4f Renamed burst mode to multisend mode, because there's an nuttcp feature
we want to add someday that is also called burst mode.
2013-03-13 09:41:02 -07:00
Jef Poskanzer
0f53b154a3 Improved setnonblocking() to set the flag on or off instead of just on. 2013-03-12 13:05:50 -07:00
Jef Poskanzer
65db384358 Polishing up the iperf3.1 man page. 2013-03-12 12:57:19 -07:00
Jef Poskanzer
3e58754281 Added library man page and examples subdir. 2013-03-11 22:03:36 -07:00
Jef Poskanzer
e96ab74093 Move the JSON initialization/finalization insode the API. 2013-03-08 20:56:52 -08:00
Jef Poskanzer
a5621dd908 Added zerocopy stuff to the API, so that bwctl can use it. 2013-03-06 07:46:28 -08:00
Jef Poskanzer
c57e9f2494 Slight change to net.c routines to better handle writes/sendfiles
to a full socket.
2013-03-04 16:11:03 -08:00
Jef Poskanzer
987b432316 A bunch of changes mixed together in this commit, but the significant
one is the new -Z flag.

- Fixed potential bug in net.c's Nread and Nwrite routines.  If they
had ever needed to loop they would have read/written the wrong address,
due to incorrect pointer arithmetic - sizeof(void) is not 1.  Fix
was to change the type of the buffer pointer to char*, which also
meant adding casts to some callers.

- Better checking for conflicts between command-line flags - now they
should no longer be order-dependent.

- Added a new -Z / --zerocopy flag, to use a "zero copy" method of
sending data, such as sendfile(2) instead of the usual write(2).

- Renumbered error enum to make inserting new ones easier.
2013-03-04 15:55:16 -08:00
Jef Poskanzer
358985eb58 Page-align the read/write buffer. Unclear if this helps, but
it certainly doesn't hurt.
2013-03-01 09:41:33 -08:00
Jef Poskanzer
0da578e79f Improved version of setnonblocking() - still not used. 2013-02-28 11:26:51 -08:00
Jef Poskanzer
6ae6111b27 Show correct error on connect() failure. 2013-02-27 14:35:23 -08:00
Jef Poskanzer
1133dd0b6c Fix long help message to show theactual default values from the .h file.
Correct the default test duration to ten seconds.
2013-02-27 14:22:44 -08:00
Jef Poskanzer
50a45ea47e Add get/set json_output to the API. 2013-02-26 15:54:29 -08:00
Jef Poskanzer
43929b3698 Added "burst mode" to send a bunch of packets in a row without
intervening select() calls.  This increases performance quite a bit.
2013-02-22 15:54:05 -08:00
Jef Poskanzer
231c56296e Comment out the "__attribute__((hot))" declarations because they cause
compiler warnings on older systems.  They probably didn't help
performance anyway. They'll remain in the source as markers.
2013-02-18 14:56:37 -08:00
Jef Poskanzer
3a34e7c11b With the define corrected to long-long, no longer need an explicit cast
in the tmr_create calls.
2013-02-18 10:30:21 -08:00
Jef Poskanzer
e232c5d16e Couple of defines that should be long-longs. 2013-02-18 10:28:17 -08:00
Jef Poskanzer
037c0c2367 Handle timers longer than 2147 seconds (2^31 microseconds). 2013-02-18 09:06:50 -08:00
Jef Poskanzer
ba55284d44 Added some "hot" attributes to mark a few routines that deserve
extra optimization.  Most likely this has no effect.
2013-02-18 07:33:36 -08:00
Jef Poskanzer
63a0b8d5df Branch merge. 2013-02-18 07:21:59 -08:00
Jef Poskanzer
fbaa2467a6 Change the meaning of the combination of -n and -P flags.
Previously, if you used -n to specify a test sending a specified number
of bytes and -P to send multiple streams in parallel, iperf3 would send
that many bytes on each stream.  With this change it just sends the
specified total number of bytes regardless of how many streams are used.
2013-02-18 07:19:59 -08:00
Jef Poskanzer
a5122e8951 Fix a couple problems noted by the C++ compiler. 2013-02-15 09:10:56 -08:00
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
8bb79aee26 Switched interval_results to use the queue.h macros. 2012-10-05 10:24:03 -07:00
jef
98ce496b1b Some changes to the iperf3 API to work with bwctl, mostly having to
do with what defs are in which include file.  End result is we now have
only one public include file, iperf_api.h.
2012-09-28 16:00:14 -07:00
jef
56a97f9337 Commented 'AX_LIB_SOCKET_NSL' out of configure.ac to fix build problem.
There's still lots of historical cruft in there, at some point we should
start over from a more modern template.
2012-08-20 14:35:58 -07:00
jef
2ab386bf13 Got rid of libuuid stuff, for portability. 2012-08-10 12:43:50 -07:00
Jon Dugan
94d391af37 Fix stats for multiple streams from Alexey Zaytsev <alexey.zaytsev@gmail.com> 2011-05-02 23:09:06 +00:00
Jon Dugan
7d375156aa update license info for all source files 2011-04-20 20:33:09 +00:00
sethdelliott
fecb120f91 Fixed TCP_INFO bug on linux. BSD prints nothing for now... 2011-03-16 18:17:54 +00:00
sethdelliott
e170832926 Added working TCP_INFO code (only displays retransmits for now) 2011-03-16 17:43:25 +00:00
sethdelliott
f970ce8ecd Added warning() function for iperf warnings. Using --server and --udp now gives a warning instead of an error. 2011-03-10 15:56:17 +00:00
sethdelliott
ad426c6fd4 Added CPU utilization exchange and display (use verbose mode [-V]). 2011-03-02 21:32:04 +00:00
sethdelliott
3331e801b9 Added portable CPU utilization code. Still need to exchange utilizations between client and server. 2011-02-24 17:08:54 +00:00
Jon Dugan
9286415c86 update autoconf goo to accomodate Solaris; minor tweaks to includes for Solaris 2010-09-20 21:50:12 +00:00
Jon Dugan
1fac1d2626 add queue.h from OpenBSD; use self contained queue.h from OpenBSD; fix indenting on previous commit 2010-09-08 20:35:47 +00:00
Jon Dugan
009a41300f if IPV6_TCLASS isn't defined do something reasonable 2010-09-08 20:33:54 +00:00
sethdelliott
2c206d5456 Critical server errors are now communicated back to client 2010-08-05 20:09:54 +00:00
sethdelliott
02a35f07e3 Merged print mss (-m) into verbose mode (-V) 2010-08-04 19:19:08 +00:00
sethdelliott
9a599d5f8d Added support for setting the IP TOS (IPv4) and IPv6 Traffic Class (-S option) 2010-08-03 21:38:48 +00:00
sethdelliott
76ceadbc24 Updated documentation 2010-08-02 23:30:22 +00:00
sethdelliott
0e8720fa64 Small memory leak fixes in iperf_free_test. 2010-08-02 23:15:27 +00:00
sethdelliott
0bd8d9da6e Added ability to set TCP window size (-w). Modified code to keep test structures intact after a test is complete. Improved interval timer granularity. Fixed a bug with timeval_diff. 2010-08-02 22:45:53 +00:00
sethdelliott
4559e27a01 Small bug fix to main.c 2010-07-29 19:18:29 +00:00
sethdelliott
dd4bc0089b Stream list is now managed by queue.h SLIST macros 2010-07-28 20:29:25 +00:00
sethdelliott
ffdcc7d457 Updated iperf_error and moved the SIGINT handler out of the library 2010-07-27 22:11:09 +00:00
sethdelliott
f99bd3b2c6 Added support for IPv6 mode (-6) 2010-07-27 20:27:34 +00:00
sethdelliott
5e0e1e974e Exchanged gethostbyname for getaddrinfo 2010-07-27 17:32:21 +00:00
sethdelliott
a1344ede16 Added support for binding (-B) to a specific interface 2010-07-26 21:30:34 +00:00
sethdelliott
eb85608f64 Updated autoconf files 2010-07-23 23:48:45 +00:00
sethdelliott
18631aacdb Moved client code from iperf_api.* to iperf_client_api.* 2010-07-23 22:48:48 +00:00
sethdelliott
2e3dfab7eb Updated documentation 2010-07-23 21:39:41 +00:00
sethdelliott
4df383f6d8 Added callback functions to the iperf API 2010-07-23 20:46:58 +00:00
sethdelliott
112a907cc3 More code restructuring 2010-07-23 18:39:14 +00:00
sethdelliott
66ce7ad49d Made the protocol implementation better. Lots of code clean up 2010-07-22 23:26:38 +00:00
sethdelliott
8a0b5a5d18 Added support for adding new protocols. Slightly modified iperf_error() 2010-07-22 18:57:08 +00:00
sethdelliott
b60a49dd37 All error handling is now handled by iperf_error. Also cleaned up some code 2010-07-20 22:27:50 +00:00
sethdelliott
3118b42010 All client side error handling is now handled by iperf_error 2010-07-20 00:03:03 +00:00
sethdelliott
01ca972b6c Updated autoconf stuff and fixed a small error with ierror() 2010-07-19 20:38:40 +00:00
sethdelliott
8430ad49e6 Added iperf error code (iperf_error.*). Also added iperf_parse_parameters(). 2010-07-19 19:45:08 +00:00
Jon Dugan
7585c69638 bump version number 2010-07-16 23:19:31 +00:00
sethdelliott
1e621fb16c Small updates to man page and documentation. 2010-07-15 23:38:10 +00:00
sethdelliott
c81883bf08 Added support for setting the MAXSEG (MSS) and NODELAY TCP options. Setting MSS is still a little buggy. 2010-07-15 23:19:42 +00:00
sethdelliott
aa89cda29f Added bandwidth mode (-b) support for UDP. 2010-07-15 20:05:43 +00:00
sethdelliott
86afd62bfe UDP results are now exchanged. Made results exchange process better. 2010-07-15 17:43:25 +00:00
sethdelliott
8556db5d08 Added support for UDP mode (-b mode not yet supported). Added htonll/ntohll functions. Cleaned up code. 2010-07-14 23:24:58 +00:00
Jon Dugan
b0b16b86cc rename uuid.[ch] to iperf_util.[ch] to avoid confusion on some platforms 2010-07-09 00:29:51 +00:00
Jon Dugan
a5d9c7f182 remove extraneous -I../include 2010-07-09 00:20:59 +00:00
Jon Dugan
1c16864715 bump version for beta release 2010-07-08 23:29:17 +00:00
Jon Dugan
e34c20c89f update autoconf stuff 2010-07-08 23:26:52 +00:00
sethdelliott
1ac522ec39 Fixed a bug where the server died on client interrupt. Also updated README, TODO, and man page. 2010-07-08 22:41:22 +00:00
sethdelliott
2b1d7e965c Added buffer length (-l) to parameter exchange. 2010-07-07 23:34:48 +00:00
sethdelliott
f1b3bd81f9 Quite a bit of code restructuring. 2010-07-07 21:54:24 +00:00
sethdelliott
b68ac00ee9 Some code restructuring. 2010-07-06 23:12:54 +00:00
sethdelliott
bfd0c25dba Fixed an error when compiling on Ubuntu systems. Also fixed a small server memory leak. 2010-07-01 21:21:04 +00:00
sethdelliott
efb7bbe44b Added support for reverse mode (-R for now). 2010-07-01 00:01:57 +00:00
sethdelliott
abfced3c26 Added parameter exchange for MSS, bytes to send, and test duration. 2010-06-30 22:32:17 +00:00
sethdelliott
af70b448ee All communications are now on port 5201 (including streams) 2010-06-30 22:09:45 +00:00
sethdelliott
32885561a4 Server side bug fixes. 2010-06-30 19:57:17 +00:00
sethdelliott
efdc02f743 The server now runs until terminated by the user. Also fixed several memory leaks. 2010-06-30 15:58:16 +00:00
sethdelliott
181d61afab Iperf results are now exchanged between client and server. The server also now prints results. 2010-06-29 22:02:30 +00:00
sethdelliott
43bcc9709c Added iperf_exchange_results function. 2010-06-28 23:56:09 +00:00
sethdelliott
fd10304cbd Updates to Nread/Nwrite in net.c 2010-06-28 22:25:03 +00:00
sethdelliott
4f43111900 Removed unused functions from the iperf api code. 2010-06-26 00:02:22 +00:00
sethdelliott
f0a7395b20 Added usage_long() to iperf_api.h. 2010-06-25 00:33:39 +00:00
sethdelliott
1c9c053c6c Updated code to make '-s' parameter a requirement while running server. Also added usage() and usage_long() functions for printing out iperf usage messages. 2010-06-25 00:31:15 +00:00
sethdelliott
36d18d07fc Fixed a bug that caused control message errors on different platforms. 2010-06-24 22:40:11 +00:00
sethdelliott
29e3ec74c3 Fixed a bug that caused getopt not to work properly when command line arguments are given to the server. 2010-06-24 22:02:24 +00:00
sethdelliott
59aaeda792 Updated parameter exchange to be cross platform compatible. 2010-06-24 20:42:04 +00:00
sethdelliott
7fa9f68fd5 Fixed a bug that caused an error at results display. 2010-06-23 21:34:07 +00:00
sethdelliott
873952e31c Updated reporting to fit the new control socket design. 2010-06-23 20:28:32 +00:00
sethdelliott
465b565c50 New control socket design now works. Now working on finishing up the reporting. 2010-06-23 19:13:37 +00:00
sethdelliott
ba2672a209 Note: The redesign is almost working. Should be finished shortly. 2010-06-21 15:08:47 +00:00
sethdelliott
982c704a8a NOTE: This is not a working revision. I'm in the process of redesigning how the client and server communicate. It will be fixed soon 2010-06-18 21:08:50 +00:00
sethdelliott
ff385f98e9 Fixed format and improved readibility of timer.c functions. Also formalized timer.h header. 2010-06-16 21:48:20 +00:00
sethdelliott
3e402adeb7 Updated reporter callback, interval report, and the tcp info report to print out its message rather than allocating memory. 2010-06-16 20:32:01 +00:00
sethdelliott
ccb086576f Updated iperf_reporter_callback to print out its message rather than returning a pointer to it 2010-06-15 23:33:32 +00:00
sethdelliott
2d8bc019f7 Fixed client side code to be more module and follow state diagram. 2010-06-15 22:26:12 +00:00
sethdelliott
aebbe3a08f Updated the client code to behave like the state machine for TEST_START 2010-06-14 23:49:41 +00:00
Jon Dugan
e088d2d305 move the parameter exchange into iperf_run_client() where it belongs; propogate return status 2010-02-09 07:29:13 +00:00
AaronMatthewBrown
a067fb27c2 Modify auto* scripts to handle the different uuid libraries/headers. 2009-12-10 14:20:48 +00:00
Jon Dugan
79e6f22912 remove svn:executable from locale.[ch] 2009-12-10 08:08:00 +00:00
AaronMatthewBrown
f4a3ddaae6 Add an initial autotools setup.
The main iperf binary is compiled, along with a static libiperf, the unit
tests, and a profiled iperf binary.

The tests, and the profiled iperf binary do not get installed.

To compile, run:

./bootstrap.sh
./configure
make

It has all the normal make options (they come mostly for free). e.g.:

You can run "make install" to install it.
You can run "make dist" which will create a distribution tarball.
You can run "make check" to run all the tests.

I backed up the existing Makefile as "src/Makefile.old" in case folks want to
use that still.
2009-12-08 21:36:24 +00:00
Jon Dugan
d768f73dce more cleanup and rearrangement 2009-12-02 02:08:47 +00:00
Jon Dugan
27f1f3508e move man page into src dir 2009-12-02 02:06:16 +00:00
Brian Tierney
5fa2f3b044 some cleanup, updates 2009-11-20 23:43:53 +00:00
Brian Tierney
78379b172e more Makefile updates 2009-11-20 23:27:54 +00:00
Brian Tierney
ca3ed92e2b better 'make dist' command (still could be better yet) 2009-11-20 23:22:44 +00:00
Brian Tierney
380c769248 fixed bug in final stats summary calculation 2009-11-20 23:13:35 +00:00
Brian Tierney
54cdc61e24 fixed bug where -T flag without -i flag caused core dump 2009-11-20 23:04:23 +00:00
Brian Tierney
6796ba135a fixed minor issue with server stats 2009-11-20 22:38:47 +00:00
Brian Tierney
fda84f3feb fixed bug in server side thoughput calculation 2009-11-20 22:20:10 +00:00
Brian Tierney
6146bde494 fixed stats computation 2009-11-17 18:44:01 +00:00
Brian Tierney
d033e8cefc more valgrind-based cleanup of memory usage 2009-11-16 20:26:20 +00:00
Brian Tierney
dfb2d9d470 some memory usage cleanup based on valgrind report 2009-11-16 20:10:48 +00:00
Brian Tierney
f4e1c1d4a4 fixes for -T mode 2009-11-16 02:50:24 +00:00
Brian Tierney
01a5081d51 working on fixing TCP_INFO, in progress 2009-11-16 01:58:22 +00:00
Brian Tierney
5ed85b8fa1 a bit more cleanup 2009-11-15 17:06:16 +00:00
Brian Tierney
1882b9cb65 turned off some debug code, and fixed a bug in interval times 2009-11-15 04:47:19 +00:00
Brian Tierney
97887027e7 completely reworked stats collection/display code. Mostly working again, and much more readable. 2009-11-15 04:29:47 +00:00
Brian Tierney
b9cef2e24c cleanup of interval_results linked list and stats_callback function. Now uses
a pointer to the last element so doesnt walk the list every time.
2009-11-13 20:14:06 +00:00
Brian Tierney
70866d6dc0 some fixes/cleanup for Linux 2009-11-13 19:20:52 +00:00
Brian Tierney
7d8b10f945 added version.h to svn, and other minor changes 2009-11-13 18:29:10 +00:00
Brian Tierney
9e1f731a44 better random payload code 2009-11-13 15:26:49 +00:00
Brian Tierney
c44d17d1f7 added AUTHORS fie, and more info to README 2009-11-13 13:59:07 +00:00
Brian Tierney
08dc8710e1 added -v (version option) 2009-11-10 17:05:44 +00:00
Brian Tierney
d44c04d478 fixed bug with -i mode in the server 2009-11-10 16:03:17 +00:00
Brian Tierney
5083c489af more cleanup and bug fixes: TCP mode mostly working. Still bug in using -i on the server 2009-11-10 05:21:17 +00:00
Brian Tierney
e99faeae86 more cleanup and bug fixes 2009-11-10 04:41:42 +00:00
Brian Tierney
a3281a3dc6 parallel streams now mostly working. Still some issues with repeated connections 2009-11-06 07:25:10 +00:00
Brian Tierney
150a09e9e2 refactoring of state machine now complete! works for single stream TCP only at the moment 2009-11-06 02:19:20 +00:00
Brian Tierney
8f4e66c9d0 interrim commit: work in progress 2009-11-06 01:43:50 +00:00
Brian Tierney
8d41fbd712 more bug fixes, still needs work 2009-11-03 06:38:09 +00:00
Brian Tierney
c27f38e5be more work on state cleanup: not yet done 2009-11-03 05:37:06 +00:00
Brian Tierney
a36921c2dd state machine cleanup (still in progress) 2009-11-02 23:56:55 +00:00
Brian Tierney
a951c98062 lots of code restructuring 2009-11-02 22:43:19 +00:00
Brian Tierney
da54a271ad a bit more cleanup, and determined that UDP is more broken than I thought. 2009-10-27 03:51:04 +00:00
Brian Tierney
1b85468f0c more cleanup of TCP/UDP code 2009-10-27 03:06:56 +00:00
Brian Tierney
513fcaefe1 more better comments 2009-10-26 14:34:41 +00:00
Brian Tierney
02fed106c4 worked on receive_result_from_server, more cleanup and comments 2009-10-24 22:31:38 +00:00
Brian Tierney
9a51510ab3 more cleanup: separate file for main routine 2009-10-24 21:15:04 +00:00
Brian Tierney
146be079ba added comment on lack of portability 2009-10-24 20:43:06 +00:00
Brian Tierney
d56546318e add comment 2009-10-23 23:01:46 +00:00
Brian Tierney
a1eb8922d3 TCP_INFO seems to be working on FreeBSD now 2009-10-23 22:58:32 +00:00
Brian Tierney
c0c797b0eb some cleanup for FreeBSD, and further work on TCP_INFO (not finished) 2009-10-23 22:30:17 +00:00
Brian Tierney
d842bb6c9c some minor cleanup 2009-10-23 19:14:17 +00:00
Brian Tierney
6f5723846d lots more cleanup. Seems to work for single stream TCP now. UDP broke. Parallel TCP not tested 2009-10-23 01:30:55 +00:00
Brian Tierney
a725333452 more cleanup; TCP works again now, lots of debug messages still in there 2009-10-22 20:12:57 +00:00
Brian Tierney
c00858d228 added Nread and Nwrite routines, as alternatives to recv 2009-10-22 20:12:27 +00:00
Brian Tierney
657083f27f more cleanup, lots of comments/questions/debug code added, currently broken 2009-10-20 16:56:02 +00:00
Brian Tierney
371c23d833 now compiles on FreeBSD, and fixed -h option 2009-10-20 03:33:50 +00:00
Brian Tierney
b25e5235cb updates/bug fixes (still not done) 2009-10-20 00:07:42 +00:00
Brian Tierney
540d2ae4c2 starting adding TCP_INFO stuff. Not yet tested or finished 2009-10-19 23:44:36 +00:00
Brian Tierney
e434aab6a2 code cleanup: used 'indent' to enforce consistant style 2009-10-19 22:35:18 +00:00
kaustubhprabhu
2d62ee81b2 removed extra log prints 2009-08-13 23:16:06 +00:00
kaustubhprabhu
702c882fe2 added support for abrupt termination Ctrl+c 2009-08-10 21:57:52 +00:00
kaustubhprabhu
27a5c9f3ec changed TCP payload buffer assignment 2009-08-08 00:37:28 +00:00
kaustubhprabhu
aadd324191 corrected interval [sum] bandwidth 2009-08-06 21:22:44 +00:00
kaustubhprabhu
f2eccde89e changed tcp payload to normal for performance improvement 2009-08-06 21:00:03 +00:00
kaustubhprabhu
7ec1259bd7 added setpriority to increase the priority of execution 2009-08-06 20:29:22 +00:00
kaustubhprabhu
7e97b90df5 replaced malloc()for buffer in send() with sp->buffer in stream 2009-08-06 20:26:59 +00:00
kaustubhprabhu
b359357773 changed default window size assignment in iperf_init_test() 2009-08-03 22:20:45 +00:00
kaustubhprabhu
4cb629896a changed recv window assignment, added non-blocking sockets on server side 2009-08-03 20:14:08 +00:00
kaustubhprabhu
c434311b0d changed default port assignment in main() 2009-07-29 21:16:52 +00:00
kaustubhprabhu
675aadd72a simplified main() 2009-07-29 00:30:52 +00:00
kaustubhprabhu
c5038eea0a disabled timer for -n option 2009-07-28 20:21:30 +00:00
kaustubhprabhu
5212846ff4 added -n option for bytes to be sent, added function headers in iperf_api.h 2009-07-28 18:39:18 +00:00
kaustubhprabhu
62aab8d53d corrected blksize in result exchange messages, removed unncessary conditions in reporter callback 2009-07-27 23:01:31 +00:00
kaustubhprabhu
d47cf1d204 added cookie in all state messages, changed tcp payload, changed receive_result_from_server 2009-07-27 22:05:49 +00:00
Jon Dugan
6f6716aed1 rework iperf_run using switch statement; add missing break from arg processing 2009-07-24 21:30:17 +00:00
Jon Dugan
a28983bbe1 fix linux compilation (needed -luuid); linux doesn't define FD_COPY, use memcpy instaed; formatting fixes 2009-07-24 21:06:16 +00:00
Jon Dugan
a613b6a3b6 fix formatting 2009-07-24 21:01:48 +00:00
kaustubhprabhu
40a1df10c1 changed cookie as a string in struct iperf_setting, param_exchange and in Param_exchange message 2009-07-24 18:21:50 +00:00
Jon Dugan
aa3ad76730 rework uuids; rework Makefile 2009-07-23 18:22:24 +00:00
kaustubhprabhu
e7c1d33fce added uuid related functions, added macros for compilation on FreeBSD 2009-07-23 00:34:57 +00:00
kaustubhprabhu
89fe565493 added PARAM_Exchange messages and cookies to prevent test collisions 2009-07-21 23:28:18 +00:00
Jon Dugan
7b63081921 client select was reusing fd_set; use FD_COPY to copy fd_sets 2009-07-21 20:16:09 +00:00
Jon Dugan
955db52cda always report bytes transferred in units of bytes, data rates still use the -f option 2009-07-21 19:00:54 +00:00
kaustubhprabhu
8bc20ef280 added iperf_free_test() and changed server side code in main() 2009-07-20 19:13:08 +00:00
kaustubhprabhu
cbd16a325f bug fix:name resolution issue, TCP reception corrected by adding MSG_WAITALL flag in recv function 2009-07-16 23:17:05 +00:00
kaustubhprabhu
254a65cf73 regular EOD backup, TCP/UDP payload converted to network address format by client 2009-07-16 00:45:24 +00:00
kaustubhprabhu
04b7ffa70f changed TCP Payload assignment, added a sleep() betweeen ALL_STREAM_END and RESULT_REQUEST message to ensure server gets both messages 2009-07-15 01:00:27 +00:00
kaustubhprabhu
3023ce6ec5 corrected interval byte count mismatch, corrected out of order packet count 2009-07-13 21:50:08 +00:00
kaustubhprabhu
fea54f51f7 omitted STREAM_BEGIN message from bytes calculation 2009-07-13 18:44:18 +00:00