|
Revision tags: 3.11 |
|
| #
e919e8c2 |
| 03-Sep-2021 |
a1346054 <[email protected]> |
trim excess whitespace
|
|
Revision tags: 3.10.1, 3.10 |
|
| #
49a5771a |
| 16-Feb-2021 |
David Bar-On <[email protected]> |
IP don't fragment support (#1119)
Adds an --dont-fragment flag that sets the DF flag in the header for UDP/IPv4 tests.
Co-authored-by: root <[email protected]>
Co-authored-by: Bru
IP don't fragment support (#1119)
Adds an --dont-fragment flag that sets the DF flag in the header for UDP/IPv4 tests.
Co-authored-by: root <[email protected]>
Co-authored-by: Bruce A. Mah <[email protected]>
show more ...
|
| #
21581a72 |
| 22-Dec-2020 |
Bruce A. Mah <[email protected]> |
enh: Support SO_BINDTODEVICE (#1097)
This lets iperf work better with multi-homed machines and
VRF.
Fixes #1089.
Based on a patch by Ben Greear <[email protected]> via PR #817.
Co-au
enh: Support SO_BINDTODEVICE (#1097)
This lets iperf work better with multi-homed machines and
VRF.
Fixes #1089.
Based on a patch by Ben Greear <[email protected]> via PR #817.
Co-authored-by: Ben Greear <[email protected]>
show more ...
|
|
Revision tags: 3.9 |
|
| #
3888e044 |
| 12-Jun-2020 |
David Bar-On <[email protected]> |
chore: Change applicable function arguments from 'char *' to 'const char *' (#1006)
Fixes #946. Should not present any functional changes.
|
| #
0b0aa349 |
| 12-Jun-2020 |
Stefano Garzarella <[email protected]> |
Fix warning: "HAVE_SCTP" redefined (#1010)
The netinet/sctp.h header file defines HAVE_SCTP, so we have this
warning while building:
In file included from ../../src/iperf.h:30,
Fix warning: "HAVE_SCTP" redefined (#1010)
The netinet/sctp.h header file defines HAVE_SCTP, so we have this
warning while building:
In file included from ../../src/iperf.h:30,
from ../../src/iperf_sctp.c:46:
./iperf_config.h:44: warning: "HAVE_SCTP" redefined
44 | #define HAVE_SCTP 1
|
In file included from ../../src/iperf_sctp.c:43:
/usr/include/netinet/sctp.h:56: note: this is the location of the previous definition
56 | #define HAVE_SCTP
|
This patch replaces our HAVE_SCTP definition with HAVE_SCTP_H to avoid
this warning.
Signed-off-by: Stefano Garzarella <[email protected]>
show more ...
|
|
Revision tags: 3.8.1, 3.8, 3.7 |
|
| #
d6075799 |
| 13-Dec-2018 |
Tommi Rantala <[email protected]> |
Fix cpu usage calculation regression in cpu_util() (#822)
iperf reported "impossible" CPU usage percentages in JSON output:
"cpu_utilization_percent": {
"host_total": 70907445
Fix cpu usage calculation regression in cpu_util() (#822)
iperf reported "impossible" CPU usage percentages in JSON output:
"cpu_utilization_percent": {
"host_total": 70907445.679701567,
"host_user": 1303335.9336584355,
"host_system": 69604109.746043131,
"remote_total": 13580675.258652203,
"remote_user": 540984.0827233647,
"remote_system": 13039620.331720918
},
Regression introduced in commit cde81d7 ("Add initial portable time
abstraction"), where "timediff" was accidentally changed from
microseconds to seconds:
- timediff = ((temp.tv_sec * 1000000.0 + temp.tv_usec) -
- (last.tv_sec * 1000000.0 + last.tv_usec));
+ iperf_time_diff(&now, &last, &temp_time);
+ timediff = iperf_time_in_secs(&temp_time);
show more ...
|
|
Revision tags: 3.6 |
|
| #
cde81d76 |
| 16-May-2018 |
Ben Fox-Moore <[email protected]> |
Add initial portable time abstraction
|
| #
cbea72b6 |
| 20-Apr-2018 |
Phil Levchenko <[email protected]> |
Add --repeating-payload option to the client side (#726)
This option simulates payload in iperf2, which is just repetitive pattern
(ASCII '0..9' repeating), as opposed to iperf3 where payload is ra
Add --repeating-payload option to the client side (#726)
This option simulates payload in iperf2, which is just repetitive pattern
(ASCII '0..9' repeating), as opposed to iperf3 where payload is random.
It might help in testing and reveal problems in networking gear with hardware
compression (including WiFi access points), where iperf2 and iperf3 perform
differently, just based on payload entropy.
show more ...
|
|
Revision tags: 3.5, 3.4 |
|
| #
a5e327b4 |
| 03-Jan-2018 |
Suresh Sundriyal <[email protected]> |
Include signal.h + time.h. (#680)
Required to avoid implicit declarations of 'signal()' and 'time()'; which
causes compilation to error out while compiling a statically linked binary.
|
| #
480824e3 |
| 11-Nov-2017 |
Todd C. Miller <[email protected]> |
Remove a few unnecessary headers and unused functions. (#667)
* EXIT_SUCCESS and EXIT_FAILURE are defined in stdlib.h, not sysexits.h
so no need to include the latter.
* No need to include pthre
Remove a few unnecessary headers and unused functions. (#667)
* EXIT_SUCCESS and EXIT_FAILURE are defined in stdlib.h, not sysexits.h
so no need to include the latter.
* No need to include pthread.h.
* Remove the no longer used delay() function.
This also removes the reliance on nanosleep().
* Remove get_tcp_windowsize() and set_tcp_windowsize() which are unused.
These days, iperf uses get/setsockopt() with SO_SNDBUF SO_RCVBUF directly.
show more ...
|
| #
73b02f98 |
| 11-Nov-2017 |
Bruce A. Mah <[email protected]> |
Implement daemon(3) for systems that don't have it.
Fixes (and based on a patch in) #369, with some reworking by @bmah888 and @pprindeville.
|
| #
cb2dcd3f |
| 08-Nov-2017 |
Bruce A. Mah <[email protected]> |
Provide a getline(3) implementation for systems without it. (#663)
The getline(3) implementation comes from NetBSD's file(1) command.
This should make compiling work on macOS pre 10.7. Fixes #607.
|
|
Revision tags: 3.3, 3.2, 3.2rc1 |
|
| #
e7ab564c |
| 21-May-2017 |
Sami Farin <[email protected]> |
Return random ascii-string in make_cookie. (#582)
Having hostname and microsecond timestamp in the cookie is not
necessary. Also fill test buffer with data from /dev/urandom
instead of using rand
Return random ascii-string in make_cookie. (#582)
Having hostname and microsecond timestamp in the cookie is not
necessary. Also fill test buffer with data from /dev/urandom
instead of using random().
show more ...
|
| #
02d411cb |
| 20-Apr-2017 |
Bruce A. Mah <[email protected]> |
Fix some help text. Add authentication as a feature in --version.
Follow-up to #517.
|
|
Revision tags: 3.1.7, 3.1.6, 3.1.5, 3.1.4, 3.0.12, 3.1.3 |
|
| #
ed94082b |
| 03-Jun-2016 |
Bruce A. Mah <[email protected]> |
Fix a buffer overflow / heap corruption issue that could occur if a malformed JSON string was passed on the control channel. This issue, present in the cJSON library, was already fixed upstream, so
Fix a buffer overflow / heap corruption issue that could occur if a malformed JSON string was passed on the control channel. This issue, present in the cJSON library, was already fixed upstream, so was addressed here in iperf3 by importing a newer version of cJSON (plus local ESnet modifications).
Discovered and reported by Dave McDaniel, Cisco Talos.
Based on a patch by @dopheide-esnet, with input from @DaveGamble.
Cross-references: TALOS-CAN-0164, ESNET-SECADV-2016-0001, CVE-2016-4303
show more ...
|
| #
9915746a |
| 26-May-2016 |
Bruce A. Mah <[email protected]> |
Squashed commit of the following:
commit 2dc03630a736be2ae9f64823aabb5776e7074c2a Merge: 61e325c 0da552c Author: Bruce A. Mah <[email protected]> Date: Thu May 26 09:40:58 2016 -0700
Merge branch '
Squashed commit of the following:
commit 2dc03630a736be2ae9f64823aabb5776e7074c2a Merge: 61e325c 0da552c Author: Bruce A. Mah <[email protected]> Date: Thu May 26 09:40:58 2016 -0700
Merge branch 'master' into issue-325
commit 61e325c5d0a4e7a9823221ce507db0f478fc98b5 Merge: 227992f ccbcee6 Author: Bruce A. Mah <[email protected]> Date: Thu May 26 11:09:54 2016 -0400
Merge branch 'issue-325' of github.com:esnet/iperf into issue-325
Conflicts: src/iperf3.1
commit 227992f366e7f4895b6762011576ba22a42a752e Author: Bruce A. Mah <[email protected]> Date: Thu May 26 11:07:01 2016 -0400
Don't set SO_MAX_PACING_RATE if the rate is 0. Also tweak some help text.
Towards #325, in response to feedback from @bltierney.
commit ccbcee6366d50ec632fc00eb11fde8a886f8febe Author: Bruce A. Mah <[email protected]> Date: Tue May 24 09:19:41 2016 -0700
Fix manpage formatting for consistency.
commit 90ac5a9ce09bd746ca5f943a8226ab864da3ebf8 Author: Bruce A. Mah <[email protected]> Date: Tue May 24 12:14:16 2016 -0400
Add some documentation for fair-queueing per-socket pacing.
For #325.
commit 5571059870f7aefefb574816de70b6406848888f Author: Bruce A. Mah <[email protected]> Date: Tue May 24 11:55:44 2016 -0400
Change the fair-queueing socket pacing logic in response to feedback.
By default, on platforms where per-socket pacing is available, it will be used. If not available, iperf3 will fall back to application- level pacing.
The --no-fq-socket-pacing option can be used to forcibly disable fair-queueing per-socket pacing. (The earlier --socket-pacing option has been removed.)
Tested on CentOS 7, more testing on other platforms is required to be sure it didn't break the old application-level pacing behavior.
For #325.
commit 3e3f506fe9f375a5771c9e3ddfe8677c1a7146e7 Merge: 50a379e 3b23112 Author: Bruce A. Mah <[email protected]> Date: Tue May 24 09:54:39 2016 -0400
Merge branch 'master' into issue-325
commit 50a379eddfa89d1313d2aeeb62a6fbc82f00ea17 Author: Bruce A. Mah <[email protected]> Date: Sat Apr 16 02:55:42 2016 -0400
Regen.
commit 200d3fe3917b3d298bdf52a0bde32c47cf2727b0 Author: Bruce A. Mah <[email protected]> Date: Sat Apr 16 02:41:32 2016 -0400
Checkpoint for initial work on #325 to add socket pacing.
This works only on Linux and depends on the availability of the SO_MAX_PACING_RATE socket option and the fq queue discipline. Use --socket-pacing to use SO_MAX_PACING_RATE instead of the default iperf3 user-level rate limiting; in either case, the --bandwidth parameter controls the desired rate.
Lightly tested with both --tcp and --udp, normal and --reverse. Real testing requires analysis of packet timestamps between multiple hosts.
show more ...
|
| #
0da552c3 |
| 26-May-2016 |
g-coder <[email protected]> |
Safe programming practice. Added va_end. (#425)
In file iperf_util.c:
Function 'va_start' is called at line:327. But, 'va_end' is not called before returning from function 'iperf_json_printf()' at
Safe programming practice. Added va_end. (#425)
In file iperf_util.c:
Function 'va_start' is called at line:327. But, 'va_end' is not called before returning from function 'iperf_json_printf()' at line:352 and line:355.
The va_end performs cleanup for the argp object initialized by a call to va_start. If va_end is not called before a function that calls va_start returns, the behavior is undefined.
Applied Fix: added va_end before returning from the function.
show more ...
|
|
Revision tags: 3.1.2, 3.1.1, 3.1, 3.1b3, 3.1b2, 3.1b1, 3.0.11, 3.0.10, 3.0.9, 3.0.8 |
|
| #
da9f046f |
| 29-Sep-2014 |
Bruce A. Mah <[email protected]> |
Update license and copyright text to conform to LBNL standards.
Note that the license remains a 3-clause BSD license; the only license changes were to add the name of the program and to add some pun
Update license and copyright text to conform to LBNL standards.
Note that the license remains a 3-clause BSD license; the only license changes were to add the name of the program and to add some punctuation.
show more ...
|
|
Revision tags: 3.0.7, 3.0.6, 3.0.5, 3.0.4 |
|
| #
bf219a4d |
| 25-Apr-2014 |
Bruce A. Mah <[email protected]> |
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 ot
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.
show more ...
|
| #
3f8c33cd |
| 14-Apr-2014 |
Bruce A. Mah <[email protected]> |
Better sendfile / zerocopy detection.
There's still a bunch of OS-dependent fu because every platform that supports sendfile(2) does it differently.
|
| #
40050b7b |
| 14-Apr-2014 |
Bruce A. Mah <[email protected]> |
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 th
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.
show more ...
|
|
Revision tags: 3.0.3, 3.0.2 |
|
| #
9a829841 |
| 30-Jan-2014 |
Bruce A. Mah <[email protected]> |
Replace system("uname -a") with call to uname(3).
Slightly reworked version of a patch that was...
Submitted by: Susant Sahani <[email protected]>
|
|
Revision tags: 3.0.1 |
|
| #
a4c1383a |
| 05-Dec-2013 |
Jef Poskanzer <[email protected]> |
Fixed bug where -R mode selected on a closed file.
Also added a debugging routine to dump an fd_set.
|
| #
056361fc |
| 26-Nov-2013 |
Jef Poskanzer <[email protected]> |
Show user/system CPU usage as well as total.
|
| #
4e2ef507 |
| 06-Nov-2013 |
Jef Poskanzer <[email protected]> |
More sizeof changes.
A couple more sizeof issues found and fixed. One of them is actually another protocol change, but due to a fortuitous accident it should remain compatible with older versions.
More sizeof changes.
A couple more sizeof issues found and fixed. One of them is actually another protocol change, but due to a fortuitous accident it should remain compatible with older versions.
Detailed explanation: When a client attempts to connect to a server that is already busy, the server is supposed to return ACCESS_DENIED as a state value. It was doing so, but was writing it as an int, even though state values are supposed to be signed chars. The client read the value correctly as a signed char, getting one byte and throwing away the rest. So why did this ever work? Because ACCESS_DENIED is the value -1, and any byte of an int -1 equals a signed char -1. If ACCESS_DENIED had been any other value, this would have been an opvious bug and would have long since been fixed. As is, it stuck around working by accident until now.
show more ...
|