To make the replacement, you need to install a few packages: $ dnf -y install \ The easiest path is probably to use systemtap to replace IPPROTO_TCP with IPPROTO_MPTCP in all the calls to _sys_socket() in the kernel. Implementing a full-fledged MPTCP application is not difficult, but what if you want to use a normal user-space application without any knowledge of IPPROTO_MPTCP?įear not: There are multiple paths to avoid patching and rebuilding all networking applications.
An application can natively add support to MPTCP using a socket with IPPROTO_MPTCP like this: fd = socket(AF_INET, SOCK_STREAM, IPPROTO_MPTCP) MPTCP sockets are the same as the regular TCP sockets and use the same semantics. Let's follow the instructions from the first article of this series to set up a multiple subflow testbed.įirst of all, because MPTCP is disabled in the default Red Hat Enterprise Linux configuration, you need to enable it using sysctl so you can create MPTCP sockets: # sysctl -w =1 To see MPTCP in action, you need to open an MPTCP socket from a user-space application.
In the first part of this series, Davide Caratti showed how to enable MPTCP, open an MPTPC socket in an application, and verify that MPTCP is working as expected. Red Hat Enterprise Linux includes MPTCP starting with version 8.3. Linux's MPTCP implementation is fairly recent and was included in version 5.6. Multipath TCP (MPTCP) is an extension to the Transmission Control Protocol (TCP) to use multiple paths between peers simultaneously. Multipath TCP in Red Hat Enterprise Linux 8 If you are lost in a computer network and don't know which path to take, don't worry-you don't need Hercules to find your way: You can use Multipath TCP. Hercules needed all his intelligence to find the only question capable of revealing the way to Athens.
One of them was Aletheia, the goddess of truth, and the other was Apate, the goddess of lies. Arriving at a crossroad, he found two women. Many years ago, Hercules was traveling back to Athens when he lost his way in a wood.