Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TEST_RUNNING can't ensure the ready state of iperf3 client #2

Open
penglei0 opened this issue May 27, 2024 · 0 comments
Open

TEST_RUNNING can't ensure the ready state of iperf3 client #2

penglei0 opened this issue May 27, 2024 · 0 comments
Assignees

Comments

@penglei0
Copy link

Context

  • Version of iperf3: Any

  • Hardware: Any

  • Operating system (and distribution, if any): Any

  • Other relevant information (for example, non-default compilers,
    libraries, cross-compiling, etc.):

Bug Report

iperf3 -c {iperf3_server_ip} -i1 -R -b 1M -t3

When run iperf3 with reverse mode, the two iperf3 endpoint will establish two TCP connections; one for exchanging the control message and the other for data transmission. There is a possibility that the last control message TEST_RUNNING from the iperf3 server to client maybe arrive later than the data transmission in some network conditions. This will cause the socket buffer overflow at iperf3 client side; the overflowed socket will drop the data packet unnecessarily.

To avoid this issue, we need to make sure the iperf3 client is ready for data receiving since the RTT of those two TCP connections can't be assumed to be the same at any cases.

  • Expected Behavior

When run iperf3 with reverse mode, the iperf3 client should be ready for data receiving before the TEST_RUNNING.

  • Actual Behavior

When the RTT of control message channle is greater than the data channel, the iperf3 client will not be in ready receiving mode and it will drop packets when bufffer is overflowed.

  • Steps to Reproduce

  • Possible Solution

Enhancement Request

  • Current behavior

  • Desired behavior

  • Implementation notes

@penglei0 penglei0 self-assigned this May 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

1 participant