Commit Graph

546 Commits

Author SHA1 Message Date
Bruce A. Mah
8ba30b0f05 Remove a "known issue" that was fixed.
(cherry picked from commit 263449b1d2)
Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-07-28 09:33:11 -07:00
Bruce A. Mah
9d6352b3ca Regen. 2014-07-28 09:23:04 -07:00
Bruce A. Mah
af19119547 Bump version number. 2014-07-28 09:22:28 -07:00
Bruce A. Mah
1b28e42c0d Update release notes, somewhat optimistically plug in a release date. 2014-07-28 09:20:58 -07:00
Bruce A. Mah
fc05ad39a9 Don't try to do IPV6_V6ONLY on OpenBSD either.
setsockopt(3) returns an error if passing 0 to this option (which
we do if no address family is specified when we bind to the wildcard
address, say by invoking "iperf3 -s" with no other options).  This
is because OpenBSD explicitly does not support IPv4-mapped addresses,
so even though the IPV6_V6ONLY socket options exists, it only works
with a non-zero argument.

Fixes #196.

(cherry picked from commit bef5ef87f5)
Signed-off-by: Bruce A. Mah <bmah@es.net>

Conflicts:
	src/iperf_sctp.c
2014-07-28 09:16:01 -07:00
Bruce A. Mah
706748dd99 Only do the IPV6_V6ONLY setsockopt(3) stuff if that option is available.
Should fix #177, in which compilation failed on older Solaris systems
that didn't have it.  This is a different approach than a patch
suggested in that issue.

Weakly regression-tested on other platforms (test this by specifying
-6, -4, or neither to the server when binding to the wildcard address,
and seeing if a client can connect with various of -6, -4, or neither).

(cherry picked from commit 147d3369a0)
Signed-off-by: Bruce A. Mah <bmah@es.net>

Conflicts:
	src/iperf_sctp.c
2014-07-28 09:14:32 -07:00
Bruce A. Mah
7e7ff12954 Start a release notes section for iperf 3.0.6, populate. 2014-07-24 15:42:28 -07:00
Bruce A. Mah
7141020469 Add API methods to allow setting the bind_address test parameter.
This is the same functionality as the -B iperf3 command-line option.

Fixes #197.

(cherry picked from commit e0d039ea3c)
Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-07-24 09:32:52 -07:00
Bruce A. Mah
1077838869 Fix a problem with binding to the wildcard address.
On CentOS 6 and MacOS, if no address family was specified, we'd
get back an IPv4 address from getaddrinfo(3), with the result that
we couldn't accept IPv6 connections in the default server configuration.

There was an earlier attempt at fixing this problem that caused
Issue #193.  This change is a follow-up fix to that issue.

While here, put lots of comments around the fix so we remember
why we're doing these shenanigans.

(cherry picked from commit 76b5942f6f)
Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-07-17 17:32:47 -07:00
Bruce A. Mah
82b6200551 Fix two related bugs with -B and IPv4 addresses.
If specifying -B with an IPv4 literal address or with an FQDN that
resolved to an IPv4 address, but we had not explicitly specified an
address family with -4, we failed to set up the socket correctly
because we assumed binding to an IPv6 address, and instead (after some
error spewage) wound up binding to wildcard address.

The fix in this commit has multiple parts:  First, if the address
family hasn't been explictly specified, don't force AF_INET6 in the
hints to getaddrinfo(3).  AF_UNSPEC should generate the correct
(according to RFC 6724) behavior.

Second, iperf_reset_test() should not discard members that were passed
from command-line parameters, because that alters the behavior of the
iperf3 when it tries to recreate the listening socket.  In the failure
situation described in this issue (and possibly other as well), the
value of -B gets discarded, so on subsequent attempts to set up the
listening socket it just binds to the wildcard address.

While here, fix on-line help related to the -B option to match
reality.

Note that we're not completely in compliance with RFC 6724, which
states that we should actually try all of the addresses in returned by
getaddrinfo(3), rather than just the first one.

Fixes Issue #193.

(cherry picked from commit 5b760eef47)
Signed-off-by: Bruce A. Mah <bmah@es.net>

Conflicts:
	src/locale.c
2014-07-17 14:41:52 -07:00
Bruce A. Mah
fb15120edc Fix incorrect help text; "--num" should be "--bytes".
Fixes issue #192.

(cherry picked from commit fa0e81c853)
Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-07-10 09:51:21 -07:00
Bruce A. Mah
03a379dbe8 Merge pull request #188 from i2aaron/master
Update the license in the bootstrap.sh
(cherry picked from commit 4fe55f3667)

Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-06-20 08:41:46 -07:00
Bruce A. Mah
60c1bb4e6a
One more version number bump and regen. 2014-06-16 10:18:49 -07:00
Bruce A. Mah
53a9a0604a
Gah. Need to spin a new tag because the Git way of doing things doesn't
really support re-tagging after a tag has been pushed.

Next iperf release will be 3.0.5, not 3.0.4.
2014-06-16 09:57:54 -07:00
Bruce A. Mah
c9f98f333b Bump release date for 3.0.4, for real this time. 2014-06-16 09:21:50 -07:00
Bruce A. Mah
c84c6e7465
Add PACKAGE_URL and regen.
This change should have come over from the mainline but somehow
didn't.
2014-06-13 16:28:41 -07:00
Bruce A. Mah
fcf696a9ab
Version number / date bumps. 2014-06-13 15:41:02 -07:00
Bruce A. Mah
8271b05ff1
Regen. 2014-06-12 11:49:59 -07:00
Bruce A. Mah
90d1102806 Bump version number for hopefully-soon maintenance release. 2014-06-12 11:48:56 -07:00
Bruce A. Mah
5eac38de4c Minor release notes update.
(cherry picked from commit 0f6a1e0497)
Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-06-12 11:46:09 -07:00
Bruce A. Mah
662a8362c4 Fix a bug in the structure of the --json output.
The various "connected" structures were just dumped into the "start"
structure.  This caused problems if there were multiple connections
(i.e. multiple parallel streams), because the "connected" structures
would overwrite themselves.  Instead, make these structures members
of a "connected" array.

This is technically an incompatible API change, but the prior behavior
was unusable.

Discovered and fix suggested by:	@i2aaron

(cherry picked from commit a134ba0a02)
Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-06-12 11:46:00 -07:00
Bruce A. Mah
07fb5fa28e Update automake infrastructure for 1.14, to match what we build
against.
2014-06-11 14:04:44 -07:00
Bruce A. Mah
de4d86a0d6 Update release notes and known issues on 3.0.x codeline. 2014-06-11 13:42:19 -07:00
Bruce A. Mah
4c5110dff7 Revert "Explicitly run ldconfig after "make install"."
This reverts commit 516af58120.
2014-06-11 13:28:59 -07:00
Bruce A. Mah
80c0e9be76 Be more tolerant of certain autoconf-defined variables not being
available.

This can happen if needing to regenerate the autoconf goop on an
older system (such as CentOS 6), where PACKAGE_URL doesn't get
defined.
(cherry picked from commit 23c1008132)

Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-06-11 12:03:30 -07:00
Bruce A. Mah
7b56b38dbc MacPorts installs libtoolize as glibtoolize. Autodetect this and DTRT.
(cherry picked from commit 082157bdb0)
Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-06-11 11:52:41 -07:00
Bruce A. Mah
492a91292a Update config/missing to a newer version that works with newer autoconf.
(cherry picked from commit ad98a8feba)

Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-06-11 11:39:26 -07:00
Bruce A. Mah
f7fd65d388 Fix programming misteak.
Part of issue #160, pointed out by @i2aaron.

(cherry picked from commit 265c54a01f)
Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-06-11 09:57:14 -07:00
Bruce A. Mah
71bd28edba Update URLs and other references to downloads to point to downloads.es.net.
(cherry picked from commit 7ec1cbe0c8)
Signed-off-by: Bruce A. Mah <bmah@es.net>

Conflicts:
	docs/dev.rst
	docs/index.rst
	docs/news.rst
	docs/obtaining.rst
2014-06-10 16:11:25 -07:00
Bruce A. Mah
33bb9421a8 Implement a --get-server-output flag that allows the client to
retrieve (most of) the output emitted by the server.

If the server was invoked with the --json flag, the output will be in
JSON, otherwise it will be in the human-readable format.

If the client was invoked with the --json flag, the output will be
contained within the JSON output structure, otherwise it will be
appended (in whatever format) to the bottom of the human-readable
output.

Because of the sequencing of the output generation and display, the
server-side output includes only the starting output, interval
statistics and summaries, but not the overall summaries.  (The overall
summaries were already displayed in the client's output.)

Towards issue #160.

(cherry picked from commit ba8d6e6246)
Signed-off-by: Bruce A. Mah <bmah@es.net>

Conflicts:
	src/iperf3.1
	src/iperf_api.c
	src/iperf_api.h
2014-06-10 15:06:49 -07:00
Bruce A. Mah
3faa377908 Regen. 2014-06-09 16:50:01 -07:00
Bruce A. Mah
89ef119262 Another try at portability. Don't do -Werror. While probably
the best thing to do from a code hygeine standpoint, it's too
painful to try to get right for now.

Fixes #174 (second try).

(cherry picked from commit 94c0bfffcb)
Signed-off-by: Bruce A. Mah <bmah@es.net>

Conflicts:
	configure.ac
2014-06-09 16:49:08 -07:00
Bruce A. Mah
7dd53a6160 Portability fixes for Solaris Sun Studio and MacOS.
Only do -Wall by default if on GCC (or something that looks like
GCC, such as clang/llvm).

Turn on -Werror so we can get some better error-checking, but
we also need -Wno-deprecated-declarations at least for MacOS,
because daemon(3) is deprecated starting with MacOS 10.5.

Fixes #174 (I think).

Submitted by:	@marksolaris

(cherry picked from commit 8de51b589f)
Signed-off-by: Bruce A. Mah <bmah@es.net>

Conflicts:
	configure.ac
2014-06-09 16:46:39 -07:00
Bruce A. Mah
afc2fb5659 Fix build on Fedora 21.
An open(2) call had two arguments instead of the required three.

Fixes #183.

Submitted by @ssahani.

(cherry picked from commit c5e1205e49)
Signed-off-by: Bruce A. Mah <bmah@es.net>

Conflicts:
	src/iperf_api.c
2014-06-09 13:48:42 -07:00
Bruce A. Mah
58492bf910 Make sockets for non-UDP tests non-blocking (rather than all sender
side sockets).  This is reported to fix some oddities after a recent
change in this area.

Somewhat related to Issue #125.

Submitted by:	@i2aaron
(cherry picked from commit 6b16244baa)

Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-05-30 14:26:45 -07:00
Bruce A. Mah
4ff33cf1b5 Only set sockets to non-blocking mode on the sending side of the
transfer.

Note that the sender can either be the client or the server depending
on whether --reverse is used.

This fixes some problems with UDP transfers getting severely confused
and (wrongly) complaining about packets arriving out of order.

Related to issue #125.
(cherry picked from commit cbacc1d670)

Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-05-30 14:26:27 -07:00
Bruce A. Mah
03ac66d332 Merge branch 'features/issue-125' 2014-05-30 14:26:02 -07:00
Bruce A. Mah
9dd626d46b Regen.
(cherry picked from commit df1a7a2194)
Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-05-12 15:52:33 -07:00
Bruce A. Mah
516af58120 Explicitly run ldconfig after "make install".
This might address Issue #153.

(cherry picked from commit 72d410561e)
Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-05-12 15:52:26 -07:00
Bruce A. Mah
b2c95dab91 Add reverse member to start.test_start JSON, which is 1 in --reverse mode.
This lets us tell easily from the JSON output whether a test was run in
--reverse mode or not.  Resolves #167 (one comment made in that issue
anyway).

(cherry picked from commit ef3eae69bf)
Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-05-12 14:30:29 -07:00
Bruce A. Mah
1bec14e39a Catch up release notes with reality, at least on the 3.0-STABLE
branch.
2014-05-09 16:32:49 -07:00
Bruce A. Mah
d26a984903 Fix a problem where CPU time was computed wrong.
This definitely affected FreeBSD, which breaks POSIX.1 by not
setting CLOCKS_PER_SEC to 1000000 (see clock(3)).  At this point
I can't tell if any other platforms were affected by this.

(cherry picked from commit bf219a4d51)
Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-05-09 16:12:24 -07:00
Bruce A. Mah
569e61394b
Fix file inclusion that somehow didn't get cherry-picked. 2014-05-09 14:51:57 -07:00
Bruce A. Mah
975f1b5642 Regen. 2014-05-09 14:45:23 -07:00
Bruce A. Mah
528f5c2c5c Add PACKAGE_URL to help message.
(cherry picked from commit daff72b682)
Signed-off-by: Bruce A. Mah <bmah@es.net>

Conflicts:
	src/locale.c
2014-05-09 14:44:03 -07:00
Bruce A. Mah
fc23a5bf0d Point to GitHub Pages.
(cherry picked from commit 4318163373)
Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-05-09 14:42:31 -07:00
Bruce A. Mah
fb00f59f6a Use AM_MAINTAINER_MODE and regenerate autotools / libtool goop
using recent versions.

Resolves #161.

(cherry picked from commit 6edfd8d65c)
Signed-off-by: Bruce A. Mah <bmah@es.net>

Conflicts:
	Makefile.in
	configure
	configure.ac
	src/Makefile.in
2014-05-09 14:41:42 -07:00
Bruce A. Mah
acc73c9353 src/version.h is generated now so make git ignore it.
(cherry picked from commit 5069cc1329)
Signed-off-by: Bruce A. Mah <bmah@es.net>

Conflicts:
	.gitignore
2014-05-09 14:32:29 -07:00
Bruce A. Mah
4f31aa4daf Get the iperf version number from autoconf, don't track the tagging date.
These simplify the release process because they eliminate a manual
file-editing step.

(cherry picked from commit d141c52dab)
Signed-off-by: Bruce A. Mah <bmah@es.net>

Conflicts:
	configure.ac
	src/locale.c
	src/version.h.in
2014-05-09 14:28:54 -07:00
Bruce A. Mah
d5cb8922fe Increase maximum test running time to 1 day.
Fixes #166.

(cherry picked from commit c8a98bd371)
Signed-off-by: Bruce A. Mah <bmah@es.net>
2014-05-09 14:10:48 -07:00