-
Notifications
You must be signed in to change notification settings - Fork 84
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
Connect to gvproxy socket #263
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small nit. Otherwise LGTM.
Connecting to the socket sets the remote address so we can use send()/recv() or write()/read() instead of sendto()/recvfrom(). Advantages: - Simpler code, no need to keep the remote address. - The server will want to connect to the client address to ensure it receives frames only from the connected client. Such server will want to remove the unix socket once the client connected[2], which doe snot work with current code. - Once the socket is connected, the same backend can be used to handle passed file descriptor[1]. - iperf3 -R is 1.33 times faster (46.6 Gbits/s vs 35.0 Gbits/s). Tested with: - [x] gvproxy - [x] vmnet-helper For testing results see containers#264 (comment) [1] containers/krunkit#24 [2] https://github.com/nirs/vmnet-helper/blob/5c6a595ba3e76314e1d0bef2b0160388439d69ec/helper.c#L475 Signed-off-by: Nir Soffer <[email protected]>
There was a reason why we couldn't connect and needed to keep the |
I've confirmed to work fine here. @tylerfanelli do you require any additional changes before merging this one? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, LGTM. Thanks.
@slp Is this ok to merge? |
Connecting to the socket set the remote address so we can use
send()/recv() or write()/read() instead of sendto()/recvfrom().
Advantages:
receives frames only from the connected client. Such server will want
to remove the unix socket once the client connected[2], which doe snot
work with current code.
passed file descriptor[1].
Tested with:
For testing results see
#264 (comment)
[1] containers/krunkit#24
[2] https://github.com/nirs/vmnet-helper/blob/5c6a595ba3e76314e1d0bef2b0160388439d69ec/helper.c#L475