Subject: Re: Small patch to add support for MPTCP on Linux

From: Junio C Hamano <[email-masked]>
Date: Mon, 19 May 2025 16:49:00 -0700

Phillip Wood <[email-masked]> writes:

> As brian has already said I think it would be better to have a
> Makefile knob to control this which defaults to being on for
> linux. Take a look at the various USE_xxx definitions in the Makefile
> and config.mak.uname for setting default compile flags for different
> operating systems.
>
>> Also another check if a socket is supported by looking for a return
>> value of
>> "EAI_SOCKTYPE" (not EINVAL) and fallback to regular TCP if that is
>> returned.
>> EAI_SOCKTYPE should work across different UNIX systems as this is a
>> posix error code.
>
> That error is not mentioned in the documentation for MCTCP on Linux
> [1]. Please make sure your code checks for the errno values described
> in the documentation.

Also according to RFC 6897, "MPTCP is designed to be totally
backward compatible to applications".  I understand that this is
quite unlike introducing IPv6 into IPv4-only world.  You can tell
the system that supports MPTCP to use it in specific ways by
updating your application, but your system's local policy may
allow MPTCP to automatically set up multiple subflows even your
application is not quite aware of MPTCP.

So, ... I somehow would be mildly surprised if Git were a kind of
application that needs to take advantage of "several additional
degrees of freedom that applications may wish to exploit" by using
API that is "a simple extension of TCP's interface for MPTCP-aware
applications".  Requiring a simple application like ours to tweak
and rebuild in today's world does not sound like a winning strategy
to promote a technology that "is designed to be totally backward
compatible to applications", at least to me.