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

Support for vectored operations #35

Open
M0dEx opened this issue Jan 31, 2024 · 2 comments
Open

Support for vectored operations #35

M0dEx opened this issue Jan 31, 2024 · 2 comments
Labels
decision-required help wanted Extra attention is needed

Comments

@M0dEx
Copy link

M0dEx commented Jan 31, 2024

It seems that in #23, support for vectored operations has been removed.

Is there any particular reason for this move? I know there has been an issue with vectored operations being much slower than standard ones (at least in my testing), but I've never been able to pinpoint the source of the issue. However, it would be useful to have if this project ever got to implementing GSO/GRO.

@xmh0511
Copy link
Collaborator

xmh0511 commented Feb 1, 2024

Is there any particular reason for this move? I know there has been an issue with vectored operations being much slower than standard ones (at least in my testing), but I've never been able to pinpoint the source of the issue.

The vectored operations make the implementation of the unified packets delivered from/to tun2 a bit tricky. Moreover, the default implementations of read_vectored and write_vectored in the standard library are sufficient to cover most cases, so, with a trade-off, we removed the customed vectored operations.

However, it would be useful to have if this project ever got to implementing GSO/GRO.

We may implement this function if more details could be provided, of course, a PR is appreciated.

@xmh0511 xmh0511 added decision-required help wanted Extra attention is needed labels Feb 1, 2024
@M0dEx
Copy link
Author

M0dEx commented Feb 7, 2024

Seems wireguard-go does not need vectored operations to achieve high throughput. They are also not required for GSO/GRO, so I'm thinking this might be closed.

@xmh0511 xmh0511 linked a pull request Feb 19, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
decision-required help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants