Skip to content

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

Open
davidBar-On wants to merge 1 commit intoesnet:masterfrom
davidBar-On:issue-1830-UDP-Control-Socket
Open

Add support for UDP Control Sockt for UDP tests (no use of TCP)#1843
davidBar-On wants to merge 1 commit intoesnet:masterfrom
davidBar-On:issue-1830-UDP-Control-Socket

Conversation

@davidBar-On
Copy link
Copy Markdown
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 b2b6513 to 255e5a7 Compare March 6, 2025 09:46
@swlars
Copy link
Copy Markdown
Contributor

swlars commented Mar 24, 2025

Hi David,

Thanks for the pull request! We've definitely gotten feedback that this could be a useful feature, but we're hesitant seeing that the TCP/UDP tests would diverge even more than they do already. We might consider this in the future, but it's not a high priority.

Thanks again for the pull request, though, I know a lot of people will find this useful.

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.

2 participants