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.
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.
mptcpd
is packaged in most major distributions. If it is not
available on your side, or if a more recent version is required, the build
process is explaining in the Getting Started
section.
Please reference the C API for mptcpd
documentation, the
Plugins
wiki page for a higher level documentation, and
mptcp.dev for the overall Multipath TCP for Linux project.