Lines Matching full:mptcp
4 Multipath TCP (MPTCP)
10 Multipath TCP or MPTCP is an extension to the standard TCP and is described in
13 packets over a single MPTCP connection. MPTCP can aggregate the bandwidth of
19 official website: `mptcp.dev <https://www.mptcp.dev>`_.
25 Thanks to MPTCP, being able to use multiple paths in parallel or simultaneously
44 host to be able to detect the use of MPTCP, a new field is added to the TCP
46 other things, a ``MP_CAPABLE`` option that tells the other host to use MPTCP if
48 it, the returned ``SYN+ACK`` packet will not contain MPTCP options in the TCP
63 Path managers are controlled by the ``net.mptcp.pm_type`` sysctl knob -- see
64 mptcp-sysctl.rst. There are two types: the in-kernel one (type ``0``) where the
65 same rules are applied for all the connections (see: ``ip mptcp``) ; and the
67 <https://mptcpd.mptcp.dev/>`_) where different rules can be applied for each
72 (paths), the default in-kernel MPTCP path-manager needs to know which IP
73 addresses can be used. This can be configured with ``ip mptcp endpoint`` for
84 Packet schedulers are controlled by the ``net.mptcp.scheduler`` sysctl knob --
85 see mptcp-sysctl.rst.
91 Creating MPTCP sockets
94 On Linux, MPTCP can be used by selecting MPTCP instead of TCP when creating the
103 If MPTCP is not supported, ``errno`` will be set to:
105 - ``EINVAL``: (*Invalid argument*): MPTCP is not available, on kernels < 5.6.
106 - ``EPROTONOSUPPORT`` (*Protocol not supported*): MPTCP has not been compiled,
108 - ``ENOPROTOOPT`` (*Protocol not available*): MPTCP has been disabled using
109 ``net.mptcp.enabled`` sysctl knob; see mptcp-sysctl.rst.
111 MPTCP is then opt-in: applications need to explicitly request it. Note that
112 applications can be forced to use MPTCP with different techniques, e.g.
122 MPTCP supports most socket options handled by TCP. It is possible some less
129 There are some MPTCP specific socket options at the ``SOL_MPTCP`` (284) level to
144 if MPTCP is currently being used: the value will be set to 1 if it is.
150 A new socket type has been added for MPTCP for the userspace-facing socket. The
154 MPTCP listen sockets will create "plain" *accepted* TCP sockets if the
155 connection request from the client didn't ask for MPTCP, making the performance
156 impact minimal when MPTCP is enabled by default.