-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Mptcp support #335
base: master
Are you sure you want to change the base?
Mptcp support #335
Conversation
Sorry, we're not willing to support a protocol that is only available on one of the platforms that OpenSSH supports. If/when MPTCP becomes more widely supported we can reconsider. Until then I recommend that users who want MPTCP to use a ProxyCommand on the client or an equivalent wrapper for |
Could you elaborate on what lead to this decision and conclusion? While obviously your point of view can be understood better once you expand on that, as I see the current decision to be hasty and possibly misguided given that:
I hope I could put this small pull request in a different light, and I humbly request you to reconsider the inclusion. The only horse I have in the race is the continuous need to look for ways to improve both the performance and reliability of my SSH connections because even when not working in quite isolated areas as far as internet connectivity goes, I am not fortunate enough to have a high speed or at least reliable connection. |
MPTCP is supported on macOS as well. So, that would make it 2 platforms already. |
The patch as-is makes |
This patch is extremely non-intrusive: almost all it does is:
plus a crapload of lines of option parsing. This doesn't strike me as something that's a maintenance burden. |
These 4 lines would solve the main reason people use Mosh instead of SSH, I think. That is connection breaking when you hop between WiFi/Ethernet/mobile. Out of the main 3 platforms, only Windows does not implement mptcp, but WSL can still benefit from it. From what I see around me, people are largely leaving putty&friends for SSH in WSL. |
@cpaasch commented on Sep 15, 2022:
Is that implementation of v0 (RFC 6824) or v1 (RFC 8684) already? |
macOS supports both, v0 and v1. It tries v1 first and has logic to fallback to v0,... |
The first commit on this branch of our fork is a patch aimed at providing openssh with MPTCP support, the rest are to udapte the man pages and config according to the new MPTCP support.
MPTCP stands for multipath tcp, it can be seen as an extension to tcp sockets which allows the use of multiple network interface at the same time, or to switch from one to another seamlessly. The support for MPTCP is native in the more recent linux kernels, so it is only natural that it becomes native for openssh as well.
The changes to the code base are minimal and the use of MPTCP is controlled by a yes/no configuration parameter "UseMPTCP". This port was made during the OpenWeek event of this year at UCLouvain, in collaboration with Professor Olivier Bonaventure, his research team (mainly François Michel and Maxime Piraux) along with a few students, including me (Colin Evrard), Maxime Postaire and Simon Arys.
The main part of our work was about testing the implementation under various conditions, including real world ones, which is all described in this blog post article.