Skip to content
Matthieu Baerts edited this page Nov 18, 2024 · 8 revisions

Multipath TCP Daemon

Introduction

The Multipath TCP Daemon - mptcpd - is a daemon for Linux based operating systems that performs multipath TCP path management related operations in the user space. It interacts with the Linux kernel through a generic netlink connection to track per-connection information (e.g. available remote addresses), available network interfaces, request new MPTCP subflows, handle requests for subflows, etc.

Behavior

By default, this daemon will load the addr_adv plugin, which will add MPTCP endpoints with the subflow flag ("client" mode) for the default in-kernel path-manager. Note that this is something NetworkManager 1.40 or newer does by default. Having several daemons configuring the MPTCP endpoints at the same time should be avoided. This daemon is usually recommended when NetworkManager 1.40 or newer is not available, or when advanced per-connection path management is needed, using the userspace path-manager and a custom-made plugin using the C API.

To change this behavior, with NetworkManager, look for the connection.mptcp-flags option in the settings, while for mptcpd, look at the /etc/mptcpd/mptcpd.conf config file, or disable the service if it is not needed. Make sure not to have both NetworkManager and mptcpd conflicting to configure the MPTCP endpoints.

Documentation

Please reference mptcpd.mptcp.dev for mptcpd documentation, the Plugins page for a higher level documentation, and mptcp.dev for the overall Multipath TCP for Linux project.

Clone this wiki locally