-
Notifications
You must be signed in to change notification settings - Fork 747
Implement "Dual" port forwarder (SSH for TCP, GRPC for UDP) #4210
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
Conversation
58c6249 to
545d4a2
Compare
| } else { | ||
| break | ||
| } | ||
| portForwardTypes, err := resolvePortForwardTypes(inst.Config.PortForwardTypes, inst.Config.PortForwards) |
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.
About the bool variables *FwdIgnore* created based on this portForwardTypes.
They are only used to suppress log messages (logrus.Infof("Not forwarding ...) when Forwarder decides not to forward by applying rules.
And they are not involved in the forwarder applying/not applying the rules.
Therefore, the current implementation is not related to the newly introduced settings, first the SSH Forwarder binds the local port, then the gRPC Forwarder fails to bind, and the gRPC Forwarder only runs on the rules that the SSH Forwarder does not support.
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.
Thanks, fixed (EDIT: reverted due to CI failures on Windows)
|
Windows CI seems now failing |
8bd3636 to
72db344
Compare
This new default forwarder uses SSH for TCP, as SSH now outperforms GRPC when VSOCK is available. GRPC is used for UDP, as SSH does not support UDP. Fix issue 4074 Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
We can bridge that gap with improved GRPC configs. If this PR is mostly because SSH with vsock outperforming grpc should we rethink ? Atleast initial idea behind bringing GRPC is to reduce too many different protocols which will reduce confusions in terms of vm and driver level and intern reduces maintenance as well. |
|
Closing, as the throughput of the gRPC forwarder was improved in: |
This new default forwarder uses SSH for TCP, as SSH now outperforms GRPC when VSOCK is available.
GRPC is used for UDP, as SSH does not support UDP.
Fix #4074
Doc preview: https://deploy-preview-4210--lima-vm.netlify.app/docs/config/port/