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

Add support for UDP Control Sockt for UDP tests (no use of TCP) #1843

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

davidBar-On
Copy link
Contributor

  • Version of iperf3 (or development branch, such as master or
    3.1-STABLE) to which this pull request applies:
    master

  • Issues fixed (if any): Feature Request: Pure UDP Mode (No TCP) #1830

  • Brief description of code changes (suitable for use as a commit message):

Add support for using UDP Control Socket, using a new --udp-control option, so there is no use of TCP and iperf3 can work over firewalls, etc. that block TCP. A server using --udp-control can only work with clients that use this option, and visa versa. (Implementing a server that is able to receive connect requests over either TCP or UDP seems to be too complex.)

The changes should not impact any functionality if the new option is not used. The only changes that are related to TCP control tests are change of few read() to Nread() to make sure read timeout mechanisms are supported. (It may be that these changes should have been done anyway.)

No retry mechanisms are added for the control messages, so it may be that a test will fail because a control message was lost over the UDP socket. However, it seems that the available timeout mechanisms make sure that the server does not get stuck in such case. Also, once all test sockets are created not control message is sent until the final phase of the test.

@davidBar-On davidBar-On force-pushed the issue-1830-UDP-Control-Socket branch from 8fa010c to b2b6513 Compare February 28, 2025 18:11
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

Successfully merging this pull request may close these issues.

1 participant