History log of /iperf/src/iperf_tcp.c (Results 1 – 25 of 82)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# b97df9a9 29-Apr-2022 David Bar-On <[email protected]>

Add debug level option to --debug


# 7bdd5b0e 20-Feb-2022 David Bar-On <[email protected]>

Fix for issue 1215 - add TCP option


Revision tags: 3.11
# 76bd67f6 28-Jan-2022 Sarah Larsen <[email protected]>

iperf-3.11 release engineering tasks.

Bump version number, update release notes, rename release notes and tweak
markup. Update copyright year.


# e919e8c2 03-Sep-2021 a1346054 <[email protected]>

trim excess whitespace


# 50d6cce6 03-Sep-2021 a1346054 <[email protected]>

fix spelling


Revision tags: 3.10.1
# b915645a 27-May-2021 Shuo Chen <[email protected]>

Fix --bind-dev options for TCP streams. (#1099)

netdial() honors --bind-dev option but iperf_tcp_connect() doesn't,
as a result, only the control socket is bound to the device, but not
the data sock

Fix --bind-dev options for TCP streams. (#1099)

netdial() honors --bind-dev option but iperf_tcp_connect() doesn't,
as a result, only the control socket is bound to the device, but not
the data socket.

Instead of duplicaing code from netdial to iperf_tcp_connect(), this
fix extracts a common util function create_socket() from netdial() and
let iperf_tcp_connect() call create_socket() to create a socket with
optional bindings.

Tested on Raspberry Pi 3 with eth0 and wlan0.

show more ...


Revision tags: 3.10
# 1e33e721 14-Apr-2021 Bruce A. Mah <[email protected]>

fix: Handle correctly some errors on initial client connect. (#1139)

This is a mostly-cosmetic reimplementation of pull request #1128.

Original commit log:

Fix two issues that caused an active

fix: Handle correctly some errors on initial client connect. (#1139)

This is a mostly-cosmetic reimplementation of pull request #1128.

Original commit log:

Fix two issues that caused an active TCP test to terminate if a new
connection request was received while in streams creation phase.
One issue was in iperf_tcp_accept() - after identifying that the cookies
of the new connection if from a new client, error was returned which
caused the active test to terminate. The other issue was in
iperf_run_server() where congestion alg was set for the new client,
although the stream to it was already closed by iperf_tcp_accept().
That also cause the active test to terminate.

Another minor issue that was fixed is that after a client received a
failure state (negative state) from the server, iperf_client_end()
still tried to send back IPERF_DONE to the server. That caused the
client to issue failure message of "unable to send control message:
Connection reset by peer" instead of "the server is busy running a test".

Originally submitted by: @davidBar-On

show more ...


# d1260e6f 21-Dec-2020 Tony Weng <[email protected]>

fix (tcp): Fix behavior with partial sends when using -k with TCP (#1082)

We now only count an attempted send once all of its bytes are sent
(and will perform partial sends if necessary to finish s

fix (tcp): Fix behavior with partial sends when using -k with TCP (#1082)

We now only count an attempted send once all of its bytes are sent
(and will perform partial sends if necessary to finish sending all the bytes).
Previously, partial sends were counted as completed, for the purpose
of the -k option.

show more ...


Revision tags: 3.9, 3.8.1, 3.8
# 666040bd 16-Nov-2019 Xiang Xiao <[email protected]>

fix hotn?, strcasecmp and timeval isn't defined error

by including arpa/inet.h, strings.h and sys/timer.h

Part of #935.

Change-Id: Ibac8d3a992457f2a7cc10f74b144e3ebe69976d8
Signed-off-by: Xiang Xi

fix hotn?, strcasecmp and timeval isn't defined error

by including arpa/inet.h, strings.h and sys/timer.h

Part of #935.

Change-Id: Ibac8d3a992457f2a7cc10f74b144e3ebe69976d8
Signed-off-by: Xiang Xiao <[email protected]>
(cherry picked from commit b9aa6cef43b338666a72bf6425fc88ed7602bce5)
Signed-off-by: Bruce A. Mah <[email protected]>

show more ...


Revision tags: 3.7
# 38bac802 18-Jun-2019 Bruce A. Mah <[email protected]>

fix: Emit appropriate error messages from getaddrinfo(3). (#888)

* fix: Emit appropriate error messages from getaddrinfo(3).

This fixes an omission likely caused when switching resolver
library

fix: Emit appropriate error messages from getaddrinfo(3). (#888)

* fix: Emit appropriate error messages from getaddrinfo(3).

This fixes an omission likely caused when switching resolver
library calls. Fixes #846.

show more ...


# 901ad59c 13-Dec-2018 Frank LENORMAND <[email protected]>

tcp sctp: Let the system pick the largest possible backlog value for `listen()` (#827)

This commit applies the same changes made by b481169 (#693), to the
TCP and SCTP server sockets.


Revision tags: 3.6, 3.5
# c0055199 23-Feb-2018 Bruce A. Mah <[email protected]>

Fix issue 692 (#705)

Don't count data for tests received after the end of a test.
This prevents is from reporting an incorrect number of bytes
received at the end of the test, which doesn't match

Fix issue 692 (#705)

Don't count data for tests received after the end of a test.
This prevents is from reporting an incorrect number of bytes
received at the end of the test, which doesn't match up with the
sum of the data received during the test intervals.
Log late receives if debugging mode enabled.

Fixes #692.

show more ...


Revision tags: 3.4
# e7aa59b6 12-Feb-2018 Bruce A. Mah <[email protected]>

Make --cport work without --bind (#697).

This commit also adds SCTP support for --cport.

Fixes #616.


# cf325910 26-Jan-2018 Bruce A. Mah <[email protected]>

Make IPv6 flow labels work correctly where they didn't before. (#694)

This can happen with multiple parallel streams or with two single
stream tests run close together in time.

The fix is to all

Make IPv6 flow labels work correctly where they didn't before. (#694)

This can happen with multiple parallel streams or with two single
stream tests run close together in time.

The fix is to allow flow labels to be reused by multiple sockets
simultaneously or within their timeout.

Submitted by @cygnus2048 and fixes #689.

show more ...


# 19329249 16-Nov-2017 Bruce A. Mah <[email protected]>

Fix some compile-time warnings on macOS (#671)

* Attempt to quiet a warning with print(3) formatting. As a part of this, factor out PRIu64 support / compatibility (added in #664) into a header file

Fix some compile-time warnings on macOS (#671)

* Attempt to quiet a warning with print(3) formatting. As a part of this, factor out PRIu64 support / compatibility (added in #664) into a header file and make it more portable by taking into account the size of a long integer. Based on email conversation with: @pprindeville.

* Follow-up to pull request #669, fixing compiler warnings on platforms that don't have HAVE_TCP_CONGESTION defined.

show more ...


# d88f4cec 08-Nov-2017 Philip Prindeville <[email protected]>

Fix 3.3 build warnings (#664)

* Fix warnings about _GNU_SOURCE being redefined.

Signed-off-by: Philip Prindeville <[email protected]>

* Fix warnings of format-specified mismatching

Fix 3.3 build warnings (#664)

* Fix warnings about _GNU_SOURCE being redefined.

Signed-off-by: Philip Prindeville <[email protected]>

* Fix warnings of format-specified mismatching type

Signed-off-by: Philip Prindeville <[email protected]>

* Simplify endianness checks

Linux can be built with too many types of C run-time library and it's
not reasonable to have to enumerate all of them, especially since at
least one of them (MUSL) goes out of its way to not be easily
detectable.

Instead, leverage autoconf better for Linux/BSD to detect either
<endian.h> or <sys/endian.h> directly.

Signed-off-by: Philip Prindeville <[email protected]>

* Sys headers should not be included directly

There's usually a top-level header which then includes the sys/
descendent.

Signed-off-by: Philip Prindeville <[email protected]>

show more ...


Revision tags: 3.3, 3.2, 3.2rc1
# b0aff849 05-Jun-2017 Bruce A. Mah <[email protected]>

Fix a few printf format string warnings seen on macOS / clang. (#593)


# c458a115 30-May-2017 Bruce A. Mah <[email protected]>

Fix -F problems (#588)

Attempt to fix some brokenness in -F from #301.

In some work related to #125, we introduced a bug in which
chunks of a file being read for the -F option were not
complete

Fix -F problems (#588)

Attempt to fix some brokenness in -F from #301.

In some work related to #125, we introduced a bug in which
chunks of a file being read for the -F option were not
completely sent, particularly with TCP sockets. We attempt
to fix this by detecting cases in which not all data passed
to a socket could be actually sent (for example due to full
socket buffers) and preserving that data for future send
iterations.

The ending statistics in the "diskfile" JSON structure were
wrong, and did not properly distinguish between sender-side
and receiver-side statistics. This has been fixed (at least
for the client side).

Specifically mention in the manpage that "iperf -F" is not
a file transfer tool.

show more ...


# d54d49c0 12-May-2017 Bruce A. Mah <[email protected]>

Don't free memory in uninitialized structures

Also, tighten up the scope/lifetime of some memory structures.

Inspired by #577.


# e73821cd 03-May-2017 Bruce A. Mah <[email protected]>

Normalize socket buffer debugging output, put socket buffer sizes in JSON.

These values show up in the start structure as sock_bufsize (requested
size), sndbuf_actual (actual SO_SNDBUF value) and rc

Normalize socket buffer debugging output, put socket buffer sizes in JSON.

These values show up in the start structure as sock_bufsize (requested
size), sndbuf_actual (actual SO_SNDBUF value) and rcvbuf_actual (actual
SO_RCVBUF value). These values are available for both TCP and UDP.
Both client and server emit these values in their JSON output for their
respective sides, but don't exchange them.

Towards #558.

show more ...


# a8ee9c65 22-Mar-2017 f1rebird <[email protected]>

Fix header includes and build failures on musl (#518)

* Include stdint.h in files where its types are used

Signed-off-by: Moritz Kick <[email protected]>

* Fix type of len para

Fix header includes and build failures on musl (#518)

* Include stdint.h in files where its types are used

Signed-off-by: Moritz Kick <[email protected]>

* Fix type of len parameter passed to getsockopt

getsockopt expects socklen_t instead of int as its fifth argument

Signed-off-by: Moritz Kick <[email protected]>

* Remove unnecassary includes of netinet/tcp.h

also cleanup the second include of stdint.h in main.c

This commit fixes #331 and is a replacement for #344.

Signed-off-by: Moritz Kick <[email protected]>

show more ...


Revision tags: 3.1.7, 3.1.6, 3.1.5
# a094d9fe 12-Dec-2016 Bruce A. Mah <[email protected]>

Separate out application-level and fair-queueing-based pacing (#488)

* First try to fix pacing issues. Code compiles, lightly run-tested.

Make --bandwidth only control application-level pacing,

Separate out application-level and fair-queueing-based pacing (#488)

* First try to fix pacing issues. Code compiles, lightly run-tested.

Make --bandwidth only control application-level pacing, refecting
behavior of iperf 3.1.2 and earlier.

Add a new --fq-rate that controls only FQ-based per-socket pacing.
A given test can use application-level pacing, FQ pacing, both,
or neither.

Deprecate the --no-fq-socket-pacing option; specifying this generates
a warning and is equivalent to --fq-rate=0.

Towards issue #467 and related to issue #325.

* Move --fq-rate in the help text to be just below --b, tweak wording.

* Sigh. One more tweak on help text.

Some day I probably need to review and rewrite the whole thing.

Still working towards #467.

show more ...


# 55598a07 01-Dec-2016 Bruce A. Mah <[email protected]>

Fix socket buffer size checks. Clearly this wasn't tested well.
On Linux it's possible to set the socket buffer to one size but
(correctly it seems) get back some larger size up to 2x what you
asked

Fix socket buffer size checks. Clearly this wasn't tested well.
On Linux it's possible to set the socket buffer to one size but
(correctly it seems) get back some larger size up to 2x what you
asked for (see tcp(7)).

While here, make related debugging output more useful.

Fixes (again) #356.

show more ...


# a621cc26 30-Nov-2016 Bruce A. Mah <[email protected]>

Improve debug output for application and fair-queue-based pacing.


# d2202ee3 23-Nov-2016 Bruce A. Mah <[email protected]>

After setting socket buffer sizes, verify they were set correctly.
Do this for both TCP and UDP, but not SCTP (which strangely doesn't
support --window, that's probably a bug). Fixes #356.


1234