Hi Junio,
MPTCP has been in development for 15 years and only reached maturity
in v1 of the protocol.
Only recently in 2020 that this protocol (v1) was officially merged
into the Linux kernel mainline but before that Linux MPTCP was developed
out-of-tree.
Apple had been using MPTCP in production for the
past 12 years for their iOS[1] for Apple's cloud services.
It's no longer an experimental technology it's in the IETF standards
track[2]
and no longer in experimental track.
I know it's cumbersome to implement MPTCP for every application out
there,
the same with IPv6 which already had been around for more than 20 years
and still
not that widely adopted, especially for enterprises.
But i think we have to start somewhere. I myself had been working on
IPv6
since 2003 and i think the late Jun Ichiro Hagino probably did the
right thing
even though people around him might think otherwise.
Anyway, back to git. I think it will benefit the server side more with
aggregation but i started to work on this after realising how bad my
hotel's wifi
and i have a WWAN module and thought of aggregating my bandwidth.
Since Go is enabled MPTCP by default in 1.24, it makes sense
for me to add more MPTCP support, at least on the Linux side of things.
Go
is really popular not just web services but also load balancers (which
can
also be TCP load balancers).
I cannot vouch Linux kernel's MPTCP implementation as someone had
mentioned
about the CVE because of backpressure but that CVE was in 2022, 3 years
ago.
Go 1.24 with MPTCP by default is only released this year, so time will
tell. :-)
I think eventually just like IPv6, people will have knowledge on how it
works.
[1]http://blog.multipath-tcp.org/blog/html/2018/12/15/apple_and_multipath_tcp.html
[2]https://datatracker.ietf.org/doc/html/rfc8684
Regards,
Zaihan
On Sat, May 17 2025 at 11:46:12 AM -0700, Junio C Hamano
<gitster@xxxxxxxxx> wrote:
Muhammad Nuzaihan <zaihan@xxxxxxxxxxxxxx> writes:
Hi,
This patch is about Multi-Path TCP.
Perhaps reading and following Documentation/SubmittingPatches and
possibly MyFirstContribution is in order.
How widely is MPTCP adopted? I somehow feel that it is a losing
proposition to _require_ that each and every _application_ to be
updated to support it, but say if we take a random set of widely
used application, how much of them have specific knowledge of how
to work with MPTCP these days?