Chapter 36. Managing the mptcpd service

This section describes the basic management of the mptcpd service. The mptcpd package provides the mptcpize tool, which switches on the mptcp protocol in the TCP environment.

36.1. Configuring mptcpd

The mptcpd service is a component of the mptcp protocol which provides an instrument to configure mptcp endpoints. The mptcpd service creates a subflow endpoint for each address by default. The endpoint list is updated dynamically according to IP addresses modification on the running host. The mptcpd service creates the list of endpoints automatically. It enables multiple paths as an alternative to using the ip utility.

Prerequisites

  • The mptcpd package installed

Procedure

  1. Enable mptcp.enabled option in the kernel with the following command:

    # echo "net.mptcp.enabled=1" > /etc/sysctl.d/90-enable-MPTCP.conf
    # sysctl -p /etc/sysctl.d/90-enable-MPTCP.conf
  2. Start the mptcpd service:

    # systemctl start mptcp.service
  3. Verify endpoint creation:

    # ip mptcp endpoint
  4. To stop the mptcpd service, use the following command:

    # systemctl stop mptcp.service
  5. To configure mptcpd service manually, modify the /etc/mptcpd/mptcpd.conf configuration file.

Note, that the endpoint, which mptcpd service creates, lasts till the host shutdown.

Additional resources

  • mptcpd(8) man page.

36.2. Managing applications with mptcpize tool

Using the mptcpize tool manage applications and services.

The instruction below shows how to use the mptcpize tool to manage applications in the TCP environment.

Assuming, you need to run the iperf3 utility with the enabled MPTCP socket. You can achieve this goal by following the procedure below.

Prerequisites

  • The mptcpd package is installed
  • The iperf3 package is installed

Procedure

  • Start iperf3 utility with MPTCP sockets enabled:

    # mptcpize run iperf3 -s &

36.3. Enabling MPTCP sockets for a services using the mptcpize utility

The following set of commands instruct you how to manage services using the mptcpize tool. You can enable or disable the mptcp socket for a service.

Assuming, you need to manage mptcp socket for the nginx service. You can achieve this goal by following the procedure below.

Prerequisites

  • The mptcpd package is installed
  • The nginx package is installed

Procedure

  1. Enable MPTCP sockets for a service:

    # mptcpize enable nginx
  2. Disable the MPTCP sockets for a service:

    # mptcpize disable nginx
  3. Restart the service to make the changes to take effect:

    # systemctl restart nginx