Commit Graph

397 Commits

Author SHA1 Message Date
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
26e392e175 Oops, left out the --version4 long opt. 2013-07-04 18:06:29 -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
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
5bafe6e6cf cleanups on the make_release script 2013-03-28 12:51:08 -05:00
Jon M. Dugan
58204b33b9 tagging 3.0-BETA5 2013-03-28 12:09:43 -05:00
Jon M. Dugan
8c6e09a1cb update make_release for hg 2013-03-28 12:09:34 -05: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