-
Notifications
You must be signed in to change notification settings - Fork 50
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
Fix consistent udp packet loss after the proxy read loop stopped #393
Conversation
/assign cfergeau |
/cc baude cfergeau |
@fatanugraha I was trying to test this PR. I try to run test that you provided and it works fine(I don't get any errors, just two |
Hi @evidolob I've put more detailed reproduction steps here: https://github.com/fatanugraha/gvisor-tap-proxy-393 Do let me know if you have further questions 🙇 attached debug logs from gvproxy (notice that the dns query from the same local addr starts failing after this log is printed |
@cfergeau I can verify that problem described in this PR description exist, and PR indeed fix it. |
Signed-off-by: Fata Nugraha <fatanugraha@outlook.com>
I forced pushed to the branch to fix a few typos in the comment. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cfergeau, evidolob, fatanugraha The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
ded1408
into
containers:main
I wonder if this PR could help with #387 ? (dropping a note here as I can't test/look closely now) |
Yevhen tested this, and this does not help. |
Currently we never close the
tcpip.Endpoint
that we created when we get*udp.ForwarderRequest
. This causes all packets that is sent by the same src ip:port after we return from theUDPProxy.Run
to be "dropped".By closing the endpoint, we will get new forwarder request after we return from
UDPProxy.Run
so we can process new packets.Here's my reproduction code:
UDPProxy.Run
to return (after 90s)