feat(tunnel): multiplex IP tunnel across parallel VSOCK streams#79
Open
jalaziz wants to merge 1 commit into
Open
feat(tunnel): multiplex IP tunnel across parallel VSOCK streams#79jalaziz wants to merge 1 commit into
jalaziz wants to merge 1 commit into
Conversation
Hash IPv4 TCP/UDP flows across N independent data VSOCK connections to reduce head-of-line blocking. Stream 0 on -vsock-port is always the control stream; -vsock-streams N adds N data streams on ports +1..+N (default 0 for backward-compatible single-stream behavior).
Author
|
Caveat: I haven't tested this yet to see if it yields improved performance. This was the result of some back and forth analysis with AI. |
Contributor
Interesting idea. This is worth exploring but I'd like to see latency and throughput numbers. The changes are fairly complex, so I hope there's more than just a marginal improvement. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hash IPv4 TCP/UDP flows across N independent data VSOCK connections to reduce head-of-line blocking. Stream 0 on -vsock-port is always the control stream; -vsock-streams N adds N data streams on ports +1..+N (default 0 for backward-compatible single-stream behavior).
Note: Reading off the tun interface is still serialized. A future improvement could read off the tun interface and delegate vsock writes to parallel writers.