Phillip Wood <phillip.wood123@xxxxxxxxx> 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.