Commit Graph

702 Commits

Author SHA1 Message Date
Bruce A. Mah
fa2752296a Regen. 2014-04-24 10:25:36 -07:00
Bruce A. Mah
d141c52dab 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.
2014-04-24 10:23:31 -07:00
Bruce A. Mah
c5c3d86ca8 Make iperf built from master have a distinct version number string. 2014-04-24 10:19:13 -07:00
Bruce A. Mah
cbacc1d670
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.
2014-04-23 15:01:27 -07:00
Bruce A. Mah
e7841b0f92
s/esnet.github.io/software.es.net/ 2014-04-22 10:46:31 -07:00
Bruce A. Mah
ab00852fe1 Merge pull request #158 from esnet/features/issue-125
Fix rookie C mistake committed in revision d076653b as part of
2014-04-22 10:23:28 -07:00
Bruce A. Mah
721ffc1bc5 Fix rookie C mistake committed in revision d076653b as part of
Issue #99.

This caused random output to be displayed on the client's stdout in
--json mode.

Pointed out by:	@bltierney
Pointy hat to:	@bmah888
2014-04-22 10:09:00 -07:00
Bruce A. Mah
54f2264730 Merge branch 'features/issue-125' 2014-04-17 12:14:58 -07:00
Bruce A. Mah
bead6a8b52 Revision 081ba8e seems to have addressed Issue 125, so remove this from
the set of known issues.
2014-04-17 11:11:19 -07:00
Bruce A. Mah
32f50a2c1c
Add a note about (maybe) needing to do ldconfig after make install
on Ubuntu.  This is a workaround for Issue #153.
2014-04-17 08:48:28 -07:00
Bruce A. Mah
081ba8e4e9
Commit a version of the patch for #125 for testing.
Originally submitted by:	@i2aaron
2014-04-16 16:23:13 -07:00
Bruce A. Mah
9ac254da7d Fix build on systems without sendfile(2).
Tested on:	OpenBSD 5.4
2014-04-15 02:51:54 -07:00
Bruce A. Mah
de542356af Regen. 2014-04-14 14:49:39 -07:00
Bruce A. Mah
7f6360334d
Fix potential compile error observed on MacOS 10.8. 2014-04-14 14:45:09 -07:00
Bruce A. Mah
efb9472f93 Merge branch 'feature/sctp-build-fixes' of github.com:esnet/iperf into feature/sctp-build-fixes 2014-04-14 14:34:54 -07:00
Bruce A. Mah
3f8c33cd76
Better sendfile / zerocopy detection.
There's still a bunch of OS-dependent fu because every platform that
supports sendfile(2) does it differently.
2014-04-14 14:16:07 -07:00
Bruce A. Mah
607234be2d Merge remote-tracking branch 'origin/master' into feature/sctp-build-fixes 2014-04-14 14:00:43 -07:00
Bruce A. Mah
3e9b0eb334
Recent feature detection changes have gotten the -C (TCP congestion
algorithm selection) option to work on FreeBSD for free, starting with
FreeBSD 9.  Update various documentation places to note this.  One
specifies the congestion algorithm in the same was on Linux, although
the names of the algorithms are (at least in the general case) different.
"sysctl net.inet.tcp.cc" on FreeBSD provides a list of available
algorithms, which are implemented as loadable kernel modules.

Rename the --linux-congestion long option to --congestion (retaining
the old option as a deprecated synonym).
2014-04-14 13:43:02 -07:00
Bruce A. Mah
a57bcc2d77 Regen. 2014-04-14 13:37:47 -07:00
Bruce A. Mah
40050b7bee
Fix breakage due to iperf.h depending on the autoconf config.h file but
not including it.

To fix this required us to change config.h to iperf_config.h (to
avoid potential filename collisions with this generic name).  Then
iperf.h could include this.

Adjust the existing header file inclusions to track this, and also
canonicalize their inclusion to be at the top of *.c files.
2014-04-14 13:33:33 -07:00
Bruce A. Mah
75ee0f4f26 Regen. 2014-04-14 10:49:59 -07:00
Bruce A. Mah
40a1faf332 Improve detection of CPU affinity support (for FreeBSD and Linux).
As with several other recent commits, don't check explicitly for an
OS platform, but rather detect the various API bits that are used
to implement CPU affinity setting.
2014-04-14 10:45:46 -07:00
Bruce A. Mah
6b363d2990
libuuid is not needed by iperf3 in any way. 2014-04-10 15:07:49 -07:00
Bruce A. Mah
5976bac34e Merge remote branch 'origin/master' into feature/sctp-build-fixes 2014-04-10 15:01:26 -07:00
Bruce A. Mah
d70a0bb238 Regen. 2014-04-10 15:00:05 -07:00
Bruce A. Mah
e5663022bd The LINUX Makefile variable is not used anywhere in the current
Makefile infrastructure.  So get rid of the autoconf goop that sets
it.
2014-04-10 14:59:03 -07:00
Bruce A. Mah
5a657ae894
Get rid of this obsolete file. 2014-04-10 11:33:11 -07:00
Bruce A. Mah
cbc17310cd Get a missed HAVE_TCP_CONGESTION change. 2014-04-10 11:24:47 -07:00
Bruce A. Mah
b904a787af Regen. 2014-04-10 11:22:49 -07:00
Bruce A. Mah
4155c45471 Improve detection of IPv6 flowlabel support (Linux only).
We check at configure-time to see if IPV6_FLOWLABEL_MGR is defined
in <linux/in.6>, if it is we set a HAVE_FLOWLABEL CPP symbol to
turn on conditional compilation of the support for this feature.
2014-04-10 11:20:36 -07:00
Bruce A. Mah
8cb96d1405 Regen. 2014-04-10 10:55:26 -07:00
Bruce A. Mah
c550ef4605 Non-platform-specific detection of TCP_CONGESTION socket option.
Rather than checking for anything Linux-specific at configure-time,
see if TCP_CONGESTION is defined in <netinet/tcp.h> and if so define
a CPP variable HAVE_TCP_CONGESTION, which we then use to enable
conditional compilation of the code for this feature.
2014-04-10 10:53:18 -07:00
Bruce A. Mah
24f99219fd Add admonition about using our tarballs, not the autogenerated ones
from GitHub Releases.
2014-04-09 14:19:39 -07:00
Bruce A. Mah
e90f34f61a Merge remote-tracking branch 'origin/master' into feature/sctp-build-fixes 2014-04-09 13:55:03 -07:00
Bruce A. Mah
449f47e4ef
Use the PACKAGE_BUGREPORT and PACKAGE_STRING macros from automake
in --help and --version.  Notably this provides the correct URL
for the bugtracker.
2014-04-09 13:29:03 -07:00
Bruce A. Mah
cfed9382b7
Get rid of definitions of ntohll and htonll that were broken on FreeBSD.
These macros were never used anywhere in iperf3 anyways, and
conflicted with macro definitions that were in FreeBSD's system
headers.

Bump copyright date and add a comment to inclusion guard while here.
2014-04-09 11:28:02 -07:00
Bruce A. Mah
81f9bbb451 Regen. 2014-04-09 10:36:32 -07:00
Bruce A. Mah
cd81de3c0a
Rework detection / enabling of SCTP support.
Rather than doing checks for platforms that we believe support SCTP,
instead look for an indication (notably the presence of <netinet/sctp.h>)
that it's supported.  This makes the conditionals for SCTP more obvious.
In addition, it opens up the possibility that SCTP might work on some
new OS that's not FreeBSD or Linux.

This change may force some additional build-time requirements on Linux,
such as lksctp-tools-devel on CentOS / Fedora or libsctp-dev on
Ubuntu.

Committing this first cut for review and to enable testing on multiple
platforms.  So far this works correctly on Linux (SCTP support) and
MacOS (no SCTP support).
2014-04-09 10:29:16 -07:00
Bruce A. Mah
e3990c3cc0
Provide more useful links to get to content in a hurry.
While here some minor formatting tweaks.
2014-04-08 10:50:42 -07:00
Bruce A. Mah
7a80dfb20e
Minor doc-building fix-ups.
Put the sphinx-generated docs/Makefile under revision control like it
should have been from the start (requires some changes and fixes
to .gitignore).

Change project name from iperf to iperf3 in a few generated places in
the documentation pages, most notably the page headers.
2014-04-08 10:27:16 -07:00
Bruce A. Mah
2939863b1a
Resolves #147.
Squashed commit of the following:

commit 23ef0d047fb5396df671be9245f7872153fc299c
Author: Bruce A. Mah <bmah@es.net>
Date:   Mon Apr 7 13:35:29 2014 -0700

    Add a few API calls to the client-side example program so we can
    exercise recently-added JSON-related functionality.

commit 5f8301e8d0380133d533da9b2e39ca4ac522e1c3
Author: Bruce A. Mah <bmah@es.net>
Date:   Mon Apr 7 13:16:39 2014 -0700

    Revert part of earlier change.

    We still want to save the JSON for libiperf consumers that might want it,
    but preserve the prior behavior of writing that JSON to stdout.  This
    maintains (roughly) the behavior of older libiperf, in which libiperf
    consumers (such as the iperf3 executable) do not need to explicitly print
    the JSON if that's all they're doing with it.

commit 173dcdb05867af00103205bfe39d1b71e18689e9
Author: Bruce A. Mah <bmah@es.net>
Date:   Tue Mar 25 13:55:45 2014 -0700

    Update manpage for newly-added library calls.

    Bump document date while here.

    Part of Issue #147.

commit 51a275de9463febc440d41cee9d971fcd381e01c
Author: Bruce A. Mah <bmah@es.net>
Date:   Tue Mar 25 13:30:09 2014 -0700

    Allow consumers of libiperf3 to get the JSON output for a just-completed test.

    This changes the behavior of iperf_json_finish() so that it no longer
    outputs JSON output, but saves the rendered output in a NUL-terminated
    string buffer.  After calling iperf_run_server() or iperf_run_client(),
    the client application should check iperf_get_test_json_output() to see
    if it returns a non-NULL pointer.  If so, there is JSON data available
    for it to print or otherwise consume.  The buffer is automatically
    deallocated when the containing iperf_test structure is deallocated
    with iperf_free_test().

    Also adds a new API call iperf_get_test_outfile() to find the output
    FILE* structure.

    Modifies the iperf3 application to use the new API.  Users of iperf3
    will not notice any functional change.

    No effect in "normal" output mode (non-JSON).
2014-04-07 14:12:47 -07:00
Bruce A. Mah
8c369d40f4
Minor updates, wording fixes, etc. 2014-04-07 11:02:32 -07:00
Bruce A. Mah
95d7c7d5fd Tweak .gitignore so we don't obsess over a documentation directory. 2014-04-07 10:23:01 -07:00
Bruce A. Mah
14741dcbb4 First pass at new iperf3 documentation, implemented in reStructuredText.
Building and deploying the documentation requires some infrastructure
that's not part of this tree.
2014-03-31 11:52:23 -07:00
Bruce A. Mah
6a3cd13e36 Merge commit 'a3356c98134c9e2995207a00c40276587de05bc2' as 'docs/_esnet' 2014-03-28 14:55:12 -07:00
Bruce A. Mah
a3356c9813 Squashed 'docs/_esnet/' content from commit c02bf57
git-subtree-dir: docs/_esnet
git-subtree-split: c02bf57d43dbfcd7c727cdd17c54f0a480279f9a
2014-03-28 14:55:12 -07:00
Bruce A. Mah
b479182cd2
Make this work on old git (1.7). 2014-03-26 11:05:40 -07:00
Bruce A. Mah
d467b2912a
Update release notes on mainline. 2014-03-26 10:04:03 -07:00
Bruce A. Mah
73936538a7
Minor style fixes, no functional change.
Related to Issue #155.
2014-03-25 13:05:03 -07:00
Bruce A. Mah
13b65724fb Merge pull request #155 from ajaissle/patch-1
Prevent possible buffer overflow in iperf_error.c
2014-03-25 12:59:57 -07:00