1
1

67 Коммитов

Автор SHA1 Сообщение Дата
Jef Poskanzer
019434022c test->state needs to be explicitly signed char to accomodate a couple
of error states which are negative.  On most systems this doesn't
matter because char is signed, but on ARM CPUs char is unsigned.
2013-08-16 13:19:42 -07:00
Jef Poskanzer
d611f13e18 Fix incorrect default bandwidth limit when using the API instead
of the command line.
2013-07-12 19:56:49 -07:00
Jef Poskanzer
5789260432 Changed the -I / --ignore flag to -O / --omit, so that we can use the
same flag in bwctl.
2013-07-05 13:52:19 -07:00
Jef Poskanzer
c969359995 Added -I flag to ignore an initial period of data transfer,
defaulting to one second.
2013-07-03 12:01:57 -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
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
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
e96ab74093 Move the JSON initialization/finalization insode the API. 2013-03-08 20:56:52 -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
b5e0751f59 (Mostly) switched error reporting to a single routine that handles JSON mode. 2013-02-07 12:35:17 -08:00
Jef Poskanzer
9bfb54c0cc Add -J flag to produce JSON output instead. 2013-02-01 11:42:35 -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
ec2d0670b8 Switched to using a new timer package, adapted from thttpd and http_load. 2012-12-11 22:29:26 -08: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
Jon Dugan
7d375156aa update license info for all source files 2011-04-20 20:33:09 +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
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
sethdelliott
02a35f07e3 Merged print mss (-m) into verbose mode (-V) 2010-08-04 19:19:08 +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
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
a1344ede16 Added support for binding (-B) to a specific interface 2010-07-26 21:30:34 +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
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
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
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
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
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
4f43111900 Removed unused functions from the iperf api code. 2010-06-26 00:02:22 +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
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