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 SO_REUSEPORT (kernel level load balance) support #1940

Merged
merged 1 commit into from
Oct 19, 2019
Merged

Add SO_REUSEPORT (kernel level load balance) support #1940

merged 1 commit into from
Oct 19, 2019

Conversation

enihcam
Copy link

@enihcam enihcam commented Oct 13, 2019

Fix #1881

@vcptr
Copy link
Contributor

vcptr commented Oct 19, 2019

using SO_REUSEPORT would improve UDP communicating performance. Good job!

@kslr kslr merged commit d0ac3e9 into v2ray:master Oct 19, 2019
@eycorsican
Copy link
Contributor

The PR would not solve the issue mentioned in #1881 since bindAddr() is only applied to outbound sockets (outbound sockets don't need SO_REUSEPORT), and has no effects on inbound sockets.

Having that sort of workload needs SO_REUSEPORT are really rare cases, I don't think it's necessary, though applying bindAddr()/SO_REUSEADDR to both inbound and outbound sockets may solve the kind of issues mentioned in #1971, it's worth a try/fix.

@enihcam
Copy link
Author

enihcam commented Jan 28, 2020

@eycorsican sorry for late reply. you are right, however i'm not a real Go developer. If you could let me know where is the right place to add the flag, i could help propose the PR.

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.

[feature request] SO_REUSEPORT support
4 participants